|
|
@ -12,13 +12,13 @@ void ZCanBasicOrderModule::initialize(ZCanCmder* zcanReceiver) { |
|
|
|
m_zcanReceiver = zcanReceiver; |
|
|
|
} |
|
|
|
#if 0
|
|
|
|
void ZCanBasicOrderModule::regInputCtl(readfn_t fn) { m_readfn = fn; } |
|
|
|
void ZCanBasicOrderModule::regOutCtl(writefn_t fn) { m_writefn = fn; } |
|
|
|
void ZCanBasicOrderModule::regReadAdcVal(readadcval_t fn) { m_readadcval = fn; } |
|
|
|
void ZCanBasicOrderModule::reg_read_io(readfn_t fn) { m_readfn = fn; } |
|
|
|
void ZCanBasicOrderModule::reg_set_io(writefn_t fn) { m_writefn = fn; } |
|
|
|
void ZCanBasicOrderModule::reg_read_adc(readadcval_t fn) { m_readadcval = fn; } |
|
|
|
#endif
|
|
|
|
void ZCanBasicOrderModule::regInputCtl(uint8_t id, readfn_t fn) { m_inputCtlMap[id] = fn; } |
|
|
|
void ZCanBasicOrderModule::regOutCtl(uint8_t id, writefn_t fn) { m_outCtlMap[id] = fn; } |
|
|
|
void ZCanBasicOrderModule::regReadAdcVal(uint8_t id, readadcval_t fn) { m_readAdcValMap[id] = fn; } |
|
|
|
void ZCanBasicOrderModule::reg_read_io(uint8_t id, readfn_t fn) { m_inputCtlMap[id] = fn; } |
|
|
|
void ZCanBasicOrderModule::reg_set_io(uint8_t id, writefn_t fn) { m_outCtlMap[id] = fn; } |
|
|
|
void ZCanBasicOrderModule::reg_read_adc(uint8_t id, readadcval_t fn) { m_readAdcValMap[id] = fn; } |
|
|
|
|
|
|
|
void ZCanBasicOrderModule::onRceivePacket(CanPacketRxBuffer* rxbuf) { |
|
|
|
if (rxbuf->iscmd(kcmd_ping, 0)) { |
|
|
@ -46,14 +46,7 @@ void ZCanBasicOrderModule::onRceivePacket(CanPacketRxBuffer* rxbuf) { |
|
|
|
kcmd_set_io_t* cmd = rxbuf->get_data_as<kcmd_set_io_t>(); |
|
|
|
kcmd_set_io_ack_t ack; |
|
|
|
bool val = cmd->val; |
|
|
|
#if 0
|
|
|
|
if (m_writefn && m_writefn(cmd->ioid, val)) { |
|
|
|
ack.ioid = cmd->ioid; |
|
|
|
ack.val = val; |
|
|
|
m_zcanReceiver->sendAck(rxbuf->get_cmdheader(), (uint8_t*)&ack, sizeof(ack)); |
|
|
|
return; |
|
|
|
} |
|
|
|
#endif
|
|
|
|
|
|
|
|
if (m_outCtlMap.find(cmd->ioid) != m_outCtlMap.end()) { |
|
|
|
m_outCtlMap[cmd->ioid](val); |
|
|
|
ack.ioid = cmd->ioid; |
|
|
@ -66,14 +59,6 @@ void ZCanBasicOrderModule::onRceivePacket(CanPacketRxBuffer* rxbuf) { |
|
|
|
kcmd_readadc_raw_t* cmd = rxbuf->get_data_as<kcmd_readadc_raw_t>(); |
|
|
|
kcmd_readadc_raw_ack_t ack; |
|
|
|
int32_t val = 0; |
|
|
|
#if 0
|
|
|
|
if (m_readadcval && m_readadcval(cmd->sensorid, val)) { |
|
|
|
ack.sensorid = cmd->sensorid; |
|
|
|
ack.val = val; |
|
|
|
m_zcanReceiver->sendAck(rxbuf->get_cmdheader(), (uint8_t*)&ack, sizeof(ack)); |
|
|
|
return; |
|
|
|
} |
|
|
|
#endif
|
|
|
|
if (m_readAdcValMap.find(cmd->sensorid) != m_readAdcValMap.end()) { |
|
|
|
val = m_readAdcValMap[cmd->sensorid](); |
|
|
|
ack.sensorid = cmd->sensorid; |
|
|
|