66 rplidar_response_sample_rate_t& rateInfo,
75 bool inExpressMode,
size_t count,
float& frequency,
bool& is4kmode);
87 rplidar_response_measurement_node_t* nodebuffer,
size_t&
count,
90 rplidar_response_measurement_node_t* nodebuffer,
size_t count);
94 rplidar_response_measurement_node_t* node,
97 rplidar_response_measurement_node_t* nodebuffer,
size_t&
count,
101 const rplidar_response_capsule_measurement_nodes_t& capsule,
102 rplidar_response_measurement_node_t* nodebuffer,
size_t& nodeCount);
104 rplidar_response_capsule_measurement_nodes_t& node,
108 _u8 cmd,
const void* payload =
nullptr,
size_t payloadsize = 0);
virtual u_result startScanExpress(bool fixedAngle, _u32 timeout=DEFAULT_TIMEOUT)
virtual u_result checkMotorCtrlSupport(bool &support, _u32 timeout=DEFAULT_TIMEOUT)
Check whether the device support motor control.
virtual u_result getHealth(rplidar_response_device_health_t &, _u32 timeout=DEFAULT_TIMEOUT)
Retrieve the health status of the RPLIDAR The host system can use this operation to check whether RPL...
bool _is_previous_capsuledataRdy
virtual u_result getFrequency(bool inExpressMode, size_t count, float &frequency, bool &is4kmode)
Calcuate RPLIDAR's current scanning frequency from the given scan data Please refer to the applicatio...
u_result _waitScanData(rplidar_response_measurement_node_t *nodebuffer, size_t &count, _u32 timeout=DEFAULT_TIMEOUT)
u_result _waitCapsuledNode(rplidar_response_capsule_measurement_nodes_t &node, _u32 timeout=DEFAULT_TIMEOUT)
virtual u_result connect(const char *port_path, _u32 baudrate, _u32 flag)
Open the specified serial port and connect to a target RPLIDAR device.
virtual u_result stop(_u32 timeout=DEFAULT_TIMEOUT)
Ask the RPLIDAR core system to stop the current scan operation and enter idle state.
virtual u_result getSampleDuration_uS(rplidar_response_sample_rate_t &rateInfo, _u32 timeout=DEFAULT_TIMEOUT)
Get the sample duration information of the RPLIDAR.
virtual u_result ascendScanData(rplidar_response_measurement_node_t *nodebuffer, size_t count)
Ascending the scan data according to the angle value in the scan.
size_t _cached_scan_node_count
u_result _waitSampleRate(rplidar_response_sample_rate_t *res, _u32 timeout=DEFAULT_TIMEOUT)
virtual u_result startMotor()
Start RPLIDAR's motor when using accessory board.
rplidar_response_capsule_measurement_nodes_t _cached_previous_capsuledata
virtual u_result setMotorPWM(_u16 pwm)
Set the RPLIDAR's motor pwm when using accessory board, currently valid for A2 only.
rplidar_response_measurement_node_t _cached_scan_node_buf[2048]
virtual u_result getDeviceInfo(rplidar_response_device_info_t &, _u32 timeout=DEFAULT_TIMEOUT)
Get the device information of the RPLIDAR include the serial number, firmware version,...
virtual u_result stopMotor()
Stop RPLIDAR's motor when using accessory board.
void _capsuleToNormal(const rplidar_response_capsule_measurement_nodes_t &capsule, rplidar_response_measurement_node_t *nodebuffer, size_t &nodeCount)
rp::hal::Thread _cachethread
u_result _waitResponseHeader(rplidar_ans_header_t *header, _u32 timeout=DEFAULT_TIMEOUT)
virtual ~RPlidarDriverSerialImpl()
bool _isSupportingMotorCtrl
virtual u_result startScanNormal(bool force, _u32 timeout=DEFAULT_TIMEOUT)
rp::hal::serial_rxtx * _rxtx
RPlidarDriverSerialImpl()
void _disableDataGrabbing()
u_result _sendCommand(_u8 cmd, const void *payload=nullptr, size_t payloadsize=0)
u_result _cacheCapsuledScanData()
u_result _waitNode(rplidar_response_measurement_node_t *node, _u32 timeout=DEFAULT_TIMEOUT)
u_result _cacheScanData()
virtual u_result checkExpressScanSupported(bool &support, _u32 timeout=DEFAULT_TIMEOUT)
Check whether the device support express mode.
virtual u_result grabScanData(rplidar_response_measurement_node_t *nodebuffer, size_t &count, _u32 timeout=DEFAULT_TIMEOUT)
Wait and grab a complete 0-360 degree scan data previously received.
virtual u_result reset(_u32 timeout=DEFAULT_TIMEOUT)
Ask the RPLIDAR core system to reset it self The host system can use the Reset operation to help RPLI...
virtual void disconnect()
Disconnect with the RPLIDAR and close the serial port.
virtual bool isConnected()
Returns TRUE when the connection has been established.
_u16 _cached_sampleduration_express
virtual u_result startScan(bool force=false, bool autoExpressMode=true)
Ask the RPLIDAR core system to enter the scan mode(Normal/Express, Express mode is 4k mode) A backgro...
_u16 _cached_sampleduration_std
GLuint GLuint GLsizei count
nv_oem6_header_t header
Novatel frame: NV_OEM6_BESTPOS.