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.

76 lines
3.5 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
2 years ago
2 years ago
2 years ago
  1. #pragma once
  2. #include <map>
  3. #include "api/api.hpp"
  4. #include "api\i_zcan_cmder_master.hpp"
  5. #include "cmdid.hpp"
  6. namespace iflytop {
  7. class ZIProtocolProxy : public ZIMotor, //
  8. public ZIXYMotor, //
  9. public ZIModule {
  10. private:
  11. IZcanCmderMaster *m_cancmder;
  12. int32_t m_id = 0;
  13. public:
  14. void initialize(int32_t moduleId,IZcanCmderMaster *cancmder) {
  15. m_cancmder = cancmder;
  16. m_id = moduleId;
  17. }
  18. virtual int32_t getid(int32_t *id) {
  19. *id = m_id;
  20. return 0;
  21. };
  22. /*******************************************************************************
  23. * ZIModule *
  24. *******************************************************************************/
  25. virtual int32_t module_stop() override;
  26. virtual int32_t module_break() override;
  27. virtual int32_t module_get_last_exec_status(int32_t *status) override;
  28. virtual int32_t module_get_status(int32_t *status) override;
  29. virtual int32_t module_set_param(int32_t param_id, int32_t param_value) override;
  30. virtual int32_t module_get_param(int32_t param_id, int32_t *param_value) override;
  31. virtual int32_t module_readio(int32_t *io) override;
  32. virtual int32_t module_writeio(int32_t io) override;
  33. virtual int32_t module_read_adc(int32_t adcindex, int32_t *adc) override;
  34. virtual int32_t module_get_error(int32_t *iserror) override;
  35. virtual int32_t module_clear_error() override;
  36. virtual int32_t module_set_inited_flag(int32_t flag) override;
  37. virtual int32_t module_get_inited_flag(int32_t *flag) override;
  38. /*******************************************************************************
  39. * ZIMotor *
  40. *******************************************************************************/
  41. virtual int32_t motor_enable(int32_t enable) override;
  42. virtual int32_t motor_rotate(int32_t direction, int32_t motor_velocity, int32_t acc) override;
  43. virtual int32_t motor_move_by(int32_t direction, int32_t motor_velocity, int32_t acc) override;
  44. virtual int32_t motor_move_to(int32_t direction, int32_t motor_velocity, int32_t acc) override;
  45. virtual int32_t motor_move_to_with_torque(int32_t pos, int32_t torque) override;
  46. virtual int32_t motor_rotate_acctime(int32_t direction, int32_t motor_velocity, int32_t acctime) override;
  47. virtual int32_t motor_move_by_acctime(int32_t distance, int32_t motor_velocity, int32_t acctime) override;
  48. virtual int32_t motor_move_to_acctime(int32_t position, int32_t motor_velocity, int32_t acctime) override;
  49. virtual int32_t motor_move_to_zero_forward(int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime) override;
  50. virtual int32_t motor_move_to_zero_backward(int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime) override;
  51. virtual int32_t motor_read_pos(int32_t *pos) override;
  52. virtual int32_t motor_set_current_pos_by_change_shift(int32_t pos) override;
  53. /*******************************************************************************
  54. * ZIXYMotor *
  55. *******************************************************************************/
  56. virtual int32_t xymotor_enable(int32_t enable) override;
  57. virtual int32_t xymotor_move_by(int32_t dx, int32_t dy, int32_t motor_velocity) override;
  58. virtual int32_t xymotor_move_to(int32_t x, int32_t y, int32_t motor_velocity) override;
  59. };
  60. } // namespace iflytop