|
enum | { DEFAULT_TIMEOUT = 2000,
DEFAULT_HEART_BEAT = 1000,
MAX_SCAN_NODES = 2048,
DEFAULT_TIMEOUT_COUNT = 3
} |
|
enum | {
YDLIDAR_F4 = 1,
YDLIDAR_T1 = 2,
YDLIDAR_F2 = 3,
YDLIDAR_S4 = 4,
YDLIDAR_G4 = 5,
YDLIDAR_X4 = 6,
YDLIDAR_F4PRO = 6,
YDLIDAR_G4C = 9
} |
|
|
result_t | createThread () |
| 创建解析雷达数据线程
More...
|
|
result_t | startAutoScan (bool force=false, uint32_t timeout=DEFAULT_TIMEOUT) |
| 重新连接开启扫描
More...
|
|
result_t | waitPackage (node_info *node, uint32_t timeout=DEFAULT_TIMEOUT) |
| 解包激光数据
More...
|
|
result_t | waitScanData (node_info *nodebuffer, size_t &count, uint32_t timeout=DEFAULT_TIMEOUT) |
| 发送数据到雷达
More...
|
|
int | cacheScanData () |
| 激光数据解析线程
|
|
result_t | sendCommand (uint8_t cmd, const void *payload=NULL, size_t payloadsize=0) |
| 发送数据到雷达
More...
|
|
result_t | waitResponseHeader (lidar_ans_header *header, uint32_t timeout=DEFAULT_TIMEOUT) |
| 等待激光数据包头
More...
|
|
result_t | waitForData (size_t data_count, uint32_t timeout=DEFAULT_TIMEOUT, size_t *returned_size=NULL) |
| 等待固定数量串口数据
More...
|
|
result_t | getData (uint8_t *data, size_t size) |
| 获取串口数据
More...
|
|
result_t | sendData (const uint8_t *data, size_t size) |
| 串口发送数据
More...
|
|
void | disableDataGrabbing () |
| 关闭数据获取通道
|
|
void | setDTR () |
| 设置串口DTR
|
|
void | clearDTR () |
| 清除串口DTR
|
|
Enumerator |
---|
DEFAULT_TIMEOUT |
默认超时时间.
|
DEFAULT_HEART_BEAT |
默认检测掉电功能时间.
|
MAX_SCAN_NODES |
最大扫描点数.
|
Enumerator |
---|
YDLIDAR_F4 |
F4雷达型号代号.
|
YDLIDAR_T1 |
T1雷达型号代号.
|
YDLIDAR_F2 |
F2雷达型号代号.
|
YDLIDAR_S4 |
S4雷达型号代号.
|
YDLIDAR_G4 |
G4雷达型号代号.
|
YDLIDAR_X4 |
X4雷达型号代号.
|
YDLIDAR_F4PRO |
F4PRO雷达型号代号.
|
YDLIDAR_G4C |
G4C雷达型号代号.
|
ydlidar::YDlidarDriver::YDlidarDriver |
( |
| ) |
|
A constructor. A more elaborate description of the constructor.
ydlidar::YDlidarDriver::~YDlidarDriver |
( |
| ) |
|
|
virtual |
A destructor. A more elaborate description of the destructor.
result_t ydlidar::YDlidarDriver::ascendScanData |
( |
node_info * |
nodebuffer, |
|
|
size_t |
count |
|
) |
| |
补偿激光角度
把角度限制在0到360度之间
- Parameters
-
[in] | nodebuffer | 激光点信息 |
[in] | count | 一圈激光点数 |
- Returns
- 返回执行结果
- Return values
-
RESULT_OK | 成功 |
RESULT_FAILE | 失败 |
- Note
- 补偿之前,必须使用::grabScanData函数获取激光数据成功
result_t ydlidar::YDlidarDriver::connect |
( |
const char * |
port_path, |
|
|
uint32_t |
baudrate |
|
) |
| |
连接雷达
连接成功后,必须使用::disconnect函数关闭
- Parameters
-
[in] | port_path | 串口号 |
[in] | fileMode | 波特率,YDLIDAR雷达有以下几个波特率: 115200 S2 |
- Returns
- 返回连接状态
- Return values
-
- Note
- 连接成功后,必须使用::disconnect函数关闭
- See also
- 函数::YDlidarDriver::disconnect (“::”是指定有连接功能,可以看文档里的disconnect变成绿,点击它可以跳转到disconnect.)
result_t ydlidar::YDlidarDriver::createThread |
( |
| ) |
|
|
protected |
创建解析雷达数据线程
- Note
- 创建解析雷达数据线程之前,必须使用::startScan函数开启扫图成功
result_t ydlidar::YDlidarDriver::getData |
( |
uint8_t * |
data, |
|
|
size_t |
size |
|
) |
| |
|
protected |
获取串口数据
- Parameters
-
[in] | data | 数据指针 |
[in] | size | 数据大小 |
- Returns
- 返回执行结果
- Return values
-
RESULT_OK | 获取成功 |
RESULT_FAILE | 获取失败 |
uint32_t ydlidar::YDlidarDriver::getPointTime |
( |
| ) |
const |
std::string ydlidar::YDlidarDriver::getSDKVersion |
( |
| ) |
|
|
static |
获取当前SDK版本号
静态函数
- Returns
- 返回当前SKD 版本号
result_t ydlidar::YDlidarDriver::grabScanData |
( |
node_info * |
nodebuffer, |
|
|
size_t & |
count, |
|
|
uint32_t |
timeout = DEFAULT_TIMEOUT |
|
) |
| |
获取激光数据
- Parameters
-
[in] | nodebuffer | 激光点信息 |
[in] | count | 一圈激光点数 |
[in] | timeout | 超时时间 |
- Returns
- 返回执行结果
- Return values
-
RESULT_OK | 获取成功 |
RESULT_FAILE | 获取失败 |
- Note
- 获取之前,必须使用::startScan函数开启扫描
bool ydlidar::YDlidarDriver::isConnected |
( |
| ) |
const |
连接雷达状态
- Returns
- 返回连接状态
- Return values
-
bool ydlidar::YDlidarDriver::isScanning |
( |
| ) |
const |
std::map< std::string, std::string > ydlidar::YDlidarDriver::lidarPortList |
( |
| ) |
|
|
static |
获取雷达列表 静态函数
- Returns
- map:第一个参数是雷达别名, 第二个参数是当前串口号
result_t ydlidar::YDlidarDriver::sendCommand |
( |
uint8_t |
cmd, |
|
|
const void * |
payload = NULL , |
|
|
size_t |
payloadsize = 0 |
|
) |
| |
|
protected |
发送数据到雷达
- Parameters
-
[in] | cmd | 命名码 |
[in] | payload | payload |
[in] | payloadsize | payloadsize |
- Returns
- 返回执行结果
- Return values
-
RESULT_OK | 成功 |
RESULT_FAILE | 失败 |
result_t ydlidar::YDlidarDriver::sendData |
( |
const uint8_t * |
data, |
|
|
size_t |
size |
|
) |
| |
|
protected |
串口发送数据
- Parameters
-
[in] | data | 发送数据指针 |
[in] | size | 数据大小 |
- Returns
- 返回执行结果
- Return values
-
RESULT_OK | 发送成功 |
RESULT_FAILE | 发送失败 |
void ydlidar::YDlidarDriver::setAutoReconnect |
( |
const bool & |
enable | ) |
|
设置雷达异常自动重新连接
- Parameters
-
[in] | enable | 是否开启自动重连: true 开启 false 关闭 |
result_t ydlidar::YDlidarDriver::startAutoScan |
( |
bool |
force = false , |
|
|
uint32_t |
timeout = DEFAULT_TIMEOUT |
|
) |
| |
|
protected |
重新连接开启扫描
- Parameters
-
[in] | force | 扫描模式 |
[in] | timeout | 超时时间 |
- Returns
- 返回执行结果
- Return values
-
RESULT_OK | 开启成功 |
RESULT_FAILE | 开启失败 |
- Note
- sdk 自动重新连接调用
result_t ydlidar::YDlidarDriver::startMotor |
( |
| ) |
|
打开电机
- Returns
- 返回执行结果
- Return values
-
RESULT_OK | 成功 |
RESULT_FAILE | 失败 |
result_t ydlidar::YDlidarDriver::startScan |
( |
bool |
force = false , |
|
|
uint32_t |
timeout = DEFAULT_TIMEOUT |
|
) |
| |
开启扫描
- Parameters
-
[in] | force | 扫描模式 |
[in] | timeout | 超时时间 |
- Returns
- 返回执行结果
- Return values
-
RESULT_OK | 开启成功 |
RESULT_FAILE | 开启失败 |
- Note
- 只用开启一次成功即可
result_t ydlidar::YDlidarDriver::stop |
( |
| ) |
|
关闭扫描
- Returns
- 返回执行结果
- Return values
-
RESULT_OK | 关闭成功 |
RESULT_FAILE | 关闭失败 |
result_t ydlidar::YDlidarDriver::stopMotor |
( |
| ) |
|
关闭电机
- Returns
- 返回执行结果
- Return values
-
RESULT_OK | 成功 |
RESULT_FAILE | 失败 |
result_t ydlidar::YDlidarDriver::waitForData |
( |
size_t |
data_count, |
|
|
uint32_t |
timeout = DEFAULT_TIMEOUT , |
|
|
size_t * |
returned_size = NULL |
|
) |
| |
|
protected |
等待固定数量串口数据
- Parameters
-
[in] | data_count | 等待数据大小 |
[in] | timeout | 等待时间 |
[in] | returned_size | 实际数据大小 |
- Returns
- 返回执行结果
- Return values
-
RESULT_OK | 获取成功 |
RESULT_TIMEOUT | 等待超时 |
RESULT_FAILE | 获取失败 |
- Note
- 当timeout = -1 时, 将一直等待
解包激光数据
- Parameters
-
[in] | node | 解包后激光点信息 |
[in] | timeout | 超时时间 |
等待激光数据包头
- Parameters
-
[in] | header | 包头 |
[in] | timeout | 超时时间 |
- Returns
- 返回执行结果
- Return values
-
RESULT_OK | 获取成功 |
RESULT_TIMEOUT | 等待超时 |
RESULT_FAILE | 获取失败 |
- Note
- 当timeout = -1 时, 将一直等待
result_t ydlidar::YDlidarDriver::waitScanData |
( |
node_info * |
nodebuffer, |
|
|
size_t & |
count, |
|
|
uint32_t |
timeout = DEFAULT_TIMEOUT |
|
) |
| |
|
protected |
发送数据到雷达
- Parameters
-
[in] | nodebuffer | 激光信息指针 |
[in] | count | 激光点数大小 |
[in] | timeout | 超时时间 |
- Returns
- 返回执行结果
- Return values
-
RESULT_OK | 成功 |
RESULT_TIMEOUT | 等待超时 |
RESULT_FAILE | 失败 |
The documentation for this class was generated from the following files:
- /home/yang/gitlab/sdk/include/ydlidar_driver.h
- /home/yang/gitlab/sdk/src/ydlidar_driver.cpp