|
|
@ -3,6 +3,14 @@ using namespace iflytop; |
|
|
|
|
|
|
|
#define TAG "ProtocolProcesserMgr"
|
|
|
|
|
|
|
|
static osThreadId PacketRxThreadId; |
|
|
|
static void onPacketRxThreadStart(void const* argument) { |
|
|
|
while (true) { |
|
|
|
zcanbus_schedule(); |
|
|
|
osDelay(1); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
static void zcanbus_on_rx(uint8_t from, uint8_t to, uint8_t* rawpacket, size_t len) { //
|
|
|
|
ProtocolProcesserMgr::ins()->onPacket(from, to, rawpacket, len); |
|
|
|
} |
|
|
@ -26,9 +34,12 @@ void ProtocolProcesserMgr::startSchedule() { |
|
|
|
processer->initialize(); |
|
|
|
} |
|
|
|
|
|
|
|
zcanbus_init(PublicBoard::ins()->getBoardTypeId()); |
|
|
|
zcanbus_init(PublicBoard::ins()->getBoardId()); |
|
|
|
zcanbus_reglistener(zcanbus_on_rx); |
|
|
|
zcanbus_reg_on_connected_listener(zcanbus_on_connected); |
|
|
|
|
|
|
|
osThreadDef(PacketRxThread, onPacketRxThreadStart, osPriorityNormal, 0, 1024); |
|
|
|
PacketRxThreadId = osThreadCreate(osThread(PacketRxThread), NULL); |
|
|
|
} |
|
|
|
|
|
|
|
void ProtocolProcesserMgr::onPacket(uint8_t from, uint8_t to, uint8_t* rawpacket, size_t len) { |
|
|
|