Browse Source

修改 zcanhost,每次发送指令时,至少延时10ms 才下发下一条指令

disinfection_machine
zhaohe 1 year ago
parent
commit
279b7054fe
  1. 5
      src/iflytop/components/zcanreceiver/zcanhost.cpp
  2. 5
      src/iflytop/components/zcanreceiver/zcanreceiverhost.cpp

5
src/iflytop/components/zcanreceiver/zcanhost.cpp

@ -392,16 +392,17 @@ int32_t ZCanHost::huacheng_pressure_sensor_read_c1005(int sensorid, huacheng_pre
auto rx = m_zcanReceiverHost->sendcmdblock(cmd, 100);
if (!rx) {
logger->error("huacheng_pressure_sensor_read_c1005 {} no ack", sensorid);
return err::zecode(err::knoack);
}
if (rx->packetType == kpt_error_ack) {
logger->error("huacheng_pressure_sensor_read_c1005 error ack");
logger->error("huacheng_pressure_sensor_read_c1005 {} error ack", sensorid);
return err::zecode(err::kfail);
}
if (rx->len != 10) {
logger->warn("huacheng_pressure_sensor_read_c1005 rx len error:{}", rx->len);
logger->warn("huacheng_pressure_sensor_read_c1005 {} rx len error:{}", sensorid, rx->len);
return err::zecode(err::kfail);
}

5
src/iflytop/components/zcanreceiver/zcanreceiverhost.cpp

@ -56,6 +56,7 @@ shared_ptr<ZCanReceiverCMD> ZCanReceiverHost::sendcmdblock(shared_ptr<ZCanReceiv
logger->warn("sendcmdblock(index {},cmd {},subcmd {}) fail,timeout", cmd->packetindex, cmd->cmdid, cmd->subcmdid);
return nullptr;
}
usleep(10*1000);
return m_txContext.rx;
}
@ -125,8 +126,8 @@ void ZCanReceiverHost::processOnePacket(CanPacketRxBuffer *rxbuf, uint8_t *packe
/**
* @brief
*/
logger->debug("processOnePacket(index {}, packetType {} ,cmd {},subcmd {}),rx(index {})", header->packetindex, header->packetType, header->cmdid,
header->subcmdid, rx->packetindex);
// logger->info("processOnePacket(index {}, packetType {} ,cmd {},subcmd {}),rx(index {})", header->packetindex, header->packetType, header->cmdid,
// header->subcmdid, rx->packetindex);
if (header->packetType == kpt_ack || header->packetType == kpt_error_ack) {
if (header->packetindex == m_txContext.txcmdcache->packetindex) {
lock_guard<mutex> lock(m_txContextLock);

Loading…
Cancel
Save