Final code for our 4180 Drawing Robot!

Dependencies:   4DGL-uLCD-SE gCodeParser mbed

Revision:
0:40576dfac535
Child:
1:ad895d72e9ed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Apr 29 21:51:29 2014 +0000
@@ -0,0 +1,59 @@
+#include "mbed.h"
+#include "gparser.h"
+#include "MODSERIAL.h"
+#include "motor.h"
+#include "drawBot.h"
+#include "uLCD_4DGL.h"
+
+#define CMD_LIST_SIZE 512
+
+MODSERIAL gpc(USBTX, USBRX);
+uLCD_4DGL uLCD(p9, p10, p11);
+//G_cmd gcmd_list[CMD_LIST_SIZE]; // buffer to be filled with commands, main program retrieves commands from here
+
+extern G_cmd* gcmd_list;
+extern list_position;
+
+Motor mL(p29, p30, p26, p27, p28, p25, RIGHT_MOTOR);
+Motor mR(p12, p13, p16, p15, p14, p17, LEFT_MOTOR);
+DrawBot bot(&mL, &mR, p21, 0.5, 45.125);
+
+int main() {
+        
+        parserInit();
+    
+        int list_pos = fillInCmdList();
+        uLCD.printf("%d\r\n",list_pos);
+        
+        for(int c=0; c<list_pos; c++) {
+            G_cmd* next = gcmd_list+c;
+            uLCD.printf("G:%d X%.2f Y%.2f Z%.2f I%.2f J%.2f\n",next->X, next->Y, next->Z, next->I,next->J,next->F);
+            wait(10);
+            uLCD.cls();              
+            switch(next->G) {
+                case 0:
+                case 1:
+                    //Draw a line.
+                    if(next->X != -1 && next->Y != -1) {
+                        bot.line_safe(next->X, next->Y);
+                    }
+                    if(next->Z > 0) {
+                        bot.pen_up();    
+                    }else if(next->Z == 0) {
+                        bot.pen_down();    
+                    }
+                break;
+                case 2:
+                    //Draw an arc or something.
+                    //bot->arc(px+i, py+j, next_cmd->X, next_cmd->Z);
+                break;
+                case 3:
+                    //Draw a different arc or something.
+                break;
+                default:
+                break;
+                
+            }
+        }   
+        bot.disable();
+}
\ No newline at end of file