lib_LCD_oem_example
Dependencies: lib_LCD_oem mbed
Diff: main.cpp
- Revision:
- 0:c8a2590c2f2e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Jun 06 14:01:09 2017 +0000 @@ -0,0 +1,204 @@ +#include "mbed.h" +#include "lib_LCD_oem_ELCD.h" + +bool acolade = false; +bool escape = false; + +LCD_OEM LCD; +Serial pc(USBTX, USBRX); + +int X_pos = 0; +int Y_pos = 0; + +void reception_serie(void); + +int main() +{ + pc.attach(&reception_serie); + LCD.shift_line_cursor(); +// pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor()); + + while(1) + { + } +} + +void reception_serie(void) +{ + char c = pc.getc(); + char l1 = 0,l2 = 0,l3 = 0,l4 = 0,l5 = 0,l6 = 0,l7 = 0,l8 = 0; + switch(c) + { + case 27: + acolade = true; + break; + case 91: + if(acolade) escape = true; + break; + case 'A': + if(acolade && escape) + { +// X_pos = LCD.get_X_position_cursor(); +// Y_pos = LCD.get_Y_position_cursor() - 1; +// LCD.set_position_cursor(X_pos,Y_pos); + LCD.set_position_cursor(LCD.get_X_position_cursor(), LCD.get_Y_position_cursor() - 1); + pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor()); + }else{ + pc.printf("%d\r\n",c); + LCD.print((int)c); + acolade = false; + escape = false; + } + break; + case 'B': + if(acolade && escape) + { +// X_pos = LCD.get_X_position_cursor(); +// Y_pos = LCD.get_Y_position_cursor() + 1; +// LCD.set_position_cursor(X_pos,Y_pos); + LCD.set_position_cursor(LCD.get_X_position_cursor(), LCD.get_Y_position_cursor() + 1); + pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor()); + }else{ + pc.printf("%d\r\n",c); + LCD.print((int)c); + acolade = false; + escape = false; + } + break; + case 'C': + if(acolade && escape) + { +// X_pos = LCD.get_X_position_cursor() + 1; +// Y_pos = LCD.get_Y_position_cursor(); +// LCD.set_position_cursor(X_pos,Y_pos); + LCD.set_position_cursor(LCD.get_X_position_cursor() + 1, LCD.get_Y_position_cursor()); + pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor()); + }else{ + pc.printf("%d\r\n",c); + LCD.print((int)c); + acolade = false; + escape = false; + } + break; + case 'D': + if(acolade && escape) + { +// X_pos = LCD.get_X_position_cursor() - 1; +// Y_pos = LCD.get_Y_position_cursor(); +// LCD.set_position_cursor(X_pos,Y_pos); + LCD.set_position_cursor(LCD.get_X_position_cursor() - 1, LCD.get_Y_position_cursor()); + pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor()); + }else{ + pc.printf("%d\r\n",c); + LCD.print((int)c); + acolade = false; + escape = false; + } + break; + case 'w': + for(int i=0;i<4;i++) + { + LCD.set_position_cursor(0,i); + for(int j=8;j<16;j++) + { + LCD.print("%c", j); + pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor()); +// wait(0.25); + } + } + + for(int k=8;k<16;k++) + { + l1 = l2 = l3 = l3 = l4 = l5 = l6 = l7 = l8 = 0; + for(int i=0;i<8;i++) + { + for(int j=1;j<32;j*=2) + { + if(i == 0) l1 += j; + else if(i == 1) l2 += j; + else if(i == 2) l3 += j; + else if(i == 3) l4 += j; + else if(i == 4) l5 += j; + else if(i == 5) l6 += j; + else if(i == 6) l7 += j; + else if(i == 7) l8 += j; + LCD.define_caractere(k,l1,l2,l3,l4,l5,l6,l7,l8); +// wait(0.1); + } + } + } + for(int k=8;k<16;k++) + { + l1 = l2 = l3 = l3 = l4 = l5 = l6 = l7 = l8 = 31; + for(int i=0;i<8;i++) + { + for(int j=1;j<32;j*=2) + { + if(i == 0) l1 -= j; + else if(i == 1) l2 -= j; + else if(i == 2) l3 -= j; + else if(i == 3) l4 -= j; + else if(i == 4) l5 -= j; + else if(i == 5) l6 -= j; + else if(i == 6) l7 -= j; + else if(i == 7) l8 -= j; + LCD.define_caractere(k,l1,l2,l3,l4,l5,l6,l7,l8); +// wait(0.1); + } + } + } + break; + case 'x': +// LCD.set_position_cursor(0,0); + LCD.define_and_print_caractere(8,1,2,4,8,8,4,2,1); + LCD.define_caractere(8,16,8,4,2,2,4,8,16); + LCD.print((char)8); +// LCD.print((char)8); +// LCD.define_caractere(8,1,2,4,8,8,4,2,1); +/* for(int k=8;k<16;k++) + { + l1 = l2 = l3 = l3 = l4 = l5 = l6 = l7 = l8 = 0; + for(int i=0;i<8;i++) + { + for(int j=1;j<32;j*=2) + { + if(i == 0) l1 += j; + else if(i == 1) l2 += j; + else if(i == 2) l3 += j; + else if(i == 3) l4 += j; + else if(i == 4) l5 += j; + else if(i == 5) l6 += j; + else if(i == 6) l7 += j; + else if(i == 7) l8 += j; + LCD.define_and_print_caractere(k,l1,l2,l3,l4,l5,l6,l7,l8); +// wait(0.1); + } + } + } + for(int k=8;k<16;k++) + { + l1 = l2 = l3 = l3 = l4 = l5 = l6 = l7 = l8 = 31; + for(int i=0;i<8;i++) + { + for(int j=1;j<32;j*=2) + { + if(i == 0) l1 -= j; + else if(i == 1) l2 -= j; + else if(i == 2) l3 -= j; + else if(i == 3) l4 -= j; + else if(i == 4) l5 -= j; + else if(i == 5) l6 -= j; + else if(i == 6) l7 -= j; + else if(i == 7) l8 -= j; + LCD.define_and_print_caractere(k,l1,l2,l3,l4,l5,l6,l7,l8); +// wait(0.1); + } + } + } +*/ break; + default: + LCD.print(c); + pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor()); + break; + } +}