Op Panel
Dependencies: mbed TextLCD_ST7565SPI ST7565SPI
main.cpp@1:84c425d62f13, 2019-02-19 (annotated)
- 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?
User | Revision | Line number | New 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 | } |