Browse Source

update

master
zhaohe 2 years ago
parent
commit
804b964be4
  1. 15
      api/i_mini_servo_module.hpp
  2. 56
      zcancmder_protocol.hpp

15
api/i_mini_servo_module.hpp

@ -13,32 +13,27 @@ class I_MiniServoModule {
typedef enum { kNormalStop, kBreakStop } StopType_t; typedef enum { kNormalStop, kBreakStop } StopType_t;
#pragma pack(1) #pragma pack(1)
typedef struct { typedef struct {
u8 id;
u8 status;
u8 exec_status;
s32 has_run_time; s32 has_run_time;
} rotate_cb_status_t; } rotate_cb_status_t;
typedef struct { typedef struct {
u8 id;
u8 status;
u8 exec_status;
s32 pos; s32 pos;
} move_to_cb_status_t; } move_to_cb_status_t;
typedef struct { typedef struct {
u8 id;
u8 status;
u8 exec_status;
s32 dpos; s32 dpos;
} move_by_cb_status_t; } move_by_cb_status_t;
typedef struct { typedef struct {
u8 id;
u8 status;
u8 exec_status;
s32 has_run_time; s32 has_run_time;
} run_with_torque_cb_status_t; } run_with_torque_cb_status_t;
typedef struct { typedef struct {
u8 id;
u8 status;
u8 exec_status;
s32 pos; s32 pos;
} move_by_nolimit_cb_status_t; } move_by_nolimit_cb_status_t;

56
zcancmder_protocol.hpp

@ -2,6 +2,7 @@
#include <stdint.h> #include <stdint.h>
#include "api/basic_type.hpp" #include "api/basic_type.hpp"
#include "api/i_mini_servo_module.hpp"
#include "api/i_step_motor_ctrl_module.hpp" #include "api/i_step_motor_ctrl_module.hpp"
#include "api/i_xyrobot_ctrl_module.hpp" #include "api/i_xyrobot_ctrl_module.hpp"
#include "zcancmder_protocol_basic.hpp" #include "zcancmder_protocol_basic.hpp"
@ -78,8 +79,10 @@ typedef enum {
kcmd_mini_servo_ctrl_set_run_param = CMDID(1008, 100), kcmd_mini_servo_ctrl_set_run_param = CMDID(1008, 100),
kcmd_mini_servo_ctrl_get_run_param = CMDID(1008, 101), kcmd_mini_servo_ctrl_get_run_param = CMDID(1008, 101),
kcmd_mini_servo_ctrl_set_warning_limit_param = CMDID(1008, 101),
kcmd_mini_servo_ctrl_get_warning_limit_param = CMDID(1008, 102),
kcmd_mini_servo_ctrl_set_warning_limit_param = CMDID(1008, 102),
kcmd_mini_servo_ctrl_get_warning_limit_param = CMDID(1008, 103),
kcmd_mini_servo_ctrl_set_basic_param = CMDID(1008, 104),
kcmd_mini_servo_ctrl_get_basic_param = CMDID(1008, 105),
/******************************************************************************* /*******************************************************************************
* |Module_1009:EEPROM * * |Module_1009:EEPROM *
@ -251,37 +254,28 @@ ZPACKET_CMD_ACK(kcmd_step_motor_ctrl_set_run_to_zero_param, CMD(u8 id; u8 opt_ty
/******************************************************************************* /*******************************************************************************
* |Module_1008:æ»ú * * |Module_1008:æ»ú *
*******************************************************************************/ *******************************************************************************/
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_enable, CMD(u8 id; u8 enable;), ACK(u8 id;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_stop, CMD(u8 id; u8 stop_type;), ACK(u8 id;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_position_calibrate, CMD(u8 id; s32 calibrate_pos;), ACK(u8 id;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_enable,
CMD(u8 id; u8 enable;), //
ACK(u8 id;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_stop,
CMD(u8 id; u8 stop_type;), //
ACK(u8 id;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_position_calibrate,
CMD(u8 id; s32 calibrate_pos;), //
ACK(u8 id;));
ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_rotate, CMD(u8 id; s32 speed; s32 torque; s32 run_time;), ACK(u8 id;), REPORT(u8 id; I_MiniServoModule::rotate_cb_status_t report;));
ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_move_to, CMD(u8 id; s32 pos; s32 speed; s32 torque;), ACK(u8 id;), REPORT(u8 id; I_MiniServoModule::move_to_cb_status_t report;));
ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_move_by, CMD(u8 id; s32 pos; s32 speed; s32 torque;), ACK(u8 id;), REPORT(u8 id; I_MiniServoModule::move_by_cb_status_t report;));
ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_run_with_torque, CMD(u8 id; s32 torque; s32 run_time;), ACK(u8 id;), REPORT(u8 id; I_MiniServoModule::run_with_torque_cb_status_t report;));
ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_move_by_nolimit, CMD(u8 id; s32 pos; s32 speed; s32 torque;), ACK(u8 id;), REPORT(u8 id; I_MiniServoModule::move_by_nolimit_cb_status_t report;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_read_version, CMD(u8 id;), ACK(u8 id; I_MiniServoModule::version_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_read_status, CMD(u8 id;), ACK(u8 id; I_MiniServoModule::status_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_read_detailed_status, CMD(u8 id;), ACK(u8 id; I_MiniServoModule::detailed_status_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_set_run_param, CMD(u8 id; u8 opt_type; I_MiniServoModule::run_param_t param;), ACK(u8 id; I_MiniServoModule::run_param_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_set_basic_param, CMD(u8 id; u8 opt_type; I_MiniServoModule::basic_param_t param;), ACK(u8 id; I_MiniServoModule::basic_param_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_set_warning_limit_param, CMD(u8 id; u8 opt_type; I_MiniServoModule::warning_limit_param_t param;), ACK(u8 id; I_MiniServoModule::warning_limit_param_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_get_run_param, CMD(u8 id; u8 opt_type;), ACK(u8 id; I_MiniServoModule::run_param_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_get_basic_param, CMD(u8 id; u8 opt_type;), ACK(u8 id; I_MiniServoModule::basic_param_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_get_warning_limit_param, CMD(u8 id; u8 opt_type;), ACK(u8 id; I_MiniServoModule::warning_limit_param_t ack;));
ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_rotate,
CMD(u8 id; s32 speed; s32 run_time;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; s32 has_run_time;));
ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_move_to,
CMD(u8 id; s32 pos; s32 speed; s32 torque;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; s32 pos;));
ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_move_by,
CMD(u8 id; s32 pos; s32 speed; s32 torque;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; s32 pos;));
ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_run_with_torque,
CMD(u8 id; s32 torque; s32 run_time;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; s32 has_run_time;));
ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_move_by_nolimit,
CMD(u8 id; s32 pos; s32 speed; s32 torque;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; s32 pos;));
/******************************************************************************* /*******************************************************************************
* |Module_1009:EEPROM * * |Module_1009:EEPROM *
*******************************************************************************/ *******************************************************************************/

Loading…
Cancel
Save