Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: lib_LCD_oem mbed
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 }
Generated on Mon Aug 1 2022 17:43:15 by
1.7.2