Código para o menu no LCD
Dependencies: mbed SDFileSystemSD TextLCD
Fork of TextLCD_HelloWorld2 by
classes.h@17:0b8e489fac36, 2018-05-15 (annotated)
- Committer:
- lucasfontenla
- Date:
- Tue May 15 12:05:45 2018 +0000
- Revision:
- 17:0b8e489fac36
- Child:
- 18:5338b83b4de9
Lib SD adicionada.;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lucasfontenla | 17:0b8e489fac36 | 1 | #define tx PC_10 |
lucasfontenla | 17:0b8e489fac36 | 2 | #define rx PC_11 |
lucasfontenla | 17:0b8e489fac36 | 3 | |
lucasfontenla | 17:0b8e489fac36 | 4 | Serial Mach(tx, rx); |
lucasfontenla | 17:0b8e489fac36 | 5 | SDFileSystem sd(PB_5, PB_4, PB_3, PB_10, "sd"); //MOSI - D4, MISO - D5, SCLK - D3, CS - D6 |
lucasfontenla | 17:0b8e489fac36 | 6 | |
lucasfontenla | 17:0b8e489fac36 | 7 | class Machine { |
lucasfontenla | 17:0b8e489fac36 | 8 | int n; |
lucasfontenla | 17:0b8e489fac36 | 9 | string buffer; |
lucasfontenla | 17:0b8e489fac36 | 10 | char buffer_char[2]; |
lucasfontenla | 17:0b8e489fac36 | 11 | |
lucasfontenla | 17:0b8e489fac36 | 12 | public: |
lucasfontenla | 17:0b8e489fac36 | 13 | int debug; |
lucasfontenla | 17:0b8e489fac36 | 14 | |
lucasfontenla | 17:0b8e489fac36 | 15 | // PUBLIC FUNCTIONS ---------------------------------------------------------------------------------------------------------------------------------------- |
lucasfontenla | 17:0b8e489fac36 | 16 | void move_to(float x, float y, float z, string type, int speed){ |
lucasfontenla | 17:0b8e489fac36 | 17 | |
lucasfontenla | 17:0b8e489fac36 | 18 | } |
lucasfontenla | 17:0b8e489fac36 | 19 | |
lucasfontenla | 17:0b8e489fac36 | 20 | void move(int x_axis, int y_axis, int z_axis, float pct_speed){ |
lucasfontenla | 17:0b8e489fac36 | 21 | buffer = ""; |
lucasfontenla | 17:0b8e489fac36 | 22 | |
lucasfontenla | 17:0b8e489fac36 | 23 | buffer.append("f"); |
lucasfontenla | 17:0b8e489fac36 | 24 | |
lucasfontenla | 17:0b8e489fac36 | 25 | //buffer.append("X"); |
lucasfontenla | 17:0b8e489fac36 | 26 | n = sprintf(buffer_char, "%d", x_axis); |
lucasfontenla | 17:0b8e489fac36 | 27 | buffer.append(buffer_char); |
lucasfontenla | 17:0b8e489fac36 | 28 | |
lucasfontenla | 17:0b8e489fac36 | 29 | //buffer.append("Y"); |
lucasfontenla | 17:0b8e489fac36 | 30 | n = sprintf(buffer_char, "%d", y_axis); |
lucasfontenla | 17:0b8e489fac36 | 31 | buffer.append(buffer_char); |
lucasfontenla | 17:0b8e489fac36 | 32 | |
lucasfontenla | 17:0b8e489fac36 | 33 | //buffer.append("Z"); |
lucasfontenla | 17:0b8e489fac36 | 34 | n = sprintf(buffer_char, "%d", z_axis); |
lucasfontenla | 17:0b8e489fac36 | 35 | buffer.append(buffer_char); |
lucasfontenla | 17:0b8e489fac36 | 36 | |
lucasfontenla | 17:0b8e489fac36 | 37 | buffer.append("F"); |
lucasfontenla | 17:0b8e489fac36 | 38 | n = sprintf(buffer_char, "%.2f", pct_speed); |
lucasfontenla | 17:0b8e489fac36 | 39 | buffer.append(buffer_char); |
lucasfontenla | 17:0b8e489fac36 | 40 | |
lucasfontenla | 17:0b8e489fac36 | 41 | send(buffer); |
lucasfontenla | 17:0b8e489fac36 | 42 | } |
lucasfontenla | 17:0b8e489fac36 | 43 | |
lucasfontenla | 17:0b8e489fac36 | 44 | void save_point(int mode, float pct_speed){ |
lucasfontenla | 17:0b8e489fac36 | 45 | buffer = ""; |
lucasfontenla | 17:0b8e489fac36 | 46 | |
lucasfontenla | 17:0b8e489fac36 | 47 | buffer.append("s"); |
lucasfontenla | 17:0b8e489fac36 | 48 | |
lucasfontenla | 17:0b8e489fac36 | 49 | n = sprintf(buffer_char, "M%d", mode); |
lucasfontenla | 17:0b8e489fac36 | 50 | buffer.append(buffer_char); |
lucasfontenla | 17:0b8e489fac36 | 51 | |
lucasfontenla | 17:0b8e489fac36 | 52 | n = sprintf(buffer_char, "F%.2f", pct_speed); |
lucasfontenla | 17:0b8e489fac36 | 53 | buffer.append(buffer_char); |
lucasfontenla | 17:0b8e489fac36 | 54 | |
lucasfontenla | 17:0b8e489fac36 | 55 | send(buffer); |
lucasfontenla | 17:0b8e489fac36 | 56 | } |
lucasfontenla | 17:0b8e489fac36 | 57 | |
lucasfontenla | 17:0b8e489fac36 | 58 | void start_program(void){ |
lucasfontenla | 17:0b8e489fac36 | 59 | send("b"); |
lucasfontenla | 17:0b8e489fac36 | 60 | } |
lucasfontenla | 17:0b8e489fac36 | 61 | |
lucasfontenla | 17:0b8e489fac36 | 62 | void cancel_program(void){ |
lucasfontenla | 17:0b8e489fac36 | 63 | send("c"); |
lucasfontenla | 17:0b8e489fac36 | 64 | } |
lucasfontenla | 17:0b8e489fac36 | 65 | |
lucasfontenla | 17:0b8e489fac36 | 66 | void get_status(void){ |
lucasfontenla | 17:0b8e489fac36 | 67 | send("s"); |
lucasfontenla | 17:0b8e489fac36 | 68 | } |
lucasfontenla | 17:0b8e489fac36 | 69 | |
lucasfontenla | 17:0b8e489fac36 | 70 | void machine_zero(void){ |
lucasfontenla | 17:0b8e489fac36 | 71 | send("mz"); |
lucasfontenla | 17:0b8e489fac36 | 72 | } |
lucasfontenla | 17:0b8e489fac36 | 73 | |
lucasfontenla | 17:0b8e489fac36 | 74 | void set_zero(string axis){ |
lucasfontenla | 17:0b8e489fac36 | 75 | buffer = ""; |
lucasfontenla | 17:0b8e489fac36 | 76 | |
lucasfontenla | 17:0b8e489fac36 | 77 | buffer.append("z"); |
lucasfontenla | 17:0b8e489fac36 | 78 | buffer+=axis; |
lucasfontenla | 17:0b8e489fac36 | 79 | |
lucasfontenla | 17:0b8e489fac36 | 80 | send(buffer); |
lucasfontenla | 17:0b8e489fac36 | 81 | } |
lucasfontenla | 17:0b8e489fac36 | 82 | |
lucasfontenla | 17:0b8e489fac36 | 83 | private: |
lucasfontenla | 17:0b8e489fac36 | 84 | |
lucasfontenla | 17:0b8e489fac36 | 85 | // PRIVATE FUNCTIONS ---------------------------------------------------------------------------------------------------------------------------------------- |
lucasfontenla | 17:0b8e489fac36 | 86 | void send(string msg){ |
lucasfontenla | 17:0b8e489fac36 | 87 | msg.append("x"); |
lucasfontenla | 17:0b8e489fac36 | 88 | |
lucasfontenla | 17:0b8e489fac36 | 89 | for(int i = 0; i < msg.length(); i++){ |
lucasfontenla | 17:0b8e489fac36 | 90 | Mach.putc(msg[i]); |
lucasfontenla | 17:0b8e489fac36 | 91 | wait_ms(15); |
lucasfontenla | 17:0b8e489fac36 | 92 | } |
lucasfontenla | 17:0b8e489fac36 | 93 | } |
lucasfontenla | 17:0b8e489fac36 | 94 | }; |