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 141 virtual bool open() = 0;
146 virtual void close() = 0;
151 virtual void flush() = 0;
160 virtual bool waitForData(
size_t size, sl_u32 timeoutInMs = -1,
size_t* actualReady =
nullptr) = 0;
168 virtual int write(
const void*
data,
size_t size) = 0;
176 virtual int read(
void* buffer,
size_t size) = 0;
181 virtual void clearReadCache() = 0;
196 virtual void setDTR(
bool dtr) = 0;
269 virtual void disconnect() = 0;
274 virtual bool isConnected() = 0;
279 DEFAULT_TIMEOUT = 2000
287 virtual sl_result reset(sl_u32 timeoutInMs = DEFAULT_TIMEOUT) = 0;
290 virtual sl_result getAllSupportedScanModes(std::vector<LidarScanMode>& outModes, sl_u32 timeoutInMs = DEFAULT_TIMEOUT) = 0;
293 virtual sl_result getTypicalScanMode(sl_u16& outMode, sl_u32 timeoutInMs = DEFAULT_TIMEOUT) = 0;
301 virtual sl_result startScan(
bool force,
bool useTypicalScan, sl_u32 options = 0,
LidarScanMode* outUsedScanMode =
nullptr) = 0;
309 virtual sl_result startScanExpress(
bool force, sl_u16 scanMode, sl_u32 options = 0,
LidarScanMode* outUsedScanMode =
nullptr, sl_u32 timeout = DEFAULT_TIMEOUT) = 0;
317 virtual sl_result getHealth(sl_lidar_response_device_health_t& health, sl_u32 timeout = DEFAULT_TIMEOUT) = 0;
323 virtual sl_result getDeviceInfo(sl_lidar_response_device_info_t& info, sl_u32 timeout = DEFAULT_TIMEOUT) = 0;
345 virtual sl_result setLidarIpConf(
const sl_lidar_ip_conf_t& conf, sl_u32 timeout = DEFAULT_TIMEOUT) = 0;
350 virtual sl_result getDeviceMacAddr(sl_u8* macAddrArray, sl_u32 timeoutInMs = DEFAULT_TIMEOUT) = 0;
355 virtual sl_result stop(sl_u32 timeout = DEFAULT_TIMEOUT) = 0;
414 virtual sl_result negotiateSerialBaudRate(sl_u32 requiredBaudRate, sl_u32* baudRateDetected = NULL) = 0;
Result< IChannel * > createUdpChannel(const std::string &ip, int port)
virtual ~ISerialPortChannel()
MotorCtrlSupport motorCtrlSupport
Result< ILidarDriver * > createLidarDriver()
#define DEFAULT_MOTOR_SPEED
Result< IChannel * > createSerialPortChannel(const std::string &device, int baudrate)
Result< IChannel * > createTcpChannel(const std::string &ip, int port)