Browse Source

update

master
zhaohe 2 years ago
parent
commit
12a82a660c
  1. 15
      src/iflytop/components/zcanreceiver/zcanreceiverhost.cpp

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

@ -57,6 +57,10 @@ void ZCanReceiverHost::sendcmd(uint16_t packetindex, uint16_t cmdid, uint8_t sub
header->subcmdid = subcmdid; header->subcmdid = subcmdid;
header->packetType = 0x00; header->packetType = 0x00;
memcpy(header->data, data, len); memcpy(header->data, data, len);
// printf("sendcmd(%d:%d:%d) ", packetindex, cmdid, subcmdid);
// for (size_t i = 0; i < len; i++) {
// printf("%02x ", data[i]);
// }
sendPacket(m_sendbuf, sizeof(Cmdheader_t) + len); sendPacket(m_sendbuf, sizeof(Cmdheader_t) + len);
} }
void ZCanReceiverHost::sendPacket(uint8_t *packet, size_t len) { void ZCanReceiverHost::sendPacket(uint8_t *packet, size_t len) {
@ -85,7 +89,13 @@ void ZCanReceiverHost::sendPacket(uint8_t *packet, size_t len) {
bool ZCanReceiverHost::sendPacketSub(int npacket, int packetIndex, uint8_t *packet, size_t len, int overtimems) { bool ZCanReceiverHost::sendPacketSub(int npacket, int packetIndex, uint8_t *packet, size_t len, int overtimems) {
uint32_t id = (m_deviceId << 16) | (npacket << 8) | packetIndex; uint32_t id = (m_deviceId << 16) | (npacket << 8) | packetIndex;
// m_comcan.sendframe(CANUSB_FRAME_EXTENDED, id, packet, len); // m_comcan.sendframe(CANUSB_FRAME_EXTENDED, id, packet, len);
shared_ptr<SocketCanFrame> frame = SocketCanFrame::createExtDataFrame(id, packet, len);
// printf("sendPacketSub(%d:%d) ", npacket, packetIndex);
// for (size_t i = 0; i < len; i++) {
// printf("%02x ", packet[i]);
// }
// printf("\n");
shared_ptr<SocketCanFrame> frame = SocketCanFrame::createExtDataFrame(id, packet, 8); /*TODO,这里如果不写8,会报错,原因未知*/
m_socketCan->sendFrame(frame, overtimems); m_socketCan->sendFrame(frame, overtimems);
return true; return true;
} }
@ -158,6 +168,7 @@ void ZCanReceiverHost::resetSocketCan() {
m_socketCan->initialize(socketCanConfig); m_socketCan->initialize(socketCanConfig);
m_socketCan->startListen(); m_socketCan->startListen();
m_socketCan->onSocketCanFrame.connect([this](shared_ptr<SocketCanFrame> canframe) { // m_socketCan->onSocketCanFrame.connect([this](shared_ptr<SocketCanFrame> canframe) { //
// processRx(canframe);
logger->debug("onSocketCanFrame {}", canframe->toString());
processRx(canframe);
}); });
} }
Loading…
Cancel
Save