Código para o menu no LCD

Dependencies:   mbed SDFileSystemSD TextLCD

Fork of TextLCD_HelloWorld2 by Wim Huiskamp

classes.h

Committer:
lucasfontenla
Date:
2018-05-15
Revision:
17:0b8e489fac36
Child:
18:5338b83b4de9

File content as of revision 17:0b8e489fac36:

#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);   
                }
            }       
};