src/hp34comm.cpp

changeset 37
07e8ca2bdf6d
parent 28
424d792fea4f
child 39
63c6a720cb97
equal deleted inserted replaced
36:a6c7292742a0 37:07e8ca2bdf6d
11 11
12 #endif 12 #endif
13 13
14 DigitalOut lled(LED3); 14 DigitalOut lled(LED3);
15 15
16 #define RXTIMEOUT 0.05 16 #define RXTIMEOUT 50ms
17 #define STARTUPRETRY 0.5 17 #define STARTUPRETRY 0.5
18 18
19 const uint8_t startup_seq[] = { 19 const uint8_t startup_seq[] = {
20 0x33, 20 0x33,
21 0x02, 21 0x02,
29 &HPSerial::do_state_payload, 29 &HPSerial::do_state_payload,
30 &HPSerial::do_state_sending, 30 &HPSerial::do_state_sending,
31 &HPSerial::do_state_eot, 31 &HPSerial::do_state_eot,
32 }; 32 };
33 33
34
34 HPSerial::HPSerial(PinName tx, PinName rx): 35 HPSerial::HPSerial(PinName tx, PinName rx):
35 serial(tx, rx), 36 serial(tx, rx),
36 cur_gstate(GSTATE_IDLE), 37 ncmd(0),
37 ncmd(0) 38 cur_gstate(GSTATE_IDLE)
38 { 39 {
39 serial.baud(187500); 40 serial.baud(187500);
40 cur_state = STATE_IDLE; 41 cur_state = STATE_IDLE;
41 serial.attach(callback(this, &HPSerial::rxIrq), SerialBase::RxIrq); 42 serial.attach(callback(this, &HPSerial::rxIrq), SerialBase::RxIrq);
42 } 43 }
43 44
44 void HPSerial::startup(void) { 45 void HPSerial::startup(void) {
45 cur_gstate = GSTATE_STARTING; 46 cur_gstate = GSTATE_STARTING;
46 set_timer(0.002); // launch the startup in 10ms 47 set_timer(10ms); // launch the startup in 10ms
47 } 48 }
48 49
49 void HPSerial::_startup(void) 50 void HPSerial::_startup(void)
50 { 51 {
51 cur_gstate = GSTATE_STARTING; 52 cur_gstate = GSTATE_STARTING;

mercurial