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.

109 lines
5.4 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), // para:{}, ack:{}
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_move_to_zero_and_calculated_shift = CMDID(3, 5),
kxymotor_read_pos = CMDID(3, 6),
kxymotor_calculated_pos_by_move_to_zero = CMDID(3, 7),
kpipette_ctrl_init_device = CMDID(5, 1), // para:{}, ack:{}
kpipette_ctrl_put_tip = CMDID(5, 2), // para:{}, ack:{}
kpipette_ctrl_move_to_ul = CMDID(5, 3), // para:{4}, ack:{}
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}
/***********************************************************************************************************************
* 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_read_motoric_status = CMDID(2, 43), //
/***********************************************************************************************************************
* 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 *
***********************************************************************************************************************/
kboard_read_ext_io = CMDID(103, 1), // para:{}, ack:{4}
kboard_write_ext_io = CMDID(103, 2), // para:{}, ack:{4}
kboard_read_muti_io = CMDID(103, 3), // para:{}, ack:{4}
/***********************************************************************************************************************
* 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}
} 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