diff --git a/a8000_protocol b/a8000_protocol index cab27e0..62762ee 160000 --- a/a8000_protocol +++ b/a8000_protocol @@ -1 +1 @@ -Subproject commit cab27e09a7e78e662b55de7b72e6b232988d5b27 +Subproject commit 62762eee6e2c0cda5971dffe58d68bc10a5207cb diff --git a/sdk b/sdk index 8691aac..b316b30 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit 8691aaccb11538496a6898eacebb031048d4a324 +Subproject commit b316b30462b063f2ec6dbfb8a1b342c935d840cb diff --git a/usrc/public_service/gservice.hpp b/usrc/public_service/gservice.hpp index affa551..aac521b 100644 --- a/usrc/public_service/gservice.hpp +++ b/usrc/public_service/gservice.hpp @@ -4,9 +4,8 @@ #include "sdk/chip/chip.hpp" #include "sdk/components/zcancmder/zcan_protocol_parser.hpp" #include "sdk/components/zcancmder/zcanreceiver.hpp" -#include "sdk\components\zcancmder\protocol_event_bus_sender.hpp" - #include "sdk/os/zos.hpp" +#include "sdk\components\zcancmder\protocol_event_bus_sender.hpp" namespace iflytop { @@ -24,6 +23,12 @@ class GService { ZCanProtocolParser* getZCanProtocolParser() { return &zcan_protocol_parser; } void registerModule(ZIModule* module) { zcan_protocol_parser.registerModule(module); } + // dynamic_cast(GService::inst()->getZCanProtocolParser()->getModule(getmoduleId(1))) + + template + T* getModule(uint32_t moduleId) { + return dynamic_cast(zcan_protocol_parser.getModule(moduleId)); + } }; } // namespace iflytop diff --git a/usrc/subboards/subboard80_cliptip/subboard80_cliptip.cpp b/usrc/subboards/subboard80_cliptip/subboard80_cliptip.cpp index 3d8d344..4743e9b 100644 --- a/usrc/subboards/subboard80_cliptip/subboard80_cliptip.cpp +++ b/usrc/subboards/subboard80_cliptip/subboard80_cliptip.cpp @@ -41,7 +41,11 @@ void Subboard80Cliptip::initialize() { .hdma_rx = hdma_usart2_rx, .hdma_tx = hdma_usart2_tx, }; - module.initialize(getmoduleId(subid), &cfg, &hardwarecfg); + + module.initialize(getmoduleId(subid), // + &cfg, // + GService::inst()->getModule(getmoduleId(1)), // + &hardwarecfg); GService::inst()->getZCanProtocolParser()->registerModule(&module); }