Y SI / Mbed 2 deprecated lib_LCD_oem_example

Dependencies:   lib_LCD_oem mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "lib_LCD_oem_ELCD.h"
00003 
00004 bool acolade = false;
00005 bool escape = false;
00006 
00007 LCD_OEM LCD;
00008 Serial pc(USBTX, USBRX);
00009 
00010 int X_pos = 0;
00011 int Y_pos = 0;
00012 
00013 void reception_serie(void);
00014 
00015 int main() 
00016 {
00017     pc.attach(&reception_serie);
00018     LCD.shift_line_cursor();
00019 //    pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor());
00020 
00021     while(1) 
00022     {
00023     }
00024 }
00025 
00026 void reception_serie(void)
00027 {
00028     char c = pc.getc();
00029     char l1 = 0,l2 = 0,l3 = 0,l4 = 0,l5 = 0,l6 = 0,l7 = 0,l8 = 0;
00030     switch(c)
00031     {
00032         case 27:
00033             acolade = true;
00034         break;
00035         case 91:
00036             if(acolade) escape = true;
00037         break;
00038         case 'A':
00039             if(acolade && escape)
00040             {
00041 //                X_pos = LCD.get_X_position_cursor();
00042 //                Y_pos = LCD.get_Y_position_cursor() - 1;
00043 //                LCD.set_position_cursor(X_pos,Y_pos);
00044                 LCD.set_position_cursor(LCD.get_X_position_cursor(), LCD.get_Y_position_cursor() - 1);
00045                 pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor());
00046             }else{
00047                 pc.printf("%d\r\n",c);
00048                 LCD.print((int)c);
00049                 acolade = false;
00050                 escape = false;
00051             }
00052         break;
00053         case 'B':
00054             if(acolade && escape)
00055             {
00056 //                X_pos = LCD.get_X_position_cursor();
00057 //                Y_pos = LCD.get_Y_position_cursor() + 1;
00058 //                LCD.set_position_cursor(X_pos,Y_pos);
00059                 LCD.set_position_cursor(LCD.get_X_position_cursor(), LCD.get_Y_position_cursor() + 1);
00060                 pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor());
00061             }else{
00062                 pc.printf("%d\r\n",c);
00063                 LCD.print((int)c);
00064                 acolade = false;
00065                 escape = false;
00066             }
00067         break;
00068         case 'C':
00069             if(acolade && escape)
00070             {
00071 //                X_pos = LCD.get_X_position_cursor() + 1;
00072 //                Y_pos = LCD.get_Y_position_cursor();
00073 //                LCD.set_position_cursor(X_pos,Y_pos);
00074                 LCD.set_position_cursor(LCD.get_X_position_cursor() + 1, LCD.get_Y_position_cursor());
00075                 pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor());
00076             }else{
00077                 pc.printf("%d\r\n",c);
00078                 LCD.print((int)c);
00079                 acolade = false;
00080                 escape = false;
00081             }
00082         break;
00083         case 'D':
00084             if(acolade && escape)
00085             {
00086 //                X_pos = LCD.get_X_position_cursor() - 1;
00087 //                Y_pos = LCD.get_Y_position_cursor();
00088 //                LCD.set_position_cursor(X_pos,Y_pos);
00089                 LCD.set_position_cursor(LCD.get_X_position_cursor() - 1, LCD.get_Y_position_cursor());
00090                 pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor());
00091             }else{
00092                 pc.printf("%d\r\n",c);
00093                 LCD.print((int)c);
00094                 acolade = false;
00095                 escape = false;
00096             }
00097         break;
00098         case 'w':
00099             for(int i=0;i<4;i++)
00100             {
00101                 LCD.set_position_cursor(0,i);
00102                 for(int j=8;j<16;j++)
00103                 {
00104                     LCD.print("%c", j);
00105                     pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor());
00106 //                    wait(0.25);
00107                 }
00108             }
00109             
00110             for(int k=8;k<16;k++)
00111             {
00112                 l1 = l2 = l3 = l3 = l4 = l5 = l6 = l7 = l8 = 0;
00113                 for(int i=0;i<8;i++)
00114                 {
00115                     for(int j=1;j<32;j*=2)
00116                     {
00117                         if(i == 0)      l1 += j;
00118                         else if(i == 1) l2 += j;
00119                         else if(i == 2) l3 += j;
00120                         else if(i == 3) l4 += j;
00121                         else if(i == 4) l5 += j;
00122                         else if(i == 5) l6 += j;
00123                         else if(i == 6) l7 += j;
00124                         else if(i == 7) l8 += j;
00125                         LCD.define_caractere(k,l1,l2,l3,l4,l5,l6,l7,l8);
00126 //                        wait(0.1);
00127                     }
00128                 }
00129             }
00130             for(int k=8;k<16;k++)
00131             {
00132                 l1 = l2 = l3 = l3 = l4 = l5 = l6 = l7 = l8 = 31;
00133                 for(int i=0;i<8;i++)
00134                 {
00135                     for(int j=1;j<32;j*=2)
00136                     {
00137                         if(i == 0)      l1 -= j;
00138                         else if(i == 1) l2 -= j;
00139                         else if(i == 2) l3 -= j;
00140                         else if(i == 3) l4 -= j;
00141                         else if(i == 4) l5 -= j;
00142                         else if(i == 5) l6 -= j;
00143                         else if(i == 6) l7 -= j;
00144                         else if(i == 7) l8 -= j;
00145                         LCD.define_caractere(k,l1,l2,l3,l4,l5,l6,l7,l8);
00146 //                        wait(0.1);
00147                     }
00148                 }
00149             }
00150         break;
00151         case 'x':
00152 //            LCD.set_position_cursor(0,0);
00153             LCD.define_and_print_caractere(8,1,2,4,8,8,4,2,1);
00154             LCD.define_caractere(8,16,8,4,2,2,4,8,16);
00155             LCD.print((char)8);
00156 //            LCD.print((char)8);
00157 //            LCD.define_caractere(8,1,2,4,8,8,4,2,1);
00158 /*            for(int k=8;k<16;k++)
00159             {
00160                 l1 = l2 = l3 = l3 = l4 = l5 = l6 = l7 = l8 = 0;
00161                 for(int i=0;i<8;i++)
00162                 {
00163                     for(int j=1;j<32;j*=2)
00164                     {
00165                         if(i == 0)      l1 += j;
00166                         else if(i == 1) l2 += j;
00167                         else if(i == 2) l3 += j;
00168                         else if(i == 3) l4 += j;
00169                         else if(i == 4) l5 += j;
00170                         else if(i == 5) l6 += j;
00171                         else if(i == 6) l7 += j;
00172                         else if(i == 7) l8 += j;
00173                         LCD.define_and_print_caractere(k,l1,l2,l3,l4,l5,l6,l7,l8);
00174 //                        wait(0.1);
00175                     }
00176                 }
00177             }
00178             for(int k=8;k<16;k++)
00179             {
00180                 l1 = l2 = l3 = l3 = l4 = l5 = l6 = l7 = l8 = 31;
00181                 for(int i=0;i<8;i++)
00182                 {
00183                     for(int j=1;j<32;j*=2)
00184                     {
00185                         if(i == 0)      l1 -= j;
00186                         else if(i == 1) l2 -= j;
00187                         else if(i == 2) l3 -= j;
00188                         else if(i == 3) l4 -= j;
00189                         else if(i == 4) l5 -= j;
00190                         else if(i == 5) l6 -= j;
00191                         else if(i == 6) l7 -= j;
00192                         else if(i == 7) l8 -= j;
00193                         LCD.define_and_print_caractere(k,l1,l2,l3,l4,l5,l6,l7,l8);
00194 //                        wait(0.1);
00195                     }
00196                 }
00197             }
00198 */        break;
00199         default:
00200             LCD.print(c);
00201             pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor());
00202         break;
00203     }
00204 }