37 #error "The RPlidar SDK requires a C++ compiler to be built" 81 const char* port_path,
_u32 baudrate,
_u32 flag = 0) = 0;
106 rplidar_response_device_health_t& health,
117 rplidar_response_device_info_t& info,
128 rplidar_response_sample_rate_t& rateInfo,
168 bool inExpressMode,
size_t count,
float& frequency,
bool& is4kmode) = 0;
187 bool force =
false,
bool autoExpressMode =
true) = 0;
240 rplidar_response_measurement_node_t* nodebuffer,
size_t&
count,
256 rplidar_response_measurement_node_t* nodebuffer,
size_t count) = 0;
virtual u_result getHealth(rplidar_response_device_health_t &health, _u32 timeout=DEFAULT_TIMEOUT)=0
Retrieve the health status of the RPLIDAR The host system can use this operation to check whether RPL...
virtual u_result connect(const char *port_path, _u32 baudrate, _u32 flag=0)=0
Open the specified serial port and connect to a target RPLIDAR device.
GLuint GLuint GLsizei count
virtual u_result startScan(bool force=false, bool autoExpressMode=true)=0
Ask the RPLIDAR core system to enter the scan mode(Normal/Express, Express mode is 4k mode) A backgro...
virtual u_result startScanExpress(bool fixedAngle, _u32 timeout=DEFAULT_TIMEOUT)=0
virtual u_result reset(_u32 timeout=DEFAULT_TIMEOUT)=0
Ask the RPLIDAR core system to reset it self The host system can use the Reset operation to help RPLI...
virtual u_result grabScanData(rplidar_response_measurement_node_t *nodebuffer, size_t &count, _u32 timeout=DEFAULT_TIMEOUT)=0
Wait and grab a complete 0-360 degree scan data previously received.
virtual u_result startScanNormal(bool force, _u32 timeout=DEFAULT_TIMEOUT)=0
virtual u_result setMotorPWM(_u16 pwm)=0
Set the RPLIDAR's motor pwm when using accessory board, currently valid for A2 only.
virtual ~RPlidarDriver()=default
virtual u_result stop(_u32 timeout=DEFAULT_TIMEOUT)=0
Ask the RPLIDAR core system to stop the current scan operation and enter idle state.
virtual u_result checkMotorCtrlSupport(bool &support, _u32 timeout=DEFAULT_TIMEOUT)=0
Check whether the device support motor control.
virtual u_result stopMotor()=0
Stop RPLIDAR's motor when using accessory board.
virtual u_result getFrequency(bool inExpressMode, size_t count, float &frequency, bool &is4kmode)=0
Calcuate RPLIDAR's current scanning frequency from the given scan data Please refer to the applicatio...
virtual bool isConnected()=0
Returns TRUE when the connection has been established.
virtual u_result checkExpressScanSupported(bool &support, _u32 timeout=DEFAULT_TIMEOUT)=0
Check whether the device support express mode.
virtual u_result startMotor()=0
Start RPLIDAR's motor when using accessory board.
virtual u_result ascendScanData(rplidar_response_measurement_node_t *nodebuffer, size_t count)=0
Ascending the scan data according to the angle value in the scan.
static RPlidarDriver * CreateDriver(_u32 drivertype=DRIVER_TYPE_SERIALPORT)
Create an RPLIDAR Driver Instance This interface should be invoked first before any other operations...
virtual void disconnect()=0
Disconnect with the RPLIDAR and close the serial port.
virtual u_result getSampleDuration_uS(rplidar_response_sample_rate_t &rateInfo, _u32 timeout=DEFAULT_TIMEOUT)=0
Get the sample duration information of the RPLIDAR.
static void DisposeDriver(RPlidarDriver *drv)
Dispose the RPLIDAR Driver Instance specified by the drv parameter Applications should invoke this in...
virtual u_result getDeviceInfo(rplidar_response_device_info_t &info, _u32 timeout=DEFAULT_TIMEOUT)=0
Get the device information of the RPLIDAR include the serial number, firmware version, device model etc.