Browse Source

update

master
zhaohe 2 years ago
parent
commit
ea1fb6d3e2
  1. 61
      api/i_mini_servo_module.hpp
  2. 8
      zcancmder_protocol.hpp

61
api/i_mini_servo_module.hpp

@ -12,32 +12,6 @@ class I_MiniServoModule {
public: public:
typedef enum { kNormalStop, kBreakStop } StopType_t; typedef enum { kNormalStop, kBreakStop } StopType_t;
#pragma pack(1) #pragma pack(1)
#if 0
typedef struct {
s32 exec_status;
s32 has_run_time;
} rotate_cb_status_t;
typedef struct {
s32 exec_status;
s32 pos;
} move_to_cb_status_t;
typedef struct {
s32 exec_status;
s32 dpos;
} move_by_cb_status_t;
typedef struct {
s32 exec_status;
s32 has_run_time;
} run_with_torque_cb_status_t;
typedef struct {
s32 exec_status;
s32 pos;
} move_by_nolimit_cb_status_t;
#endif
/******************************************************************************* /*******************************************************************************
* READ * * READ *
@ -48,7 +22,7 @@ class I_MiniServoModule {
typedef struct { typedef struct {
uint8_t status; // 0:normal 1:ÔËÐÐÖÐ 2:offline 3:¹ÊÕÏ uint8_t status; // 0:normal 1:ÔËÐÐÖÐ 2:offline 3:¹ÊÕÏ
uint8_t io_state; //
uint8_t ioState; //
int16_t torque; // int16_t torque; //
int16_t speed; // int16_t speed; //
int16_t pos; // int16_t pos; //
@ -56,7 +30,7 @@ class I_MiniServoModule {
typedef struct { typedef struct {
uint8_t status; uint8_t status;
uint8_t io_state;
uint8_t ioState;
int16_t torque; int16_t torque;
int16_t speed; int16_t speed;
int16_t pos; int16_t pos;
@ -64,7 +38,6 @@ class I_MiniServoModule {
int16_t current; int16_t current;
int16_t temperature; int16_t temperature;
int16_t error_flag; int16_t error_flag;
} detailed_status_t; } detailed_status_t;
/******************************************************************************* /*******************************************************************************
@ -72,23 +45,16 @@ class I_MiniServoModule {
*******************************************************************************/ *******************************************************************************/
typedef struct { typedef struct {
s16 pos_calibrate;
u16 posCalibrate;
u16 minlimit;
u16 maxlimit;
u16 maxtemp;
u16 minvoltage;
u16 maxvoltage;
u16 protectCurrent;
u16 protectTorque;
} basic_param_t; } basic_param_t;
typedef struct {
s16 minlimit;
s16 maxlimit;
} run_param_t;
typedef struct {
s16 mintemp;
s16 maxtemp;
s16 minvoltage;
s16 maxvoltage;
s16 mincurrent;
s16 maxcurrent;
} warning_limit_param_t;
#pragma pack() #pragma pack()
public: public:
@ -102,17 +68,16 @@ class I_MiniServoModule {
virtual int32_t run_with_torque(s32 torque, s32 run_time, action_cb_status_t status_cb) = 0; virtual int32_t run_with_torque(s32 torque, s32 run_time, action_cb_status_t status_cb) = 0;
virtual int32_t move_by_nolimit(s32 pos, s32 speed, s32 torque, action_cb_status_t status_cb) = 0; virtual int32_t move_by_nolimit(s32 pos, s32 speed, s32 torque, action_cb_status_t status_cb) = 0;
virtual int32_t move_forward(s32 torque) = 0;
virtual int32_t move_backward(s32 torque) = 0;
virtual int32_t read_version(version_t& version) = 0; virtual int32_t read_version(version_t& version) = 0;
virtual int32_t read_status(status_t& status) = 0; virtual int32_t read_status(status_t& status) = 0;
virtual int32_t read_detailed_status(detailed_status_t& debug_info) = 0; virtual int32_t read_detailed_status(detailed_status_t& debug_info) = 0;
virtual int32_t set_run_param(run_param_t& param) = 0;
virtual int32_t set_basic_param(basic_param_t& param) = 0; virtual int32_t set_basic_param(basic_param_t& param) = 0;
virtual int32_t set_warning_limit_param(warning_limit_param_t& param) = 0;
virtual int32_t get_run_param(run_param_t& param) = 0;
virtual int32_t get_basic_param(basic_param_t& param) = 0; virtual int32_t get_basic_param(basic_param_t& param) = 0;
virtual int32_t get_warning_limit_param(warning_limit_param_t& param) = 0;
virtual ~I_MiniServoModule() {} virtual ~I_MiniServoModule() {}
}; };

8
zcancmder_protocol.hpp

@ -269,13 +269,13 @@ ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_read_version, CMD(u16 id;), ACK(I_MiniServo
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_read_status, CMD(u16 id;), ACK(I_MiniServoModule::status_t ack;)); ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_read_status, CMD(u16 id;), ACK(I_MiniServoModule::status_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_read_detailed_status, CMD(u16 id;), ACK(I_MiniServoModule::detailed_status_t ack;)); ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_read_detailed_status, CMD(u16 id;), ACK(I_MiniServoModule::detailed_status_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_set_run_param, CMD(u16 id; u8 opt_type; I_MiniServoModule::run_param_t param;), ACK(I_MiniServoModule::run_param_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_set_basic_param, CMD(u16 id; u8 opt_type; I_MiniServoModule::basic_param_t param;), ACK(I_MiniServoModule::basic_param_t ack;)); ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_set_basic_param, CMD(u16 id; u8 opt_type; I_MiniServoModule::basic_param_t param;), ACK(I_MiniServoModule::basic_param_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_set_warning_limit_param, CMD(u16 id; u8 opt_type; I_MiniServoModule::warning_limit_param_t param;), ACK(I_MiniServoModule::warning_limit_param_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_get_run_param, CMD(u16 id; u8 opt_type;), ACK(I_MiniServoModule::run_param_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_get_basic_param, CMD(u16 id; u8 opt_type;), ACK(I_MiniServoModule::basic_param_t ack;)); ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_get_basic_param, CMD(u16 id; u8 opt_type;), ACK(I_MiniServoModule::basic_param_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_get_warning_limit_param, CMD(u16 id; u8 opt_type;), ACK(I_MiniServoModule::warning_limit_param_t ack;));
/******************************************************************************* /*******************************************************************************
* |Module_1009:EEPROM * * |Module_1009:EEPROM *

Loading…
Cancel
Save