src/main.cpp

changeset 18
4fd621551d55
parent 17
162fe523c37d
child 19
a52d60613cf7
equal deleted inserted replaced
17:162fe523c37d 18:4fd621551d55
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];
282 dsp->printf("David Douard"); 288 dsp->printf("David Douard");
283 dsp->copy_to_lcd(); 289 dsp->copy_to_lcd();
284 wait(2); 290 wait(2);
285 dsp->cls(); 291 dsp->cls();
286 292
287 hp = new HPSerial(HP_RX); 293 hp = new HPSerial(HP_TX, HP_RX);
288 //hp = NULL; 294 //hp = NULL;
289 } 295 }
290 296
291 void copy_to_lcd(void) { 297 void copy_to_lcd(void) {
292 uint8_t mask=1; 298 uint8_t mask=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 }

mercurial