43 #define RPLIDAR_CMD_STOP 0x25 44 #define RPLIDAR_CMD_SCAN 0x20 45 #define RPLIDAR_CMD_FORCE_SCAN 0x21 46 #define RPLIDAR_CMD_RESET 0x40 50 #define RPLIDAR_CMD_GET_DEVICE_INFO 0x50 51 #define RPLIDAR_CMD_GET_DEVICE_HEALTH 0x52 53 #define RPLIDAR_CMD_GET_SAMPLERATE 0x59 //added in fw 1.17 55 #define RPLIDAR_CMD_HQ_MOTOR_SPEED_CTRL 0xA8 58 #define RPLIDAR_CMD_EXPRESS_SCAN 0x82 //added in fw 1.17 59 #define RPLIDAR_CMD_HQ_SCAN 0x83 //added in fw 1.24 60 #define RPLIDAR_CMD_GET_LIDAR_CONF 0x84 //added in fw 1.24 61 #define RPLIDAR_CMD_SET_LIDAR_CONF 0x85 //added in fw 1.24 63 #define RPLIDAR_CMD_SET_MOTOR_PWM 0xF0 64 #define RPLIDAR_CMD_GET_ACC_BOARD_FLAG 0xFF 73 #define RPLIDAR_EXPRESS_SCAN_MODE_NORMAL 0 74 #define RPLIDAR_EXPRESS_SCAN_MODE_FIXANGLE 0 // won't been supported but keep to prevent build fail 76 #define RPLIDAR_EXPRESS_SCAN_FLAG_BOOST 0x0001 77 #define RPLIDAR_EXPRESS_SCAN_FLAG_SUNLIGHT_REJECTION 0x0002 80 #define RPLIDAR_ULTRAEXPRESS_SCAN_FLAG_STD 0x0001 81 #define RPLIDAR_ULTRAEXPRESS_SCAN_FLAG_HIGH_SENSITIVITY 0x0002 83 #define RPLIDAR_HQ_SCAN_FLAG_CCW (0x1<<0) 84 #define RPLIDAR_HQ_SCAN_FLAG_RAW_ENCODER (0x1<<1) 85 #define RPLIDAR_HQ_SCAN_FLAG_RAW_DISTANCE (0x1<<2) 102 #define MAX_MOTOR_PWM 1023 103 #define DEFAULT_MOTOR_PWM 660 114 #define RPLIDAR_ANS_TYPE_DEVINFO 0x4 115 #define RPLIDAR_ANS_TYPE_DEVHEALTH 0x6 117 #define RPLIDAR_ANS_TYPE_MEASUREMENT 0x81 119 #define RPLIDAR_ANS_TYPE_MEASUREMENT_CAPSULED 0x82 120 #define RPLIDAR_ANS_TYPE_MEASUREMENT_HQ 0x83 124 #define RPLIDAR_ANS_TYPE_SAMPLE_RATE 0x15 126 #define RPLIDAR_ANS_TYPE_MEASUREMENT_CAPSULED_ULTRA 0x84 128 #define RPLIDAR_ANS_TYPE_GET_LIDAR_CONF 0x20 129 #define RPLIDAR_ANS_TYPE_SET_LIDAR_CONF 0x21 130 #define RPLIDAR_ANS_TYPE_MEASUREMENT_DENSE_CAPSULED 0x85 131 #define RPLIDAR_ANS_TYPE_ACC_BOARD_FLAG 0xFF 133 #define RPLIDAR_RESP_ACC_BOARD_FLAG_MOTOR_CTRL_SUPPORT_MASK (0x1) 139 #define RPLIDAR_STATUS_OK 0x0 140 #define RPLIDAR_STATUS_WARNING 0x1 141 #define RPLIDAR_STATUS_ERROR 0x2 143 #define RPLIDAR_RESP_MEASUREMENT_SYNCBIT (0x1<<0) 144 #define RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT 2 146 #define RPLIDAR_RESP_HQ_FLAG_SYNCBIT (0x1<<0) 148 #define RPLIDAR_RESP_MEASUREMENT_CHECKBIT (0x1<<0) 149 #define RPLIDAR_RESP_MEASUREMENT_ANGLE_SHIFT 1 160 }
__attribute__((packed)) rplidar_response_measurement_node_t;
163 #define RPLIDAR_RESP_MEASUREMENT_EXP_ANGLE_MASK (0x3) 164 #define RPLIDAR_RESP_MEASUREMENT_EXP_DISTANCE_MASK (0xFC) 173 #define RPLIDAR_RESP_MEASUREMENT_EXP_SYNC_1 0xA 174 #define RPLIDAR_RESP_MEASUREMENT_EXP_SYNC_2 0x5 176 #define RPLIDAR_RESP_MEASUREMENT_HQ_SYNC 0xA5 178 #define RPLIDAR_RESP_MEASUREMENT_EXP_SYNCBIT (0x1<<15) 184 rplidar_response_cabin_nodes_t
cabins[16];
185 }
__attribute__((packed)) rplidar_response_capsule_measurement_nodes_t;
189 }
__attribute__((packed)) rplidar_response_dense_cabin_nodes_t;
195 rplidar_response_dense_cabin_nodes_t
cabins[40];
196 }
__attribute__((packed)) rplidar_response_dense_capsule_measurement_nodes_t;
200 #define RPLIDAR_RESP_MEASUREMENT_EXP_ULTRA_MAJOR_BITS 12 201 #define RPLIDAR_RESP_MEASUREMENT_EXP_ULTRA_PREDICT_BITS 10 207 }
__attribute__((packed)) rplidar_response_ultra_cabin_nodes_t;
214 }
__attribute__((packed)) rplidar_response_ultra_capsule_measurement_nodes_t;
226 rplidar_response_measurement_node_hq_t
node_hq[16];
228 }
__attribute__((packed)) rplidar_response_hq_capsule_measurement_nodes_t;
231 # define RPLIDAR_CONF_SCAN_COMMAND_STD 0 232 # define RPLIDAR_CONF_SCAN_COMMAND_EXPRESS 1 233 # define RPLIDAR_CONF_SCAN_COMMAND_HQ 2 234 # define RPLIDAR_CONF_SCAN_COMMAND_BOOST 3 235 # define RPLIDAR_CONF_SCAN_COMMAND_STABILITY 4 236 # define RPLIDAR_CONF_SCAN_COMMAND_SENSITIVITY 5 238 #define RPLIDAR_CONF_ANGLE_RANGE 0x00000000 239 #define RPLIDAR_CONF_DESIRED_ROT_FREQ 0x00000001 240 #define RPLIDAR_CONF_SCAN_COMMAND_BITMAP 0x00000002 241 #define RPLIDAR_CONF_MIN_ROT_FREQ 0x00000004 242 #define RPLIDAR_CONF_MAX_ROT_FREQ 0x00000005 243 #define RPLIDAR_CONF_MAX_DISTANCE 0x00000060 245 #define RPLIDAR_CONF_SCAN_MODE_COUNT 0x00000070 246 #define RPLIDAR_CONF_SCAN_MODE_US_PER_SAMPLE 0x00000071 247 #define RPLIDAR_CONF_SCAN_MODE_MAX_DISTANCE 0x00000074 248 #define RPLIDAR_CONF_SCAN_MODE_ANS_TYPE 0x00000075 249 #define RPLIDAR_CONF_SCAN_MODE_TYPICAL 0x0000007C 250 #define RPLIDAR_CONF_SCAN_MODE_NAME 0x0000007F 251 #define RPLIDAR_EXPRESS_SCAN_STABILITY_BITMAP 4 252 #define RPLIDAR_EXPRESS_SCAN_SENSITIVITY_BITMAP 5 277 #define RPLIDAR_VARBITSCALE_X2_SRC_BIT 9 278 #define RPLIDAR_VARBITSCALE_X4_SRC_BIT 11 279 #define RPLIDAR_VARBITSCALE_X8_SRC_BIT 12 280 #define RPLIDAR_VARBITSCALE_X16_SRC_BIT 14 282 #define RPLIDAR_VARBITSCALE_X2_DEST_VAL 512 283 #define RPLIDAR_VARBITSCALE_X4_DEST_VAL 1280 284 #define RPLIDAR_VARBITSCALE_X8_DEST_VAL 1792 285 #define RPLIDAR_VARBITSCALE_X16_DEST_VAL 3328 287 #define RPLIDAR_VARBITSCALE_GET_SRC_MAX_VAL_BY_BITS(_BITS_) \ 288 ( (((0x1<<(_BITS_)) - RPLIDAR_VARBITSCALE_X16_DEST_VAL)<<4) + \ 289 ((RPLIDAR_VARBITSCALE_X16_DEST_VAL - RPLIDAR_VARBITSCALE_X8_DEST_VAL)<<3) + \ 290 ((RPLIDAR_VARBITSCALE_X8_DEST_VAL - RPLIDAR_VARBITSCALE_X4_DEST_VAL)<<2) + \ 291 ((RPLIDAR_VARBITSCALE_X4_DEST_VAL - RPLIDAR_VARBITSCALE_X2_DEST_VAL)<<1) + \ 292 RPLIDAR_VARBITSCALE_X2_DEST_VAL - 1)
rplidar_response_measurement_node_hq_t node_hq[16]
rplidar_response_ultra_cabin_nodes_t ultra_cabins[32]
struct _rplidar_payload_express_scan_t __attribute__((packed)) rplidar_payload_express_scan_t
_u16 std_sample_duration_us
rplidar_response_cabin_nodes_t cabins[16]
_u16 express_sample_duration_us