|
|
#pragma once
#include <stdint.h>
#include "api/basic_type.hpp"
#include "api/i_mini_servo_module.hpp"
#include "api/i_step_motor_ctrl_module.hpp"
#include "api/i_xyrobot_ctrl_module.hpp"
#include "zcancmder_protocol_basic.hpp"
namespace iflytop { namespace zcr {
typedef enum { kcmd_ping = CMDID(0, 0), kcmd_read_io = CMDID(1, 0), kcmd_set_io = CMDID(2, 0), kcmd_readadc_raw = CMDID(3, 0),
kcmd_m211887_operation = CMDID(1000, 0), // ��������������
kcmd_read_presure_sensor = CMDID(1001, 0), // ѹ��������
kcmd_triple_warning_light_ctl = CMDID(1002, 0), // ��ɫ��ʾ�ƿ���
kcmd_high_power_electrical_ctl = CMDID(1003, 0), // �����ʵ�Դ����
kcmd_peristaltic_pump_ctl = CMDID(1004, 0), // Һ�ÿ���
kcmd_read_huacheng_pressure_sensor = CMDID(1005, 0), // ����ѹ��������
/*******************************************************************************
* |Module_1006:XYRobot�����˿���ģ�� * *******************************************************************************/ kcmd_xy_robot_ctrl_enable = CMDID(1006, 0), // ������ʹ��
kcmd_xy_robot_ctrl_stop = CMDID(1006, 1), // ������ֹͣ
kcmd_xy_robot_ctrl_move_to_zero = CMDID(1006, 2), // �����˻���
kcmd_xy_robot_ctrl_move_to_zero_with_calibrate = CMDID(1006, 3), // �����˻��㲢�궨
kcmd_xy_robot_ctrl_move_to = CMDID(1006, 4), // �������ƶ���ָ��λ��
kcmd_xy_robot_ctrl_move_by = CMDID(1006, 5), // �������ƶ�ָ������
kcmd_xy_robot_ctrl_force_change_current_pos = CMDID(1006, 6), // ǿ���ĵ�ǰλ��
kcmd_xy_robot_ctrl_read_version = CMDID(1006, 50), // ��ȡģ���ͺŰ汾��Ϣ
kcmd_xy_robot_ctrl_read_status = CMDID(1006, 51), // ��ȡģ�龫��״̬��Ϣ
kcmd_xy_robot_ctrl_read_detailed_status = CMDID(1006, 52), // ��ȡģ����ϸ״̬��Ϣ
kcmd_xy_robot_ctrl_set_run_param = CMDID(1006, 100), // ���������
kcmd_xy_robot_ctrl_set_warning_limit_param = CMDID(1006, 101), // ���ÿ������Ʋ���
kcmd_xy_robot_ctrl_set_run_to_zero_param = CMDID(1006, 102), // ���ù�������
/*******************************************************************************
* |Module_1007:������������ģ�� * *******************************************************************************/ kcmd_step_motor_ctrl_enable = CMDID(1007, 0), // ʹ��
kcmd_step_motor_ctrl_stop = CMDID(1007, 1), // ֹͣ
kcmd_step_motor_ctrl_move_to_zero = CMDID(1007, 2), // ����
kcmd_step_motor_ctrl_move_to_zero_with_calibrate = CMDID(1007, 3), // ���㲢У
kcmd_step_motor_ctrl_move_to = CMDID(1007, 4), // �ƶ���
kcmd_step_motor_ctrl_move_by = CMDID(1007, 5), // �����ƶ�
kcmd_step_motor_ctrl_force_change_current_pos = CMDID(1007, 6), // �����ƶ�
kcmd_step_motor_ctrl_rotate = CMDID(1007, 7), // �����ƶ�
kcmd_step_motor_ctrl_read_version = CMDID(1007, 50), // ��ȡģ���ͺŰ汾��Ϣ
kcmd_step_motor_ctrl_read_status = CMDID(1007, 51), // ��ȡģ�龫��״̬��Ϣ
kcmd_step_motor_ctrl_read_detailed_status = CMDID(1007, 52), // ��ȡģ����ϸ״̬��Ϣ
kcmd_step_motor_ctrl_set_base_param = CMDID(1007, 100), // ���������
kcmd_step_motor_ctrl_get_base_param = CMDID(1007, 101), // ���������
/*******************************************************************************
* |Module_1008:���� * *******************************************************************************/ kcmd_mini_servo_ctrl_enable = CMDID(1008, 0), // ʹ��
kcmd_mini_servo_ctrl_stop = CMDID(1008, 1), // ֹͣ
kcmd_mini_servo_ctrl_position_calibrate = CMDID(1008, 2), // У
kcmd_mini_servo_ctrl_rotate = CMDID(1008, 3), // �ٶ�ģʽ
kcmd_mini_servo_ctrl_move_to = CMDID(1008, 4), // λ��ģʽ����
kcmd_mini_servo_ctrl_move_by = CMDID(1008, 5), // λ��ģʽ����
kcmd_mini_servo_ctrl_run_with_torque = CMDID(1008, 6), // ����Ť��ģʽ
kcmd_mini_servo_ctrl_move_by_nolimit = CMDID(1008, 7), // �����ƶ�,λ��ģʽ������,�ƶ���������λ�ú���Сλ�����ƣ�������ȡ����ǰλ��
kcmd_mini_servo_ctrl_read_version = CMDID(1008, 50), // ��ȡģ���ͺŰ汾��Ϣ
kcmd_mini_servo_ctrl_read_status = CMDID(1008, 51), // ��ȡģ�龫��״̬��Ϣ
kcmd_mini_servo_ctrl_read_detailed_status = CMDID(1008, 52), // ��ȡģ����ϸ״̬��Ϣ
kcmd_mini_servo_ctrl_set_run_param = CMDID(1008, 100), kcmd_mini_servo_ctrl_get_run_param = CMDID(1008, 101), kcmd_mini_servo_ctrl_set_warning_limit_param = CMDID(1008, 102), kcmd_mini_servo_ctrl_get_warning_limit_param = CMDID(1008, 103), kcmd_mini_servo_ctrl_set_basic_param = CMDID(1008, 104), kcmd_mini_servo_ctrl_get_basic_param = CMDID(1008, 105),
/*******************************************************************************
* |Module_1009:EEPROM * *******************************************************************************/ kcmd_eeprom_read_block = CMDID(1009, 0), // ��ȡEEPROM
kcmd_eeprom_write_block = CMDID(1009, 1), // �EEPROM
/*******************************************************************************
* |Module_1010:ɨ���� * *******************************************************************************/ kcmd_barcode_reader_start_scan = CMDID(1010, 0), // ��ȡɨ����
kcmd_barcode_reader_stop_scan = CMDID(1010, 1), // ֹͣ��ȡɨ����
/*******************************************************************************
* |Module_1011:������-ˮ��-���ȿ���ϵͳ * *******************************************************************************/ // ����Ŀ���¶�
kcmd_heater_ctrl_module_start_ctrl_temperature = CMDID(1011, 0), // ����Ŀ���¶�
kcmd_heater_ctrl_module_read_stop_temperature = CMDID(1011, 1), // ��ȡֹͣ�¶�
kcmd_heater_ctrl_module_read_version = CMDID(1011, 50), // ��ȡģ���ͺŰ汾��Ϣ
kcmd_heater_ctrl_module_read_status = CMDID(1011, 51), // ��ȡģ�龫��״̬��Ϣ
kcmd_heater_ctrl_module_read_detailed_status = CMDID(1011, 52), // ��ȡģ����ϸ״̬��Ϣ
kcmd_heater_ctrl_module_set_run_param = CMDID(1011, 100), // ���������
kcmd_heater_ctrl_module_set_warning_limit_param = CMDID(1011, 101), // �������Ʋ���
/*******************************************************************************
* |Module_1012:��ѧģ��ɨ���� * *******************************************************************************/ kcmd_optical_barcode_reader_start_scan = CMDID(1012, 0), // ��ʼɨ��
kcmd_optical_barcode_reader_stop_scan = CMDID(1012, 1), // ֹͣɨ��
kcmd_optical_barcode_reader_motor_move_to = CMDID(1012, 4), // ˮƽ�����ƶ���
kcmd_optical_barcode_reader_motor_move_to_zero = CMDID(1012, 6), // ����У
kcmd_optical_barcode_reader_motor_move_to_zero_with_calibrate = CMDID(1012, 7), // ����У
kcmd_optical_barcode_reader_motor_stop = CMDID(1012, 8), // ����ֹͣ
kcmd_optical_barcode_reader_motor_enable = CMDID(1012, 9), // ����ʹ��
kcmd_optical_barcode_reader_read_version = CMDID(1012, 50), // ��ȡģ���ͺŰ汾��Ϣ
kcmd_optical_barcode_reader_read_status = CMDID(1012, 51), // ��ȡģ�龫��״̬��Ϣ
kcmd_optical_barcode_reader_read_detailed_status = CMDID(1012, 52), // ��ȡģ����ϸ״̬��Ϣ
kcmd_optical_barcode_reader_set_run_param = CMDID(1012, 100), // ���������
kcmd_optical_barcode_reader_set_warning_limit_param = CMDID(1012, 101), // �������Ʋ���
kcmd_optical_barcode_reader_set_run_to_zero_param = CMDID(1012, 102), // ���ù�������
/*******************************************************************************
* |Module_1013:���в� * *******************************************************************************/
kcmd_board_clamp_module_push_and_scan = CMDID(1013, 0), // �Ƴ���Ӧ�岢ɨ��
kcmd_board_clamp_module_moter_move_to = CMDID(1013, 1), // �����ƶ���
kcmd_board_clamp_module_moter_move_by = CMDID(1013, 2), // �����ƶ���
kcmd_board_clamp_module_moter_move_to_zero = CMDID(1013, 3), // ��������
kcmd_board_clamp_module_moter_move_to_zero_with_calibrate = CMDID(1013, 4), // �������㲢У
kcmd_board_clamp_module_moter_stop = CMDID(1013, 5), // ����ֹͣ
kcmd_board_clamp_module_moter_enable = CMDID(1013, 6), // ����ʹ��
kcmd_board_clamp_module_read_version = CMDID(1013, 50), // ��ȡģ���ͺŰ汾��Ϣ
kcmd_board_clamp_module_read_status = CMDID(1013, 51), // ��ȡģ�龫��״̬��Ϣ
kcmd_board_clamp_module_read_detailed_status = CMDID(1013, 52), // ��ȡģ����ϸ״̬��Ϣ
kcmd_board_clamp_module_set_run_param = CMDID(1013, 100), // ���������
kcmd_board_clamp_module_set_warning_limit_param = CMDID(1013, 101), // �������Ʋ���
kcmd_board_clamp_module_set_run_to_zero_param = CMDID(1013, 102), // ���ù�������
// ����
/*******************************************************************************
* |Module_1014:���� * *******************************************************************************/ kcmd_fan_module_fan_ctrl = CMDID(1014, 0), // ���ȿ���
kcmd_fan_module_fan_read_status = CMDID(1014, 50), // ��ȡģ�龫��״̬��Ϣ
kcmd_fan_module_fan_read_detailed_status = CMDID(1014, 51), // ��ȡģ����ϸ״̬��Ϣ
// ������
/*******************************************************************************
* |Module_1015:������ * *******************************************************************************/ kcmd_serial_module_send_data = CMDID(1015, 0), // ��������������
kcmd_serial_module_start_read_data = CMDID(1015, 1), // ��������ȡ����
kcmd_serial_module_start_stop_data = CMDID(1015, 2), // ������ֹͣ��ȡ����
kcmd_serial_module_read_status = CMDID(1015, 50), // ��ȡģ��״̬��Ϣ
kcmd_serial_module_set_cfg = CMDID(1015, 100), // ��������������
// ��Һǹ����
/*******************************************************************************
* |Module_1016:��Һǹ���� * *******************************************************************************/ kcmd_pipette_module_z_motor_enable = CMDID(1016, 0), // ʹ��
kcmd_pipette_module_z_motor_move_to = CMDID(1016, 1), // �ƶ���
kcmd_pipette_module_z_motor_move_to_zero = CMDID(1016, 2), // ����
kcmd_pipette_module_z_motor_move_to_zero_with_calibrate = CMDID(1016, 3), // ���㲢У
kcmd_pipette_module_z_motor_stop = CMDID(1016, 4), // ֹͣ
kcmd_pipette_module_take_liquid = CMDID(1016, 4), // ȡҺ��
kcmd_pipette_module_split_liquid = CMDID(1016, 5), // ��Һ��
kcmd_pipette_module_take_tip = CMDID(1016, 6), // ȡtip
kcmd_pipette_module_remove_tip = CMDID(1016, 7), // �Ƴ�tip
kcmd_pipette_module_read_version = CMDID(1016, 50), // ��ȡģ���ͺŰ汾��Ϣ
kcmd_pipette_module_read_status = CMDID(1016, 51), // ��ȡģ�龫��״̬��Ϣ
kcmd_pipette_module_read_detailed_status = CMDID(1016, 52), // ��ȡģ����ϸ״̬��Ϣ
kcmd_pipette_module_set_run_param = CMDID(1016, 100), // ���������
kcmd_pipette_module_set_warning_limit_param = CMDID(1016, 101), // �������Ʋ���
kcmd_pipette_module_set_run_to_zero_param = CMDID(1016, 102), // ���ù�������
} CmdID_t;
#pragma pack(push, 1)
ZPACKET_CMD_ACK(kcmd_ping, //
CMD(u8 boardid;), //
ACK(u8 boardid;));
ZPACKET_CMD_ACK(kcmd_read_io, //
CMD(u8 ioid;), //
ACK(u8 ioid; u8 val;));
ZPACKET_CMD_ACK(kcmd_set_io, //
CMD(u8 ioid; u8 val;), //
ACK(u8 ioid; u8 val;));
ZPACKET_CMD_ACK(kcmd_readadc_raw, //
CMD(u8 sensorid;), //
ACK(u8 sensorid; s32 val;));
/*******************************************************************************
* |Module_1006:XYRobot�����˿���ģ�� * *******************************************************************************/ // ACTION
ZPACKET_CMD_ACK(kcmd_xy_robot_ctrl_enable, CMD(u8 id; u8 enable;), ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_xy_robot_ctrl_stop, CMD(u8 id; u8 stop_type;), ACK(u8 id;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_xy_robot_ctrl_move_to_zero, CMD(u8 id;), ACK(u8 id;), REPORT(u8 id; I_XYRobotCtrlModule::move_to_zero_cb_status_t status;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_xy_robot_ctrl_move_to_zero_with_calibrate, CMD(u8 id; s32 nowx; s32 nowy;), ACK(u8 id;), REPORT(u8 id; I_XYRobotCtrlModule::move_to_zero_with_calibrate_cb_status_t status;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_xy_robot_ctrl_move_to, CMD(u8 id; s32 x; s32 y; s32 speed;), ACK(u8 id;), REPORT(u8 id; I_XYRobotCtrlModule::move_to_cb_status_t status;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_xy_robot_ctrl_move_by, CMD(u8 id; s32 dx; s32 dy; s32 speed;), ACK(u8 id;), REPORT(u8 id; I_XYRobotCtrlModule::move_by_cb_status_t status;)); ZPACKET_CMD_ACK(kcmd_xy_robot_ctrl_force_change_current_pos, CMD(u8 id; s32 x; s32 y;), ACK(u8 id;)); // READ
ZPACKET_CMD_ACK(kcmd_xy_robot_ctrl_read_version, CMD(u8 id;), ACK(u8 id; I_XYRobotCtrlModule::version_t ack;)); ZPACKET_CMD_ACK(kcmd_xy_robot_ctrl_read_status, CMD(u8 id;), ACK(u8 id; I_XYRobotCtrlModule::status_t ack;)); ZPACKET_CMD_ACK(kcmd_xy_robot_ctrl_read_detailed_status, CMD(u8 id;), ACK(u8 id; I_XYRobotCtrlModule::detailed_status_t ack;)); // SET
ZPACKET_CMD_ACK(kcmd_xy_robot_ctrl_set_run_param, CMD(u8 id; u8 opt_type; I_XYRobotCtrlModule::run_param_t param;), ACK(u8 id; I_XYRobotCtrlModule::run_param_t ack;)); ZPACKET_CMD_ACK(kcmd_xy_robot_ctrl_set_warning_limit_param, CMD(u8 id; u8 opt_type; I_XYRobotCtrlModule::warning_limit_param_t param;), ACK(u8 id; I_XYRobotCtrlModule::warning_limit_param_t ack;)); ZPACKET_CMD_ACK(kcmd_xy_robot_ctrl_set_run_to_zero_param, CMD(u8 id; u8 opt_type; I_XYRobotCtrlModule::run_to_zero_param_t param;), ACK(u8 id; I_XYRobotCtrlModule::run_to_zero_param_t ack;));
/*******************************************************************************
* |Module_1007:������������� * *******************************************************************************/
ZPACKET_CMD_ACK(kcmd_step_motor_ctrl_enable, CMD(u8 id; u8 enable;), ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_step_motor_ctrl_stop, CMD(u8 id; u8 stop_type;), ACK(u8 id;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_step_motor_ctrl_move_to_zero, CMD(u8 id;), ACK(u8 id;), REPORT(u8 id; int32_t exec_status;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_step_motor_ctrl_move_to_zero_with_calibrate, CMD(u8 id; s32 nowx; s32 nowy;), ACK(u8 id;), REPORT(u8 id; int32_t exec_status;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_step_motor_ctrl_move_to, CMD(u8 id; s32 x; s32 speed;), ACK(u8 id;), REPORT(u8 id; int32_t exec_status;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_step_motor_ctrl_move_by, CMD(u8 id; s32 dx; s32 speed;), ACK(u8 id;), REPORT(u8 id; int32_t exec_status;)); ZPACKET_CMD_ACK(kcmd_step_motor_ctrl_force_change_current_pos, CMD(u8 id; s32 x;), ACK(u8 id;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_step_motor_ctrl_rotate, CMD(u8 id; s32 speed; s32 run_time;), ACK(u8 id;), REPORT(u8 id; int32_t exec_status;)); // READ
ZPACKET_CMD_ACK(kcmd_step_motor_ctrl_read_version, CMD(u8 id;), ACK(u8 id; I_StepMotorCtrlModule::version_t ack;)); ZPACKET_CMD_ACK(kcmd_step_motor_ctrl_read_status, CMD(u8 id;), ACK(u8 id; I_StepMotorCtrlModule::status_t ack;)); ZPACKET_CMD_ACK(kcmd_step_motor_ctrl_read_detailed_status, CMD(u8 id;), ACK(u8 id; I_StepMotorCtrlModule::detailed_status_t ack;)); // SET
ZPACKET_CMD_ACK(kcmd_step_motor_ctrl_set_base_param, CMD(u8 id; u8 opt_type; I_StepMotorCtrlModule::base_param_t param;), ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_step_motor_ctrl_get_base_param, CMD(u8 id;), ACK(u8 id; I_StepMotorCtrlModule::base_param_t ack;));
/*******************************************************************************
* |Module_1008:���� * *******************************************************************************/ ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_enable, CMD(u8 id; u8 enable;), ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_stop, CMD(u8 id; u8 stop_type;), ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_position_calibrate, CMD(u8 id; s32 calibrate_pos;), ACK(u8 id;));
ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_rotate, CMD(u8 id; s32 speed; s32 torque; s32 run_time;), ACK(u8 id;), REPORT(u8 id; I_MiniServoModule::rotate_cb_status_t report;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_move_to, CMD(u8 id; s32 pos; s32 speed; s32 torque;), ACK(u8 id;), REPORT(u8 id; I_MiniServoModule::move_to_cb_status_t report;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_move_by, CMD(u8 id; s32 pos; s32 speed; s32 torque;), ACK(u8 id;), REPORT(u8 id; I_MiniServoModule::move_by_cb_status_t report;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_run_with_torque, CMD(u8 id; s32 torque; s32 run_time;), ACK(u8 id;), REPORT(u8 id; I_MiniServoModule::run_with_torque_cb_status_t report;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_mini_servo_ctrl_move_by_nolimit, CMD(u8 id; s32 pos; s32 speed; s32 torque;), ACK(u8 id;), REPORT(u8 id; I_MiniServoModule::move_by_nolimit_cb_status_t report;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_read_version, CMD(u8 id;), ACK(u8 id; I_MiniServoModule::version_t ack;)); ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_read_status, CMD(u8 id;), ACK(u8 id; I_MiniServoModule::status_t ack;)); ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_read_detailed_status, CMD(u8 id;), ACK(u8 id; I_MiniServoModule::detailed_status_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_set_run_param, CMD(u8 id; u8 opt_type; I_MiniServoModule::run_param_t param;), ACK(u8 id; I_MiniServoModule::run_param_t ack;)); ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_set_basic_param, CMD(u8 id; u8 opt_type; I_MiniServoModule::basic_param_t param;), ACK(u8 id; I_MiniServoModule::basic_param_t ack;)); ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_set_warning_limit_param, CMD(u8 id; u8 opt_type; I_MiniServoModule::warning_limit_param_t param;), ACK(u8 id; I_MiniServoModule::warning_limit_param_t ack;));
ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_get_run_param, CMD(u8 id; u8 opt_type;), ACK(u8 id; I_MiniServoModule::run_param_t ack;)); ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_get_basic_param, CMD(u8 id; u8 opt_type;), ACK(u8 id; I_MiniServoModule::basic_param_t ack;)); ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_get_warning_limit_param, CMD(u8 id; u8 opt_type;), ACK(u8 id; I_MiniServoModule::warning_limit_param_t ack;));
/*******************************************************************************
* |Module_1009:EEPROM * *******************************************************************************/
ZPACKET_CMD_ACK(kcmd_eeprom_read_block, CMD(u8 id; u16 addr; u16 len;), //
ACK(u8 id; u16 addr; u16 len; u8 data[0];)); ZPACKET_CMD_ACK(kcmd_eeprom_write_block, CMD(u8 id; u16 addr; u16 len; u8 data[0];), //
ACK(u8 id; u16 addr; u16 len;)); /*******************************************************************************
* |Module_1010:ɨ���� * *******************************************************************************/
ZPACKET_CMD_ACK_AND_REPORT(kcmd_barcode_reader_start_scan, CMD(u8 id;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; u16 barcodelen; u8 barcode[0];)); ZPACKET_CMD_ACK(kcmd_barcode_reader_stop_scan, CMD(u8 id;), //
ACK(u8 id;)); /*******************************************************************************
* |Module_1011:������-ˮ��-���ȿ���ϵͳ * *******************************************************************************/ ZPACKET_CMD_ACK(kcmd_heater_ctrl_module_start_ctrl_temperature, CMD(u8 id; s32 target_temperature;), //
ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_heater_ctrl_module_read_stop_temperature, CMD(u8 id;), //
ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_heater_ctrl_module_read_version, CMD(u8 id;), //
ACK(u8 id; uint32_t version;)); ZPACKET_CMD_ACK(kcmd_heater_ctrl_module_read_status, CMD(u8 id;), //
ACK(u8 id; u8 status; s32 temperature;)); ZPACKET_CMD_ACK(kcmd_heater_ctrl_module_read_detailed_status, CMD(u8 id;), //
ACK(u8 id; u8 status; s32 temperature;)); ZPACKET_CMD_ACK(kcmd_heater_ctrl_module_set_run_param, CMD(u8 id; u8 opt_type; s32 kp; s32 ki; s32 kd; s32 max_pwm; s32 min_temperature; s32 max_temperature;), //
ACK(u8 id; u8 opt_type; s32 kp; s32 ki; s32 kd; s32 max_pwm; s32 min_temperature; s32 max_temperature;)); ZPACKET_CMD_ACK(kcmd_heater_ctrl_module_set_warning_limit_param, CMD(u8 id; u8 opt_type;), //
ACK(u8 id; u8 opt_type;));
/*******************************************************************************
* |Module_1012:��ѧģ��ɨ���� * *******************************************************************************/ ZPACKET_CMD_ACK_AND_REPORT(kcmd_optical_barcode_reader_start_scan, CMD(u8 id;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; u16 codelen; u16 code[0];)); ZPACKET_CMD_ACK(kcmd_optical_barcode_reader_stop_scan, CMD(u8 id;), //
ACK(u8 id;));
ZPACKET_CMD_ACK_AND_REPORT(kcmd_optical_barcode_reader_motor_move_to, CMD(u8 id; u8 motor_id; s32 pos; s32 speed;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; s32 pos;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_optical_barcode_reader_motor_move_to_zero, CMD(u8 id; u8 motor_id;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_optical_barcode_reader_motor_move_to_zero_with_calibrate, CMD(u8 id; u8 motor_id; s32 now_pos;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; s32 zero_shift;)); ZPACKET_CMD_ACK(kcmd_optical_barcode_reader_motor_stop, CMD(u8 id; u8 motor_id;), //
ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_optical_barcode_reader_read_version, CMD(u8 id;), //
ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_optical_barcode_reader_read_status, CMD(u8 id;), //
ACK(u8 id; u8 status; u8 hasmove2zero[2]; s32 pos[2];)); ZPACKET_CMD_ACK(kcmd_optical_barcode_reader_read_detailed_status, CMD(u8 id;), //
ACK(u8 id; u8 status; u8 hasmove2zero[2]; s32 pos[2]; s32 acc[2]; s32 speed[2];)); ZPACKET_CMD_ACK(kcmd_optical_barcode_reader_set_run_param, //
CMD(u8 id; u8 opt_type; s32 acc[2]; s32 dec[2]; s32 max_speed[2]; s32 min_pos[2]; s32 max_pos[2];), //
ACK(u8 id; u8 opt_type; s32 acc[2]; s32 dec[2]; s32 max_speed[2]; s32 min_pos[2]; s32 max_pos[2];)); ZPACKET_CMD_ACK(kcmd_optical_barcode_reader_set_warning_limit_param, CMD(u8 id; u8 opt_type; s32 pad;), //
ACK(u8 id; u8 opt_type; s32 pad;)); ZPACKET_CMD_ACK(kcmd_optical_barcode_reader_set_run_to_zero_param, CMD(u8 id; u8 opt_type; s32 move_to_zero_max_d[2]; s32 leave_from_zero_max_d[2]; s32 speed[2]; s32 dec[2];), //
ACK(u8 id; u8 opt_type; s32 move_to_zero_max_d[2]; s32 leave_from_zero_max_d[2]; s32 speed[2]; s32 dec[2];));
/*******************************************************************************
* Module_1013:���в� * *******************************************************************************/ ZPACKET_CMD_ACK_AND_REPORT(kcmd_board_clamp_module_push_and_scan, CMD(u8 id;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; u16 barcodelen; u8 barcode[0];));
ZPACKET_CMD_ACK_AND_REPORT(kcmd_board_clamp_module_moter_move_to, CMD(u8 id; u8 motor_id; s32 pos; s32 speed;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; s32 pos;));
ZPACKET_CMD_ACK_AND_REPORT(kcmd_board_clamp_module_moter_move_by, CMD(u8 id; u8 motor_id; s32 pos; s32 speed;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; s32 pos;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_board_clamp_module_moter_move_to_zero, CMD(u8 id; u8 motor_id;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_board_clamp_module_moter_move_to_zero_with_calibrate, CMD(u8 id; u8 motor_id; s32 now_pos;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; s32 zero_shift;)); ZPACKET_CMD_ACK(kcmd_board_clamp_module_moter_stop, CMD(u8 id; u8 motor_id;), //
ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_board_clamp_module_read_version, CMD(u8 id;), //
ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_board_clamp_module_read_status, CMD(u8 id;), //
ACK(u8 id; u8 status; u8 hasmove2zero[2]; s32 pos[2];)); ZPACKET_CMD_ACK(kcmd_board_clamp_module_read_detailed_status, CMD(u8 id;), //
ACK(u8 id; u8 status; u8 hasmove2zero[2]; s32 pos[2]; s32 acc[2]; s32 speed[2];)); ZPACKET_CMD_ACK(kcmd_board_clamp_module_set_run_param, //
CMD(u8 id; u8 opt_type; s32 acc[2]; s32 dec[2]; s32 max_speed[2]; s32 min_pos[2]; s32 max_pos[2];), //
ACK(u8 id; u8 opt_type; s32 acc[2]; s32 dec[2]; s32 max_speed[2]; s32 min_pos[2]; s32 max_pos[2];)); ZPACKET_CMD_ACK(kcmd_board_clamp_module_set_warning_limit_param, CMD(u8 id; u8 opt_type; s32 pad;), //
ACK(u8 id; u8 opt_type; s32 pad;)); ZPACKET_CMD_ACK(kcmd_board_clamp_module_set_run_to_zero_param, CMD(u8 id; u8 opt_type; s32 move_to_zero_max_d[2]; s32 leave_from_zero_max_d[2]; s32 speed[2]; s32 dec[2];), //
ACK(u8 id; u8 opt_type; s32 move_to_zero_max_d[2]; s32 leave_from_zero_max_d[2]; s32 speed[2]; s32 dec[2];));
/*******************************************************************************
* |Module_1014:���� * *******************************************************************************/ ZPACKET_CMD_ACK(kcmd_fan_module_fan_ctrl, CMD(u8 id; u8 level;), //
ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_fan_module_fan_read_status, CMD(u8 id;), //
ACK(u8 id; u8 status; u8 level;)); ZPACKET_CMD_ACK(kcmd_fan_module_fan_read_detailed_status, CMD(u8 id;), //
ACK(u8 id; u8 status; u8 level; int16_t fbcount;));
/*******************************************************************************
* |Module_1016:��Һǹ���� * *******************************************************************************/
ZPACKET_CMD_ACK(kcmd_pipette_module_motor_enable, CMD(u8 id; u8 enable;), //
ACK(u8 id;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_pipette_module_motor_move_to, CMD(u8 id; u8 motor_id; s32 pos; s32 speed;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; s32 pos;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_pipette_module_motor_move_to_zero, CMD(u8 id; u8 motor_id;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status;)); ZPACKET_CMD_ACK_AND_REPORT(kcmd_pipette_module_motor_move_to_zero_with_calibrate, CMD(u8 id; u8 motor_id; s32 now_pos;), //
ACK(u8 id;), //
REPORT(u8 id; u8 status; s32 zero_shift;)); ZPACKET_CMD_ACK(kcmd_pipette_module_motor_stop, CMD(u8 id; u8 motor_id;), //
ACK(u8 id;));
ZPACKET_CMD_ACK(kcmd_pipette_module_take_liquid, CMD(u8 id; u8 motor_id; s32 speed; s32 pos;), //
ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_pipette_module_split_liquid, CMD(u8 id; u8 motor_id; s32 speed; s32 pos;), //
ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_pipette_module_take_tip, CMD(u8 id; u8 motor_id; s32 speed; s32 pos;), //
ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_pipette_module_remove_tip, CMD(u8 id; u8 motor_id; s32 speed; s32 pos;), //
ACK(u8 id;));
#if 0
kcmd_pipette_module_read_status = CMDID(1016, 51), // ��ȡģ�龫��״̬��Ϣ
kcmd_pipette_module_read_detailed_status = CMDID(1016, 52), // ��ȡģ����ϸ״̬��Ϣ
kcmd_pipette_module_set_run_param = CMDID(1016, 100), // ���������
kcmd_pipette_module_set_warning_limit_param = CMDID(1016, 101), // �������Ʋ���
kcmd_pipette_module_set_run_to_zero_param = CMDID(1016, 102), // ���ù�������
#endif
ZPACKET_CMD_ACK(kcmd_pipette_module_read_version, CMD(u8 id;), //
ACK(u8 id;)); ZPACKET_CMD_ACK(kcmd_pipette_module_read_status, CMD(u8 id;), //
ACK(u8 id; u8 status; s32 pos[2];)); ZPACKET_CMD_ACK(kcmd_pipette_module_read_detailed_status, CMD(u8 id;), //
ACK(u8 id; u8 status; s32 pos[2]; s32 acc[2]; s32 speed[2];)); ZPACKET_CMD_ACK(kcmd_pipette_module_set_run_param, CMD(u8 id; u8 opt_type; s32 acc[2]; s32 dec[2]; s32 max_speed[2]; s32 min_pos[2]; s32 max_pos[2];), //
ACK(u8 id; u8 opt_type; s32 acc[2]; s32 dec[2]; s32 max_speed[2]; s32 min_pos[2]; s32 max_pos[2];)); ZPACKET_CMD_ACK(kcmd_pipette_module_set_warning_limit_param, CMD(u8 id; u8 opt_type; s32 pad;), //
ACK(u8 id; u8 opt_type; s32 pad;));
#pragma pack(pop)
} // namespace zcr
} // namespace iflytop
|