kopia lustrzana https://github.com/felHR85/UsbSerial
add a setBreak interface to set the break feature, now tested on FTDI chip.
rodzic
b6aef50017
commit
33fed5e09c
|
@ -203,6 +203,12 @@ public class BLED112SerialDevice extends UsbSerialDevice
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBreak(boolean state)
|
||||
{
|
||||
//TODO
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRTS(boolean state)
|
||||
{
|
||||
|
|
|
@ -245,6 +245,12 @@ public class CDCSerialDevice extends UsbSerialDevice
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBreak(boolean state)
|
||||
{
|
||||
//TODO
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRTS(boolean state)
|
||||
{
|
||||
|
|
|
@ -267,6 +267,12 @@ public class CH34xSerialDevice extends UsbSerialDevice
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBreak(boolean state)
|
||||
{
|
||||
//TODO Auto-generated method stub
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setParity(int parity)
|
||||
{
|
||||
|
|
|
@ -326,6 +326,12 @@ public class CP2102SerialDevice extends UsbSerialDevice
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBreak(boolean state)
|
||||
{
|
||||
//TODO Auto-generated method stub
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRTS(boolean state)
|
||||
{
|
||||
|
|
|
@ -36,6 +36,13 @@ public class FTDISerialDevice extends UsbSerialDevice
|
|||
private static final int FTDI_SIO_SET_RTS_HIGH = (2 | (FTDI_SIO_SET_RTS_MASK << 8));
|
||||
private static final int FTDI_SIO_SET_RTS_LOW = (0 | (FTDI_SIO_SET_RTS_MASK << 8));
|
||||
|
||||
/**
|
||||
* BREAK on/off values obtained from linux driver
|
||||
* https://github.com/torvalds/linux/blob/master/drivers/usb/serial/ftdi_sio.h
|
||||
*/
|
||||
private static final int FTDI_SIO_SET_BREAK_ON = (1<<14);
|
||||
private static final int FTDI_SIO_SET_BREAK_OFF = (0<<14);
|
||||
|
||||
public static final int FTDI_BAUDRATE_300 = 0x2710;
|
||||
public static final int FTDI_BAUDRATE_600 = 0x1388;
|
||||
public static final int FTDI_BAUDRATE_1200 = 0x09c4;
|
||||
|
@ -375,6 +382,21 @@ public class FTDISerialDevice extends UsbSerialDevice
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* BREAK on/off methods obtained from linux driver
|
||||
* https://github.com/torvalds/linux/blob/master/drivers/usb/serial/ftdi_sio.c
|
||||
*/
|
||||
@Override
|
||||
public void setBreak(boolean state)
|
||||
{
|
||||
if(state){
|
||||
currentSioSetData |= FTDI_SIO_SET_BREAK_ON;
|
||||
}else{
|
||||
currentSioSetData &= ~(FTDI_SIO_SET_BREAK_ON);
|
||||
}
|
||||
setControlCommand(FTDI_SIO_SET_DATA, currentSioSetData, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRTS(boolean state)
|
||||
{
|
||||
|
|
|
@ -264,6 +264,12 @@ public class PL2303SerialDevice extends UsbSerialDevice
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBreak(boolean state)
|
||||
{
|
||||
//TODO
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRTS(boolean state)
|
||||
{
|
||||
|
|
|
@ -227,6 +227,8 @@ public abstract class UsbSerialDevice implements UsbSerialInterface
|
|||
public abstract void setParity(int parity);
|
||||
@Override
|
||||
public abstract void setFlowControl(int flowControl);
|
||||
@Override
|
||||
public abstract void setBreak(boolean state);
|
||||
|
||||
public SerialInputStream getInputStream() {
|
||||
if(asyncMode)
|
||||
|
|
|
@ -46,6 +46,7 @@ public interface UsbSerialInterface
|
|||
void setStopBits(int stopBits);
|
||||
void setParity(int parity);
|
||||
void setFlowControl(int flowControl);
|
||||
void setBreak(boolean state);
|
||||
|
||||
// Flow control commands and interface callback
|
||||
void setRTS(boolean state);
|
||||
|
|
|
@ -297,6 +297,12 @@ public class XdcVcpSerialDevice extends UsbSerialDevice
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBreak(boolean state)
|
||||
{
|
||||
//TODO
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRTS(boolean state)
|
||||
{
|
||||
|
|
Ładowanie…
Reference in New Issue