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; |