test

Dependencies:   MODDMA MODSERIAL mbed

Fork of IRIS_MBED by IRIS

Files at this revision

API Documentation at this revision

Comitter:
JonathanAshworth
Date:
Mon Mar 16 13:48:17 2015 +0000
Parent:
0:2676c97df44e
Child:
2:28501c7700f7
Commit message:
Removed timeout condition where another window is received before the previous window has expired

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Sun Mar 15 21:48:23 2015 +0000
+++ b/main.cpp	Mon Mar 16 13:48:17 2015 +0000
@@ -149,33 +149,28 @@
     usbTimer.reset();
     usbTimer.start();
     usbRIT.enable();
-    if (!flags.rxNewData) { //prevent too short windows
-        while ((buffPntr != USB_BUFFER_SIZE-1)&&(!flags.usbTimeout)) {
-            if (buffPntr >= 3) {
-                if ((rxBuffer[buffPntr-3] == 0x0A)&&(rxBuffer[buffPntr-2] == 0x0A)&&(rxBuffer[buffPntr-1] == 0x0A)&&(rxBuffer[buffPntr] == 0x0A)) {
-                    terminated = 1;
-                }
+    while ((buffPntr != USB_BUFFER_SIZE-1)&&(!flags.usbTimeout)) {
+        if (buffPntr >= 3) {
+            if ((rxBuffer[buffPntr-3] == 0x0A)&&(rxBuffer[buffPntr-2] == 0x0A)&&(rxBuffer[buffPntr-1] == 0x0A)&&(rxBuffer[buffPntr] == 0x0A)) {
+                terminated = 1;
             }
-            if (!terminated) {
-                while((!serial.readable())&&(!flags.usbTimeout)) {;}
-                if (serial.readable()) {
-                    rxBuffer[buffPntr] = serial.getc();//whenDataReady, insert into rx buffer
-                }
-            }
-            else {
-                rxBuffer[buffPntr] = 0;
-            }
-            buffPntr++;
         }
         if (!terminated) {
-            flags.usbTimeout = 1; //no valid termination seen
+            while((!serial.readable())&&(!flags.usbTimeout)) {;}
+            if (serial.readable()) {
+                rxBuffer[buffPntr] = serial.getc();//whenDataReady, insert into rx buffer
+            }
         }
         else {
-            flags.rxNewData = 1;
+            rxBuffer[buffPntr] = 0;
         }
+        buffPntr++;
+    }
+    if (!terminated) {
+        flags.usbTimeout = 1; //no valid termination seen
     }
     else {
-        flags.usbTimeout = 1; //received another window too early
+        flags.rxNewData = 1;
     }
     flags.rxNewData = 1;
 }