1
0
mirror of https://github.com/mik3y/usb-serial-for-android synced 2025-07-24 02:15:30 +00:00

Driver interface: add methods for CD, CTS, DSR, DTR, RI, and RTS.

This commit is contained in:
mike wakerly 2012-11-28 10:24:47 -08:00
parent a3b9c27f84
commit 111707c92f
3 changed files with 157 additions and 11 deletions

View File

@ -1,9 +1,5 @@
package com.hoho.android.usbserial.driver; package com.hoho.android.usbserial.driver;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map;
import android.hardware.usb.UsbConstants; import android.hardware.usb.UsbConstants;
import android.hardware.usb.UsbDevice; import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbDeviceConnection; import android.hardware.usb.UsbDeviceConnection;
@ -11,6 +7,10 @@ import android.hardware.usb.UsbEndpoint;
import android.hardware.usb.UsbInterface; import android.hardware.usb.UsbInterface;
import android.util.Log; import android.util.Log;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map;
/** /**
* USB CDC/ACM serial driver implementation. * USB CDC/ACM serial driver implementation.
* *
@ -151,6 +151,46 @@ public class CdcAcmSerialDriver extends UsbSerialDriver {
return baudRate; return baudRate;
} }
@Override
public boolean getCD() throws IOException {
return false;
}
@Override
public boolean getCTS() throws IOException {
return false;
}
@Override
public boolean getDSR() throws IOException {
return false;
}
@Override
public boolean getDTR() throws IOException {
return false;
}
@Override
public boolean setDTR(boolean value) throws IOException {
return false;
}
@Override
public boolean getRI() throws IOException {
return false;
}
@Override
public boolean getRTS() throws IOException {
return false;
}
@Override
public boolean setRTS(boolean value) throws IOException {
return false;
}
public static Map<Integer, int[]> getSupportedDevices() { public static Map<Integer, int[]> getSupportedDevices() {
final Map<Integer, int[]> supportedDevices = new LinkedHashMap<Integer, int[]>(); final Map<Integer, int[]> supportedDevices = new LinkedHashMap<Integer, int[]>();
supportedDevices.put(Integer.valueOf(UsbId.VENDOR_ARDUINO), supportedDevices.put(Integer.valueOf(UsbId.VENDOR_ARDUINO),

View File

@ -20,11 +20,6 @@
package com.hoho.android.usbserial.driver; package com.hoho.android.usbserial.driver;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.LinkedHashMap;
import java.util.Map;
import android.hardware.usb.UsbConstants; import android.hardware.usb.UsbConstants;
import android.hardware.usb.UsbDevice; import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbDeviceConnection; import android.hardware.usb.UsbDeviceConnection;
@ -34,6 +29,11 @@ import android.util.Log;
import com.hoho.android.usbserial.util.HexDump; import com.hoho.android.usbserial.util.HexDump;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.LinkedHashMap;
import java.util.Map;
/** /**
* A {@link UsbSerialDriver} implementation for a variety of FTDI devices * A {@link UsbSerialDriver} implementation for a variety of FTDI devices
* <p> * <p>
@ -409,6 +409,46 @@ public class FtdiSerialDriver extends UsbSerialDriver {
}; };
} }
@Override
public boolean getCD() throws IOException {
return false;
}
@Override
public boolean getCTS() throws IOException {
return false;
}
@Override
public boolean getDSR() throws IOException {
return false;
}
@Override
public boolean getDTR() throws IOException {
return false;
}
@Override
public boolean setDTR(boolean value) throws IOException {
return false;
}
@Override
public boolean getRI() throws IOException {
return false;
}
@Override
public boolean getRTS() throws IOException {
return false;
}
@Override
public boolean setRTS(boolean value) throws IOException {
return false;
}
public static Map<Integer, int[]> getSupportedDevices() { public static Map<Integer, int[]> getSupportedDevices() {
final Map<Integer, int[]> supportedDevices = new LinkedHashMap<Integer, int[]>(); final Map<Integer, int[]> supportedDevices = new LinkedHashMap<Integer, int[]>();
supportedDevices.put(Integer.valueOf(UsbId.VENDOR_FTDI), supportedDevices.put(Integer.valueOf(UsbId.VENDOR_FTDI),

View File

@ -20,11 +20,11 @@
package com.hoho.android.usbserial.driver; package com.hoho.android.usbserial.driver;
import java.io.IOException;
import android.hardware.usb.UsbDevice; import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbDeviceConnection; import android.hardware.usb.UsbDeviceConnection;
import java.io.IOException;
/** /**
* Driver interface for a supported USB serial device. * Driver interface for a supported USB serial device.
* *
@ -99,6 +99,72 @@ public abstract class UsbSerialDriver {
*/ */
public abstract int setBaudRate(final int baudRate) throws IOException; public abstract int setBaudRate(final int baudRate) throws IOException;
/**
* Gets the CD (Carrier Detect) bit from the underlying UART.
*
* @return the current state, or {@code false} if not supported.
* @throws IOException if an error occurred during reading
*/
public abstract boolean getCD() throws IOException;
/**
* Gets the CTS (Clear To Send) bit from the underlying UART.
*
* @return the current state, or {@code false} if not supported.
* @throws IOException if an error occurred during reading
*/
public abstract boolean getCTS() throws IOException;
/**
* Gets the DSR (Data Set Ready) bit from the underlying UART.
*
* @return the current state, or {@code false} if not supported.
* @throws IOException if an error occurred during reading
*/
public abstract boolean getDSR() throws IOException;
/**
* Gets the DTR (Data Terminal Ready) bit from the underlying UART.
*
* @return the current state, or {@code false} if not supported.
* @throws IOException if an error occurred during reading
*/
public abstract boolean getDTR() throws IOException;
/**
* Sets the DTR (Data Terminal Ready) bit on the underlying UART, if
* supported.
*
* @param value the value to set
* @throws IOException if an error occurred during writing
*/
public abstract boolean setDTR(boolean value) throws IOException;
/**
* Gets the RI (Ring Indicator) bit from the underlying UART.
*
* @return the current state, or {@code false} if not supported.
* @throws IOException if an error occurred during reading
*/
public abstract boolean getRI() throws IOException;
/**
* Gets the RTS (Request To Send) bit from the underlying UART.
*
* @return the current state, or {@code false} if not supported.
* @throws IOException if an error occurred during reading
*/
public abstract boolean getRTS() throws IOException;
/**
* Sets the RTS (Request To Send) bit on the underlying UART, if
* supported.
*
* @param value thje value to set
* @throws IOException if an error occurred during writing
*/
public abstract boolean setRTS(boolean value) throws IOException;
/** /**
* Returns the currently-bound USB device. * Returns the currently-bound USB device.
* *