Código para o menu no LCD

Dependencies:   mbed SDFileSystemSD TextLCD

Fork of TextLCD_HelloWorld2 by Wim Huiskamp

Revision:
17:0b8e489fac36
Child:
18:5338b83b4de9
diff -r 6912d19a0016 -r 0b8e489fac36 classes.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/classes.h	Tue May 15 12:05:45 2018 +0000
@@ -0,0 +1,94 @@
+#define tx PC_10
+#define rx PC_11
+
+Serial Mach(tx, rx);
+SDFileSystem sd(PB_5, PB_4, PB_3, PB_10, "sd"); //MOSI - D4, MISO - D5, SCLK - D3, CS - D6
+
+class Machine { 
+    int n;
+    string buffer;
+    char buffer_char[2];
+    
+    public:
+        int debug;
+    
+        // PUBLIC FUNCTIONS ----------------------------------------------------------------------------------------------------------------------------------------
+        void move_to(float x, float y, float z, string type, int speed){
+            
+        }
+        
+        void move(int x_axis, int y_axis, int z_axis, float pct_speed){
+            buffer = "";
+        
+            buffer.append("f");
+            
+            //buffer.append("X");
+            n = sprintf(buffer_char, "%d", x_axis);
+            buffer.append(buffer_char);
+            
+            //buffer.append("Y");
+            n = sprintf(buffer_char, "%d", y_axis);
+            buffer.append(buffer_char);
+            
+            //buffer.append("Z");
+            n = sprintf(buffer_char, "%d", z_axis);
+            buffer.append(buffer_char);
+            
+            buffer.append("F");
+            n = sprintf(buffer_char, "%.2f", pct_speed);
+            buffer.append(buffer_char);
+            
+            send(buffer);
+        } 
+        
+        void save_point(int mode, float pct_speed){
+            buffer = "";
+            
+            buffer.append("s");
+            
+            n = sprintf(buffer_char, "M%d", mode);
+            buffer.append(buffer_char);
+            
+            n = sprintf(buffer_char, "F%.2f", pct_speed);
+            buffer.append(buffer_char);
+            
+            send(buffer);
+        }
+        
+        void start_program(void){
+            send("b");    
+        }
+        
+        void cancel_program(void){
+            send("c");    
+        }
+        
+        void get_status(void){
+            send("s");
+        }
+        
+        void machine_zero(void){
+            send("mz");
+        }
+        
+        void set_zero(string axis){
+            buffer = "";
+            
+            buffer.append("z");
+            buffer+=axis;
+            
+            send(buffer);    
+        }
+        
+        private:
+            
+            // PRIVATE FUNCTIONS ----------------------------------------------------------------------------------------------------------------------------------------
+            void send(string msg){
+                msg.append("x");
+                
+                for(int i = 0; i < msg.length(); i++){
+                    Mach.putc(msg[i]);
+                    wait_ms(15);   
+                }
+            }       
+};
\ No newline at end of file