Firmware for UT Robotex 2018 basketball robot

Dependencies:   mbed USBDevice

Revision:
2:7affec1c81cb
Parent:
1:a286bf92d291
Child:
3:2f12dac1bcdf
--- a/main.cpp	Thu Oct 11 21:26:53 2018 +0000
+++ b/main.cpp	Tue Sep 17 05:11:16 2019 +0000
@@ -4,6 +4,8 @@
 #include "USBSerial.h"
 #include "RFManager.h"
 
+#define BUF_SIZE 32
+
 USBSerial serial;
 
 Serial pc(USBTX, USBRX);
@@ -35,7 +37,7 @@
 unsigned int pidTickerCount = 0;
 static const float PID_FREQ = 60;
 
-char buf[32];
+char buf[BUF_SIZE];
 int serialCount = 0;
 bool serialData = false;
 
@@ -105,16 +107,22 @@
         }
 
         rfModule.update();
+        
+        while (serial.readable()) {
+            char c = serial.getc();
+            
+            buf[serialCount] = c;
 
-        if (serial.readable()) {
-            buf[serialCount] = serial.getc();
-
-            if (buf[serialCount] == '\n') {
+            if (c == '\n') {
                 parseCommand(buf);
                 serialCount = 0;
-                memset(buf, 0, 32);
+                memset(buf, 0, BUF_SIZE);
             } else {
                 serialCount++;
+                
+                if (serialCount == BUF_SIZE) {
+                    serialCount = 0;
+                }
             }
         }
     }