|
|
#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),
/***********************************************************************************************************************
* 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_tmc4361a_status = CMDID(2, 52), // 调试使用
kstep_motor_read_tmc4361a_state = CMDID(2, 53), // 调试使用
kstep_motor_read_tmc2160_status = CMDID(2, 54), // 调试使用
kstep_motor_read_tmc2160_state = CMDID(2, 55), // 调试使用
kstep_motor_read_io_index_in_stm32 = CMDID(2, 56), // 调试使用
/***********************************************************************************************************************
* 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}
} 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
|