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.

153 lines
9.2 KiB

2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
1 year ago
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
  1. #pragma once
  2. #include <stdint.h>
  3. #define CMDID(cmdid, cmdSubId) ((cmdid << 8) + cmdSubId)
  4. #define NEW_CMDID(cmdid, cmdSubId) ((cmdid * 100) + cmdSubId)
  5. namespace iflytop {
  6. namespace zcr {
  7. typedef enum {
  8. #if 0
  9. virtual int32_t board_reset() = 0;
  10. #endif
  11. kboard_reset = CMDID(0, 0), // para:{}, ack:{}
  12. kevent_bus_reg_change_report = CMDID(0, 100), // val{regindex, oldval, toval}
  13. kmodule_ping = CMDID(1, 0),
  14. kmodule_get_status = CMDID(1, 4),
  15. kmodule_stop = CMDID(1, 1),
  16. kmodule_set_reg = CMDID(1, 5),
  17. kmodule_get_reg = CMDID(1, 6),
  18. kmodule_get_error = CMDID(1, 10),
  19. kmodule_clear_error = CMDID(1, 11),
  20. kmodule_active_cfg = CMDID(1, 16),
  21. kxymotor_enable = CMDID(3, 1),
  22. kxymotor_move_by = CMDID(3, 2),
  23. kxymotor_move_to = CMDID(3, 3),
  24. kxymotor_move_to_zero = CMDID(3, 4),
  25. kxymotor_read_pos = CMDID(3, 6),
  26. /***********************************************************************************************************************
  27. * *
  28. ***********************************************************************************************************************/
  29. ka8000_optical_module_power_ctrl = CMDID(6, 0), // para:{4}, ack:{}
  30. ka8000_optical_open_laser = CMDID(6, 1), // para:{4}, ack:{}
  31. ka8000_optical_close_laser = CMDID(6, 2), // para:{4}, ack:{}
  32. ka8000_optical_set_laster_gain = CMDID(6, 3), // para:{4,4}, ack:{}
  33. ka8000_optical_set_scan_amp_gain = CMDID(6, 4), // para:{4,4}, ack:{}
  34. ka8000_optical_read_scanner_adc_val = CMDID(6, 5), // para:{4}, ack:{4}
  35. ka8000_optical_read_laster_adc_val = CMDID(6, 6), // para:{4}, ack:{4}
  36. ka8000_optical_scan_current_point_amp_adc_val = CMDID(6, 7), // para:{4,4,4,4}, ack:{4,4}
  37. ka8000_optical_start_capture = CMDID(6, 8), // para:{n/a}
  38. ka8000_optical_read_raw = CMDID(6, 9), // para:{index,size}
  39. /***********************************************************************************************************************
  40. * STEP_MOTOR *
  41. ***********************************************************************************************************************/
  42. kstep_motor_enable = CMDID(2, 1), // para:{1}, ack:{}
  43. kstep_motor_read_pos = CMDID(2, 11), // para:{}, ack:{4}
  44. kstep_motor_easy_rotate = CMDID(2, 17), // para:{4}, ack:{}
  45. kstep_motor_easy_move_by = CMDID(2, 18), // para:{4}, ack:{}
  46. kstep_motor_easy_move_to = CMDID(2, 19), // para:{4}, ack:{}
  47. kstep_motor_easy_move_to_zero = CMDID(2, 20), // para:{1}, ack:{}
  48. kstep_motor_easy_set_current_pos = CMDID(2, 21), // para:{4}, ack:{}
  49. kstep_motor_easy_move_to_io = CMDID(2, 22), // para:{4,4}, ack:{}
  50. kstep_motor_stop = CMDID(2, 40), // para:{4}, ack:{}
  51. kstep_motor_active_cfg = CMDID(2, 41), // para:{4}, ack:{}
  52. kstep_motor_read_io_state = CMDID(2, 42), // para:{4}, ack:{}
  53. kstep_motor_easy_move_to_end_point = CMDID(2, 44), //
  54. kstep_motor_read_tmc5130_status = CMDID(2, 50), //
  55. kstep_motor_read_tmc5130_state = CMDID(2, 51), // 调试使用
  56. kstep_motor_read_tmc4361a_status = CMDID(2, 52), // 调试使用
  57. kstep_motor_read_tmc4361a_state = CMDID(2, 53), // 调试使用
  58. kstep_motor_read_tmc2160_status = CMDID(2, 54), // 调试使用
  59. kstep_motor_read_tmc2160_state = CMDID(2, 55), // 调试使用
  60. kstep_motor_read_io_index_in_stm32 = CMDID(2, 56), // 调试使用
  61. /***********************************************************************************************************************
  62. * MINI_SERVO *
  63. ***********************************************************************************************************************/
  64. kmini_servo_enable = CMDID(102, 1),
  65. kmini_servo_read_pos = CMDID(102, 2),
  66. kmini_servo_active_cfg = CMDID(102, 3),
  67. kmini_servo_stop = CMDID(102, 4),
  68. kmini_servo_set_mid_point = CMDID(102, 7),
  69. kmini_servo_read_io_state = CMDID(102, 8),
  70. kmini_servo_move_to = CMDID(102, 9),
  71. kmini_servo_rotate = CMDID(102, 10),
  72. kmini_servo_rotate_with_torque = CMDID(102, 11),
  73. /***********************************************************************************************************************
  74. * BOARD *
  75. ***********************************************************************************************************************/
  76. kextboard_read_inio = CMDID(103, 1), // para:{index}, ack:{state}
  77. kextboard_write_outio = CMDID(103, 2), // para:{index,state}, ack:{}
  78. kextboard_read_muti_inio = CMDID(103, 3), // para:{}, ack:{states}
  79. kextboard_read_inio_index_in_stm32 = CMDID(103, 4), // para:{index}, ack:{index_in_stm32}
  80. kextboard_read_outio_index_in_stm32 = CMDID(103, 5), // para:{index}, ack:{index_in_stm32}
  81. kextboard_read_outio = CMDID(103, 6), // para:{index}, ack:{state}
  82. /***********************************************************************************************************************
  83. * CODE_SCANER *
  84. ***********************************************************************************************************************/
  85. kcode_scaner_start_scan = CMDID(104, 1), // para:{}, ack:{}
  86. kcode_scaner_stop_scan = CMDID(104, 2), // para:{}, ack:{}
  87. kcode_scaner_result_is_ready = CMDID(104, 3), // para:{}, ack:{}
  88. kcode_scaner_read_scaner_result = CMDID(104, 4), // para:{}, ack:{X}
  89. kcode_scaner_get_result_length = CMDID(104, 5), // para:{}, ack:{X}
  90. /***********************************************************************************************************************
  91. * FAN_CTRL *
  92. ***********************************************************************************************************************/
  93. kfan_controler_set_speed = CMDID(0x69, 0),
  94. /***********************************************************************************************************************
  95. * WATER_COOLING_TEMPERATURE *
  96. ***********************************************************************************************************************/
  97. ktemp_controler_start_hearting = CMDID(0x70, 0),
  98. ktemp_controler_stop_hearting = CMDID(0x70, 1),
  99. ktemp_controler_set_peltier_power_level = CMDID(0x70, 2), // 测试使用 para:{+-level100}
  100. ktemp_controler_set_pump_level = CMDID(0x70, 3), // 测试使用 para:{+ level100}
  101. ktemp_controler_set_fan_level = CMDID(0x70, 4), // 测试使用 para:{+ level100}
  102. ktemp_controler_enable_log = CMDID(0x70, 5), // 测试使用 para:{enable log}
  103. /***********************************************************************************************************************
  104. * IDCARD_READER *
  105. ***********************************************************************************************************************/
  106. ka8000_idcard_reader_read_raw = CMDID(0x71, 0), // para:{index}, ack:{}
  107. /***********************************************************************************************************************
  108. * *
  109. ***********************************************************************************************************************/
  110. kpipette_ctrl_init_device = CMDID(0x72, 1), // para:{} , ack:{}
  111. kpipette_ctrl_put_tip = CMDID(0x72, 2), // para:{} , ack:{}
  112. kpipette_ctrl_move_to_ul = CMDID(0x72, 3), // para:{ul} , ack:{}
  113. kpipette_clld_test = CMDID(0x72, 4), // para:{zdpos}, ack:{}
  114. kpipette_plld_test = CMDID(0x72, 5), // para:{zdpos}, ack:{}
  115. kpipette_enable_zmotor = CMDID(0x72, 20), // para:{enable}, ack:{}
  116. kpipette_write_cmd_direct = CMDID(0x72, 21), // para:{strbuf}, ack:{strbuf}
  117. kpipette_get_sensor_sample_data = CMDID(0x72, 22), // para:{index} , ack:{motor_pos,cval,pval}
  118. kpipette_get_sensor_sample_data_num = CMDID(0x72, 23), // para:{} , ack:{num}
  119. kpipette_sensor_sample_data_report = CMDID(0x72, 50), // val{regindex, oldval, toval}
  120. } cmdid_t;
  121. typedef struct {
  122. int index;
  123. const char* fnname;
  124. } cmdinfo_t;
  125. const char* cmdid2str(int32_t code);
  126. cmdinfo_t* cmdid_get_table();
  127. int cmdid_get_table_size();
  128. } // namespace zcr
  129. } // namespace iflytop