Browse Source

update

master
zhaohe 1 year ago
parent
commit
b7b0b276fd
  1. 1
      components/step_motor_ctrl_module/step_motor_ctrl_module_v2.hpp
  2. 4
      components/zprotocols/zcancmder_v2/api/api.hpp
  3. 1
      components/zprotocols/zcancmder_v2/api/protocol_constant.hpp
  4. 217
      components/zprotocols/zcancmder_v2/api/reg_index_table.cpp
  5. 13
      components/zprotocols/zcancmder_v2/api/reg_index_table.hpp
  6. 1
      components/zprotocols/zcancmder_v2/api/zi_motor.hpp
  7. 15
      components/zprotocols/zcancmder_v2/cmdid.hpp
  8. 2
      components/zprotocols/zcancmder_v2/protocol_parser.cpp

1
components/step_motor_ctrl_module/step_motor_ctrl_module_v2.hpp

@ -21,5 +21,6 @@ class StepMotorCtrlModuleV2 : public ZIModuleImplV2, public ZIMotor {
virtual int32_t motor_easy_set_current_pos(int32_t pos);
virtual int32_t motor_easy_move_to_io(int32_t ioindex, int32_t direction);
virtual int32_t motor_calculated_pos_by_move_to_zero();
virtual int32_t motor_calculated_pos_by_move_to_zero_read_result(int32_t* result);
};
} // namespace iflytop

4
components/zprotocols/zcancmder_v2/api/api.hpp

@ -13,6 +13,4 @@
//
#include "protocol_constant.hpp"
//
#include "reg_index.hpp"
#include "reg_index_table.hpp"
#include "reg_index.hpp"

1
components/zprotocols/zcancmder_v2/api/protocol_constant.hpp

@ -1 +1,2 @@
#pragma once
#define ZCANCMD_READ_BUF_MAX_SIZE 512

217
components/zprotocols/zcancmder_v2/api/reg_index_table.cpp

@ -1,217 +0,0 @@
#include "reg_index_table.hpp"
#include <stdlib.h>
#include <string.h>
#include "reg_index.hpp"
using namespace iflytop;
static reg_index_table_iterm_t iterms[] = {
{"module_version", kreg_module_version},
{"module_type", kreg_module_type},
{"module_status", kreg_module_status},
{"module_errorcode", kreg_module_errorcode},
{"module_initflag", kreg_module_initflag},
{"module_enableflag", kreg_module_enableflag},
{"module_errorbitflag0", kreg_module_errorbitflag0},
{"module_errorbitflag1", kreg_module_errorbitflag1},
{"module_input_state", kreg_module_input_state},
{"module_output_state", kreg_module_output_state},
{"module_raw_sector_size", kreg_module_raw_sector_size},
{"module_raw_sector_num", kreg_module_raw_sector_num},
{"module_is_online", kreg_module_is_online},
{"sensor_current", kreg_sensor_current},
{"sensor_voltage", kreg_sensor_voltage},
{"sensor_temperature", kreg_sensor_temperature},
{"sensor_humidity", kreg_sensor_humidity},
{"sensor_wind_speed", kreg_sensor_wind_speed},
{"sensor_wind_dir", kreg_sensor_wind_dir},
{"sensor_air_press", kreg_sensor_air_press},
{"sensor_pm25", kreg_sensor_pm25},
{"sensor_pm10", kreg_sensor_pm10},
{"sensor_co", kreg_sensor_co},
{"sensor_co2", kreg_sensor_co2},
{"sensor_no2", kreg_sensor_no2},
{"sensor_so2", kreg_sensor_so2},
{"sensor_o3", kreg_sensor_o3},
{"sensor_light_intensity", kreg_sensor_light_intensity},
{"sensor_radiation", kreg_sensor_radiation},
{"sensor_hydrogen_peroxide_volume", kreg_sensor_hydrogen_peroxide_volume},
{"sensor_h2o_h2o2_rs", kreg_sensor_h2o_h2o2_rs},
{"sensor_relative_humidity", kreg_sensor_relative_humidity},
{"sensor_absolute_hydrogen_peroxide", kreg_sensor_absolute_hydrogen_peroxide},
{"sensor_h2o_h2o2dew_point_temperature", kreg_sensor_h2o_h2o2dew_point_temperature},
{"sensor_water_volume", kreg_sensor_water_volume},
{"sensor_water_vapor_pressure", kreg_sensor_water_vapor_pressure},
{"sensor_absolute_humidity", kreg_sensor_absolute_humidity},
{"sensor_water_vapor_saturation_pressure_h2o", kreg_sensor_water_vapor_saturation_pressure_h2o},
{"sensor_h2o2_vapor_pressure", kreg_sensor_h2o2_vapor_pressure},
{"sensor_water_vapor_saturation_pressure_h2o_h2o2", kreg_sensor_water_vapor_saturation_pressure_h2o_h2o2},
{"sensor_temperature0", kreg_sensor_temperature0},
{"sensor_temperature1", kreg_sensor_temperature1},
{"sensor_temperature2", kreg_sensor_temperature2},
{"sensor_temperature3", kreg_sensor_temperature3},
{"sensor_temperature4", kreg_sensor_temperature4},
{"sensor_temperature5", kreg_sensor_temperature5},
{"sensor_temperature6", kreg_sensor_temperature6},
{"sensor_temperature7", kreg_sensor_temperature7},
{"sensor_temperature8", kreg_sensor_temperature8},
{"sensor_temperature9", kreg_sensor_temperature9},
{"sensor_pressure0", kreg_sensor_pressure0},
{"sensor_pressure1", kreg_sensor_pressure1},
{"sensor_pressure2", kreg_sensor_pressure2},
{"sensor_pressure3", kreg_sensor_pressure3},
{"sensor_pressure4", kreg_sensor_pressure4},
{"sensor_pressure5", kreg_sensor_pressure5},
{"sensor_pressure6", kreg_sensor_pressure6},
{"sensor_pressure7", kreg_sensor_pressure7},
{"sensor_pressure8", kreg_sensor_pressure8},
{"sensor_pressure9", kreg_sensor_pressure9},
{"sensor_humidity0", kreg_sensor_humidity0},
{"sensor_humidity1", kreg_sensor_humidity1},
{"sensor_humidity2", kreg_sensor_humidity2},
{"sensor_humidity3", kreg_sensor_humidity3},
{"sensor_humidity4", kreg_sensor_humidity4},
{"sensor_humidity5", kreg_sensor_humidity5},
{"sensor_humidity6", kreg_sensor_humidity6},
{"sensor_humidity7", kreg_sensor_humidity7},
{"sensor_humidity8", kreg_sensor_humidity8},
{"sensor_humidity9", kreg_sensor_humidity9},
{"reg_pwm0_ctrl", kreg_pwm0_ctrl},
{"reg_pwm0_duty", kreg_pwm0_duty},
{"reg_pwm0_freq", kreg_pwm0_freq},
{"reg_pwm1_ctrl", kreg_pwm1_ctrl},
{"reg_pwm1_duty", kreg_pwm1_duty},
{"reg_pwm1_freq", kreg_pwm1_freq},
{"reg_pwm2_ctrl", kreg_pwm2_ctrl},
{"reg_pwm2_duty", kreg_pwm2_duty},
{"reg_pwm2_freq", kreg_pwm2_freq},
{"reg_pwm3_ctrl", kreg_pwm3_ctrl},
{"reg_pwm3_duty", kreg_pwm3_duty},
{"reg_pwm3_freq", kreg_pwm3_freq},
{"reg_pwm4_ctrl", kreg_pwm4_ctrl},
{"reg_pwm4_duty", kreg_pwm4_duty},
{"reg_pwm4_freq", kreg_pwm4_freq},
{"reg_pwm5_ctrl", kreg_pwm5_ctrl},
{"reg_pwm5_duty", kreg_pwm5_duty},
{"reg_pwm5_freq", kreg_pwm5_freq},
{"reg_pwm6_ctrl", kreg_pwm6_ctrl},
{"reg_pwm6_duty", kreg_pwm6_duty},
{"reg_pwm6_freq", kreg_pwm6_freq},
{"reg_pwm7_ctrl", kreg_pwm7_ctrl},
{"reg_pwm7_duty", kreg_pwm7_duty},
{"reg_pwm7_freq", kreg_pwm7_freq},
{"robot_move", kreg_robot_move},
{"robot_pos", kreg_robot_pos},
{"robot_velocity", kreg_robot_velocity},
{"robot_torque", kreg_robot_torque},
{"motor_shift", kreg_motor_shift},
{"motor_shaft", kreg_motor_shaft},
{"motor_one_circle_pulse", kreg_motor_one_circle_pulse},
{"motor_one_circle_pulse_denominator", kreg_motor_one_circle_pulse_denominator},
{"motor_default_velocity", kreg_motor_default_velocity},
{"motor_default_acc", kreg_motor_default_acc},
{"motor_default_dec", kreg_motor_default_dec},
{"motor_default_break_dec", kreg_motor_default_break_dec},
{"stepmotor_ihold", kreg_stepmotor_ihold},
{"stepmotor_irun", kreg_stepmotor_irun},
{"stepmotor_iholddelay", kreg_stepmotor_iholddelay},
{"stepmotor_iglobalscaler", kreg_stepmotor_iglobalscaler},
{"motor_run_to_zero_max_d", kreg_motor_run_to_zero_max_d},
{"motor_look_zero_edge_max_d", kreg_motor_look_zero_edge_max_d},
{"motor_run_to_zero_speed", kreg_motor_run_to_zero_speed},
{"motor_run_to_zero_dec", kreg_motor_run_to_zero_dec},
{"motor_look_zero_edge_speed", kreg_motor_look_zero_edge_speed},
{"motor_look_zero_edge_dec", kreg_motor_look_zero_edge_dec},
{"motor_default_torque", kreg_motor_default_torque},
{"motor_max_d", kreg_motor_max_d},
{"motor_min_d", kreg_motor_min_d},
{"robot_x_move", kreg_robot_x_move},
{"robot_x_pos", kreg_robot_x_pos},
{"robot_x_velocity", kreg_robot_x_velocity},
{"robot_x_torque", kreg_robot_x_torque},
{"motor_x_shift", kreg_motor_x_shift},
{"motor_x_shaft", kreg_motor_x_shaft},
{"motor_x_one_circle_pulse", kreg_motor_x_one_circle_pulse},
{"motor_x_default_velocity", kreg_motor_x_default_velocity},
{"motor_x_default_acc", kreg_motor_x_default_acc},
{"motor_x_default_dec", kreg_motor_x_default_dec},
{"motor_x_default_break_dec", kreg_motor_x_default_break_dec},
{"stepmotor_x_ihold", kreg_stepmotor_x_ihold},
{"stepmotor_x_irun", kreg_stepmotor_x_irun},
{"stepmotor_x_iholddelay", kreg_stepmotor_x_iholddelay},
{"motor_run_to_zero_max_x_d", kreg_motor_run_to_zero_max_x_d},
{"motor_look_zero_edge_max_x_d", kreg_motor_look_zero_edge_max_x_d},
{"motor_x_run_to_zero_speed", kreg_motor_x_run_to_zero_speed},
{"motor_x_run_to_zero_dec", kreg_motor_x_run_to_zero_dec},
{"motor_x_look_zero_edge_speed", kreg_motor_x_look_zero_edge_speed},
{"motor_x_look_zero_edge_dec", kreg_motor_x_look_zero_edge_dec},
{"motor_x_default_torque", kreg_motor_x_default_torque},
{"motor_max_x_d", kreg_motor_max_x_d},
{"motor_min_x_d", kreg_motor_min_x_d},
{"robot_y_move", kreg_robot_y_move},
{"robot_y_pos", kreg_robot_y_pos},
{"robot_y_velocity", kreg_robot_y_velocity},
{"robot_y_torque", kreg_robot_y_torque},
{"motor_y_shift", kreg_motor_y_shift},
{"motor_y_shaft", kreg_motor_y_shaft},
{"motor_y_one_circle_pulse", kreg_motor_y_one_circle_pulse},
{"motor_y_default_velocity", kreg_motor_y_default_velocity},
{"motor_y_default_acc", kreg_motor_y_default_acc},
{"motor_y_default_dec", kreg_motor_y_default_dec},
{"motor_y_default_break_dec", kreg_motor_y_default_break_dec},
{"stepmotor_y_ihold", kreg_stepmotor_y_ihold},
{"stepmotor_y_irun", kreg_stepmotor_y_irun},
{"stepmotor_y_iholddelay", kreg_stepmotor_y_iholddelay},
{"motor_run_to_zero_max_y_d", kreg_motor_run_to_zero_max_y_d},
{"motor_look_zero_edge_max_y_d", kreg_motor_look_zero_edge_max_y_d},
{"motor_y_run_to_zero_speed", kreg_motor_y_run_to_zero_speed},
{"motor_y_run_to_zero_dec", kreg_motor_y_run_to_zero_dec},
{"motor_y_look_zero_edge_speed", kreg_motor_y_look_zero_edge_speed},
{"motor_y_look_zero_edge_dec", kreg_motor_y_look_zero_edge_dec},
{"motor_y_default_torque", kreg_motor_y_default_torque},
{"motor_max_y_d", kreg_motor_max_y_d},
{"motor_min_y_d", kreg_motor_min_y_d},
{"robot_z_move", kreg_robot_z_move},
{"robot_z_pos", kreg_robot_z_pos},
{"robot_z_velocity", kreg_robot_z_velocity},
{"robot_z_torque", kreg_robot_z_torque},
{"motor_z_shift", kreg_motor_z_shift},
{"motor_z_shaft", kreg_motor_z_shaft},
{"motor_z_one_circle_pulse", kreg_motor_z_one_circle_pulse},
{"motor_z_default_velocity", kreg_motor_z_default_velocity},
{"motor_z_default_acc", kreg_motor_z_default_acc},
{"motor_z_default_dec", kreg_motor_z_default_dec},
{"motor_z_default_break_dec", kreg_motor_z_default_break_dec},
{"stepmotor_z_ihold", kreg_stepmotor_z_ihold},
{"stepmotor_z_irun", kreg_stepmotor_z_irun},
{"stepmotor_z_iholddelay", kreg_stepmotor_z_iholddelay},
{"motor_run_to_zero_max_z_d", kreg_motor_run_to_zero_max_z_d},
{"motor_look_zero_edge_max_z_d", kreg_motor_look_zero_edge_max_z_d},
{"motor_z_run_to_zero_speed", kreg_motor_z_run_to_zero_speed},
{"motor_z_run_to_zero_dec", kreg_motor_z_run_to_zero_dec},
{"motor_z_look_zero_edge_speed", kreg_motor_z_look_zero_edge_speed},
{"motor_z_look_zero_edge_dec", kreg_motor_z_look_zero_edge_dec},
{"motor_z_default_torque", kreg_motor_z_default_torque},
{"motor_max_z_d", kreg_motor_max_z_d},
{"motor_min_z_d", kreg_motor_min_z_d},
{"xyrobot_robot_type", kreg_xyrobot_robot_type},
};
namespace iflytop {
void reg_index_table_get(reg_index_table_iterm_t** table, int32_t* size) {
*size = sizeof(iterms) / sizeof(iterms[0]);
*table = iterms;
}
int32_t str_to_reg_index(const char* val) {
for (int32_t i = 0; i < sizeof(iterms) / sizeof(iterms[0]); i++) {
if (strcmp(iterms[i].name, val) == 0) {
return iterms[i].index;
}
}
return atoi(val);
}
} // namespace iflytop

13
components/zprotocols/zcancmder_v2/api/reg_index_table.hpp

@ -1,13 +0,0 @@
#pragma once
#include <stdint.h>
namespace iflytop {
typedef struct {
const char* name;
int32_t index;
} reg_index_table_iterm_t;
void reg_index_table_get(reg_index_table_iterm_t** table, int32_t* size);
int32_t str_to_reg_index(const char* val);
} // namespace iflytop

1
components/zprotocols/zcancmder_v2/api/zi_motor.hpp

@ -17,5 +17,6 @@ class ZIMotor {
virtual int32_t motor_easy_set_current_pos(int32_t pos) { return err::koperation_not_support; }
virtual int32_t motor_easy_move_to_io(int32_t ioindex, int32_t direction) { return err::koperation_not_support; }
virtual int32_t motor_calculated_pos_by_move_to_zero() { return err::koperation_not_support; }
virtual int32_t motor_calculated_pos_by_move_to_zero_read_result(int32_t* result) { return err::koperation_not_support; }
};
} // namespace iflytop

15
components/zprotocols/zcancmder_v2/cmdid.hpp

@ -32,13 +32,14 @@ typedef enum {
/*******************************************************************************
* MOTOR_CTRL *
*******************************************************************************/
kmotor_calculated_pos_by_move_to_zero = CMDID(2, 16), // para:{}, ack:{}
kmotor_easy_rotate = CMDID(2, 17), // para:{4}, ack:{}
kmotor_easy_move_by = CMDID(2, 18), // para:{4}, ack:{}
kmotor_easy_move_to = CMDID(2, 19), // para:{4}, ack:{}
kmotor_easy_move_to_zero = CMDID(2, 20), // para:{1}, ack:{}
kmotor_easy_set_current_pos = CMDID(2, 21), // para:{4}, ack:{}
kmotor_easy_move_to_io = CMDID(2, 22), // para:{4,4}, ack:{}
kmotor_calculated_pos_by_move_to_zero = CMDID(2, 16), // para:{}, ack:{}
kmotor_easy_rotate = CMDID(2, 17), // para:{4}, ack:{}
kmotor_easy_move_by = CMDID(2, 18), // para:{4}, ack:{}
kmotor_easy_move_to = CMDID(2, 19), // para:{4}, ack:{}
kmotor_easy_move_to_zero = CMDID(2, 20), // para:{1}, ack:{}
kmotor_easy_set_current_pos = CMDID(2, 21), // para:{4}, ack:{}
kmotor_easy_move_to_io = CMDID(2, 22), // para:{4,4}, ack:{}
kmotor_calculated_pos_by_move_to_zero_read_result = CMDID(2, 23), // para:{}, ack:{4}
/*******************************************************************************
* XYMOTOR *

2
components/zprotocols/zcancmder_v2/protocol_parser.cpp

@ -137,6 +137,8 @@ void ZIProtocolParser::onRceivePacket(zcr_cmd_header_t* rxcmd, uint8_t* data, in
PROCESS_PACKET_10(kmotor_easy_move_to_zero, ZIMotor, motor_easy_move_to_zero);
PROCESS_PACKET_10(kmotor_easy_set_current_pos, ZIMotor, motor_easy_set_current_pos);
PROCESS_PACKET_20(kmotor_easy_move_to_io, ZIMotor, motor_easy_move_to_io);
PROCESS_PACKET_01(kmotor_calculated_pos_by_move_to_zero_read_result, ZIMotor, motor_calculated_pos_by_move_to_zero_read_result);
/*******************************************************************************
* xymotor *

Loading…
Cancel
Save