1 #ifndef YDLIDAR_DRIVER_H 2 #define YDLIDAR_DRIVER_H 8 #include "ydlidar_protocol.h" 10 #if !defined(__cplusplus) 12 #error "The YDLIDAR SDK requires a C++ compiler to be built" 47 result_t connect(
const char *port_path, uint32_t baudrate);
59 static std::string getSDKVersion();
66 static std::map<std::string, std::string> lidarPortList();
74 bool isConnected()
const;
80 bool isScanning()
const;
86 uint32_t getPointTime()
const;
94 void setAutoReconnect(
const bool &enable);
106 result_t startScan(
bool force =
false, uint32_t timeout = DEFAULT_TIMEOUT) ;
127 result_t grabScanData(
node_info *nodebuffer,
size_t &count,
128 uint32_t timeout = DEFAULT_TIMEOUT) ;
141 result_t ascendScanData(
node_info *nodebuffer,
size_t count);
149 result_t startMotor();
157 result_t stopMotor();
170 result_t createThread();
182 result_t startAutoScan(
bool force =
false, uint32_t timeout = DEFAULT_TIMEOUT) ;
190 result_t waitPackage(
node_info *node, uint32_t timeout = DEFAULT_TIMEOUT);
202 result_t waitScanData(
node_info *nodebuffer,
size_t &count,
203 uint32_t timeout = DEFAULT_TIMEOUT);
219 result_t sendCommand(uint8_t cmd,
const void *payload = NULL,
220 size_t payloadsize = 0);
233 uint32_t timeout = DEFAULT_TIMEOUT);
246 result_t waitForData(
size_t data_count, uint32_t timeout = DEFAULT_TIMEOUT,
247 size_t *returned_size = NULL);
257 result_t getData(uint8_t *data,
size_t size);
267 result_t sendData(
const uint8_t *data,
size_t size);
272 void disableDataGrabbing();
293 DEFAULT_TIMEOUT = 2000,
294 DEFAULT_HEART_BEAT = 1000,
295 MAX_SCAN_NODES = 2048,
296 DEFAULT_TIMEOUT_COUNT = 3,
320 float IntervalSampleAngle;
321 float IntervalSampleAngle_LastPackage;
322 int PackageSampleBytes;
323 bool isSupportMotorCtrl;
326 uint32_t m_pointTime;
327 uint32_t trans_delay;
328 uint16_t package_Sample_Index;
329 uint16_t FirstSampleAngle;
330 uint16_t LastSampleAngle;
332 uint16_t CheckSumCal;
333 uint16_t SampleNumlAndCTCal;
334 uint16_t LastSampleAngleCal;
337 std::string serial_port;
342 #endif // YDLIDAR_DRIVER_H size_t scan_node_count
激光点数
Definition: ydlidar_driver.h:310
Definition: v8stdint.h:199
Event _dataEvent
数据同步事件
Definition: ydlidar_driver.h:311
Thread _thread
线程id
Definition: ydlidar_driver.h:314
Locker _lock
线程锁
Definition: ydlidar_driver.h:312
Locker _serial_lock
串口锁
Definition: ydlidar_driver.h:313
bool m_isConnected
串口连接状体
Definition: ydlidar_driver.h:286
bool isAutoconnting
是否正在自动连接中
Definition: ydlidar_driver.h:289
bool isAutoReconnect
异常自动从新连接
Definition: ydlidar_driver.h:288
Definition: ydlidar_driver.h:21
bool m_isScanning
扫图状态
Definition: ydlidar_driver.h:287
Definition: ydlidar_protocol.h:15
Definition: ydlidar_protocol.h:39