Op Panel

Dependencies:   mbed TextLCD_ST7565SPI ST7565SPI

Committer:
Valenz
Date:
Tue Feb 19 05:42:38 2019 +0000
Revision:
1:84c425d62f13
Parent:
0:d53b674e7f03
Op Panel tester offline

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kayekss 0:d53b674e7f03 1 #include "mbed.h"
Valenz 1:84c425d62f13 2 //#include "ST7565SPI.h"
Valenz 1:84c425d62f13 3 #include "TextLCD_ST7565SPI.h"
Valenz 1:84c425d62f13 4
Valenz 1:84c425d62f13 5 #define READBUFFERSIZE (32)
Valenz 1:84c425d62f13 6 #define KEY_ROW0 PA_8
Valenz 1:84c425d62f13 7 #define KEY_ROW1 PB_10
Valenz 1:84c425d62f13 8 #define KEY_ROW2 PB_4
Valenz 1:84c425d62f13 9 #define KEY_ROW3 PB_5
Valenz 1:84c425d62f13 10 #define KEY_ROW4 PB_3
Valenz 1:84c425d62f13 11 #define KEY_ROW5 PB_13
Valenz 1:84c425d62f13 12 #define KEY_ROW6 PB_14
Valenz 1:84c425d62f13 13 #define KEY_ROW7 PB_15
Valenz 1:84c425d62f13 14
Valenz 1:84c425d62f13 15 #define KEY_COL0 PB_1
Valenz 1:84c425d62f13 16 #define KEY_COL1 PB_2
Valenz 1:84c425d62f13 17 #define KEY_COL2 PB_11
Valenz 1:84c425d62f13 18 #define KEY_COL3 PB_12
Valenz 1:84c425d62f13 19
Valenz 1:84c425d62f13 20
Valenz 1:84c425d62f13 21 #define POWER_ON PC_4
Valenz 1:84c425d62f13 22
Valenz 1:84c425d62f13 23 typedef struct KEYPAD {
Valenz 1:84c425d62f13 24 DigitalIn row;
Valenz 1:84c425d62f13 25 DigitalOut col;
Valenz 1:84c425d62f13 26 bool key_press;
Valenz 1:84c425d62f13 27 char name[7];
Valenz 1:84c425d62f13 28 char key;
Valenz 1:84c425d62f13 29 } KEYPAD;
kayekss 0:d53b674e7f03 30
Valenz 1:84c425d62f13 31 char buffer[50] = "HELLO, WORLD!! HELLO, WORLD!! HELLO, WORLD!! ";
Valenz 1:84c425d62f13 32
Valenz 1:84c425d62f13 33 Serial pc(USBTX, USBRX);
Valenz 1:84c425d62f13 34
Valenz 1:84c425d62f13 35 DigitalIn ROW0(KEY_ROW0,PullDown);
Valenz 1:84c425d62f13 36 DigitalIn ROW1(KEY_ROW1,PullDown);
Valenz 1:84c425d62f13 37 DigitalIn ROW2(KEY_ROW2,PullDown);
Valenz 1:84c425d62f13 38 DigitalIn ROW3(KEY_ROW3,PullDown);
Valenz 1:84c425d62f13 39 DigitalIn ROW4(KEY_ROW4,PullDown);
Valenz 1:84c425d62f13 40 DigitalIn ROW5(KEY_ROW5,PullDown);
Valenz 1:84c425d62f13 41 DigitalIn ROW6(KEY_ROW6,PullDown);
Valenz 1:84c425d62f13 42 DigitalIn ROW7(KEY_ROW7,PullDown);
kayekss 0:d53b674e7f03 43
Valenz 1:84c425d62f13 44
Valenz 1:84c425d62f13 45 DigitalOut COL0(KEY_COL0, 0);
Valenz 1:84c425d62f13 46 DigitalOut COL1(KEY_COL1, 0);
Valenz 1:84c425d62f13 47 DigitalOut COL2(KEY_COL2, 0);
Valenz 1:84c425d62f13 48 DigitalOut COL3(KEY_COL3, 0);
Valenz 1:84c425d62f13 49
Valenz 1:84c425d62f13 50 DigitalOut POWR(POWER_ON, 0);
Valenz 1:84c425d62f13 51
Valenz 1:84c425d62f13 52 bool col0_pressed = false;
Valenz 1:84c425d62f13 53 bool col1_pressed = false;
Valenz 1:84c425d62f13 54 bool col2_pressed = false;
Valenz 1:84c425d62f13 55 bool col3_pressed = false;
Valenz 1:84c425d62f13 56 bool power_on = false;
Valenz 1:84c425d62f13 57
Valenz 1:84c425d62f13 58 TextLCD_ST7565SPI lcd(/*MOSI*/ PA_7, /*SCK*/ PA_5, /*CS*/ PB_6,
Valenz 1:84c425d62f13 59 /*RS*/ PC_7, /*RST*/ PA_9,21, 4 );// /*Frequency */1000000);
Valenz 1:84c425d62f13 60
Valenz 1:84c425d62f13 61 /*/ Dithered gray patterns
kayekss 0:d53b674e7f03 62 uint8_t const pattern[8][4] = {
kayekss 0:d53b674e7f03 63 { 0xff, 0xff, 0xff, 0xff }, // 100%
kayekss 0:d53b674e7f03 64 { 0x77, 0xff, 0xdd, 0xff }, // 87.5%
kayekss 0:d53b674e7f03 65 { 0x55, 0xff, 0x55, 0xff }, // 75%
kayekss 0:d53b674e7f03 66 { 0x55, 0xbb, 0x55, 0xee }, // 62.5%
kayekss 0:d53b674e7f03 67 { 0x55, 0xaa, 0x55, 0xaa }, // 50%
kayekss 0:d53b674e7f03 68 { 0x55, 0x22, 0x55, 0x88 }, // 37.5%
kayekss 0:d53b674e7f03 69 { 0x55, 0x00, 0x55, 0x00 }, // 25%
kayekss 0:d53b674e7f03 70 { 0x11, 0x00, 0x44, 0x00 } // 12.5%
Valenz 1:84c425d62f13 71 };*/
Valenz 1:84c425d62f13 72
Valenz 1:84c425d62f13 73 void setOut(int data)
Valenz 1:84c425d62f13 74 {
Valenz 1:84c425d62f13 75 switch (data)
Valenz 1:84c425d62f13 76 {
Valenz 1:84c425d62f13 77 case 0:
Valenz 1:84c425d62f13 78 COL0 = 1;
Valenz 1:84c425d62f13 79 COL1 = 0;
Valenz 1:84c425d62f13 80 COL2 = 0;
Valenz 1:84c425d62f13 81 COL3 = 0;
Valenz 1:84c425d62f13 82 break;
Valenz 1:84c425d62f13 83 case 1:
Valenz 1:84c425d62f13 84 COL0 = 0;
Valenz 1:84c425d62f13 85 COL1 = 1;
Valenz 1:84c425d62f13 86 COL2 = 0;
Valenz 1:84c425d62f13 87 COL3 = 0;
Valenz 1:84c425d62f13 88 break;
Valenz 1:84c425d62f13 89 case 2:
Valenz 1:84c425d62f13 90 COL0 = 0;
Valenz 1:84c425d62f13 91 COL1 = 0;
Valenz 1:84c425d62f13 92 COL2 = 1;
Valenz 1:84c425d62f13 93 COL3 = 0;
Valenz 1:84c425d62f13 94 break;
Valenz 1:84c425d62f13 95 case 3:
Valenz 1:84c425d62f13 96 COL0 = 0;
Valenz 1:84c425d62f13 97 COL1 = 0;
Valenz 1:84c425d62f13 98 COL2 = 0;
Valenz 1:84c425d62f13 99 COL3 = 1;
Valenz 1:84c425d62f13 100 break;
Valenz 1:84c425d62f13 101 default:
Valenz 1:84c425d62f13 102 COL0 = 0;
Valenz 1:84c425d62f13 103 COL1 = 0;
Valenz 1:84c425d62f13 104 COL2 = 0;
Valenz 1:84c425d62f13 105 COL3 = 0;
Valenz 1:84c425d62f13 106 }
Valenz 1:84c425d62f13 107 }
Valenz 1:84c425d62f13 108
Valenz 1:84c425d62f13 109 int ReadLineString( Serial& serial, char szReadBuffer[], const int ciReadBufferSize, int& riIndexChar, char szLineString[], const int ciLineStringSize )
Valenz 1:84c425d62f13 110 {
Valenz 1:84c425d62f13 111 while( 1 )
Valenz 1:84c425d62f13 112 {
Valenz 1:84c425d62f13 113 if( !serial.readable() )
Valenz 1:84c425d62f13 114 {
Valenz 1:84c425d62f13 115 break;
Valenz 1:84c425d62f13 116 }
Valenz 1:84c425d62f13 117 char c = serial.getc();
Valenz 1:84c425d62f13 118 if( 'r' == c )
Valenz 1:84c425d62f13 119 {
Valenz 1:84c425d62f13 120 szReadBuffer[riIndexChar] = '\0';
Valenz 1:84c425d62f13 121 strncpy( szLineString, szReadBuffer, ciLineStringSize - 1 );
Valenz 1:84c425d62f13 122 szLineString[ciLineStringSize - 1] = '\0';
Valenz 1:84c425d62f13 123 riIndexChar = 0;
Valenz 1:84c425d62f13 124 return 1;
Valenz 1:84c425d62f13 125 }
Valenz 1:84c425d62f13 126 else if( 's' == c )
Valenz 1:84c425d62f13 127 {
Valenz 1:84c425d62f13 128 szReadBuffer[riIndexChar] = '\0';
Valenz 1:84c425d62f13 129 strncpy( szLineString, szReadBuffer, ciLineStringSize - 1 );
Valenz 1:84c425d62f13 130 szLineString[ciLineStringSize - 1] = '\0';
Valenz 1:84c425d62f13 131 riIndexChar = 0;
Valenz 1:84c425d62f13 132 return 2;
Valenz 1:84c425d62f13 133 }
Valenz 1:84c425d62f13 134 else
Valenz 1:84c425d62f13 135 {
Valenz 1:84c425d62f13 136 if( (ciReadBufferSize - 1) > riIndexChar )
Valenz 1:84c425d62f13 137 {
Valenz 1:84c425d62f13 138 szReadBuffer[riIndexChar] = c;
Valenz 1:84c425d62f13 139 riIndexChar++;
Valenz 1:84c425d62f13 140 }
Valenz 1:84c425d62f13 141 }
Valenz 1:84c425d62f13 142 }
Valenz 1:84c425d62f13 143 return 0;
Valenz 1:84c425d62f13 144 }
kayekss 0:d53b674e7f03 145
kayekss 0:d53b674e7f03 146 int main(void) {
Valenz 1:84c425d62f13 147 // Initialize LCD
Valenz 1:84c425d62f13 148 pc.baud(115200);
Valenz 1:84c425d62f13 149
Valenz 1:84c425d62f13 150 POWR = 1;
Valenz 1:84c425d62f13 151 wait_ms(100);
Valenz 1:84c425d62f13 152 POWR = 0;
Valenz 1:84c425d62f13 153
Valenz 1:84c425d62f13 154 char szReadBuffer[READBUFFERSIZE] = "";
Valenz 1:84c425d62f13 155 int iIndexChar = 0;
Valenz 1:84c425d62f13 156
Valenz 1:84c425d62f13 157 char mesg[21];
Valenz 1:84c425d62f13 158 uint8_t count = 0;
Valenz 1:84c425d62f13 159 uint8_t a = 0;
Valenz 1:84c425d62f13 160 uint16_t c = 0;
Valenz 1:84c425d62f13 161 int x = 0;
Valenz 1:84c425d62f13 162 char szLineString[READBUFFERSIZE];
Valenz 1:84c425d62f13 163 while (1){
Valenz 1:84c425d62f13 164
Valenz 1:84c425d62f13 165 x = ReadLineString( pc, szReadBuffer, READBUFFERSIZE, iIndexChar, szLineString, READBUFFERSIZE );
Valenz 1:84c425d62f13 166 //pc.printf("x = %d\n", x);
Valenz 1:84c425d62f13 167 switch (x){
Valenz 1:84c425d62f13 168 case 1:
Valenz 1:84c425d62f13 169 power_on=true;
Valenz 1:84c425d62f13 170 POWR = 1;
Valenz 1:84c425d62f13 171 lcd.init(/*V0*/ 3, /*Contrast*/ 100, /*Bias*/ TextLCD_ST7565SPI::Bias1_9);
Valenz 1:84c425d62f13 172 lcd.cls();
Valenz 1:84c425d62f13 173 lcd.locate(0, 0);
Valenz 1:84c425d62f13 174 //lcd.printf(buffer);
Valenz 1:84c425d62f13 175 wait_ms(100);
Valenz 1:84c425d62f13 176
Valenz 1:84c425d62f13 177 count = 0;
Valenz 1:84c425d62f13 178 a = 0;
Valenz 1:84c425d62f13 179 c = 0;
Valenz 1:84c425d62f13 180 //lcd.locate(count, 4);
Valenz 1:84c425d62f13 181 break;
Valenz 1:84c425d62f13 182 case 2:
Valenz 1:84c425d62f13 183 power_on=false;
Valenz 1:84c425d62f13 184 POWR = 0;
Valenz 1:84c425d62f13 185 COL0 = 0;
Valenz 1:84c425d62f13 186 COL1 = 0;
Valenz 1:84c425d62f13 187 COL2 = 0;
Valenz 1:84c425d62f13 188 COL3 = 0;
Valenz 1:84c425d62f13 189 default:
Valenz 1:84c425d62f13 190 break;
Valenz 1:84c425d62f13 191 }
Valenz 1:84c425d62f13 192
Valenz 1:84c425d62f13 193 if (power_on) {
Valenz 1:84c425d62f13 194
Valenz 1:84c425d62f13 195 if (c==0) {
Valenz 1:84c425d62f13 196 c = 400;
Valenz 1:84c425d62f13 197 for (int i = 0; i<21; i++)
Valenz 1:84c425d62f13 198 {
Valenz 1:84c425d62f13 199 mesg[i] = buffer[count + i];
Valenz 1:84c425d62f13 200 }
Valenz 1:84c425d62f13 201 count++;
Valenz 1:84c425d62f13 202 lcd.locate(0, 0);
Valenz 1:84c425d62f13 203 lcd.printf("%s\r\n",mesg);
Valenz 1:84c425d62f13 204 if (count==16) count = 0;
Valenz 1:84c425d62f13 205
Valenz 1:84c425d62f13 206 lcd.locate(7, 2);
Valenz 1:84c425d62f13 207 lcd.printf(" ");
Valenz 1:84c425d62f13 208
Valenz 1:84c425d62f13 209 }else c--;
Valenz 1:84c425d62f13 210
Valenz 1:84c425d62f13 211
Valenz 1:84c425d62f13 212 if(a == 0) a = 3;
Valenz 1:84c425d62f13 213 else a--;
kayekss 0:d53b674e7f03 214
Valenz 1:84c425d62f13 215 setOut(a);
Valenz 1:84c425d62f13 216 lcd.locate(7, 2);
Valenz 1:84c425d62f13 217 switch (a){
Valenz 1:84c425d62f13 218 case 0:
Valenz 1:84c425d62f13 219 if(ROW0){
Valenz 1:84c425d62f13 220 if(!col0_pressed){
Valenz 1:84c425d62f13 221 pc.printf("A");
Valenz 1:84c425d62f13 222 col0_pressed = true;
Valenz 1:84c425d62f13 223 }
Valenz 1:84c425d62f13 224 lcd.printf(" REDIAL ");
Valenz 1:84c425d62f13 225 }else if(ROW1){
Valenz 1:84c425d62f13 226 if(!col0_pressed){
Valenz 1:84c425d62f13 227 pc.printf("H");
Valenz 1:84c425d62f13 228 col0_pressed = true;
Valenz 1:84c425d62f13 229 }
Valenz 1:84c425d62f13 230 lcd.printf(" START ");
Valenz 1:84c425d62f13 231 }else if(ROW2) {
Valenz 1:84c425d62f13 232 if(!col0_pressed){
Valenz 1:84c425d62f13 233 pc.printf("B");
Valenz 1:84c425d62f13 234 col0_pressed = true;
Valenz 1:84c425d62f13 235 }
Valenz 1:84c425d62f13 236 lcd.printf(" BACK ");
Valenz 1:84c425d62f13 237 }else if(ROW3){
Valenz 1:84c425d62f13 238 if(!col0_pressed){
Valenz 1:84c425d62f13 239 pc.printf("C");
Valenz 1:84c425d62f13 240 col0_pressed = true;
Valenz 1:84c425d62f13 241 }
Valenz 1:84c425d62f13 242 lcd.printf(" CANCEL ");
Valenz 1:84c425d62f13 243 }else if(ROW4){
Valenz 1:84c425d62f13 244 if(!col0_pressed){
Valenz 1:84c425d62f13 245 pc.printf("9");
Valenz 1:84c425d62f13 246 col0_pressed = true;
Valenz 1:84c425d62f13 247 }
Valenz 1:84c425d62f13 248 lcd.printf(" 9 ");
Valenz 1:84c425d62f13 249 }else if(ROW5) {
Valenz 1:84c425d62f13 250 if(!col0_pressed){
Valenz 1:84c425d62f13 251 pc.printf("8");
Valenz 1:84c425d62f13 252 col0_pressed = true;
Valenz 1:84c425d62f13 253 }
Valenz 1:84c425d62f13 254 lcd.printf(" 8 ");
Valenz 1:84c425d62f13 255 }else if(ROW6){
Valenz 1:84c425d62f13 256 if(!col0_pressed){
Valenz 1:84c425d62f13 257 pc.printf("7");
Valenz 1:84c425d62f13 258 col0_pressed = true;
Valenz 1:84c425d62f13 259 }
Valenz 1:84c425d62f13 260 lcd.printf(" 7 ");
Valenz 1:84c425d62f13 261 }else if(ROW7) {
Valenz 1:84c425d62f13 262 if(!col0_pressed){
Valenz 1:84c425d62f13 263 pc.printf("D");
Valenz 1:84c425d62f13 264 col0_pressed = true;
Valenz 1:84c425d62f13 265 }
Valenz 1:84c425d62f13 266 lcd.printf("PhoneBook");
Valenz 1:84c425d62f13 267 }else col0_pressed = false;
Valenz 1:84c425d62f13 268
Valenz 1:84c425d62f13 269 break;
Valenz 1:84c425d62f13 270 case 1:
Valenz 1:84c425d62f13 271 if(ROW0){
Valenz 1:84c425d62f13 272 if(!col1_pressed){
Valenz 1:84c425d62f13 273 pc.printf("E");
Valenz 1:84c425d62f13 274 col1_pressed = true;
Valenz 1:84c425d62f13 275 }
Valenz 1:84c425d62f13 276 lcd.printf("HandsFree");
Valenz 1:84c425d62f13 277 }else if(ROW1){
Valenz 1:84c425d62f13 278 if(!col1_pressed){
Valenz 1:84c425d62f13 279 pc.printf("F");
Valenz 1:84c425d62f13 280 col1_pressed = true;
Valenz 1:84c425d62f13 281 }
Valenz 1:84c425d62f13 282 lcd.printf(" OK ");
Valenz 1:84c425d62f13 283 }else if(ROW2) {
Valenz 1:84c425d62f13 284 if(!col1_pressed){
Valenz 1:84c425d62f13 285 pc.printf("G");
Valenz 1:84c425d62f13 286 col1_pressed = true;
Valenz 1:84c425d62f13 287 }
Valenz 1:84c425d62f13 288 lcd.printf(" DOWN ");
Valenz 1:84c425d62f13 289 }else if(ROW3){
Valenz 1:84c425d62f13 290 if(!col1_pressed){
Valenz 1:84c425d62f13 291 pc.printf("*");
Valenz 1:84c425d62f13 292 col1_pressed = true;
Valenz 1:84c425d62f13 293 }
Valenz 1:84c425d62f13 294 lcd.printf(" * ");
Valenz 1:84c425d62f13 295 }else if(ROW4){
Valenz 1:84c425d62f13 296 if(!col1_pressed){
Valenz 1:84c425d62f13 297 pc.printf("6");
Valenz 1:84c425d62f13 298 col1_pressed = true;
Valenz 1:84c425d62f13 299 }
Valenz 1:84c425d62f13 300 lcd.printf(" 6 ");
Valenz 1:84c425d62f13 301 }else if(ROW5) {
Valenz 1:84c425d62f13 302 if(!col1_pressed){
Valenz 1:84c425d62f13 303 pc.printf("5");
Valenz 1:84c425d62f13 304 col1_pressed = true;
Valenz 1:84c425d62f13 305 }
Valenz 1:84c425d62f13 306 lcd.printf(" 5 ");
Valenz 1:84c425d62f13 307 }else if(ROW6){
Valenz 1:84c425d62f13 308 if(!col1_pressed){
Valenz 1:84c425d62f13 309 pc.printf("4");
Valenz 1:84c425d62f13 310 col1_pressed = true;
Valenz 1:84c425d62f13 311 }
Valenz 1:84c425d62f13 312 lcd.printf(" 4 ");
Valenz 1:84c425d62f13 313 }else col1_pressed = false;
Valenz 1:84c425d62f13 314
Valenz 1:84c425d62f13 315 break;
Valenz 1:84c425d62f13 316 case 2:
Valenz 1:84c425d62f13 317 if(ROW1){
Valenz 1:84c425d62f13 318 if(!col2_pressed){
Valenz 1:84c425d62f13 319 pc.printf("I");
Valenz 1:84c425d62f13 320 col2_pressed = true;
Valenz 1:84c425d62f13 321 }
Valenz 1:84c425d62f13 322 lcd.printf(" UP ");
Valenz 1:84c425d62f13 323 }else if(ROW2){
Valenz 1:84c425d62f13 324 if(!col2_pressed){
Valenz 1:84c425d62f13 325 pc.printf("J");
Valenz 1:84c425d62f13 326 col2_pressed = true;
Valenz 1:84c425d62f13 327 }
Valenz 1:84c425d62f13 328 lcd.printf(" MENU ");
Valenz 1:84c425d62f13 329 }else if(ROW3) {
Valenz 1:84c425d62f13 330 if(!col2_pressed){
Valenz 1:84c425d62f13 331 pc.printf("0");
Valenz 1:84c425d62f13 332 col2_pressed = true;
Valenz 1:84c425d62f13 333 }
Valenz 1:84c425d62f13 334 lcd.printf(" 0 ");
Valenz 1:84c425d62f13 335 }else if(ROW4){
Valenz 1:84c425d62f13 336 if(!col2_pressed){
Valenz 1:84c425d62f13 337 pc.printf("3");
Valenz 1:84c425d62f13 338 col2_pressed = true;
Valenz 1:84c425d62f13 339 }
Valenz 1:84c425d62f13 340 lcd.printf(" 3 ");
Valenz 1:84c425d62f13 341 }else if(ROW5){
Valenz 1:84c425d62f13 342 if(!col2_pressed){
Valenz 1:84c425d62f13 343 pc.printf("2");
Valenz 1:84c425d62f13 344 col2_pressed = true;
Valenz 1:84c425d62f13 345 }
Valenz 1:84c425d62f13 346 lcd.printf(" 2 ");
Valenz 1:84c425d62f13 347 }else if(ROW6) {
Valenz 1:84c425d62f13 348 if(!col2_pressed){
Valenz 1:84c425d62f13 349 pc.printf("1");
Valenz 1:84c425d62f13 350 col2_pressed = true;
Valenz 1:84c425d62f13 351 }
Valenz 1:84c425d62f13 352 lcd.printf(" 1 ");
Valenz 1:84c425d62f13 353 }else col2_pressed = false;
Valenz 1:84c425d62f13 354
Valenz 1:84c425d62f13 355 break;
Valenz 1:84c425d62f13 356 case 3:
Valenz 1:84c425d62f13 357 if(ROW0){
Valenz 1:84c425d62f13 358 if(!col3_pressed){
Valenz 1:84c425d62f13 359 pc.printf("K");
Valenz 1:84c425d62f13 360 col3_pressed = true;
Valenz 1:84c425d62f13 361 }
Valenz 1:84c425d62f13 362 lcd.printf(" WiFi ");
Valenz 1:84c425d62f13 363 }else if(ROW1){
Valenz 1:84c425d62f13 364 if(!col3_pressed){
Valenz 1:84c425d62f13 365 pc.printf("L");
Valenz 1:84c425d62f13 366 col3_pressed = true;
Valenz 1:84c425d62f13 367 }
Valenz 1:84c425d62f13 368 lcd.printf(" Receipt ");
Valenz 1:84c425d62f13 369 }else if(ROW2) {
Valenz 1:84c425d62f13 370 if(!col3_pressed){
Valenz 1:84c425d62f13 371 pc.printf("M");
Valenz 1:84c425d62f13 372 col3_pressed = true;
Valenz 1:84c425d62f13 373 }
Valenz 1:84c425d62f13 374 lcd.printf(" ID ");
Valenz 1:84c425d62f13 375 }else if(ROW3){
Valenz 1:84c425d62f13 376 if(!col3_pressed){
Valenz 1:84c425d62f13 377 pc.printf("#");
Valenz 1:84c425d62f13 378 col3_pressed = true;
Valenz 1:84c425d62f13 379 }
Valenz 1:84c425d62f13 380 lcd.printf(" # ");
Valenz 1:84c425d62f13 381 }else if(ROW4){
Valenz 1:84c425d62f13 382 if(!col3_pressed){
Valenz 1:84c425d62f13 383 pc.printf("N");
Valenz 1:84c425d62f13 384 col3_pressed = true;
Valenz 1:84c425d62f13 385 }
Valenz 1:84c425d62f13 386 lcd.printf(" COPY ");
Valenz 1:84c425d62f13 387 }else if(ROW5) {
Valenz 1:84c425d62f13 388 if(!col3_pressed){
Valenz 1:84c425d62f13 389 pc.printf("O");
Valenz 1:84c425d62f13 390 col3_pressed = true;
Valenz 1:84c425d62f13 391 }
Valenz 1:84c425d62f13 392 lcd.printf(" SCAN ");
Valenz 1:84c425d62f13 393 }else if(ROW6){
Valenz 1:84c425d62f13 394 if(!col3_pressed){
Valenz 1:84c425d62f13 395 pc.printf("P");
Valenz 1:84c425d62f13 396 col3_pressed = true;
Valenz 1:84c425d62f13 397 }
Valenz 1:84c425d62f13 398 lcd.printf(" FAX ");
Valenz 1:84c425d62f13 399 }else col3_pressed = false;
Valenz 1:84c425d62f13 400
Valenz 1:84c425d62f13 401 break;
Valenz 1:84c425d62f13 402 default:
Valenz 1:84c425d62f13 403 break;
Valenz 1:84c425d62f13 404 }
Valenz 1:84c425d62f13 405 wait_ms(1);
kayekss 0:d53b674e7f03 406 }
kayekss 0:d53b674e7f03 407 }
Valenz 1:84c425d62f13 408
kayekss 0:d53b674e7f03 409 }