You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
195 lines
12 KiB
195 lines
12 KiB
#pragma once
|
|
#include <stdint.h>
|
|
|
|
#define CMDID(cmdid, cmdSubId) ((cmdid << 8) + cmdSubId)
|
|
|
|
#define NEW_CMDID(cmdid, cmdSubId) ((cmdid * 100) + cmdSubId)
|
|
|
|
namespace iflytop {
|
|
namespace zcr {
|
|
typedef enum {
|
|
#if 0
|
|
|
|
virtual int32_t board_reset() = 0;
|
|
#endif
|
|
|
|
kboard_reset = CMDID(0, 0), // para:{}, ack:{}
|
|
|
|
kevent_bus_reg_change_report = CMDID(0, 100), // val{regindex, oldval, toval}
|
|
|
|
kmodule_ping = CMDID(1, 0),
|
|
kmodule_get_status = CMDID(1, 4),
|
|
kmodule_stop = CMDID(1, 1),
|
|
kmodule_set_reg = CMDID(1, 5),
|
|
kmodule_get_reg = CMDID(1, 6),
|
|
kmodule_get_error = CMDID(1, 10),
|
|
kmodule_clear_error = CMDID(1, 11),
|
|
kmodule_active_cfg = CMDID(1, 16),
|
|
|
|
kxymotor_enable = CMDID(3, 1),
|
|
kxymotor_move_by = CMDID(3, 2),
|
|
kxymotor_move_to = CMDID(3, 3),
|
|
kxymotor_move_to_zero = CMDID(3, 4),
|
|
kxymotor_read_pos = CMDID(3, 6),
|
|
kxymotor_read_inio_index_in_stm32 = CMDID(3, 7),
|
|
kxymotor_read_inio = CMDID(3, 8),
|
|
kxymotor_set_pos = CMDID(3, 9),
|
|
kxymotor_motor_move_by_direct = CMDID(3, 10), // int32_t motor1_dpos, int32_t motor2_dpos
|
|
kxymotor_read_enc_direct = CMDID(3, 11), // int32_t *enc1, int32_t *enc2
|
|
|
|
/***********************************************************************************************************************
|
|
* 光学模组 *
|
|
***********************************************************************************************************************/
|
|
ka8000_optical_module_power_ctrl = CMDID(6, 0), // para:{4}, ack:{}
|
|
ka8000_optical_open_laser = CMDID(6, 1), // para:{4}, ack:{}
|
|
ka8000_optical_close_laser = CMDID(6, 2), // para:{4}, ack:{}
|
|
ka8000_optical_set_laster_gain = CMDID(6, 3), // para:{4,4}, ack:{}
|
|
ka8000_optical_set_scan_amp_gain = CMDID(6, 4), // para:{4,4}, ack:{}
|
|
ka8000_optical_read_scanner_adc_val = CMDID(6, 5), // para:{4}, ack:{4}
|
|
ka8000_optical_read_laster_adc_val = CMDID(6, 6), // para:{4}, ack:{4}
|
|
ka8000_optical_scan_current_point_amp_adc_val = CMDID(6, 7), // para:{4,4,4,4}, ack:{4,4}
|
|
ka8000_optical_start_capture = CMDID(6, 8), // para:{n/a}
|
|
ka8000_optical_read_raw = CMDID(6, 9), // para:{index,size}
|
|
|
|
ka8k_opt_v2_t_start_scan = CMDID(7, 0), //(int32_t scanDirection, int32_t lasterGain,int32_t scanGain)
|
|
ka8k_opt_v2_f_start_scan = CMDID(7, 1), //(int32_t scanDirection, int32_t lasterGain,int32_t scanGain)
|
|
ka8k_opt_v2_t_open_laster = CMDID(7, 10), //(int32_t lasterGain,int32_t scanGain) for_debug
|
|
ka8k_opt_v2_t_close_laster = CMDID(7, 11), //() for_debug
|
|
ka8k_opt_v2_t_readVal = CMDID(7, 12), //(int32_t *val0,int32_t *val1) for_debug
|
|
ka8k_opt_v2_f_open_laster = CMDID(7, 13), //(int32_t lasterGain,int32_t scanGain) for_debug
|
|
ka8k_opt_v2_f_close_laster = CMDID(7, 14), //() for_debug
|
|
ka8k_opt_v2_f_readVal = CMDID(7, 15), //(int32_t *val0,int32_t *val1) for_debug
|
|
|
|
/***********************************************************************************************************************
|
|
* STEP_MOTOR *
|
|
***********************************************************************************************************************/
|
|
|
|
kstep_motor_enable = CMDID(2, 1), // para:{1}, ack:{}
|
|
kstep_motor_read_pos = CMDID(2, 11), // para:{}, ack:{4}
|
|
kstep_motor_easy_rotate = CMDID(2, 17), // para:{4}, ack:{}
|
|
kstep_motor_easy_move_by = CMDID(2, 18), // para:{4}, ack:{}
|
|
kstep_motor_easy_move_to = CMDID(2, 19), // para:{4}, ack:{}
|
|
kstep_motor_easy_move_to_zero = CMDID(2, 20), // para:{1}, ack:{}
|
|
kstep_motor_easy_set_current_pos = CMDID(2, 21), // para:{4}, ack:{}
|
|
kstep_motor_easy_move_to_io = CMDID(2, 22), // para:{4,4}, ack:{}
|
|
kstep_motor_stop = CMDID(2, 40), // para:{4}, ack:{}
|
|
kstep_motor_active_cfg = CMDID(2, 41), // para:{4}, ack:{}
|
|
kstep_motor_read_io_state = CMDID(2, 42), // para:{4}, ack:{}
|
|
kstep_motor_easy_move_to_end_point = CMDID(2, 44), //
|
|
|
|
kstep_motor_read_tmc5130_status = CMDID(2, 50), //
|
|
kstep_motor_read_tmc5130_state = CMDID(2, 51), // 调试使用
|
|
kstep_motor_read_io_index_in_stm32 = CMDID(2, 56), // 调试使用
|
|
kstep_motor_set_subdevice_reg = CMDID(2, 57), // 调试使用
|
|
kstep_motor_get_subdevice_reg = CMDID(2, 58), // 调试使用
|
|
|
|
/***********************************************************************************************************************
|
|
* MINI_SERVO *
|
|
***********************************************************************************************************************/
|
|
kmini_servo_enable = CMDID(102, 1),
|
|
kmini_servo_read_pos = CMDID(102, 2),
|
|
kmini_servo_active_cfg = CMDID(102, 3),
|
|
kmini_servo_stop = CMDID(102, 4),
|
|
kmini_servo_set_mid_point = CMDID(102, 7),
|
|
kmini_servo_read_io_state = CMDID(102, 8),
|
|
|
|
kmini_servo_move_to = CMDID(102, 9),
|
|
kmini_servo_rotate = CMDID(102, 10),
|
|
kmini_servo_rotate_with_torque = CMDID(102, 11),
|
|
|
|
/***********************************************************************************************************************
|
|
* BOARD *
|
|
***********************************************************************************************************************/
|
|
kextboard_read_inio = CMDID(103, 1), // para:{index}, ack:{state}
|
|
kextboard_write_outio = CMDID(103, 2), // para:{index,state}, ack:{}
|
|
kextboard_read_muti_inio = CMDID(103, 3), // para:{}, ack:{states}
|
|
kextboard_read_inio_index_in_stm32 = CMDID(103, 4), // para:{index}, ack:{index_in_stm32}
|
|
kextboard_read_outio_index_in_stm32 = CMDID(103, 5), // para:{index}, ack:{index_in_stm32}
|
|
kextboard_read_outio = CMDID(103, 6), // para:{index}, ack:{state}
|
|
|
|
/***********************************************************************************************************************
|
|
* CODE_SCANER *
|
|
***********************************************************************************************************************/
|
|
kcode_scaner_start_scan = CMDID(104, 1), // para:{}, ack:{}
|
|
kcode_scaner_stop_scan = CMDID(104, 2), // para:{}, ack:{}
|
|
kcode_scaner_result_is_ready = CMDID(104, 3), // para:{}, ack:{}
|
|
kcode_scaner_read_scaner_result = CMDID(104, 4), // para:{}, ack:{X}
|
|
kcode_scaner_get_result_length = CMDID(104, 5), // para:{}, ack:{X}
|
|
|
|
/***********************************************************************************************************************
|
|
* FAN_CTRL *
|
|
***********************************************************************************************************************/
|
|
kfan_controler_set_speed = CMDID(0x69, 0),
|
|
|
|
/***********************************************************************************************************************
|
|
* WATER_COOLING_TEMPERATURE *
|
|
***********************************************************************************************************************/
|
|
ktemp_controler_start_hearting = CMDID(0x70, 0),
|
|
ktemp_controler_stop_hearting = CMDID(0x70, 1),
|
|
ktemp_controler_set_peltier_power_level = CMDID(0x70, 2), // 测试使用 para:{+-level100}
|
|
ktemp_controler_set_pump_level = CMDID(0x70, 3), // 测试使用 para:{+ level100}
|
|
ktemp_controler_set_fan_level = CMDID(0x70, 4), // 测试使用 para:{+ level100}
|
|
ktemp_controler_enable_log = CMDID(0x70, 5), // 测试使用 para:{enable log}
|
|
|
|
/***********************************************************************************************************************
|
|
* IDCARD_READER *
|
|
***********************************************************************************************************************/
|
|
ka8000_idcard_reader_read_raw = CMDID(0x71, 0), // para:{index}, ack:{}
|
|
ka8000_idcard_write_raw = CMDID(0x71, 1), // (int32_t add, uint8_t* data, int32_t len)
|
|
ka8000_idcard_erase = CMDID(0x71, 2), //
|
|
ka8000_idcard_earse_unlock = CMDID(0x71, 3), //
|
|
kevent_a8000_idcard_online = CMDID(0x71, 200), //
|
|
kevent_a8000_idcard_offline = CMDID(0x71, 201), //
|
|
|
|
/***********************************************************************************************************************
|
|
* 移液枪 *
|
|
***********************************************************************************************************************/
|
|
|
|
kpipette_ctrl_init_device = CMDID(0x72, 1), // param:(void)
|
|
kpipette_ctrl_put_tip = CMDID(0x72, 2), // param:(void)
|
|
kpipette_ctrl_move_to_ul = CMDID(0x72, 3), // param:(int32_t ul)
|
|
kpipette_lld_prepare = CMDID(0x72, 4), // param:(void)
|
|
kpipette_plld = CMDID(0x72, 5), // param:(int32_t zdpos, int32_t p_threshold)
|
|
kpipette_clld = CMDID(0x72, 6), // param:(int32_t zdpos, int32_t c_threshold)
|
|
kpipette_mlld = CMDID(0x72, 7), // param:(int32_t zdpos, int32_t c_threshold, int32_t p_threshold)
|
|
kpipette_lld_is_detect_liquid = CMDID(0x72, 8), // param:(void) ack(int32_t isdetect)
|
|
kpipette_aspirate = CMDID(0x72, 9), // param:(int32_t ul)
|
|
kpipette_distribut = CMDID(0x72, 10), // param:(int32_t ul)
|
|
kpipette_shake_up = CMDID(0x72, 11), // param:(int32_t ul, int32_t times)
|
|
kpipette_aspirate_llf = CMDID(0x72, 12), // param:(int32_t ul, int32_t zmotor_v)
|
|
kpipette_distribut_llf = CMDID(0x72, 13), // param:(int32_t ul, int32_t zmotor_v)
|
|
kpipette_shake_up_llf = CMDID(0x72, 14), // param:(int32_t ul, int32_t zmotor_v, int32_t times)
|
|
|
|
kpipette_enable_zmotor = CMDID(0x72, 20), // para:{enable}, ack:{}
|
|
kpipette_write_cmd_direct = CMDID(0x72, 21), // para:{strbuf}, ack:{strbuf}
|
|
kpipette_get_sensor_sample_data = CMDID(0x72, 22), // para:{index} , ack:{motor_pos,cval,pval}
|
|
kpipette_get_sensor_sample_data_num = CMDID(0x72, 23), // para:{} , ack:{num}
|
|
kpipette_sensor_sample_data_report = CMDID(0x72, 50), // val{regindex, oldval, toval}
|
|
|
|
/***********************************************************************************************************************
|
|
* 板夹仓板夹扫码 *
|
|
***********************************************************************************************************************/
|
|
|
|
kplate_code_scaner_push_card_and_scan = CMDID(0x73, 1), // int32_t startpos
|
|
kplate_code_scaner_stop_scan = CMDID(0x73, 2), //
|
|
kplate_code_scaner_read_result = CMDID(0x73, 3), // int32_t packetIndex, uint8_t* data, int32_t* len
|
|
kplate_code_scaner_read_result_point_num = CMDID(0x73, 4), // int32_t* pointNum
|
|
kplate_code_scaner_read_code = CMDID(0x73, 5), // int32_t* rawcode, int32_t* legal, int32_t* item, int32_t* lot
|
|
|
|
kplate_code_scaner_adc_readraw = CMDID(0x73, 6), // 硬件测试使用 int32_t* val
|
|
kplate_code_scaner_open_laser = CMDID(0x73, 7), // 硬件测试使用
|
|
kplate_code_scaner_close_laser = CMDID(0x73, 8), // 硬件测试使用
|
|
|
|
} cmdid_t;
|
|
|
|
typedef struct {
|
|
int index;
|
|
const char* fnname;
|
|
} cmdinfo_t;
|
|
|
|
const char* cmdid2str(int32_t code);
|
|
cmdinfo_t* cmdid_get_table();
|
|
int cmdid_get_table_size();
|
|
|
|
} // namespace zcr
|
|
} // namespace iflytop
|