|
|
#pragma once
#include <stdint.h>
namespace iflytop { using namespace std;
typedef enum { /*******************************************************************************
* 模块通用配置和状态 * *******************************************************************************/ // kreg_module_version = 0, // 模块版本
// kreg_module_type = 1, // 模块类型
// kreg_module_status = 2, // 0idle,1busy,2error
// kreg_module_errorcode = 3, // inited_flag
// kreg_module_detail_errorcode = 4, // 详细的错误信息,该位置的定义根据module_errorcode的不同,而不同
/*******************************************************************************
* 板子模块 * *******************************************************************************/ kreg_extboard_resetflag = 100, // 板子复位标识
/***********************************************************************************************************************
* 水冷温度控制器 * ***********************************************************************************************************************/ kreg_water_cooling_tmp_controler_pid_target = 3000, // 目标数值
kreg_water_cooling_tmp_controler_pid_nowoutput = 3001, // 当前输出
kreg_water_cooling_tmp_controler_pid_feedbackval = 3002, // 当前输出
kreg_water_cooling_tmp_controler_temp0 = 3003, // 温度1
kreg_water_cooling_tmp_controler_temp1 = 3004, // 温度2
kreg_water_cooling_tmp_controler_temp2 = 3005, // 温度3
kreg_water_cooling_tmp_controler_temp3 = 3006, // 温度4
kreg_water_cooling_tmp_controler_pid_kp = 3050, // kp
kreg_water_cooling_tmp_controler_pid_ki = 3051, // ki
kreg_water_cooling_tmp_controler_pid_kd = 3052, // kd
kreg_water_cooling_tmp_controler_pid_max_output = 3053, // 最大输出
kreg_water_cooling_tmp_controler_pid_min_output = 3054, // 最小输出
kreg_water_cooling_tmp_controler_pid_max_integral = 3055, // 最大积分
kreg_water_cooling_tmp_controler_pid_min_integral = 3056, // 最小积分
kreg_water_cooling_tmp_controler_pid_error_limit = 3057, // 误差限制
kreg_water_cooling_tmp_controler_pid_compute_interval = 3058, // 计算间隔
kreg_water_cooling_tmp_controler_pid_feedbak_index = 3059, // 返回index
/*******************************************************************************
* 移液枪状态 * *******************************************************************************/ kreg_pipette_pos_nl = 4000, // 移液枪位置
kreg_pipette_capactitance_val = 4001, // 移液枪电容值
kreg_pipette_tip_state = 4002, // 移动液枪tip状态
kreg_pipette_zm_pos = 4101, kreg_pipette_zm_is_enable = 4102, kreg_pipette_zm_dpos = 4103, kreg_pipette_zm_shift = 4105, kreg_pipette_zm_shaft = 4106, kreg_pipette_zm_one_circle_pulse = 4107, kreg_pipette_zm_one_circle_pulse_denominator = 4108, kreg_pipette_zm_default_velocity = 4109, kreg_pipette_zm_ihold = 4110, kreg_pipette_zm_irun = 4111, kreg_pipette_zm_iholddelay = 4112, kreg_pipette_zm_iglobalscaler = 4113, kreg_pipette_zm_run_to_zero_speed = 4114, kreg_pipette_zm_look_zero_edge_speed = 4115, kreg_pipette_zm_max_d = 4116, kreg_pipette_zm_min_d = 4117, kreg_pipette_zm_in_debug_mode = 4118, kreg_pipette_zm_vstart = 4119, kreg_pipette_zm_a1 = 4120, kreg_pipette_zm_amax = 4121, kreg_pipette_zm_v1 = 4122, kreg_pipette_zm_dmax = 4123, kreg_pipette_zm_d1 = 4124, kreg_pipette_zm_vstop = 4125, kreg_pipette_zm_tzerowait = 4126, kreg_pipette_zm_enc_resolution = 4127, kreg_pipette_zm_enable_enc = 4128, kreg_pipette_zm_dzero = 4129, kreg_pipette_zm_pos_devi_tolerance = 4130, kreg_pipette_zm_io_trigger_append_distance = 4131, kreg_pipette_zm_has_move_zero = 4132, kreg_pipette_zm_mres = 4133, kreg_pipette_zm_encpos = 4134, // readonly
/**
* @brief * * ------------------------------------------------------ * * * 扫描零点偏移:(F光学向左扫描的起始位置) * 扫描方向:1:板卡箭头方向,-1板卡箭头反方向 * 扫描点数:固定为1200 * 扫描步距:固定为1 * * 返回点数:(1200) * * */ // 坐标参数
kreg_a8k_opt_t_pos_offset = 4501, // T光学正向扫描,扫描起始位距离零点的偏移
kreg_a8k_opt_f_pos_offset = 4502, // F光学正向扫描,扫描起始位距离零点的偏移
kreg_a8k_opt_t_reverse_scan_pos_offset = 4503, // T光学逆向扫描,扫描起始位距离零点的偏移
kreg_a8k_opt_f_reverse_scan_pos_offset = 4504, // F光学逆向扫描,扫描起始位距离零点的偏移
kreg_a8k_opt_scan_step_interval = 4505, // 参数固定:为1
kreg_a8k_opt_scan_pointnum = 4506, // 参数固定:为1200个点
kreg_a8k_opt_f_scan_vdefault = 4600, //
kreg_a8k_opt_f_scan_vstart = 4601, //
kreg_a8k_opt_f_scan_a1 = 4602, //
kreg_a8k_opt_f_scan_amax = 4603, //
kreg_a8k_opt_f_scan_v1 = 4604, //
kreg_a8k_opt_f_scan_dmax = 4605, //
kreg_a8k_opt_f_scan_d1 = 4606, //
kreg_a8k_opt_f_scan_vstop = 4607, //
kreg_a8k_opt_f_scan_tzerowait = 4608, //
kreg_a8k_opt_f_scan_irun = 4609, //
kreg_a8k_opt_t_scan_vdefault = 4700, //
kreg_a8k_opt_t_scan_vstart = 4701, //
kreg_a8k_opt_t_scan_a1 = 4702, //
kreg_a8k_opt_t_scan_amax = 4703, //
kreg_a8k_opt_t_scan_v1 = 4704, //
kreg_a8k_opt_t_scan_dmax = 4705, //
kreg_a8k_opt_t_scan_d1 = 4706, //
kreg_a8k_opt_t_scan_vstop = 4707, //
kreg_a8k_opt_t_scan_tzerowait = 4708, //
kreg_a8k_opt_t_scan_irun = 4709, //
kreg_a8k_opt_barcode_scan_vdefault = 4800, //
kreg_a8k_opt_barcode_scan_vstart = 4801, //
kreg_a8k_opt_barcode_scan_a1 = 4802, //
kreg_a8k_opt_barcode_scan_amax = 4803, //
kreg_a8k_opt_barcode_scan_v1 = 4804, //
kreg_a8k_opt_barcode_scan_dmax = 4805, //
kreg_a8k_opt_barcode_scan_d1 = 4806, //
kreg_a8k_opt_barcode_scan_vstop = 4807, //
kreg_a8k_opt_barcode_scan_tzerowait = 4808, //
kreg_a8k_opt_barcode_scan_irun = 4809, //
/***********************************************************************************************************************
* XYROBOT * ***********************************************************************************************************************/
kreg_xyrobot_io_state = 9900, //
kreg_xyrobot_is_enable = 9901, //
kreg_xyrobot_has_move_to_zero = 9902, //
kreg_xyrobot_robot_type = 9950, //
kreg_xyrobot_one_circle_pulse = 9951, //
kreg_xyrobot_one_circle_pulse_denominator = 9952, //
kreg_xyrobot_ihold = 9954, //
kreg_xyrobot_irun = 9955, //
kreg_xyrobot_iholddelay = 9956, //
kreg_xyrobot_iglobalscaler = 9957, //
kreg_xyrobot_vstart = 9958, //
kreg_xyrobot_a1 = 9959, //
kreg_xyrobot_amax = 9960, //
kreg_xyrobot_v1 = 9961, //
kreg_xyrobot_dmax = 9962, //
kreg_xyrobot_d1 = 9963, //
kreg_xyrobot_vstop = 9964, //
kreg_xyrobot_tzerowait = 9965, //
kreg_xyrobot_enc_resolution = 9966, //
kreg_xyrobot_enable_enc = 9967, //
kreg_xyrobot_x_shaft = 9968, //
kreg_xyrobot_y_shaft = 9969, //
kreg_xyrobot_min_x = 9972, //
kreg_xyrobot_min_y = 9973, //
kreg_xyrobot_max_x = 9974, //
kreg_xyrobot_max_y = 9975, //
kreg_xyrobot_run_to_zero_speed = 9976, //
kreg_xyrobot_look_zero_edge_speed = 9977, //
kreg_xyrobot_shift_x = 9978, //
kreg_xyrobot_shift_y = 9979, //
kreg_xyrobot_pos_devi_tolerance = 9980, //
kreg_xyrobot_io_trigger_append_distance = 9981, //
kreg_xyrobot_default_velocity = 10000, //
/***********************************************************************************************************************
* step_motor * ***********************************************************************************************************************/
kreg_step_motor_pos = 10101, // 机器人x坐标
kreg_step_motor_is_enable = 10102, // 步进电机是否使能
kreg_step_motor_dpos = 10103, // 执行完上一条指令后的相对位移
kreg_step_motor_has_move_zero = 10104, // 是否回零
kreg_step_motor_lost_step = 10105, // 丢失步数
kreg_step_motor_shift = 10150, // x偏移
kreg_step_motor_shaft = 10151, // x轴是否反转
kreg_step_motor_one_circle_pulse = 10152, // x轴一圈脉冲数
kreg_step_motor_one_circle_pulse_denominator = 10153, // 设置一圈脉冲数的分母
kreg_step_motor_default_velocity = 10154, // 默认速度
kreg_step_motor_low_velocity = 10155, // 低速
kreg_step_motor_mid_velocity = 10156, // 中速
kreg_step_motor_high_velocity = 10157, // 高速
kreg_step_motor_ihold = 10158, // 步进电机电流配置
kreg_step_motor_irun = 10159, // 步进电机电流配置
kreg_step_motor_iholddelay = 10160, // 步进电机电流配置
kreg_step_motor_iglobalscaler = 10161, // 步进电机电流配置
kreg_step_motor_mres = 10162, // 步进细分配置
kreg_step_motor_run_to_zero_speed = 10173, // 回零速度
kreg_step_motor_look_zero_edge_speed = 10175, // 找零边缘速度
kreg_step_motor_max_d = 10178, // 最大限制距离
kreg_step_motor_min_d = 10179, // 最小限制距离
kreg_step_motor_in_debug_mode = 10180, // 驱动器处于调试模式
kreg_step_motor_vstart = 10181, // a1起作用的速度
kreg_step_motor_a1 = 10182, //
kreg_step_motor_amax = 10183, //
kreg_step_motor_v1 = 10184, //
kreg_step_motor_dmax = 10185, //
kreg_step_motor_d1 = 10186, //
kreg_step_motor_vstop = 10187, //
kreg_step_motor_tzerowait = 10188, //
kreg_step_motor_enc_resolution = 10189, // 编码器分辨率 1000,1024,4000,4096,16384
kreg_step_motor_enable_enc = 10190, //
kreg_step_motor_dzero_pos = 10191, //
kreg_step_motor_pos_devi_tolerance = 10192, // 位置偏差容忍度
kreg_step_motor_io_trigger_append_distance = 10193, // 移动到IO时,会在原点触发的边沿,稍稍里面移动一点,用来保证IO稳定触发
/***********************************************************************************************************************
* step_motor * ***********************************************************************************************************************/
kreg_mini_servo_pos = 10201, // 位置
kreg_mini_servo_is_enable = 10202, kreg_mini_servo_limit_velocity = 10251, // 限制速度
kreg_mini_servo_limit_torque = 10252, // 限制扭矩
kreg_mini_servo_protective_torque = 10253, // 保护扭矩
kreg_mini_servo_is_move = 10254, // isMove
kreg_mini_servo_status = 10255, // status
kreg_mini_servo_voltage = 10256, // 电压 反馈当前舵机工作电压,反馈精度为0.1V,即120*0.1=12V
kreg_mini_servo_current = 10257, // 电流 反馈当前工作电流值,单位为ma
kreg_mini_servo_temperature = 10258, // 温度 反馈当前舵机内部工作温度,反馈精度为1摄氏度
kreg_mini_servo_loadvalue = 10259, // 负载值 输出驱动电机的当前占空比电压,单位为0.1%,取值0-1000
kreg_mini_servo_target_pos_tolerance = 10260, // 目标位置容忍度
kreg_mini_servo_firmware_main_version = 10500, // 固件主版本号
kreg_mini_servo_firmware_sub_version = 10501, // 固件次版本号
kreg_mini_servo_servo_main_version = 10503, // 舵机主版本号
kreg_mini_servo_servo_sub_version = 10504, // 舵机次版本号
kreg_mini_servo_servo_min_angle = 10509, // 最小角度限制
kreg_mini_servo_servo_max_angle = 10511, // 最大角度限制
kreg_mini_servo_servo_max_temp = 10513, // 最高温度上限
kreg_mini_servo_servo_max_voltage = 10514, // 最高输入电压
kreg_mini_servo_servo_min_voltage = 10515, // 最低输入电压
kreg_mini_servo_servo_max_torque = 10516, // 最大扭矩
kreg_mini_servo_servo_unload_condition = 10519, // 卸载条件
kreg_mini_servo_servo_p = 10521, // P 比例系
kreg_mini_servo_servo_d = 10522, // D 微分系
kreg_mini_servo_servo_i = 10523, // I
kreg_mini_servo_servo_min_start = 10524, // 最小启动
kreg_mini_servo_servo_cw_dead_zone = 10526, // 顺时针不灵敏区
kreg_mini_servo_servo_ccw_dead_zone = 10527, // 逆时针不灵敏
kreg_mini_servo_servo_protect_current = 10528, // 保护电流
kreg_mini_servo_servo_protect_torque = 10534, // 保护扭矩 0->100 ,触发后,需要写入与组转方向相反的位置指令,进行解除
kreg_mini_servo_servo_protect_time = 10535, // 保护时间
kreg_mini_servo_servo_overload_torque = 10536, // 过载扭矩
kreg_mini_servo_servo_speed_p = 10537, // 速度闭环P比例参数
kreg_mini_servo_servo_overload_time = 10538, // 过流保护时间
kreg_mini_servo_servo_speed_i = 10539, // 速度闭环I积分参数
kreg_mini_servo_servo_torque_switch = 10540, // 扭矩开关
kreg_mini_servo_servo_acc = 10541, // 加速度
kreg_mini_servo_servo_target_pos = 10542, // 目标位置
kreg_mini_servo_servo_run_time = 10544, // 运行时间
kreg_mini_servo_servo_run_speed = 10546, // 运行速度
kreg_mini_servo_servo_torque_limit = 10548, // 转矩限制
kreg_mini_servo_servo_lock_flag = 10555, // 锁标志
kreg_mini_servo_servo_current_pos = 10556, // 当前位置
kreg_mini_servo_servo_current_speed = 10558, // 当前速度
kreg_mini_servo_servo_current_load = 10560, // 当前负载 bit10为方向位 输出驱动电机的当前占空比电压,单位为0.1%,取值0-1000
kreg_mini_servo_servo_current_voltage = 10562, // 当前电压 反馈当前舵机工作电压,反馈精度为0.1V,即120*0.1=12V
kreg_mini_servo_servo_current_temp = 10563, // 当前温度 反馈当前舵机内部工作温度,反馈精度为1摄氏度
kreg_mini_servo_servo_status = 10565, // 舵机状态
kreg_mini_servo_servo_move_flag = 10566, // 移动标志
kreg_mini_servo_servo_current_current = 10569, // 当前电流 反馈当前工作电流值,单位为6.26.5mA,最大可反馈电流为500*6.5mA=3250mA
/***********************************************************************************************************************
* ID_CARD_READER * ***********************************************************************************************************************/
kreg_id_card_reader_raw_sector_size = 10301, //
kreg_id_card_reader_raw_sector_num = 10302, //
kreg_id_card_reader_is_online = 10303, //
/***********************************************************************************************************************
* 板夹仓扫码 * ***********************************************************************************************************************/
kreg_plate_code_scaner_laster_intensity = 10401, //
kreg_plate_code_scaner_scan_gain = 10402, //
kreg_plate_code_scaner_scan_velocity = 10403, //
kreg_plate_code_scaner_scan_start_pos = 10404, //
kreg_plate_code_scaner_final_stop_pos = 10405, //
kreg_plate_code_scaner_code_judgment_threshold = 10406, //
kreg_plate_code_scaner_item = 10407, //
kreg_plate_code_scaner_lot = 10408, //
kreg_plate_code_scaner_rawcode = 10409, //
kreg_plate_code_scaner_code_legal = 10410, //
} reg_index_t;
typedef struct { int index; const char* regname; } reginfo_t;
const char* regindex2str(int32_t code); reginfo_t* reg_get_table(); int reg_get_table_size();
} // namespace iflytop
|