Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
rp::standalone::rplidar::RPlidarDriverImplCommon Class Reference

#include <rplidar_driver_impl.h>

Inheritance diagram for rp::standalone::rplidar::RPlidarDriverImplCommon:
Inheritance graph
[legend]

Public Member Functions

virtual u_result ascendScanData (rplidar_response_measurement_node_t *nodebuffer, size_t count)
 
virtual u_result ascendScanData (rplidar_response_measurement_node_hq_t *nodebuffer, size_t count)
 
virtual u_result checkExpressScanSupported (bool &support, _u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result checkMotorCtrlSupport (bool &support, _u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result checkSupportConfigCommands (bool &outSupport, _u32 timeoutInMs=DEFAULT_TIMEOUT)
 
virtual u_result getAllSupportedScanModes (std::vector< RplidarScanMode > &outModes, _u32 timeoutInMs=DEFAULT_TIMEOUT)
 
virtual u_result getDeviceInfo (rplidar_response_device_info_t &info, _u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result getFrequency (bool inExpressMode, size_t count, float &frequency, bool &is4kmode)
 
virtual u_result getFrequency (const RplidarScanMode &scanMode, size_t count, float &frequency)
 
virtual u_result getHealth (rplidar_response_device_health_t &health, _u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result getLidarConf (_u32 type, std::vector< _u8 > &outputBuf, const std::vector< _u8 > &reserve=std::vector< _u8 >(), _u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result getLidarSampleDuration (float &sampleDurationRes, _u16 scanModeID, _u32 timeoutInMs=DEFAULT_TIMEOUT)
 
virtual u_result getMaxDistance (float &maxDistance, _u16 scanModeID, _u32 timeoutInMs=DEFAULT_TIMEOUT)
 
virtual u_result getSampleDuration_uS (rplidar_response_sample_rate_t &rateInfo, _u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result getScanDataWithInterval (rplidar_response_measurement_node_t *nodebuffer, size_t &count)
 
virtual u_result getScanDataWithIntervalHq (rplidar_response_measurement_node_hq_t *nodebuffer, size_t &count)
 
virtual u_result getScanModeAnsType (_u8 &ansType, _u16 scanModeID, _u32 timeoutInMs=DEFAULT_TIMEOUT)
 
virtual u_result getScanModeCount (_u16 &modeCount, _u32 timeoutInMs=DEFAULT_TIMEOUT)
 
virtual u_result getScanModeName (char *modeName, _u16 scanModeID, _u32 timeoutInMs=DEFAULT_TIMEOUT)
 
virtual u_result getTypicalScanMode (_u16 &outMode, _u32 timeoutInMs=DEFAULT_TIMEOUT)
 
virtual u_result grabScanData (rplidar_response_measurement_node_t *nodebuffer, size_t &count, _u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result grabScanDataHq (rplidar_response_measurement_node_hq_t *nodebuffer, size_t &count, _u32 timeout=DEFAULT_TIMEOUT)
 
virtual bool isConnected ()
 
virtual u_result reset (_u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result setMotorPWM (_u16 pwm)
 
virtual u_result startMotor ()
 
virtual u_result startScan (bool force, bool useTypicalScan, _u32 options=0, RplidarScanMode *outUsedScanMode=NULL)
 
virtual u_result startScanExpress (bool force, _u16 scanMode, _u32 options=0, RplidarScanMode *outUsedScanMode=NULL, _u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result startScanNormal (bool force, _u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result stop (_u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result stopMotor ()
 
- Public Member Functions inherited from rp::standalone::rplidar::RPlidarDriver
u_result ascendScanData (rplidar_response_measurement_node_hq_t *nodebuffer, size_t count)
 
u_result checkMotorCtrlSupport (bool &support, _u32 timeout=DEFAULT_TIMEOUT)
 
u_result clearNetSerialRxCache ()
 
u_result connect (const char *path, _u32 portOrBaud, _u32 flag=0)
 
void disconnect ()
 Disconnect with the RPLIDAR and close the serial port. More...
 
u_result getAllSupportedScanModes (std::vector< RplidarScanMode > &outModes, _u32 timeoutInMs=DEFAULT_TIMEOUT)
 Get all scan modes that supported by lidar. More...
 
u_result getDeviceInfo (rplidar_response_device_info_t &info, _u32 timeout=DEFAULT_TIMEOUT)
 
u_result getDeviceMacAddr (_u8 *macAddrArray, _u32 timeoutInMs=DEFAULT_TIMEOUT)
 
u_result getHealth (rplidar_response_device_health_t &health, _u32 timeout=DEFAULT_TIMEOUT)
 
u_result getScanDataWithInterval (rplidar_response_measurement_node_t *nodebuffer, size_t &count)
 
u_result getScanDataWithIntervalHq (rplidar_response_measurement_node_hq_t *nodebuffer, size_t &count)
 
u_result getTypicalScanMode (_u16 &outMode, _u32 timeoutInMs=DEFAULT_TIMEOUT)
 Get typical scan mode of lidar. More...
 
u_result grabScanDataHq (rplidar_response_measurement_node_hq_t *nodebuffer, size_t &count, _u32 timeout=DEFAULT_TIMEOUT)
 
bool isConnected ()
 Returns TRUE when the connection has been established. More...
 
u_result reset (_u32 timeout=DEFAULT_TIMEOUT)
 
 RPlidarDriver (sl_u32 channelType)
 
u_result setLidarIpConf (const rplidar_ip_conf_t &conf, _u32 timeout=DEFAULT_TIMEOUT)
 
u_result setMotorPWM (_u16 pwm)
 
u_result startMotor ()
 Start RPLIDAR's motor when using accessory board. More...
 
u_result startScan (bool force, bool useTypicalScan, _u32 options=0, RplidarScanMode *outUsedScanMode=NULL)
 
u_result startScanExpress (bool force, _u16 scanMode, _u32 options=0, RplidarScanMode *outUsedScanMode=NULL, _u32 timeout=DEFAULT_TIMEOUT)
 
u_result stop (_u32 timeout=DEFAULT_TIMEOUT)
 
u_result stopMotor ()
 Stop RPLIDAR's motor when using accessory board. More...
 
virtual ~RPlidarDriver ()
 

Protected Member Functions

virtual u_result _cacheCapsuledScanData ()
 
virtual u_result _cacheScanData ()
 
virtual u_result _cacheUltraCapsuledScanData ()
 
virtual void _capsuleToNormal (const rplidar_response_capsule_measurement_nodes_t &capsule, rplidar_response_measurement_node_hq_t *nodebuffer, size_t &nodeCount)
 
void _disableDataGrabbing ()
 
virtual u_result _sendCommand (_u8 cmd, const void *payload=NULL, size_t payloadsize=0)
 
virtual void _ultraCapsuleToNormal (const rplidar_response_ultra_capsule_measurement_nodes_t &capsule, rplidar_response_measurement_node_hq_t *nodebuffer, size_t &nodeCount)
 
virtual u_result _waitCapsuledNode (rplidar_response_capsule_measurement_nodes_t &node, _u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result _waitNode (rplidar_response_measurement_node_t *node, _u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result _waitResponseHeader (rplidar_ans_header_t *header, _u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result _waitScanData (rplidar_response_measurement_node_t *nodebuffer, size_t &count, _u32 timeout=DEFAULT_TIMEOUT)
 
virtual u_result _waitUltraCapsuledNode (rplidar_response_ultra_capsule_measurement_nodes_t &node, _u32 timeout=DEFAULT_TIMEOUT)
 
 RPlidarDriverImplCommon ()
 
virtual ~RPlidarDriverImplCommon ()
 
- Protected Member Functions inherited from rp::standalone::rplidar::RPlidarDriver
 RPlidarDriver ()
 

Protected Attributes

rplidar_response_capsule_measurement_nodes_t _cached_previous_capsuledata
 
rplidar_response_ultra_capsule_measurement_nodes_t _cached_previous_ultracapsuledata
 
_u16 _cached_sampleduration_express
 
_u16 _cached_sampleduration_std
 
rplidar_response_measurement_node_hq_t _cached_scan_node_hq_buf [8192]
 
rplidar_response_measurement_node_hq_t _cached_scan_node_hq_buf_for_interval_retrieve [8192]
 
size_t _cached_scan_node_hq_count
 
size_t _cached_scan_node_hq_count_for_interval_retrieve
 
rp::hal::Thread _cachethread
 
rp::hal::Event _dataEvt
 
bool _is_previous_capsuledataRdy
 
bool _isConnected
 
bool _isScanning
 
bool _isSupportingMotorCtrl
 
rp::hal::Locker _lock
 

Additional Inherited Members

- Public Types inherited from rp::standalone::rplidar::RPlidarDriver
enum  { DEFAULT_TIMEOUT = 2000 }
 
enum  { MAX_SCAN_NODES = 8192 }
 
enum  { LEGACY_SAMPLE_DURATION = 476 }
 
- Static Public Member Functions inherited from rp::standalone::rplidar::RPlidarDriver
static RPlidarDriverCreateDriver (_u32 drivertype=CHANNEL_TYPE_SERIALPORT)
 
static void DisposeDriver (RPlidarDriver *drv)
 

Detailed Description

Definition at line 38 of file rplidar_driver_impl.h.

Constructor & Destructor Documentation

◆ RPlidarDriverImplCommon()

rp::standalone::rplidar::RPlidarDriverImplCommon::RPlidarDriverImplCommon ( )
protected

◆ ~RPlidarDriverImplCommon()

virtual rp::standalone::rplidar::RPlidarDriverImplCommon::~RPlidarDriverImplCommon ( )
inlineprotectedvirtual

Definition at line 120 of file rplidar_driver_impl.h.

Member Function Documentation

◆ _cacheCapsuledScanData()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::_cacheCapsuledScanData ( )
protectedvirtual

◆ _cacheScanData()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::_cacheScanData ( )
protectedvirtual

◆ _cacheUltraCapsuledScanData()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::_cacheUltraCapsuledScanData ( )
protectedvirtual

◆ _capsuleToNormal()

virtual void rp::standalone::rplidar::RPlidarDriverImplCommon::_capsuleToNormal ( const rplidar_response_capsule_measurement_nodes_t capsule,
rplidar_response_measurement_node_hq_t nodebuffer,
size_t &  nodeCount 
)
protectedvirtual

◆ _disableDataGrabbing()

void rp::standalone::rplidar::RPlidarDriverImplCommon::_disableDataGrabbing ( )
protected

◆ _sendCommand()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::_sendCommand ( _u8  cmd,
const void *  payload = NULL,
size_t  payloadsize = 0 
)
protectedvirtual

◆ _ultraCapsuleToNormal()

virtual void rp::standalone::rplidar::RPlidarDriverImplCommon::_ultraCapsuleToNormal ( const rplidar_response_ultra_capsule_measurement_nodes_t capsule,
rplidar_response_measurement_node_hq_t nodebuffer,
size_t &  nodeCount 
)
protectedvirtual

◆ _waitCapsuledNode()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::_waitCapsuledNode ( rplidar_response_capsule_measurement_nodes_t node,
_u32  timeout = DEFAULT_TIMEOUT 
)
protectedvirtual

◆ _waitNode()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::_waitNode ( rplidar_response_measurement_node_t node,
_u32  timeout = DEFAULT_TIMEOUT 
)
protectedvirtual

◆ _waitResponseHeader()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::_waitResponseHeader ( rplidar_ans_header_t header,
_u32  timeout = DEFAULT_TIMEOUT 
)
protectedvirtual

◆ _waitScanData()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::_waitScanData ( rplidar_response_measurement_node_t nodebuffer,
size_t &  count,
_u32  timeout = DEFAULT_TIMEOUT 
)
protectedvirtual

◆ _waitUltraCapsuledNode()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::_waitUltraCapsuledNode ( rplidar_response_ultra_capsule_measurement_nodes_t node,
_u32  timeout = DEFAULT_TIMEOUT 
)
protectedvirtual

◆ ascendScanData() [1/2]

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::ascendScanData ( rplidar_response_measurement_node_t nodebuffer,
size_t  count 
)
virtual

◆ ascendScanData() [2/2]

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::ascendScanData ( rplidar_response_measurement_node_hq_t nodebuffer,
size_t  count 
)
virtual

◆ checkExpressScanSupported()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::checkExpressScanSupported ( bool &  support,
_u32  timeout = DEFAULT_TIMEOUT 
)
virtual

◆ checkMotorCtrlSupport()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::checkMotorCtrlSupport ( bool &  support,
_u32  timeout = DEFAULT_TIMEOUT 
)
virtual

◆ checkSupportConfigCommands()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::checkSupportConfigCommands ( bool &  outSupport,
_u32  timeoutInMs = DEFAULT_TIMEOUT 
)
virtual

◆ getAllSupportedScanModes()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getAllSupportedScanModes ( std::vector< RplidarScanMode > &  outModes,
_u32  timeoutInMs = DEFAULT_TIMEOUT 
)
virtual

◆ getDeviceInfo()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getDeviceInfo ( rplidar_response_device_info_t info,
_u32  timeout = DEFAULT_TIMEOUT 
)
virtual

◆ getFrequency() [1/2]

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getFrequency ( bool  inExpressMode,
size_t  count,
float &  frequency,
bool &  is4kmode 
)
virtual

◆ getFrequency() [2/2]

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getFrequency ( const RplidarScanMode scanMode,
size_t  count,
float &  frequency 
)
virtual

◆ getHealth()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getHealth ( rplidar_response_device_health_t health,
_u32  timeout = DEFAULT_TIMEOUT 
)
virtual

◆ getLidarConf()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getLidarConf ( _u32  type,
std::vector< _u8 > &  outputBuf,
const std::vector< _u8 > &  reserve = std::vector< _u8 >(),
_u32  timeout = DEFAULT_TIMEOUT 
)
virtual

◆ getLidarSampleDuration()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getLidarSampleDuration ( float &  sampleDurationRes,
_u16  scanModeID,
_u32  timeoutInMs = DEFAULT_TIMEOUT 
)
virtual

◆ getMaxDistance()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getMaxDistance ( float &  maxDistance,
_u16  scanModeID,
_u32  timeoutInMs = DEFAULT_TIMEOUT 
)
virtual

◆ getSampleDuration_uS()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getSampleDuration_uS ( rplidar_response_sample_rate_t rateInfo,
_u32  timeout = DEFAULT_TIMEOUT 
)
virtual

◆ getScanDataWithInterval()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getScanDataWithInterval ( rplidar_response_measurement_node_t nodebuffer,
size_t &  count 
)
virtual

◆ getScanDataWithIntervalHq()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getScanDataWithIntervalHq ( rplidar_response_measurement_node_hq_t nodebuffer,
size_t &  count 
)
virtual

◆ getScanModeAnsType()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getScanModeAnsType ( _u8 ansType,
_u16  scanModeID,
_u32  timeoutInMs = DEFAULT_TIMEOUT 
)
virtual

◆ getScanModeCount()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getScanModeCount ( _u16 modeCount,
_u32  timeoutInMs = DEFAULT_TIMEOUT 
)
virtual

◆ getScanModeName()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getScanModeName ( char *  modeName,
_u16  scanModeID,
_u32  timeoutInMs = DEFAULT_TIMEOUT 
)
virtual

◆ getTypicalScanMode()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::getTypicalScanMode ( _u16 outMode,
_u32  timeoutInMs = DEFAULT_TIMEOUT 
)
virtual

◆ grabScanData()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::grabScanData ( rplidar_response_measurement_node_t nodebuffer,
size_t &  count,
_u32  timeout = DEFAULT_TIMEOUT 
)
virtual

◆ grabScanDataHq()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::grabScanDataHq ( rplidar_response_measurement_node_hq_t nodebuffer,
size_t &  count,
_u32  timeout = DEFAULT_TIMEOUT 
)
virtual

◆ isConnected()

virtual bool rp::standalone::rplidar::RPlidarDriverImplCommon::isConnected ( )
virtual

◆ reset()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::reset ( _u32  timeout = DEFAULT_TIMEOUT)
virtual

◆ setMotorPWM()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::setMotorPWM ( _u16  pwm)
virtual

◆ startMotor()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::startMotor ( )
virtual

◆ startScan()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::startScan ( bool  force,
bool  useTypicalScan,
_u32  options = 0,
RplidarScanMode outUsedScanMode = NULL 
)
virtual

◆ startScanExpress()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::startScanExpress ( bool  force,
_u16  scanMode,
_u32  options = 0,
RplidarScanMode outUsedScanMode = NULL,
_u32  timeout = DEFAULT_TIMEOUT 
)
virtual

◆ startScanNormal()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::startScanNormal ( bool  force,
_u32  timeout = DEFAULT_TIMEOUT 
)
virtual

◆ stop()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::stop ( _u32  timeout = DEFAULT_TIMEOUT)
virtual

◆ stopMotor()

virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::stopMotor ( )
virtual

Member Data Documentation

◆ _cached_previous_capsuledata

rplidar_response_capsule_measurement_nodes_t rp::standalone::rplidar::RPlidarDriverImplCommon::_cached_previous_capsuledata
protected

Definition at line 110 of file rplidar_driver_impl.h.

◆ _cached_previous_ultracapsuledata

rplidar_response_ultra_capsule_measurement_nodes_t rp::standalone::rplidar::RPlidarDriverImplCommon::_cached_previous_ultracapsuledata
protected

Definition at line 111 of file rplidar_driver_impl.h.

◆ _cached_sampleduration_express

_u16 rp::standalone::rplidar::RPlidarDriverImplCommon::_cached_sampleduration_express
protected

Definition at line 108 of file rplidar_driver_impl.h.

◆ _cached_sampleduration_std

_u16 rp::standalone::rplidar::RPlidarDriverImplCommon::_cached_sampleduration_std
protected

Definition at line 107 of file rplidar_driver_impl.h.

◆ _cached_scan_node_hq_buf

rplidar_response_measurement_node_hq_t rp::standalone::rplidar::RPlidarDriverImplCommon::_cached_scan_node_hq_buf[8192]
protected

Definition at line 101 of file rplidar_driver_impl.h.

◆ _cached_scan_node_hq_buf_for_interval_retrieve

rplidar_response_measurement_node_hq_t rp::standalone::rplidar::RPlidarDriverImplCommon::_cached_scan_node_hq_buf_for_interval_retrieve[8192]
protected

Definition at line 104 of file rplidar_driver_impl.h.

◆ _cached_scan_node_hq_count

size_t rp::standalone::rplidar::RPlidarDriverImplCommon::_cached_scan_node_hq_count
protected

Definition at line 102 of file rplidar_driver_impl.h.

◆ _cached_scan_node_hq_count_for_interval_retrieve

size_t rp::standalone::rplidar::RPlidarDriverImplCommon::_cached_scan_node_hq_count_for_interval_retrieve
protected

Definition at line 105 of file rplidar_driver_impl.h.

◆ _cachethread

rp::hal::Thread rp::standalone::rplidar::RPlidarDriverImplCommon::_cachethread
protected

Definition at line 116 of file rplidar_driver_impl.h.

◆ _dataEvt

rp::hal::Event rp::standalone::rplidar::RPlidarDriverImplCommon::_dataEvt
protected

Definition at line 115 of file rplidar_driver_impl.h.

◆ _is_previous_capsuledataRdy

bool rp::standalone::rplidar::RPlidarDriverImplCommon::_is_previous_capsuledataRdy
protected

Definition at line 112 of file rplidar_driver_impl.h.

◆ _isConnected

bool rp::standalone::rplidar::RPlidarDriverImplCommon::_isConnected
protected

Definition at line 97 of file rplidar_driver_impl.h.

◆ _isScanning

bool rp::standalone::rplidar::RPlidarDriverImplCommon::_isScanning
protected

Definition at line 98 of file rplidar_driver_impl.h.

◆ _isSupportingMotorCtrl

bool rp::standalone::rplidar::RPlidarDriverImplCommon::_isSupportingMotorCtrl
protected

Definition at line 99 of file rplidar_driver_impl.h.

◆ _lock

rp::hal::Locker rp::standalone::rplidar::RPlidarDriverImplCommon::_lock
protected

Definition at line 114 of file rplidar_driver_impl.h.


The documentation for this class was generated from the following file:


rplidar_ros
Author(s):
autogenerated on Tue Jun 13 2023 02:07:38