Merge pull request #170 from felHR85/cdc_rts_dtr

Allowing RTS and DTR turned on/off on CDC
pull/173/head
Felipe Herranz 2018-10-29 00:10:19 +01:00 zatwierdzone przez GitHub
commit d53c69c30f
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
1 zmienionych plików z 17 dodań i 2 usunięć

Wyświetl plik

@ -19,6 +19,10 @@ public class CDCSerialDevice extends UsbSerialDevice
private static final int CDC_GET_LINE_CODING = 0x21;
private static final int CDC_SET_CONTROL_LINE_STATE = 0x22;
private static final int CDC_SET_CONTROL_LINE_STATE_RTS = 0x2;
private static final int CDC_SET_CONTROL_LINE_STATE_DTR = 0x1;
/***
* Default Serial Configuration
* Baud rate: 115200
@ -47,6 +51,8 @@ public class CDCSerialDevice extends UsbSerialDevice
private int initialBaudRate = 0;
private int controlLineState = CDC_CONTROL_LINE_ON;
public CDCSerialDevice(UsbDevice device, UsbDeviceConnection connection)
{
this(device, connection, -1);
@ -235,13 +241,22 @@ public class CDCSerialDevice extends UsbSerialDevice
@Override
public void setRTS(boolean state)
{
//TODO
if (state)
controlLineState |= CDC_SET_CONTROL_LINE_STATE_RTS;
else
controlLineState &= ~CDC_SET_CONTROL_LINE_STATE_RTS;
setControlCommand(CDC_SET_CONTROL_LINE_STATE, controlLineState, null);
}
@Override
public void setDTR(boolean state)
{
//TODO
if (state)
controlLineState |= CDC_SET_CONTROL_LINE_STATE_DTR;
else
controlLineState &= ~CDC_SET_CONTROL_LINE_STATE_DTR;
setControlCommand(CDC_SET_CONTROL_LINE_STATE, controlLineState, null);
}
@Override