9 #include "Mono15x22.h" |
9 #include "Mono15x22.h" |
10 #include "Arial12x12.h" |
10 #include "Arial12x12.h" |
11 |
11 |
12 #include "SSD1322.h" |
12 #include "SSD1322.h" |
13 #include "hp34comm.h" |
13 #include "hp34comm.h" |
|
14 |
|
15 #include "Keypad.h" |
14 |
16 |
15 #if (defined STM32L432xx) |
17 #if (defined STM32L432xx) |
16 // display |
18 // display |
17 #define DSP_MOSI PA_7 //A6 |
19 #define DSP_MOSI PA_7 //A6 |
18 #define DSP_MISO PA_6 //A5 |
20 #define DSP_MISO PA_6 //A5 |
19 #define DSP_SCLK PA_5 //A4 |
21 #define DSP_SCLK PA_5 //A4 |
20 #define DSP_CS PB_0 //D3 |
22 #define DSP_CS PB_0 //D3 |
21 #define DSP_RST PB_5 //D11 |
23 #define DSP_RST PB_5 //D11 |
22 #define DSP_DC PB_4 //D12 |
24 #define DSP_DC PB_4 //D12 |
23 // UART for RX (CPU->DP) and TX (DP->CPU) combined |
25 // UART for RX (CPU->DP) and TX (DP->CPU) combined |
|
26 #define HP_TX PA_9 // serial1 TX |
24 #define HP_RX PA_10 // serial1 RX |
27 #define HP_RX PA_10 // serial1 RX |
25 // misc |
28 // misc |
26 #define DBGPIN PA_12 |
29 #define DBGPIN PA_12 |
27 |
30 |
28 #elif (defined STM32F303x8) |
31 #elif (defined STM32F303x8) |
64 HPSerial *hp; //(HP_RX, HP_TX); |
67 HPSerial *hp; //(HP_RX, HP_TX); |
65 volatile uint8_t must_refresh; |
68 volatile uint8_t must_refresh; |
66 Thread tdsp, tloop; |
69 Thread tdsp, tloop; |
67 Timeout blinker; |
70 Timeout blinker; |
68 DigitalOut led(LED1); |
71 DigitalOut led(LED1); |
|
72 |
|
73 Keypad kpad(std::vector<int>({(int)PA_0, (int)PA_1}), |
|
74 std::vector<int>({(int)PA_8, (int)PA_11})); |
69 |
75 |
70 uint8_t curchar; |
76 uint8_t curchar; |
71 uint8_t cmd; |
77 uint8_t cmd; |
72 uint8_t nchars; |
78 uint8_t nchars; |
73 char buffer[MAX_BUFF+1]; |
79 char buffer[MAX_BUFF+1]; |
528 ); |
534 ); |
529 break; |
535 break; |
530 } |
536 } |
531 for (uint8_t i=0; i<7; i++) |
537 for (uint8_t i=0; i<7; i++) |
532 err[i] = hp->nerrors(i); |
538 err[i] = hp->nerrors(i); |
533 printf("CMD[%s:%d] %02X", (cmd.direction==HPSerial::Rx)?"Rx":"Tx", cmd.id, |
539 printf("CMD[%d] %02X", cmd.id, cmd.cmd); |
534 cmd.cmd); |
|
535 |
540 |
536 if (cmd.direction == HPSerial::Rx) { |
541 if ((cmd.cmd == 0x00) || (cmd.cmd == 0x0C)) |
537 if ((cmd.cmd == 0x00) || (cmd.cmd == 0x0C)) |
542 printf(": '%s'\n", cmd.value); |
538 printf(": '%s'\n", cmd.value); |
543 else { |
539 else { |
544 printf(":"); |
540 printf(":"); |
545 for (uint8_t i=0; i<cmd.size; i++) |
541 for (uint8_t i=0; i<cmd.size; i++) |
546 printf("%02x ", cmd.value[i]); |
542 printf("%02x ", cmd.value[i]); |
547 printf("\n"); |
543 printf("\n"); |
|
544 } |
|
545 show(cmd.cmd, cmd.value, cmd.size); |
|
546 } |
548 } |
547 else |
549 show(cmd.cmd, cmd.value, cmd.size); |
548 printf("\n"); |
550 } |
|
551 else |
|
552 printf("\n"); |
549 |
553 |
550 if (cmd.direction == HPSerial::Rx) |
554 show(cmd.cmd, cmd.value, cmd.size); |
551 show(cmd.cmd, cmd.value, cmd.size); |
555 |
552 } |
|
553 led = 0; |
556 led = 0; |
554 } |
557 } |
555 else |
558 else |
556 Thread::wait(1); |
559 Thread::wait(1); |
557 } |
560 } |