Files
BQP/srcs/RobotNet10/RobotApp/Communication/Olei.LidarSensor/README.md
2026-07-13 09:25:40 +07:00

62 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LR-1F / LR-1BS
# 2D LiDAR Sensor
# Communication Data Protocol
**v2.1**
## 1. Type of Connector
**1.1** Connector: RJ-45 standard internet connector
**1.2** Basic protocol: UDP/IP standard internet protocol
Data are in **little-endian** format, lower byte first
---
## 2. Data Packet Format
### 2.1. General
The total length of a data frame is **1240 bytes**, including:
- Frame header: **40 bytes**
- Data block: **150 × 8 = 1,200 bytes**
Header Block0 Block1 ... Block149
+40 bytes +8 bytes +8 bytes +8 bytes
└───────────────────────────────┘
1200 bytes
┌───────────────────────────────┐
1240 bytes total
### 2.2. Header
**Definition of Frame Header**
| Offset | Length | Description |
|--------|--------|-------------------------------------------------------------------------------------------------------|
| 0 | 4 | ID, it is always `0xFEF0010F` |
| 4 | 2 | Protocol version code, the current code is `0x0200` |
| 6 | 1 | Distance scale<br>distance = readout data × distance scale |
| 7 | 3 | Brand name code, use capital letters and digits. Using "0" for missing code |
| 10 | 12 | Commercial type code: ended with `\0` |
| 22 | 2 | Internal type code |
| 24 | 2 | Hardware version |
| 26 | 2 | Software version |
| 28 | 4 | **Time stamp**<br>• When NTP is **OFF**: Unit ms. represents the number of milliseconds after power-on<br>• When NTP is **ON**: Represents the fractional part of a timestamp in NTP64 format. |
| 32 | 2 | **Bit[14:0]**: Rotation rate<br>**Bit[15]**: Rotation direction (0: clockwise, 1: counter clockwise) |
| 34 | 1 | Safe zone status, same as the hardware INPUT/OUTPUT<br>**BIT[3:0]**: Same as OUTPUT[3:0]<br>**BIT[7:4]**: Same as INPUT[3:0] |
| 35 | 1 | **Error status**. A corresponding bit of "1" indicates an error<br>• BIT0: Motor fault<br>• BIT1: Abnormal voltage<br>• BIT2: Temperature fault |
| 36 | 4 | • When NTP is **OFF**: Reserved<br>• When NTP is **ON**: Represents the integer part of a timestamp in NTP64 format. |
### 2.3. Data block definition
Each data block is **8 bytes**
| Offset | Length | Description |
|--------|--------|-------------------------------------------------------------------------------------------------------|
| 0 | 2 | **Angle**, unsigned integer. Range: 0~35999<br>Unit: 0.01°/LSB, range 0° ~ 359.99°<br>**Note**: Data block is invalid if this value is greater or equal than `0xFF00` |
| 2 | 2 | **Distance readout data**, unsigned integer<br>Actual distance = readout data × distance scale |
| 4 | 2 | **Signal strength**, indicates the strength of the received signal, range 0~65535 |
| 6 | 2 | Reserved (TBD) |
---