We’ve purchased approximately 10 of the LIDAR-Lite v4s. Unfortunately, two of them have failed in a similar fashion. They work properly up to approximately 3 m, but then beyond that distance, they fail by erroneously returning short distances, typically less than 1 m.
For example, when I point a good unit at the open sky it returns 7-10 m. When I point a failed unit at the same sky I get small values. Here is a snippet of the returned data from a failed unit when it is pointed at the sky (units of meters).
0.118, 0.77, 0.73, 0.71, 0.70, 0.74, 0.79, 0.76, 0.85, 0.118, 0.10, 0.11, 0.14, 0.61,
Is this a known issue?
Anyone have ideas for work arounds?
Weird - just to confirm, you are testing these individually with the same setup? Are they daisy-chained? Also, which sketch are you using? (default here https://github.com/garmin/LIDARLite_Ard … /v4LED.ino)
If you are familiar with control registers maybe it would help to perform a factory reset https://static.garmin.com/pumac/LIDAR-L … _EN-US.pdf (page 7, but 4-7 useful)
Correct, the lidars are being individually tested with the same setup (not daisy-chained).
The v4LED.ino link you provided is from the Garmin repo, but I’m using the default example in the Sparkfun repo https://github.com/sparkfun/SparkFun_LI … etDistance. There are definitely some differences between the libraries, for example, the read functions are incompatible
// Sparkfun
void LIDARLite_v4LED::read(uint8_t regAddr, uint8_t *dataBytes, uint8_t numBytes)
// Garmin
void LIDARLite_v4LED::read(uint8_t regAddr, uint8_t *dataBytes, uint8_t numBytes, uint8_t lidarliteAddress)
I ran into some trouble getting the Garmin library to work on my Artemis Nano, but the Sparkfun one works great.
Regarding reseting to the factory settings, I’m working on reading/writing registers now. I’ll ping this thread if anything comes of it.
So, the difference in the libraries is whether or not it has the SparkFun Qwiic board attached; no board = use garmin, Sparkfun breakout board = use ours
Guessing it’s working now