garmin / LIDARLite_ANT_Library

Libraries and examples to reprogram the LIDAR-Lite v4 LED with custom system on chip applications
Apache License 2.0
8 stars 1 forks source link

Garmin LIDAR-Lite v4 consistently resets without logging any errors after ~60 seconds #2

Open lindemer opened 4 years ago

lindemer commented 4 years ago

I am running an OpenThread application on the LIDAR-Lite v4. This application works completely as expected and without errors on the nRF52840 DK. When I run it on the Garmin device, it consistently resets without logging any errors after about 60 seconds of operation, which is incredibly difficult to debug. It appears to me that there is a conflict between the peripherals required by the sensor driver and the ones required by OpenThread. Can someone please provide me with a complete list of peripherals used by the sensor library?

The only hint available is in this repository on line 36 of lidar_lite_interface.h: TIMER1 is being accessed through register writes. NOTE: If timers are going to be used by third parties TIMER1 cannot be used. What does this mean? Does the SoC communicate with the FPGA via TIMER1? If that's the case then it should have been clearly stated somewhere, because it breaks the 802.15.4 driver in the Nordic Semiconductor SDK.

jmseitz commented 3 years ago

The TIMER1 peripheral is used by the ANT Library so it cannot be used in your application.

The ANT Library is based on a SoftDevice. Please refer to the section 7 in the following document for SOC resource requirements for peripherals that are occupied by the SoftDevice.

https://www.thisisant.com/assets/resources/Stack%20Documents/S332_SDS_v2.0.pdf

The ANT Library also uses TIMER1, I2C, SPI, SAADC, and PPI resources.