diff --git a/api/api.hpp b/api/api.hpp index d963a81..d6d2c54 100644 --- a/api/api.hpp +++ b/api/api.hpp @@ -1,12 +1,24 @@ #pragma once #include "config_index.hpp" +// #include "errorcode.hpp" +// #include "zi_module.hpp" +// #include "zi_motor.hpp" +// #include "zi_xymotor.hpp" +// #include "packet_interface.hpp" +// #include "i_zcan_cmder.hpp" +// #include "i_zcan_cmder_master.hpp" +// #include "i_cmdparser.hpp" +// #include "state_index.hpp" -#include "protocol_constant.hpp" \ No newline at end of file +// +#include "protocol_constant.hpp" +// +#include "reg_index.hpp" \ No newline at end of file diff --git a/api/config_index.hpp b/api/config_index.hpp index 69caeb4..75feb9e 100644 --- a/api/config_index.hpp +++ b/api/config_index.hpp @@ -1,53 +1,45 @@ #pragma once #include - +#if 0 namespace iflytop { using namespace std; - #define CONFIG_CODE(type, subconfigindex) (type + subconfigindex) typedef enum { - - kcfg_motor_x_shift = CONFIG_CODE(100, 0), // x偏移 - kcfg_motor_y_shift = CONFIG_CODE(100, 1), // y偏移 - kcfg_motor_z_shift = CONFIG_CODE(100, 2), // z偏移 - - kcfg_motor_x_shaft = CONFIG_CODE(100, 3), // x轴是否反转 - kcfg_motor_y_shaft = CONFIG_CODE(100, 4), // y轴是否反转 - kcfg_motor_z_shaft = CONFIG_CODE(100, 5), // z轴是否反转 - - kcfg_motor_x_one_circle_pulse = CONFIG_CODE(100, 6), // x轴一圈脉冲数 - kcfg_motor_y_one_circle_pulse = CONFIG_CODE(100, 7), // y轴一圈脉冲数 - kcfg_motor_z_one_circle_pulse = CONFIG_CODE(100, 8), // z轴一圈脉冲数 - - kcfg_motor_default_velocity = CONFIG_CODE(100, 9), // 默认速度 - kcfg_motor_default_acc = CONFIG_CODE(100, 10), // 默认加速度 - kcfg_motor_default_dec = CONFIG_CODE(100, 11), // 默认减速度 - kcfg_motor_default_break_dec = CONFIG_CODE(100, 12), // 默认减速度 - + /******************************************************************************* + * 电机相关配置和状态 * + *******************************************************************************/ + kcfg_motor_x_shift = CONFIG_CODE(100, 0), // x偏移 + kcfg_motor_y_shift = CONFIG_CODE(100, 1), // y偏移 + kcfg_motor_z_shift = CONFIG_CODE(100, 2), // z偏移 + kcfg_motor_x_shaft = CONFIG_CODE(100, 3), // x轴是否反转 + kcfg_motor_y_shaft = CONFIG_CODE(100, 4), // y轴是否反转 + kcfg_motor_z_shaft = CONFIG_CODE(100, 5), // z轴是否反转 + kcfg_motor_x_one_circle_pulse = CONFIG_CODE(100, 6), // x轴一圈脉冲数 + kcfg_motor_y_one_circle_pulse = CONFIG_CODE(100, 7), // y轴一圈脉冲数 + kcfg_motor_z_one_circle_pulse = CONFIG_CODE(100, 8), // z轴一圈脉冲数 + kcfg_motor_default_velocity = CONFIG_CODE(100, 9), // 默认速度 + kcfg_motor_default_acc = CONFIG_CODE(100, 10), // 默认加速度 + kcfg_motor_default_dec = CONFIG_CODE(100, 11), // 默认减速度 + kcfg_motor_default_break_dec = CONFIG_CODE(100, 12), // 默认减速度 /******************************************************************************* * 电机找零相关配置 * *******************************************************************************/ - kcfg_motor_run_to_zero_max_x_d = CONFIG_CODE(150, 0), // x轴回零最大距离 - kcfg_motor_run_to_zero_max_y_d = CONFIG_CODE(150, 1), // y轴回零最大距离 - kcfg_motor_run_to_zero_max_z_d = CONFIG_CODE(150, 2), // z轴回零最大距离 - + kcfg_motor_run_to_zero_max_x_d = CONFIG_CODE(150, 0), // x轴回零最大距离 + kcfg_motor_run_to_zero_max_y_d = CONFIG_CODE(150, 1), // y轴回零最大距离 + kcfg_motor_run_to_zero_max_z_d = CONFIG_CODE(150, 2), // z轴回零最大距离 kcfg_motor_look_zero_edge_max_x_d = CONFIG_CODE(150, 3), // x轴找零边缘最大距离 kcfg_motor_look_zero_edge_max_y_d = CONFIG_CODE(150, 4), // y轴找零边缘最大距离 kcfg_motor_look_zero_edge_max_z_d = CONFIG_CODE(150, 5), // z轴找零边缘最大距离 - - kcfg_motor_run_to_zero_speed = CONFIG_CODE(150, 6), // 回零速度 - kcfg_motor_run_to_zero_dec = CONFIG_CODE(150, 7), // 回零减速度 - - kcfg_motor_look_zero_edge_speed = CONFIG_CODE(150, 8), // 找零边缘速度 - kcfg_motor_look_zero_edge_dec = CONFIG_CODE(150, 9), // 找零边缘减速度 - + kcfg_motor_run_to_zero_speed = CONFIG_CODE(150, 6), // 回零速度 + kcfg_motor_run_to_zero_dec = CONFIG_CODE(150, 7), // 回零减速度 + kcfg_motor_look_zero_edge_speed = CONFIG_CODE(150, 8), // 找零边缘速度 + kcfg_motor_look_zero_edge_dec = CONFIG_CODE(150, 9), // 找零边缘减速度 /******************************************************************************* * 步进电机相关配置 * *******************************************************************************/ k_cfg_stepmotor_ihold = CONFIG_CODE(200, 0), k_cfg_stepmotor_irun = CONFIG_CODE(200, 1), k_cfg_stepmotor_iholddelay = CONFIG_CODE(200, 2), - /******************************************************************************* * XY_ROBOT_CONFIG * *******************************************************************************/ @@ -55,4 +47,14 @@ typedef enum { } config_index_t; -} // namespace iflytop \ No newline at end of file +} // namespace iflytop + +#endif +/** + * @brief + * + * 模块通用配置和状态 0->1000 + * Robot/Motor通用配置和状态 1000->2000 + * Sensor通用配置和状态 2000->3000 + * PID通用配置和状态 4000->4100 + */ \ No newline at end of file diff --git a/api/reg_index.hpp b/api/reg_index.hpp new file mode 100644 index 0000000..6ae6395 --- /dev/null +++ b/api/reg_index.hpp @@ -0,0 +1,174 @@ +#pragma once +#include + +namespace iflytop { +using namespace std; + +#define REG_INDEX(type, subconfigindex) (type + subconfigindex) +typedef enum { + /******************************************************************************* + * 模块通用配置和状态(0->1000) * + *******************************************************************************/ + kreg_module_version = REG_INDEX(0, 0), // 模块版本 + kreg_module_type = REG_INDEX(0, 1), // 模块类型 + kreg_module_status = REG_INDEX(0, 2), // 0idle,1busy,2error + kreg_module_errorcode = REG_INDEX(0, 3), // inited_flag + kreg_module_initflag = REG_INDEX(0, 4), // inited_flag + kreg_module_enableflag = REG_INDEX(0, 5), // 0idle,1busy,2error + kreg_module_last_cmd_exec_status = REG_INDEX(20, 0), // 上一条指令执行的状态 + kreg_module_last_cmd_exec_val0 = REG_INDEX(20, 1), // 上一条指令执行的结果0 + kreg_module_last_cmd_exec_val1 = REG_INDEX(20, 2), // 上一条指令执行的结果1 + kreg_module_last_cmd_exec_val2 = REG_INDEX(20, 3), // 上一条指令执行的结果2 + kreg_module_last_cmd_exec_val3 = REG_INDEX(20, 4), // 上一条指令执行的结果3 + kreg_module_last_cmd_exec_val4 = REG_INDEX(20, 5), // 上一条指令执行的结果4 + kreg_module_last_cmd_exec_val5 = REG_INDEX(20, 6), // 上一条指令执行的结果5 + kreg_module_private0 = REG_INDEX(200, 0), // 模块私有状态0 + kreg_module_private1 = REG_INDEX(200, 1), // 模块私有状态1 + kreg_module_private2 = REG_INDEX(200, 2), // 模块私有状态2 + kreg_module_private3 = REG_INDEX(200, 3), // 模块私有状态3 + kreg_module_private4 = REG_INDEX(200, 4), // 模块私有状态4 + kreg_module_private5 = REG_INDEX(200, 5), // 模块私有状态5 + kreg_module_private6 = REG_INDEX(200, 6), // 模块私有状态6 + kreg_module_private7 = REG_INDEX(200, 7), // 模块私有状态7 + kreg_module_private8 = REG_INDEX(200, 8), // 模块私有状态8 + kreg_module_private9 = REG_INDEX(200, 9), // 模块私有状态9 + + /******************************************************************************* + * 电机相关配置和状态(1000->1999 * + *******************************************************************************/ + kreg_motor_x_shift = REG_INDEX(1000, 0), // x偏移 + kreg_motor_y_shift = REG_INDEX(1000, 1), // y偏移 + kreg_motor_z_shift = REG_INDEX(1000, 2), // z偏移 + kreg_motor_x_shaft = REG_INDEX(1000, 3), // x轴是否反转 + kreg_motor_y_shaft = REG_INDEX(1000, 4), // y轴是否反转 + kreg_motor_z_shaft = REG_INDEX(1000, 5), // z轴是否反转 + kreg_motor_x_one_circle_pulse = REG_INDEX(1000, 6), // x轴一圈脉冲数 + kreg_motor_y_one_circle_pulse = REG_INDEX(1000, 7), // y轴一圈脉冲数 + kreg_motor_z_one_circle_pulse = REG_INDEX(1000, 8), // z轴一圈脉冲数 + kreg_motor_default_velocity = REG_INDEX(1000, 9), // 默认速度 + kreg_motor_default_acc = REG_INDEX(1000, 10), // 默认加速度 + kreg_motor_default_dec = REG_INDEX(1000, 11), // 默认减速度 + kreg_motor_default_break_dec = REG_INDEX(1000, 12), // 默认减速度 + kreg_stepmotor_ihold = REG_INDEX(1000, 13), // 步进电机电流配置 + kreg_stepmotor_irun = REG_INDEX(1000, 14), // 步进电机电流配置 + kreg_stepmotor_iholddelay = REG_INDEX(1000, 15), // 步进电机电流配置 + + kreg_motor_run_to_zero_max_x_d = REG_INDEX(1050, 0), // x轴回零最大距离 + kreg_motor_run_to_zero_max_y_d = REG_INDEX(1050, 1), // y轴回零最大距离 + kreg_motor_run_to_zero_max_z_d = REG_INDEX(1050, 2), // z轴回零最大距离 + kreg_motor_look_zero_edge_max_x_d = REG_INDEX(1050, 3), // x轴找零边缘最大距离 + kreg_motor_look_zero_edge_max_y_d = REG_INDEX(1050, 4), // y轴找零边缘最大距离 + kreg_motor_look_zero_edge_max_z_d = REG_INDEX(1050, 5), // z轴找零边缘最大距离 + kreg_motor_run_to_zero_speed = REG_INDEX(1050, 6), // 回零速度 + kreg_motor_run_to_zero_dec = REG_INDEX(1050, 7), // 回零减速度 + kreg_motor_look_zero_edge_speed = REG_INDEX(1050, 8), // 找零边缘速度 + kreg_motor_look_zero_edge_dec = REG_INDEX(1050, 9), // 找零边缘减速度 + + kreg_xyrobot_robot_type = REG_INDEX(1100, 0), // 机器人类型 0:hbot 1:corexy + + kreg_robot_move = REG_INDEX(1500, 0), // 机器人是否在移动 + kreg_robot_x_pos = REG_INDEX(1500, 1), // 机器人x坐标 + kreg_robot_y_pos = REG_INDEX(1500, 2), // 机器人y坐标 + kreg_robot_z_pos = REG_INDEX(1500, 3), // 机器人z坐标 + kreg_robot_x_velocity = REG_INDEX(1500, 4), // 机器人x速度 + kreg_robot_y_velocity = REG_INDEX(1500, 5), // 机器人y速度 + kreg_robot_z_velocity = REG_INDEX(1500, 6), // 机器人z速度 + kreg_robot_x_torque = REG_INDEX(1500, 7), // 机器人x电流 + kreg_robot_y_torque = REG_INDEX(1500, 8), // 机器人y电流 + kreg_robot_z_torque = REG_INDEX(1500, 9), // 机器人z电流 + + /******************************************************************************* + * 传感器状态(2000->2999) * + *******************************************************************************/ + kreg_sensor_current = REG_INDEX(2000, 0), // 电流 + kreg_sensor_voltage = REG_INDEX(2000, 1), // 电压 + kreg_sensor_temperature = REG_INDEX(2000, 2), // 温度 + kreg_sensor_humidity = REG_INDEX(2000, 3), // 湿度 + kreg_sensor_wind_speed = REG_INDEX(2000, 4), // 风速 + kreg_sensor_wind_dir = REG_INDEX(2000, 5), // 风向 + kreg_sensor_air_press = REG_INDEX(2000, 6), // 气压 + kreg_sensor_pm25 = REG_INDEX(2000, 7), // PM2.5 + kreg_sensor_pm10 = REG_INDEX(2000, 8), // PM10 + kreg_sensor_co = REG_INDEX(2000, 9), // CO + kreg_sensor_co2 = REG_INDEX(2000, 10), // CO + kreg_sensor_no2 = REG_INDEX(2000, 11), // NO2 + kreg_sensor_so2 = REG_INDEX(2000, 12), // SO2 + kreg_sensor_o3 = REG_INDEX(2000, 13), // O3 + kreg_sensor_light_intensity = REG_INDEX(2000, 14), // 光照强度 + kreg_sensor_radiation = REG_INDEX(2000, 15), // 总辐射量 + kreg_sensor_hydrogen_peroxide_volume = REG_INDEX(2000, 16), // ppm 0x0100 + kreg_sensor_h2o_h2o2_rs = REG_INDEX(2000, 17), // %RS * 100 + kreg_sensor_relative_humidity = REG_INDEX(2000, 18), // %RH * 100 + kreg_sensor_absolute_hydrogen_peroxide = REG_INDEX(2000, 19), // mg/m3 + kreg_sensor_h2o_h2o2dew_point_temperature = REG_INDEX(2000, 20), // °C * 100 + kreg_sensor_water_volume = REG_INDEX(2000, 21), // ppm + kreg_sensor_water_vapor_pressure = REG_INDEX(2000, 22), // hpa + kreg_sensor_absolute_humidity = REG_INDEX(2000, 23), // g/m3 + kreg_sensor_water_vapor_saturation_pressure_h2o = REG_INDEX(2000, 24), // hpa + kreg_sensor_h2o2_vapor_pressure = REG_INDEX(2000, 25), // hpa + kreg_sensor_water_vapor_saturation_pressure_h2o_h2o2 = REG_INDEX(2000, 26), // hpa + kreg_sensor_temperature0 = REG_INDEX(2100, 0), // 温度1 + kreg_sensor_temperature1 = REG_INDEX(2100, 1), // 温度2 + kreg_sensor_temperature2 = REG_INDEX(2100, 2), // 温度3 + kreg_sensor_temperature3 = REG_INDEX(2100, 3), // 温度4 + kreg_sensor_temperature4 = REG_INDEX(2100, 4), // 温度5 + kreg_sensor_temperature5 = REG_INDEX(2100, 5), // 温度6 + kreg_sensor_temperature6 = REG_INDEX(2100, 6), // 温度7 + kreg_sensor_temperature7 = REG_INDEX(2100, 7), // 温度8 + kreg_sensor_temperature8 = REG_INDEX(2100, 8), // 温度9 + kreg_sensor_temperature9 = REG_INDEX(2100, 9), // 温度10 + kreg_sensor_pressure0 = REG_INDEX(2120, 0), // 压力0 + kreg_sensor_pressure1 = REG_INDEX(2120, 1), // 压力1 + kreg_sensor_pressure2 = REG_INDEX(2120, 2), // 压力2 + kreg_sensor_pressure3 = REG_INDEX(2120, 3), // 压力3 + kreg_sensor_pressure4 = REG_INDEX(2120, 4), // 压力4 + kreg_sensor_pressure5 = REG_INDEX(2120, 5), // 压力5 + kreg_sensor_pressure6 = REG_INDEX(2120, 6), // 压力6 + kreg_sensor_pressure7 = REG_INDEX(2120, 7), // 压力7 + kreg_sensor_pressure8 = REG_INDEX(2120, 8), // 压力8 + kreg_sensor_pressure9 = REG_INDEX(2120, 9), // 压力9 + kreg_sensor_humidity0 = REG_INDEX(2130, 0), // 湿度0 + kreg_sensor_humidity1 = REG_INDEX(2130, 1), // 湿度1 + kreg_sensor_humidity2 = REG_INDEX(2130, 2), // 湿度2 + kreg_sensor_humidity3 = REG_INDEX(2130, 3), // 湿度3 + kreg_sensor_humidity4 = REG_INDEX(2130, 4), // 湿度4 + kreg_sensor_humidity5 = REG_INDEX(2130, 5), // 湿度5 + kreg_sensor_humidity6 = REG_INDEX(2130, 6), // 湿度6 + kreg_sensor_humidity7 = REG_INDEX(2130, 7), // 湿度7 + kreg_sensor_humidity8 = REG_INDEX(2130, 8), // 湿度8 + kreg_sensor_humidity9 = REG_INDEX(2130, 9), // 湿度9 + + /******************************************************************************* + * PID控制器(3000->4000) * + *******************************************************************************/ + kreg_pid_kp = REG_INDEX(3000, 0), // kp + kreg_pid_ki = REG_INDEX(3000, 1), // ki + kreg_pid_kd = REG_INDEX(3000, 2), // kd + kreg_pid_max_max_output = REG_INDEX(3000, 3), // 最大输出 + kreg_pid_max_min_output = REG_INDEX(3000, 4), // 最小输出 + kreg_pid_max_max_integral = REG_INDEX(3000, 5), // 最大积分 + kreg_pid_max_min_integral = REG_INDEX(3000, 6), // 最小积分 + kreg_error_limit = REG_INDEX(3000, 7), // 误差限制 + kreg_compute_interval = REG_INDEX(3000, 8), // 计算间隔 + + kreg_pid_target = REG_INDEX(3050, 0), // 目标数值 + kreg_pid_nowoutput = REG_INDEX(3050, 1), // 当前输出 + kreg_pid_feedbackval = REG_INDEX(3050, 2), // 当前输出 + + /******************************************************************************* + * 非标状态 * + *******************************************************************************/ + kreg_fan_cfg_speed_level = REG_INDEX(4000, 0), // 风扇转速 + +} reg_index_t; + +} // namespace iflytop + +/** + * @brief + * + * 模块通用配置和状态 0->1000 + * Robot/Motor通用配置和状态 1000->2000 + * Sensor通用配置和状态 2000->3000 + * PID通用配置和状态 4000->4100 + */ \ No newline at end of file diff --git a/api/state_index.hpp b/api/state_index.hpp index 51ad992..938f4c7 100644 --- a/api/state_index.hpp +++ b/api/state_index.hpp @@ -7,45 +7,6 @@ using namespace std; #define STATE_INDEX(type, subconfigindex) (type + subconfigindex) typedef enum { - /** - * @brief 电机状态 - * - * 0 -> 100 模块通用状态 - * 100 -> 199 电机1状态 - * 100 -> 299 电机2状态 - * 1000 -> 1100 xy电机状态 - * - * - */ - - kstate_module_status = STATE_INDEX(0, 0), // 0idle,1busy,2error - kstate_module_errorcode = STATE_INDEX(0, 1), // - - kstate_motor1_move = STATE_INDEX(100, 0), // - kstate_motor1_enable = STATE_INDEX(100, 1), // - kstate_motor1_current = STATE_INDEX(100, 2), // - kstate_motor1_vel = STATE_INDEX(100, 3), // - kstate_motor1_pos = STATE_INDEX(100, 4), // - kstate_motor1_temperature = STATE_INDEX(100, 5), // - kstate_motor1_dpos = STATE_INDEX(100, 6), // - - kstate_motor2_move = STATE_INDEX(110, 0), // - kstate_motor2_enable = STATE_INDEX(110, 1), // - kstate_motor2_current = STATE_INDEX(110, 2), // - kstate_motor2_vel = STATE_INDEX(110, 3), // - kstate_motor2_pos = STATE_INDEX(110, 4), // - kstate_motor2_temperature = STATE_INDEX(110, 5), // - kstate_motor2_dpos = STATE_INDEX(110, 6), // - - kstate_xyrobot_move = STATE_INDEX(1000, 0), // - kstate_xyrobot_enable = STATE_INDEX(1000, 1), // - kstate_xyrobot_x_pos = STATE_INDEX(1000, 2), // - kstate_xyrobot_y_pos = STATE_INDEX(1000, 3), // - kstate_xyrobot_z_pos = STATE_INDEX(1000, 4), // - kstate_xyrobot_x_dpos = STATE_INDEX(1000, 5), // - kstate_xyrobot_y_dpos = STATE_INDEX(1000, 6), // - kstate_xyrobot_z_dpos = STATE_INDEX(1000, 7), // - } state_index_t; } // namespace iflytop \ No newline at end of file diff --git a/api/zi_module.hpp b/api/zi_module.hpp index 9865a6f..75b7d18 100644 --- a/api/zi_module.hpp +++ b/api/zi_module.hpp @@ -29,9 +29,6 @@ class ZIModule { virtual int32_t module_set_param(int32_t param_id, int32_t param_value) { return err::koperation_not_support; } virtual int32_t module_get_param(int32_t param_id, int32_t *param_value) { return err::koperation_not_support; } - virtual int32_t module_set_state(int32_t state_id, int32_t state_value) { return err::koperation_not_support; } - virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) { return err::koperation_not_support; } - virtual int32_t module_readio(int32_t *io) { return err::koperation_not_support; } virtual int32_t module_writeio(int32_t idindex, int32_t io) { return err::koperation_not_support; } diff --git a/api/zi_motor.hpp b/api/zi_motor.hpp index 7e9be4d..49c6da5 100644 --- a/api/zi_motor.hpp +++ b/api/zi_motor.hpp @@ -28,6 +28,8 @@ class ZIMotor { virtual int32_t motor_move_to_zero_forward_and_calculated_shift(int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime) { return err::koperation_not_support; } virtual int32_t motor_move_to_zero_backward_and_calculated_shift(int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime) { return err::koperation_not_support; } + virtual int32_t motor_calculated_pos_by_move_to_zero() { return err::koperation_not_support; } + virtual int32_t motor_read_pos(int32_t* pos) { return err::koperation_not_support; } virtual int32_t motor_set_current_pos_by_change_shift(int32_t pos) { return err::koperation_not_support; } // 一般用于舵机 diff --git a/cmdid.hpp b/cmdid.hpp index 7787a61..2f6e038 100644 --- a/cmdid.hpp +++ b/cmdid.hpp @@ -5,7 +5,6 @@ namespace iflytop { namespace zcr { typedef enum { #if 0 - virtual int32_t module_set_state(int32_t state_id, int32_t state_value) { return err::koperation_not_support; } virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) { return err::koperation_not_support; } virtual int32_t module_read_raw(int32_t startadd, int32_t *data, int32_t *len) { return err::koperation_not_support; } virtual int32_t module_enable(int32_t enable) { return err::koperation_not_support; } @@ -28,8 +27,6 @@ typedef enum { kmodule_factory_reset = CMDID(1, 14), // para:{}, ack:{} kmodule_flush_cfg = CMDID(1, 15), // para:{}, ack:{} kmodule_active_cfg = CMDID(1, 16), // para:{}, ack:{} - kmodule_set_state = CMDID(1, 17), // para:{4,4}, ack:{} - kmodule_get_state = CMDID(1, 18), // para:{4}, ack:{4} kmodule_read_raw = CMDID(1, 19), // para:{4,4}, ack:{4} kmodule_enable = CMDID(1, 20), // para:{4}, ack:{} kmodule_start = CMDID(1, 21), // para:{4}, ack:{} @@ -72,6 +69,7 @@ typedef enum { kmotor_motor_move_to_zero_forward_and_calculated_shift = CMDID(2, 13), // para:{4,4,4,4}, ack:{} //int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime kmotor_motor_move_to_zero_backward_and_calculated_shift = CMDID(2, 14), // para:{4,4,4,4}, ack:{} //int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime kmotor_move_to_torque = CMDID(2, 15), // para:{4,4,4}, ack:{} + #if 0 virtual ~ZIXYMotor() {} diff --git a/protocol_parser.cpp b/protocol_parser.cpp index 532a479..ca1f11f 100644 --- a/protocol_parser.cpp +++ b/protocol_parser.cpp @@ -150,7 +150,6 @@ void ZIProtocolParser::onRceivePacket(zcr_cmd_header_t* rxcmd, uint8_t* data, in virtual int32_t module_flush_cfg() { return err::koperation_not_support; } virtual int32_t module_active_cfg() { return err::koperation_not_support; } - virtual int32_t module_set_state(int32_t state_id, int32_t state_value) { return err::koperation_not_support; } virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) { return err::koperation_not_support; } virtual int32_t module_read_raw(int32_t startadd, int32_t *data, int32_t *len) { return err::koperation_not_support; } virtual int32_t module_enable(int32_t enable) { return err::koperation_not_support; } @@ -172,8 +171,6 @@ void ZIProtocolParser::onRceivePacket(zcr_cmd_header_t* rxcmd, uint8_t* data, in PROCESS_PACKET_00(kmodule_factory_reset, ZIModule, module_factory_reset); PROCESS_PACKET_00(kmodule_flush_cfg, ZIModule, module_flush_cfg); PROCESS_PACKET_00(kmodule_active_cfg, ZIModule, module_active_cfg); - PROCESS_PACKET_20(kmodule_set_state, ZIModule, module_set_state); - PROCESS_PACKET_11(kmodule_get_state, ZIModule, module_get_state); PROCESS_BUF_REQUEST_1(kmodule_read_raw, ZIModule, module_read_raw); PROCESS_PACKET_10(kmodule_enable, ZIModule, module_enable); PROCESS_PACKET_00(kmodule_start, ZIModule, module_start); diff --git a/protocol_proxy.cpp b/protocol_proxy.cpp index 24f23a4..d754448 100644 --- a/protocol_proxy.cpp +++ b/protocol_proxy.cpp @@ -97,8 +97,6 @@ int32_t ZIProtocolProxy::module_factory_reset() { PROXY_IMPL_00(kmodule_factory_ int32_t ZIProtocolProxy::module_flush_cfg() { PROXY_IMPL_00(kmodule_flush_cfg, 5000); } int32_t ZIProtocolProxy::module_active_cfg() { PROXY_IMPL_00(kmodule_active_cfg, 30); } -int32_t ZIProtocolProxy::module_set_state(int32_t para0, int32_t para1) { PROXY_IMPL_20(kmodule_set_state, 30); }; -int32_t ZIProtocolProxy::module_get_state(int32_t para0, int32_t *ack0) { PROXY_IMPL_11(kmodule_get_state, 30); }; int32_t ZIProtocolProxy::module_read_raw(int32_t startadd, uint8_t *data, int32_t *len) { int32_t param[1 + 1] = {0}; param[0] = startadd; diff --git a/protocol_proxy.hpp b/protocol_proxy.hpp index 42d4352..fdb21fd 100644 --- a/protocol_proxy.hpp +++ b/protocol_proxy.hpp @@ -28,8 +28,6 @@ class ZIProtocolProxy : public ZIMotor, // * ZIModule * *******************************************************************************/ #if 0 - virtual int32_t module_set_state(int32_t state_id, int32_t state_value) { return err::koperation_not_support; } - virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) { return err::koperation_not_support; } #endif virtual int32_t module_stop() override; virtual int32_t module_break() override; @@ -55,9 +53,6 @@ class ZIProtocolProxy : public ZIMotor, // virtual int32_t module_flush_cfg() override; virtual int32_t module_active_cfg() override; - virtual int32_t module_set_state(int32_t state_id, int32_t state_value) override; - virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) override; - virtual int32_t module_read_raw(int32_t startadd, uint8_t *data, int32_t *len) override; virtual int32_t module_enable(int32_t enable) override; diff --git a/zmodule_device_manager.cpp b/zmodule_device_manager.cpp index 259d84a..5fca6e0 100644 --- a/zmodule_device_manager.cpp +++ b/zmodule_device_manager.cpp @@ -44,8 +44,6 @@ int32_t ZModuleDeviceManager::module_get_inited_flag(uint16_t id, int32_t *flag) int32_t ZModuleDeviceManager::module_factory_reset(uint16_t id) { PROXY_IMPL(ZIModule, module_factory_reset); } int32_t ZModuleDeviceManager::module_flush_cfg(uint16_t id) { PROXY_IMPL(ZIModule, module_flush_cfg); } int32_t ZModuleDeviceManager::module_active_cfg(uint16_t id) { PROXY_IMPL(ZIModule, module_active_cfg); } -int32_t ZModuleDeviceManager::module_set_state(uint16_t id, int32_t state_id, int32_t state_value) { PROXY_IMPL(ZIModule, module_set_state, state_id, state_value); } -int32_t ZModuleDeviceManager::module_get_state(uint16_t id, int32_t state_id, int32_t *state_value) { PROXY_IMPL(ZIModule, module_get_state, state_id, state_value); } int32_t ZModuleDeviceManager::module_read_raw(uint16_t id, int32_t startadd, uint8_t *data, int32_t *len) { PROXY_IMPL(ZIModule, module_read_raw, startadd, data, len); } int32_t ZModuleDeviceManager::module_enable(uint16_t id, int32_t enable) { PROXY_IMPL(ZIModule, module_enable, enable); } int32_t ZModuleDeviceManager::module_start(uint16_t id) { PROXY_IMPL(ZIModule, module_start); } diff --git a/zmodule_device_manager.hpp b/zmodule_device_manager.hpp index bea05a8..eeb56a4 100644 --- a/zmodule_device_manager.hpp +++ b/zmodule_device_manager.hpp @@ -54,8 +54,6 @@ class ZModuleDeviceManager { virtual int32_t module_flush_cfg() { return err::koperation_not_support; } virtual int32_t module_active_cfg() { return err::koperation_not_support; } - virtual int32_t module_set_state(int32_t state_id, int32_t state_value) { return err::koperation_not_support; } - virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) { return err::koperation_not_support; } virtual int32_t module_enable(int32_t enable) override; #endif virtual int32_t module_stop(uint16_t id); @@ -82,8 +80,6 @@ class ZModuleDeviceManager { virtual int32_t module_flush_cfg(uint16_t id); virtual int32_t module_active_cfg(uint16_t id); - virtual int32_t module_set_state(uint16_t id, int32_t state_id, int32_t state_value); - virtual int32_t module_get_state(uint16_t id, int32_t state_id, int32_t *state_value); virtual int32_t module_read_raw(uint16_t id, int32_t startadd, uint8_t *data, int32_t *len); virtual int32_t module_enable(uint16_t id, int32_t enable); diff --git a/zmodule_device_script_cmder_paser.cpp b/zmodule_device_script_cmder_paser.cpp index 2e8eac4..193a59a 100644 --- a/zmodule_device_script_cmder_paser.cpp +++ b/zmodule_device_script_cmder_paser.cpp @@ -74,8 +74,6 @@ void ZModuleDeviceScriptCmderPaser::initialize(ICmdParser* cancmder, ZModuleDevi int32_t module_flush_cfg(uint16_t id); int32_t module_active_cfg(uint16_t id); - int32_t module_set_state(uint16_t id, int32_t state_id, int32_t state_value); - int32_t module_get_state(uint16_t id, int32_t state_id, int32_t *state_value); virtual int32_t module_read_raw(uint16_t id, int32_t startadd, int32_t readlen, uint8_t *data, int32_t *len); /******************************************************************************* @@ -116,8 +114,6 @@ void ZModuleDeviceScriptCmderPaser::initialize(ICmdParser* cancmder, ZModuleDevi PROCESS_PACKET_10(module_factory_reset, "(mid)"); PROCESS_PACKET_10(module_flush_cfg, "(mid)"); PROCESS_PACKET_10(module_active_cfg, "(mid)"); - PROCESS_PACKET_30(module_set_state, "(mid, state_id, state_value)"); - PROCESS_PACKET_21(module_get_state, "(mid, state_id)"); cancmder->regCMD("module_read_raw", "(mid, readsize)", 2, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { if (atoi(paraV[2]) > sizeof(ack->rawdata)) { ack->ecode = err::kbuffer_not_enough;