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.

136 lines
5.9 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years 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
1 year ago
2 years ago
  1. #pragma once
  2. #include <stdint.h>
  3. namespace iflytop {
  4. namespace err {
  5. using namespace std;
  6. #define ERROR_CODE(errortype, suberrorcode) (errortype + suberrorcode)
  7. typedef enum {
  8. ksucc = ERROR_CODE(0, 0),
  9. kfail = ERROR_CODE(0, 1),
  10. kparam_out_of_range = ERROR_CODE(0, 2), // 参数超出范围
  11. koperation_not_support = ERROR_CODE(0, 3), // 操作不支持
  12. kdevice_is_busy = ERROR_CODE(0, 4), // 设备忙
  13. kdevice_is_offline = ERROR_CODE(0, 5), // 设备离线
  14. kovertime = ERROR_CODE(0, 6),
  15. knoack = ERROR_CODE(0, 7),
  16. kerrorack = ERROR_CODE(0, 8),
  17. kdevice_offline = ERROR_CODE(0, 9),
  18. kparse_json_err = ERROR_CODE(0, 10),
  19. ksubdevice_overtime = ERROR_CODE(0, 11),
  20. kbuffer_not_enough = ERROR_CODE(0, 12),
  21. kcmd_not_found = ERROR_CODE(0, 13),
  22. kcmd_param_num_error = ERROR_CODE(0, 14),
  23. kcheckcode_is_error = ERROR_CODE(0, 15),
  24. kcatch_exception = ERROR_CODE(0, 16),
  25. khwardware_error_fan_error = ERROR_CODE(0, 17),
  26. khwardware_error = ERROR_CODE(0, 18),
  27. /**
  28. * @brief
  29. */
  30. ksys_error = ERROR_CODE(100, 0),
  31. ksys_create_file_error = ERROR_CODE(100, 1),
  32. ksys_create_dir_error = ERROR_CODE(100, 2),
  33. ksys_open_file_error = ERROR_CODE(100, 3),
  34. ksys_open_dir_error = ERROR_CODE(100, 4),
  35. ksys_read_file_error = ERROR_CODE(100, 5),
  36. ksys_write_file_error = ERROR_CODE(100, 6),
  37. ksys_close_file_error = ERROR_CODE(100, 7),
  38. ksys_close_dir_error = ERROR_CODE(100, 8),
  39. ksys_delete_file_error = ERROR_CODE(100, 9),
  40. ksys_delete_dir_error = ERROR_CODE(100, 10),
  41. ksys_copy_file_error = ERROR_CODE(100, 11),
  42. /**
  43. * @brief module error
  44. */
  45. kmodule_not_inited = ERROR_CODE(200, 0),
  46. kmodule_not_found = ERROR_CODE(200, 1),
  47. kmodule_opeation_break_by_user = ERROR_CODE(200, 2), // 用户中断
  48. kmodule_error = ERROR_CODE(200, 3), // 未知错误
  49. kmodule_not_find_config_index = ERROR_CODE(200, 4), // 未找到配置索引
  50. kmodule_not_find_state_index = ERROR_CODE(200, 5), // 未找到配置索引
  51. kmodule_not_support_action = ERROR_CODE(200, 6), // 未找到配置索引
  52. kmodule_not_find_reg = ERROR_CODE(200, 7), // 未找到配置索引
  53. /**
  54. * @brief motor error
  55. */
  56. kmotor_not_found_zero_point = ERROR_CODE(300, 0), // 未找到零点
  57. kmotor_did_not_go_zero = ERROR_CODE(300, 1), // 设备未归零
  58. kmotor_over_temperature = ERROR_CODE(300, 2), // 过温
  59. kmotor_over_voltage = ERROR_CODE(300, 3), // 过压
  60. kxymotor_not_found_x_zero_point = ERROR_CODE(300, 4), // 未找到零点
  61. kxymotor_not_found_y_zero_point = ERROR_CODE(300, 5), // 未找到零点
  62. kxymotor_x_find_zero_edge_fail = ERROR_CODE(300, 6), // 离开零点失败
  63. kxymotor_y_find_zero_edge_fail = ERROR_CODE(300, 7), // 离开零点失败
  64. kmotor_run_overtime = ERROR_CODE(300, 8), // 运行超时
  65. kmotor_not_enable = ERROR_CODE(300, 9), // 电机未使能
  66. /**
  67. * @brief STMP2错误
  68. */
  69. kSMTP2_NoError = ERROR_CODE(400, 0), // 无错误
  70. kSMTP2_InitFail = ERROR_CODE(400, 1), // 初始化失败
  71. kSMTP2_InvalidCmd = ERROR_CODE(400, 2), // 无效命令
  72. kSMTP2_InvalidArg = ERROR_CODE(400, 3), // 无效参数
  73. kSMTP2_PressureSensorError = ERROR_CODE(400, 4), // 压力传感器故障
  74. kSMTP2_OverPressure = ERROR_CODE(400, 5), // 超过压力
  75. kSMTP2_LLDError = ERROR_CODE(400, 6), // LLD 错误
  76. kSMTP2_DeviceNotInit = ERROR_CODE(400, 7), // 设备未初始化
  77. kSMTP2_TipPopError = ERROR_CODE(400, 8), // Tip 弹出错误
  78. kSMTP2_PumpOverload = ERROR_CODE(400, 9), // 泵过载
  79. kSMTP2_TipDrop = ERROR_CODE(400, 10), // Tip 脱落
  80. kSMTP2_CanBusError = ERROR_CODE(400, 11), // CAN 总线故障
  81. kSMTP2_InvalidChecksum = ERROR_CODE(400, 12), // 无效校验和
  82. kSMTP2_EEPROMError = ERROR_CODE(400, 13), // EEPROM 故障
  83. kSMTP2_CmdBufferEmpty = ERROR_CODE(400, 14), // 命令缓冲区为空
  84. kSMTP2_CmdBufferOverflow = ERROR_CODE(400, 15), // 命令溢出
  85. kSMTP2_TipBlock = ERROR_CODE(400, 16), // Tip 堵塞
  86. kSMTP2_AirSuction = ERROR_CODE(400, 17), // 吸入空气
  87. kSMTP2_Bubble = ERROR_CODE(400, 18), // 液体中有气泡/泡沫
  88. kSMTP2_VolumeError = ERROR_CODE(400, 19), // 吸取/分配量不准确
  89. kSMTP2_TipAlreadyLoad = ERROR_CODE(400, 20), // Tip已经装载
  90. kSMTP2_TipLoadFail = ERROR_CODE(400, 21),
  91. /**
  92. * @brief
  93. */
  94. kmicro_noErr = ERROR_CODE(500, 0), //
  95. kmicro_uartSendFail = ERROR_CODE(500, 1), //
  96. kmicro_uartRecvFail = ERROR_CODE(500, 2), //
  97. kmicro_adcRecvFail = ERROR_CODE(500, 3), //
  98. /**
  99. * @brief step motor error
  100. */
  101. kstep_motor_not_found_zero_point = ERROR_CODE(600, 0), // 未找到零点
  102. kstep_motor_not_go_zero = ERROR_CODE(600, 1), // 设备未归零
  103. kstep_motor_over_temperature = ERROR_CODE(600, 2), // 过温
  104. kstep_motor_over_voltage = ERROR_CODE(600, 3), // 过压
  105. kstep_motor_run_overtime = ERROR_CODE(600, 4), // 运行超时
  106. kstep_motor_not_enable = ERROR_CODE(600, 5), // 电机未使能
  107. kstep_motor_ioindex_out_of_range = ERROR_CODE(600, 6), // IO超出范围
  108. /**
  109. * @brief mini servo error
  110. */
  111. kmini_servo_not_enable = ERROR_CODE(700, 0), //
  112. kmini_servo_mode_not_support = ERROR_CODE(700, 1), //
  113. } error_t;
  114. typedef struct {
  115. int index;
  116. const char* info;
  117. } ecode_table_item_t;
  118. const char* error2str(int32_t code);
  119. ecode_table_item_t* error_get_table();
  120. int error_get_table_size();
  121. } // namespace err
  122. } // namespace iflytop