diff --git a/usrc/protocol_processer_mgr/protocol_processer_mgr.cpp b/usrc/protocol_processer_mgr/protocol_processer_mgr.cpp index 61a71dc..b1dcb71 100644 --- a/usrc/protocol_processer_mgr/protocol_processer_mgr.cpp +++ b/usrc/protocol_processer_mgr/protocol_processer_mgr.cpp @@ -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) { diff --git a/zsdk b/zsdk index e3d9e43..18f5f3e 160000 --- a/zsdk +++ b/zsdk @@ -1 +1 @@ -Subproject commit e3d9e438176a921b58c8a5b587eda3221a38878d +Subproject commit 18f5f3e7ee74542a2f6d313a5a82acb5489bf114