212 DSP_RST, DSP_DC, "SSD1322"); |
212 DSP_RST, DSP_DC, "SSD1322"); |
213 |
213 |
214 curchar = 0; |
214 curchar = 0; |
215 nchars = 0; |
215 nchars = 0; |
216 |
216 |
217 for (uint8_t i=0; i<sizeof(table)/sizeof(table[0]); ++i) |
217 //for (uint8_t i=0; i<sizeof(table)/sizeof(table[0]); ++i) |
218 memset(table[i].buffer, 0, MAX_BUFF+1); |
218 // memset(table[i].buffer, 0, MAX_BUFF+1); |
219 |
219 |
220 printf(" display splash screen\r\n"); |
220 printf(" display splash screen\r\n"); |
221 dsp->show_splashscreen(); |
221 dsp->show_splashscreen(); |
222 |
222 |
223 printf("Starting LCD thread\r\n"); |
223 printf("Starting LCD thread\r\n"); |
334 keycode = kp_mapping[key.row][key.col]; |
334 keycode = kp_mapping[key.row][key.col]; |
335 |
335 |
336 if ((keycode == KC_SHIFT) && (key.keyevent == KEY_PRESSED)) |
336 if ((keycode == KC_SHIFT) && (key.keyevent == KEY_PRESSED)) |
337 { |
337 { |
338 shift = true; |
338 shift = true; |
339 dsp->shift_on(); |
339 dsp->set_flag_status(0x0E, true); |
|
340 dsp->draw_flag(0x0E); |
340 } |
341 } |
341 |
342 |
342 if (hp != NULL) { |
343 if (hp != NULL) { |
343 if ((shift) && (keycode != KC_SHIFT)) |
344 if ((shift) && (keycode != KC_SHIFT)) |
344 { |
345 { |
345 keycode |= 0x20; // bit 5: key shifted |
346 keycode |= 0x20; // bit 5: key shifted |
346 shift = false; |
347 shift = false; |
347 dsp->shift_off(); |
348 dsp->set_flag_status(0x0E, false); |
348 } |
349 } |
349 if (key.keyevent == KEY_RELEASED) |
350 if (key.keyevent == KEY_RELEASED) |
350 keycode |= 0x40; // bit 6: key relased |
351 keycode |= 0x40; // bit 6: key relased |
351 printf("KEY[%d] %s%X\n", nkeys++, keycode<0x0F ? "0" : "", keycode); |
352 printf("KEY[%d] %s%X\n", nkeys++, keycode<0x0F ? "0" : "", keycode); |
352 hp->sendkey(keycode); |
353 hp->sendkey(keycode); |
403 // clear a flag |
404 // clear a flag |
404 if (cmd.value[0] == 0x0E) { |
405 if (cmd.value[0] == 0x0E) { |
405 // clear the Shift flag |
406 // clear the Shift flag |
406 shift = false; |
407 shift = false; |
407 } |
408 } |
408 dsp->hide_flag(cmd.value[0]); |
409 dsp->set_flag_status(cmd.value[0], false); |
|
410 dsp->draw_flag(cmd.value[0]); |
409 } else if (cmd.cmd == 0x08) { |
411 } else if (cmd.cmd == 0x08) { |
410 // set a flag dimmed |
412 // set a flag dimmed |
411 dsp->set_flag(cmd.value[0], true, true); |
413 dsp->set_flag_status(cmd.value[0], true); |
|
414 dsp->set_flag_dim(cmd.value[0], true); |
|
415 dsp->draw_flag(cmd.value[0]); |
412 } else if (cmd.cmd == 0x09) { |
416 } else if (cmd.cmd == 0x09) { |
413 // set a flag bright |
417 // set a flag bright |
414 dsp->set_flag(cmd.value[0], true, false); |
418 dsp->set_flag_status(cmd.value[0], true); |
|
419 dsp->set_flag_dim(cmd.value[0], false); |
|
420 dsp->draw_flag(cmd.value[0]); |
415 } else if (cmd.cmd == 0x86) { |
421 } else if (cmd.cmd == 0x86) { |
416 // shutdown |
422 // shutdown |
417 dsp->show_byescreen(); |
423 dsp->show_byescreen(); |
418 byescreen_timer.attach(callback(&shutdown), 2s); |
424 byescreen_timer.attach(callback(&shutdown), 2s); |
419 } else { |
425 } else { |