Go to the documentation of this file.
35 #error "The Slamtec LIDAR SDK requires a C++ compiler to be built"
44 #define DEPRECATED(func) func __attribute__ ((deprecated))
45 #elif defined(_MSC_VER)
46 #define DEPRECATED(func) __declspec(deprecated) func
48 #pragma message("WARNING: You need to implement DEPRECATED for this compiler")
49 #define DEPRECATED(func) func
61 #define DEPRECATED_WARN(fn, replacement) do { \
62 static bool __shown__ = false; \
64 printDeprecationWarn(fn, replacement); \
113 operator bool()
const
180 virtual bool open() = 0;
185 virtual void close() = 0;
190 virtual void flush() = 0;
199 virtual bool waitForData(
size_t size, sl_u32 timeoutInMs = -1,
size_t* actualReady =
nullptr) = 0;
227 virtual int read(
void* buffer,
size_t size) = 0;
249 virtual void setDTR(
bool dtr) = 0;
virtual bool waitForData(size_t size, sl_u32 timeoutInMs=-1, size_t *actualReady=nullptr)=0
virtual LIDARMajorType getLIDARMajorType(const sl_lidar_response_device_info_t *devInfo=nullptr)=0
virtual sl_result stop(sl_u32 timeout=DEFAULT_TIMEOUT)=0
@ LIDAR_MAJOR_TYPE_S_SERIES
@ LIDAR_MAJOR_TYPE_A_SERIES
virtual sl_result setMotorSpeed(sl_u16 speed=DEFAULT_MOTOR_SPEED)=0
virtual sl_result getScanDataWithIntervalHq(sl_lidar_response_measurement_node_hq_t *nodebuffer, size_t &count)=0
@ LIDAR_MAJOR_TYPE_T_SERIES
LIDARInterfaceType native_interface_type
virtual sl_result getDeviceMacAddr(sl_u8 *macAddrArray, sl_u32 timeoutInMs=DEFAULT_TIMEOUT)=0
MotorCtrlSupport motorCtrlSupport
virtual sl_result getTypicalScanMode(sl_u16 &outMode, sl_u32 timeoutInMs=DEFAULT_TIMEOUT)=0
Get typical scan mode of lidar.
virtual sl_result connect(IChannel *channel)=0
virtual sl_result ascendScanData(sl_lidar_response_measurement_node_hq_t *nodebuffer, size_t count)=0
virtual sl_result grabScanDataHq(sl_lidar_response_measurement_node_hq_t *nodebuffer, size_t &count, sl_u32 timeout=DEFAULT_TIMEOUT)=0
virtual ~ISerialPortChannel()
virtual sl_result negotiateSerialBaudRate(sl_u32 requiredBaudRate, sl_u32 *baudRateDetected=NULL)=0
Result< IChannel * > createSerialPortChannel(const std::string &device, int baudrate)
virtual void disconnect()=0
@ LIDAR_INTERFACE_ETHERNET
virtual sl_result waitForDataExt(size_t &size_hint, sl_u32 timeoutInMs=1000)=0
Result< IChannel * > createTcpChannel(const std::string &ip, int port)
@ LIDAR_INTERFACE_UNKNOWN
virtual sl_result getAllSupportedScanModes(std::vector< LidarScanMode > &outModes, sl_u32 timeoutInMs=DEFAULT_TIMEOUT)=0
Get all scan modes that supported by lidar.
virtual sl_result getHealth(sl_lidar_response_device_health_t &health, sl_u32 timeout=DEFAULT_TIMEOUT)=0
virtual sl_result grabScanDataHqWithTimeStamp(sl_lidar_response_measurement_node_hq_t *nodebuffer, size_t &count, sl_u64 ×tamp_uS, sl_u32 timeout=DEFAULT_TIMEOUT)=0
virtual sl_result getFrequency(const LidarScanMode &scanMode, const sl_lidar_response_measurement_node_hq_t *nodes, size_t count, float &frequency)=0
@ CHANNEL_TYPE_SERIALPORT
virtual bool isConnected()=0
virtual int read(void *buffer, size_t size)=0
@ LIDAR_MAJOR_TYPE_M_SERIES
virtual sl_result getMotorInfo(LidarMotorInfo &motorInfo, sl_u32 timeoutInMs=DEFAULT_TIMEOUT)=0
virtual LIDARTechnologyType getLIDARTechnologyType(const sl_lidar_response_device_info_t *devInfo=nullptr)=0
virtual sl_result startScanExpress(bool force, sl_u16 scanMode, sl_u32 options=0, LidarScanMode *outUsedScanMode=nullptr, sl_u32 timeout=DEFAULT_TIMEOUT)=0
Result< IChannel * > createUdpChannel(const std::string &ip, int port)
@ LIDAR_MAJOR_TYPE_UNKNOWN
virtual sl_result checkMotorCtrlSupport(MotorCtrlSupport &motorCtrlSupport, sl_u32 timeout=DEFAULT_TIMEOUT)=0
virtual sl_result startScan(bool force, bool useTypicalScan, sl_u32 options=0, LidarScanMode *outUsedScanMode=nullptr)=0
virtual int write(const void *data, size_t size)=0
@ LIDAR_TECHNOLOGY_TRIANGULATION
virtual sl_result getModelNameDescriptionString(std::string &out_description, bool fetchAliasName=true, const sl_lidar_response_device_info_t *devInfo=nullptr, sl_u32 timeout=DEFAULT_TIMEOUT)=0
virtual sl_result setLidarIpConf(const sl_lidar_ip_conf_t &conf, sl_u32 timeout=DEFAULT_TIMEOUT)=0
virtual int getChannelType()=0
Result< ILidarDriver * > createLidarDriver()
virtual sl_result getDeviceInfo(sl_lidar_response_device_info_t &info, sl_u32 timeout=DEFAULT_TIMEOUT)=0
sl_u32 sample_duration_uS
virtual void clearReadCache()=0
@ LIDAR_TECHNOLOGY_UNKNOWN
virtual sl_result reset(sl_u32 timeoutInMs=DEFAULT_TIMEOUT)=0
virtual void setDTR(bool dtr)=0
bool native_timestamp_support
#define DEFAULT_MOTOR_SPEED
virtual sl_result getLidarIpConf(sl_lidar_ip_conf_t &conf, sl_u32 timeout=DEFAULT_TIMEOUT)=0
@ LIDAR_MAJOR_TYPE_C_SERIES
rplidar_ros
Author(s):
autogenerated on Fri Aug 2 2024 08:42:14