How Can We Help?
Read and retrieve data from a TF-Luna LiDAR distance sensor via the ACE’s RS232/485 port
Here, we are going to see how to extract data from a HEXA frame. An example with a LiDAR sensor
This radar has a TTL serial output. A TTL to RS232 converter will need to be added to connect it to an ACE RS232.
Data and its analysis
This LiDAR send by default every 10 ms this data frame:
- Dist: Distance in cm
- Amp: Signal strength indicator
- Temp: Celsius temperature = Temp / 8 – 256℃
In this example, we will see how to extract the data Dist Amp Temp position 2 to 7 in the data frame.
Example for Dist:
The data is composed of 2 bytes, position 2 and 3.
For a distance of 157 cm, we receive this data : 59599D003C07780913. We want to extract the value in bold: 9D 00
If we apply the weight to the MSB: [ 157 ] + [0 * 256 ] = 157, the number we want as result! If the distance was 587, it would be : [ 75 ] + [2 * 256 ] = 587 The first start code of the data frame is 59 in HEXA = 89 in DECIMAL |
Data analysis on PC with the realterm software |
vBuilder: Listen the ACE serial port
- listens to the serial port waiting to receive the “Start Character” 89 (59 in HEXA)
- counts the number of bytes received
- stores the data frame in the receive array RX[ ], of a length determined by the number of bits received Bytes Received
- Minimum Break determines the minimum silence time to be taken into account in order to consider that the whole frame has been received (Time between 2 frames)
Check the data frame
After receive the data frame, we can check if the 1st and 2nd character are 89
If this is correct, we can move on to step 2.
Calcul each value, Dist, Amp and Temp
Temp : Température Celsius = Temp / 8 – 256℃
Try the subroutine
You can download the program Here