Livox-SDK / Livox-SDK2

Drivers for receiving LiDAR data and controlling lidar, support Lidar HAP and Mid-360.
Other
114 stars 73 forks source link

[mid360+pps+gprmc] repeating missing pointcloud packets for 40.0 sec in a 100.0s period #78

Closed YikangZhang1641 closed 4 months ago

YikangZhang1641 commented 4 months ago

Solved. Caused by illegal GPRMC msg. Nothing wrong with Mid360.


This happends frequently:

45

Before time 45.485, everything's OK. 10Hz Pointcloud and 200Hz IMU are well synchronized. Something happens. After time 45.491, no Pointcloud but only IMU packets are transferred.

Pointcloud packets are resumed at time 85.484 85

With no hardware changed, the Lidar would be muted for exact 40s and awake for 60s, and then repeats in the next 100s loop:

At time 145.495, pointclouds start to be missing again 145

until 185.488 185

miss at 245.495 245

resume at 285.493 285

With the PPS/GPRMC cable disconnected, "Time Sync Type" is still "GPS Sync", but everything's fine and continuous. However, if reconnected afterwards, pointclouds would be stuck again much longer, sometimes freeze forever.

YikangZhang1641 commented 4 months ago

Anyone who came from https://github.com/sheng00125/LIV_handhold or https://gitee.com/gwmunan/fast-livo_-reproduction trying to set hardware trigger might face the same problem. The original GPRMC generating code in Timer.c might work for AVIA but definitely not for mid360. Checksum should be added and global time should be "hhmmss.00" format instead of second counts.