You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1018 B

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. #include <stddef.h>
  2. #include <stdio.h>
  3. #include "sdk/chip/chip.hpp"
  4. #include "sdk/components/zcan_protocol_parser/zcan_protocol_parser.hpp"
  5. #include "sdk/components/zcancmder/zcanreceiver.hpp"
  6. #include "sdk/os/zos.hpp"
  7. #include "sdk\components\zcancmder\protocol_event_bus_sender.hpp"
  8. namespace iflytop {
  9. class GService {
  10. ZCanReceiver zcanreceiver;
  11. ZCanProtocolParser zcan_protocol_parser;
  12. ProtocolEventBusSender evenSender;
  13. public:
  14. void initialize();
  15. static GService* inst();
  16. ZCanReceiver* getZCanReceiver() { return &zcanreceiver; }
  17. ZCanProtocolParser* getZCanProtocolParser() { return &zcan_protocol_parser; }
  18. void registerModule(ZIModule* module) { zcan_protocol_parser.registerModule(module); }
  19. // dynamic_cast<StepMotorCtrlModule*>(GService::inst()->getZCanProtocolParser()->getModule(getmoduleId(1)))
  20. template <typename T>
  21. T* getModule(uint32_t moduleId) {
  22. return dynamic_cast<T*>(zcan_protocol_parser.getModule(moduleId));
  23. }
  24. };
  25. } // namespace iflytop