Bläddra i källkod

implements retries in response reading

Baglio Tabifata 4 år sedan
förälder
incheckning
e08d6b4980
1 ändrade filer med 9 tillägg och 2 borttagningar
  1. 9 2
      src/net/hkzlab/dupal/boardio/DuPALManager.java

+ 9 - 2
src/net/hkzlab/dupal/boardio/DuPALManager.java

@@ -16,7 +16,7 @@ public class DuPALManager {
 
     private SerialPort serport = null;
 
-
+    private final static int SERIAL_READ_RETRIES = 5;
     private final static String REMOTE_MODE_STRING = "REMOTE_CONTROL_ENABLED";
 
     public DuPALManager(final String serPort) {
@@ -82,7 +82,14 @@ public class DuPALManager {
     public String readResponse() {
          if((serport != null) && serport.isOpened()) {
             try {
-                String resp = serport.readString().trim();
+                int retries = SERIAL_READ_RETRIES;
+                String resp = null;
+                
+                while((resp == null) && (retries-- > 0)) {
+                    resp = serport.readString();
+                }
+                
+                if(resp != null) resp = resp.trim();
                 
                 logger.debug("Response <- " + resp);