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.

53 lines
2.1 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
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_set_state(int32_t state_id, int32_t state_value) { return err::koperation_not_support; }
  21. virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) { return err::koperation_not_support; }
  22. virtual int32_t module_readio(int32_t *io) { return err::koperation_not_support; }
  23. virtual int32_t module_writeio(int32_t io) { return err::koperation_not_support; }
  24. virtual int32_t module_read_adc(int32_t adcindex, int32_t *adc) { return err::koperation_not_support; }
  25. virtual int32_t module_read_raw(int32_t startadd, uint8_t *data, int32_t *len) { return err::koperation_not_support; }
  26. virtual int32_t module_set_inited_flag(int32_t flag) {
  27. m_inited_flag = flag;
  28. return 0;
  29. }
  30. virtual int32_t module_get_inited_flag(int32_t *flag) {
  31. *flag = m_inited_flag;
  32. return 0;
  33. }
  34. // kmodule_factory_reset = CMDID(1, 14), // para:{}, ack:{}
  35. // kmodule_flush_cfg = CMDID(1, 15), // para:{}, ack:{}
  36. // kmodule_active_cfg = CMDID(1, 16), // para:{}, ack:{}
  37. virtual int32_t module_factory_reset() { return err::koperation_not_support; }
  38. virtual int32_t module_flush_cfg() { return err::koperation_not_support; }
  39. virtual int32_t module_active_cfg() { return err::koperation_not_support; }
  40. };
  41. } // namespace iflytop