mirror of https://github.com/FOME-Tech/fome-fw.git
progress with restart!
This commit is contained in:
parent
3f3c659665
commit
312fc102e2
|
@ -231,7 +231,7 @@ public class BinaryProtocol implements BinaryProtocolCommands {
|
|||
|
||||
if (!checkResponseCode(response, RESPONSE_OK) || response.length != requestSize + 1) {
|
||||
String code = (response == null || response.length == 0) ? "empty" : "code " + response[0];
|
||||
String info = response == null ? "null" : (code + " size " + response.length);
|
||||
String info = response == null ? "NO RESPONSE" : (code + " size " + response.length);
|
||||
logger.error("readImage: Something is wrong, retrying... " + info);
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ public class SerialConnector implements LinkConnector {
|
|||
LinkManager.execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
MessagesCentral.getInstance().postMessage(getClass(), "Restarting serial IO");
|
||||
MessagesCentral.getInstance().postMessage(SerialConnector.this.getClass(), "Restarting serial IO");
|
||||
portHolder.close();
|
||||
portHolder.connectAndReadConfiguration();
|
||||
}
|
||||
|
|
|
@ -18,19 +18,23 @@ import org.jetbrains.annotations.NotNull;
|
|||
public class SerialIoStreamJSerialComm implements IoStream {
|
||||
private boolean isClosed;
|
||||
private SerialPort sp;
|
||||
private final String port;
|
||||
|
||||
SerialIoStreamJSerialComm(SerialPort sp) {
|
||||
SerialIoStreamJSerialComm(SerialPort sp, String port) {
|
||||
this.sp = sp;
|
||||
this.port = port;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInputListener(DataListener listener) {
|
||||
sp.addDataListener(new SerialPortDataListener() {
|
||||
@Override
|
||||
public int getListeningEvents() { return SerialPort.LISTENING_EVENT_DATA_AVAILABLE; }
|
||||
public int getListeningEvents() {
|
||||
return SerialPort.LISTENING_EVENT_DATA_AVAILABLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serialEvent(SerialPortEvent event)
|
||||
{
|
||||
public void serialEvent(SerialPortEvent event) {
|
||||
if (event.getEventType() != SerialPort.LISTENING_EVENT_DATA_AVAILABLE)
|
||||
return;
|
||||
int bytesAvailable = sp.bytesAvailable();
|
||||
|
@ -54,8 +58,10 @@ public class SerialIoStreamJSerialComm implements IoStream {
|
|||
|
||||
@Override
|
||||
public void close() {
|
||||
FileLog.LOGGER.info(port + ": Closing port...");
|
||||
isClosed = true;
|
||||
sp.closePort();
|
||||
FileLog.LOGGER.info(port + ": Closed port.");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -78,6 +84,6 @@ public class SerialIoStreamJSerialComm implements IoStream {
|
|||
SerialPort sp = SerialPort.getCommPort(port);
|
||||
sp.setBaudRate(baudRate);
|
||||
sp.openPort();
|
||||
return new SerialIoStreamJSerialComm(sp);
|
||||
return new SerialIoStreamJSerialComm(sp, port);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -100,8 +100,6 @@ public class Launcher {
|
|||
getConfig().getRoot().setProperty(PORT_KEY, port);
|
||||
getConfig().getRoot().setProperty(SPEED_KEY, BaudRateHolder.INSTANCE.baudRate);
|
||||
|
||||
LinkManager.start(port);
|
||||
|
||||
engineSnifferPanel = new EngineSnifferPanel(getConfig().getRoot().getChild("digital_sniffer"));
|
||||
if (!LinkManager.isLogViewerMode(port))
|
||||
engineSnifferPanel.setOutpinListener(LinkManager.engineState);
|
||||
|
@ -271,7 +269,8 @@ public class Launcher {
|
|||
System.err.println("rusEFI not detected");
|
||||
return;
|
||||
}
|
||||
new SerialConnector(autoDetectedPort).connect(new ConnectionStateListener() {
|
||||
LinkManager.start(autoDetectedPort);
|
||||
LinkManager.connector.connect(new ConnectionStateListener() {
|
||||
@Override
|
||||
public void onConnectionEstablished() {
|
||||
SensorLogger.init();
|
||||
|
@ -287,6 +286,7 @@ public class Launcher {
|
|||
private static void invokeCallback(String callback) {
|
||||
if (callback == null)
|
||||
return;
|
||||
System.out.println("Invoking " + callback);
|
||||
ExecHelper.submitAction(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
|
Loading…
Reference in New Issue