com_define.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. #ifndef _COM_CONFIG_H_
  2. #define _COM_CONFIG_H_
  3. #define THE_TRQ_SENSOR_NUM 18
  4. #define PI 3.14159265358979323846
  5. #define MAX_SLAVE_NUM 24
  6. #define CONTROL_RATE 1000
  7. #define THE_CAN_DRIVER_NUM 18
  8. //single leg test
  9. // #define MOTOR_NUM 3
  10. // #define LEG_NUMBER 1
  11. //six legs
  12. #define MOTOR_NUM 18
  13. #define LEG_NUMBER 6
  14. //视觉落脚点
  15. #define HEIGHT_MAP_HEIGHT 30 //改成80
  16. #define HEIGHT_MAP_WIDTH 30 //改成80
  17. #define GRID_SIZE 0.04
  18. #define DEPTH_IMAGE_HEIGHT 300
  19. #define DEPTH_IMAGE_WIDTH 400
  20. #define RGB_IMAGE_HEIGHT 300
  21. #define RGB_IMAGE_WIDTH 400
  22. #define DRIVER_WATCH_DOG_TIMEOUT 3000
  23. #define MAX_ERROR_QUEUE_SIZE 200
  24. #define CODE_WHEEL_NUM 5
  25. #define JOINT_CODE_WHEEL_NUM 20
  26. typedef enum _DRIVE_MODE{
  27. POSITION_MODE = 0,
  28. VELOCITY_MODE,
  29. TORQUE_MODE,
  30. GOHOME_MODE,
  31. TORQUE_FF_MODE,
  32. PP_MODE
  33. }DRIVE_MODE;
  34. typedef enum _DRIVER_PARAM_SETTING_CMD{
  35. CMD_NULL = 0,
  36. CLEAR_BISS_ERR,
  37. READ_BISS_ERR_INFO,
  38. READ_DRIVER_STRING_ERR,
  39. READ_DRIVER_COMMON_ERR,
  40. SET_ENCODER_POWER_50,
  41. SET_ENCODER_POWER_26,
  42. SET_ENCODER_POWER_14,
  43. SET_ENCODER_POWER,
  44. READ_DRIVER_STRING_STO_ERR,
  45. DRIVER_FOE_UPDATE,
  46. SET_ENCODER_ZERO_AND_SAVE,
  47. CMD_MAX
  48. }DRIVER_PARAM_SETTING_CMD;
  49. typedef enum _EN_DRIVER_ECAT_SLAVES_TYPE{
  50. NONE_DRIVER_TYPE = 0,
  51. LING_KONG_DRIVER_TYPE = 1,
  52. LENOVO_S_CAN_DRIVER_TYPE = 2,
  53. LENOVO_M_DRIVER_TYPE = 3,
  54. MOTOREVO_DRIVER_TYPE = 4,
  55. SYNAPTICON_DRIVER_TYPE = 5,
  56. LENOVO_S_ECAT_DRIVER_TYPE = 6,
  57. }EN_DRIVER_ECAT_SLAVES_TYPE;
  58. typedef enum _EN_TRQ_SENSOR_ECAT_SLAVES_TYPE {
  59. NONE_TRQ_SENSOR_TYPE = 0,
  60. SJTU_TRQ_SENSOR_TYPE = 1,
  61. YULI_TRQ_SENSOR_TYPE = 2,
  62. }EN_TRQ_SENSOR_ECAT_SLAVES_TYPE;
  63. typedef enum _EN_BMS_TYPE {
  64. NONE_BMS = 0,
  65. MERBER,
  66. MICRO_BOARD_BMS
  67. }EN_BMS_TYPE;
  68. typedef enum _EN_EMOJI_LIGHT_TYPE{
  69. NONE_LED_TYPE = 0,
  70. ONLY_LED_TYPE = 1,
  71. EMOJI_LED_TYPE = 2,
  72. }EN_EMOJI_LIGHT_TYPE;
  73. typedef enum _EN_MICRO_EMOJI_CONTROL_CMD {
  74. LED_NULL = 0,
  75. EMOJI_CLOSE, //关闭所有LED
  76. EMOJI_OFF, //关机
  77. EMOJI_ON, //开机
  78. EMOJI_RUN, //正常运行
  79. EMOJI_SMILE, //笑脸
  80. EMOJI_CRY, //哭泣
  81. EMOJI_FOLLOW, //跟随
  82. LOW_BATTERY, //低电量
  83. LED_CHARGING, //充电中(>50%)
  84. LED_LOWCHARGING, //充电中(<49%)
  85. LED_CHARGE_DONE //充电完成
  86. }EN_MICRO_EMOJI_CONTROL_CMD;
  87. typedef enum _EN_MICRO_BMS_CMD {
  88. BMS_VOLTAGE, // 2Byte 获取电压(单位10mv)
  89. BMS_CURRENT, // 2Byte 获取电流(单位10mA)充电为正,放电为负
  90. BMS_SOC, // 2Byte 剩余容量(单位10mAh)
  91. BMS_FCC, // 2Byte 实际充满容量(单位10mAh)
  92. BMS_RSOC, // 1Byte 剩余容量百分比
  93. BMS_TEMP, // 1Byte 电池温度(单位度)
  94. BMS_STATE, // 2Byte 保护状态
  95. BMS_INFO, //45Byte BMS完整信息
  96. BMS_CMD0, // 解除软件关闭MOS管动作
  97. BMS_CMD1, // 软件关闭充电MOS, 解除软件关闭放电MOS
  98. BMS_CMD2, // 软件关闭放电MOS,解除软件关闭充电MOS
  99. BMS_CMD3, // 软件同时关闭充放电MOS
  100. BMS_CHARGING, //充电指令,成功,0xff01dd, 失败 0xff02dd 充电完成0xff03dd 总共6Byte
  101. BMS_DISCHARGING //关闭充电 成功0xff01dd 失败0xff02dd 总共6Byte
  102. }EN_MICRO_BMS_CMD;
  103. typedef enum _EN_LAMP_EFFECT_THEME{
  104. NONE_LAMP_THEME = 0,
  105. SNOW_BLACK_THEME = 1,
  106. COLD_GREY_THEME = 2,
  107. }EN_LAMP_EFFECT_THEME;
  108. typedef enum _ROBOT_DRIVER_TYPES{
  109. GS_SYNAPTICON = 0,
  110. IS_FORCE_POS_MIXING = 1,
  111. IS_ONLY_FORCE = 2,
  112. }ROBOT_DRIVER_TYPES;
  113. typedef enum _ROBOT_BODY_TYPES{
  114. NULL_TYPE = 0,
  115. HEXAPOD = 1,
  116. QUADRUPED = 2
  117. }ROBOT_BODY_TYPES;
  118. #define UNUSED(x) (void)(x)
  119. #define LOG_LENGTH 256
  120. #endif