zcancmder_v2
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.

48 lines
1.8 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. #pragma once
  2. #include <stdint.h>
  3. #include <functional>
  4. #include "errorcode.hpp"
  5. namespace iflytop {
  6. using namespace std;
  7. class ZIModule {
  8. int32_t m_inited_flag = 0;
  9. public:
  10. virtual ~ZIModule() {}
  11. virtual int32_t getid(int32_t *id) = 0;
  12. virtual int32_t module_stop() = 0;
  13. virtual int32_t module_break() = 0;
  14. virtual int32_t module_get_last_exec_status(int32_t *status) = 0;
  15. virtual int32_t module_get_status(int32_t *status) = 0;
  16. virtual int32_t module_get_error(int32_t *iserror) = 0;
  17. virtual int32_t module_clear_error() = 0;
  18. virtual int32_t module_set_param(int32_t param_id, int32_t param_value) { return err::koperation_not_support; }
  19. virtual int32_t module_get_param(int32_t param_id, int32_t *param_value) { return err::koperation_not_support; }
  20. virtual int32_t module_readio(int32_t *io) { return err::koperation_not_support; }
  21. virtual int32_t module_writeio(int32_t io) { return err::koperation_not_support; }
  22. virtual int32_t module_read_adc(int32_t adcindex, int32_t *adc) { return err::koperation_not_support; }
  23. virtual int32_t module_set_inited_flag(int32_t flag) {
  24. m_inited_flag = flag;
  25. return 0;
  26. }
  27. virtual int32_t module_get_inited_flag(int32_t *flag) {
  28. *flag = m_inited_flag;
  29. return 0;
  30. }
  31. // kmodule_factory_reset = CMDID(1, 14), // para:{}, ack:{}
  32. // kmodule_flush_cfg = CMDID(1, 15), // para:{}, ack:{}
  33. // kmodule_active_cfg = CMDID(1, 16), // para:{}, ack:{}
  34. virtual int32_t module_factory_reset() { return err::koperation_not_support; }
  35. virtual int32_t module_flush_cfg() { return err::koperation_not_support; }
  36. virtual int32_t module_active_cfg() { return err::koperation_not_support; }
  37. };
  38. } // namespace iflytop