Merge pull request #173 from felHR85/check_open_port

added check open port
pull/174/head
Felipe Herranz 2018-11-03 19:56:02 +01:00 zatwierdzone przez GitHub
commit a47ee7637e
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
6 zmienionych plików z 37 dodań i 0 usunięć

Wyświetl plik

@ -93,10 +93,12 @@ public class CDCSerialDevice extends UsbSerialDevice
setThreadsParams(requestIN, outEndpoint); setThreadsParams(requestIN, outEndpoint);
asyncMode = true; asyncMode = true;
isOpen = true;
return true; return true;
}else }else
{ {
isOpen = false;
return false; return false;
} }
} }
@ -109,6 +111,7 @@ public class CDCSerialDevice extends UsbSerialDevice
killWriteThread(); killWriteThread();
connection.releaseInterface(mInterface); connection.releaseInterface(mInterface);
connection.close(); connection.close();
isOpen = false;
} }
@Override @Override
@ -119,6 +122,7 @@ public class CDCSerialDevice extends UsbSerialDevice
{ {
setSyncParams(inEndpoint, outEndpoint); setSyncParams(inEndpoint, outEndpoint);
asyncMode = false; asyncMode = false;
isOpen = true;
// Init Streams // Init Streams
inputStream = new SerialInputStream(this); inputStream = new SerialInputStream(this);
@ -127,6 +131,7 @@ public class CDCSerialDevice extends UsbSerialDevice
return true; return true;
}else }else
{ {
isOpen = false;
return false; return false;
} }
} }
@ -137,6 +142,7 @@ public class CDCSerialDevice extends UsbSerialDevice
setControlCommand(CDC_SET_CONTROL_LINE_STATE, CDC_CONTROL_LINE_OFF, null); setControlCommand(CDC_SET_CONTROL_LINE_STATE, CDC_CONTROL_LINE_OFF, null);
connection.releaseInterface(mInterface); connection.releaseInterface(mInterface);
connection.close(); connection.close();
isOpen = false;
} }
@Override @Override

Wyświetl plik

@ -130,10 +130,12 @@ public class CH34xSerialDevice extends UsbSerialDevice
setThreadsParams(requestIN, outEndpoint); setThreadsParams(requestIN, outEndpoint);
asyncMode = true; asyncMode = true;
isOpen = true;
return true; return true;
}else }else
{ {
isOpen = false;
return false; return false;
} }
} }
@ -145,6 +147,7 @@ public class CH34xSerialDevice extends UsbSerialDevice
killWriteThread(); killWriteThread();
stopFlowControlThread(); stopFlowControlThread();
connection.releaseInterface(mInterface); connection.releaseInterface(mInterface);
isOpen = false;
} }
@Override @Override
@ -157,6 +160,7 @@ public class CH34xSerialDevice extends UsbSerialDevice
createFlowControlThread(); createFlowControlThread();
setSyncParams(inEndpoint, outEndpoint); setSyncParams(inEndpoint, outEndpoint);
asyncMode = false; asyncMode = false;
isOpen = true;
// Init Streams // Init Streams
inputStream = new SerialInputStream(this); inputStream = new SerialInputStream(this);
@ -165,6 +169,7 @@ public class CH34xSerialDevice extends UsbSerialDevice
return true; return true;
}else }else
{ {
isOpen = false;
return false; return false;
} }
} }
@ -174,6 +179,7 @@ public class CH34xSerialDevice extends UsbSerialDevice
{ {
stopFlowControlThread(); stopFlowControlThread();
connection.releaseInterface(mInterface); connection.releaseInterface(mInterface);
isOpen = false;
} }
@Override @Override

Wyświetl plik

@ -116,10 +116,12 @@ public class CP2102SerialDevice extends UsbSerialDevice
setThreadsParams(requestIN, outEndpoint); setThreadsParams(requestIN, outEndpoint);
asyncMode = true; asyncMode = true;
isOpen = true;
return true; return true;
}else }else
{ {
isOpen = false;
return false; return false;
} }
} }
@ -132,6 +134,7 @@ public class CP2102SerialDevice extends UsbSerialDevice
killWriteThread(); killWriteThread();
stopFlowControlThread(); stopFlowControlThread();
connection.releaseInterface(mInterface); connection.releaseInterface(mInterface);
isOpen = false;
} }
@Override @Override
@ -144,6 +147,7 @@ public class CP2102SerialDevice extends UsbSerialDevice
createFlowControlThread(); createFlowControlThread();
setSyncParams(inEndpoint, outEndpoint); setSyncParams(inEndpoint, outEndpoint);
asyncMode = false; asyncMode = false;
isOpen = true;
// Init Streams // Init Streams
inputStream = new SerialInputStream(this); inputStream = new SerialInputStream(this);
@ -152,6 +156,7 @@ public class CP2102SerialDevice extends UsbSerialDevice
return true; return true;
}else }else
{ {
isOpen = false;
return false; return false;
} }
} }
@ -162,6 +167,7 @@ public class CP2102SerialDevice extends UsbSerialDevice
setControlCommand(CP210x_IFC_ENABLE, CP210x_UART_DISABLE, null); setControlCommand(CP210x_IFC_ENABLE, CP210x_UART_DISABLE, null);
stopFlowControlThread(); stopFlowControlThread();
connection.releaseInterface(mInterface); connection.releaseInterface(mInterface);
isOpen = false;
} }
@Override @Override

Wyświetl plik

@ -126,10 +126,12 @@ public class FTDISerialDevice extends UsbSerialDevice
setThreadsParams(requestIN, outEndpoint); setThreadsParams(requestIN, outEndpoint);
asyncMode = true; asyncMode = true;
isOpen = true;
return true; return true;
}else }else
{ {
isOpen = false;
return false; return false;
} }
} }
@ -143,6 +145,7 @@ public class FTDISerialDevice extends UsbSerialDevice
killWorkingThread(); killWorkingThread();
killWriteThread(); killWriteThread();
connection.releaseInterface(mInterface); connection.releaseInterface(mInterface);
isOpen = false;
} }
@Override @Override
@ -158,9 +161,12 @@ public class FTDISerialDevice extends UsbSerialDevice
inputStream = new SerialInputStream(this); inputStream = new SerialInputStream(this);
outputStream = new SerialOutputStream(this); outputStream = new SerialOutputStream(this);
isOpen = true;
return true; return true;
}else }else
{ {
isOpen = false;
return false; return false;
} }
} }
@ -172,6 +178,7 @@ public class FTDISerialDevice extends UsbSerialDevice
setControlCommand(FTDI_SIO_MODEM_CTRL, FTDI_SET_MODEM_CTRL_DEFAULT4, 0, null); setControlCommand(FTDI_SIO_MODEM_CTRL, FTDI_SET_MODEM_CTRL_DEFAULT4, 0, null);
currentSioSetData = 0x0000; currentSioSetData = 0x0000;
connection.releaseInterface(mInterface); connection.releaseInterface(mInterface);
isOpen = false;
} }
@Override @Override

Wyświetl plik

@ -73,10 +73,12 @@ public class PL2303SerialDevice extends UsbSerialDevice
setThreadsParams(requestIN, outEndpoint); setThreadsParams(requestIN, outEndpoint);
asyncMode = true; asyncMode = true;
isOpen = true;
return true; return true;
}else }else
{ {
isOpen = false;
return false; return false;
} }
} }
@ -87,6 +89,7 @@ public class PL2303SerialDevice extends UsbSerialDevice
killWorkingThread(); killWorkingThread();
killWriteThread(); killWriteThread();
connection.releaseInterface(mInterface); connection.releaseInterface(mInterface);
isOpen = false;
} }
@Override @Override
@ -97,6 +100,7 @@ public class PL2303SerialDevice extends UsbSerialDevice
{ {
setSyncParams(inEndpoint, outEndpoint); setSyncParams(inEndpoint, outEndpoint);
asyncMode = false; asyncMode = false;
isOpen = true;
// Init Streams // Init Streams
inputStream = new SerialInputStream(this); inputStream = new SerialInputStream(this);
@ -105,6 +109,7 @@ public class PL2303SerialDevice extends UsbSerialDevice
return true; return true;
}else }else
{ {
isOpen = false;
return false; return false;
} }
} }
@ -113,6 +118,7 @@ public class PL2303SerialDevice extends UsbSerialDevice
public void syncClose() public void syncClose()
{ {
connection.releaseInterface(mInterface); connection.releaseInterface(mInterface);
isOpen = false;
} }
@Override @Override

Wyświetl plik

@ -40,6 +40,8 @@ public abstract class UsbSerialDevice implements UsbSerialInterface
protected boolean asyncMode; protected boolean asyncMode;
protected boolean isOpen;
// Get Android version if version < 4.3 It is not going to be asynchronous read operations // Get Android version if version < 4.3 It is not going to be asynchronous read operations
static static
{ {
@ -233,6 +235,10 @@ public abstract class UsbSerialDevice implements UsbSerialInterface
serialBuffer.debug(value); serialBuffer.debug(value);
} }
public boolean isOpen(){
return isOpen;
}
private boolean isFTDIDevice() private boolean isFTDIDevice()
{ {
return (this instanceof FTDISerialDevice); return (this instanceof FTDISerialDevice);