Hello,
I purchased a Navigator after seeing the navigator-lib was available, assuming I could run a vanilla setup with no containers or extraneous backend software, and just leverage the hardware. I have experimented with different operating systems trying to get the overlays working, and settled on using the default image, and was going to strip out things I don’t want running. On this image, I had the navigator board working just fine, and I followed the instructions to setup the SITL configuration to run the library. Everything was working. I then went to remove the docker containers, and now nothing in the navigator-lib works. Previously, I would kill the docker containers while I was in the Raspberry Pi, and I was able to run the same programs just fine, where I thought it was okay to remove them.
I can interface with i2c devices, but now I cannot even initialize the board (i.e. navigator.init()). Is navigator-lib dependent on a docker container setup or something else that it configures at runtime? I’ve rebooted several times, and every time I run the Python examples or C++ examples (which compile fine), it says that a resource is busy/unavailable. Can someone explain what is going on under the hood? I purchased this board and wanted to employ it on several custom vehicles, but it doesn’t seem very reliable so far. After I would turn on SITL / turn off ArduPilot, it was randomly turning on sometime later and after reboot. There were several other forum posts relating to similar topics, but it doesn’t seem like the core questions have been answered.
The error is on lib.rs 313 during CS2 export. I can manually flip the registers with raspi-gpio, but I cannot change GPIO 16 by exporting the pins via “echo 16 > /sys/class/gpio/export”. With this, I get a “device or resource busy error”
➜ python git:(master) ✗ python3 rainbow.py
thread '<unnamed>' panicked at 'Error: Error during CS2 export: Io(Os { code: 16, kind: ResourceBusy, message: "Device or resource busy" })', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/navigator-rs-0.3.1/src/lib.rs:313:23
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Traceback (most recent call last):
File "/home/pi/navigator-lib/examples/python/rainbow.py", line 33, in <module>
main()
File "/home/pi/navigator-lib/examples/python/rainbow.py", line 21, in main
navigator.init()
pyo3_runtime.PanicException: Error: Error during CS2 export: Io(Os { code: 16, kind: ResourceBusy, message: "Device or resource busy" })
I would like to use just the board as a pi-hat with as little overhead as possible - I do not want containers running, BlueOS running, and I would like for it to boot up reliably without any unpredictable behavior. Once more, the only difference was before and after I deleted the docker containers locally and rebooted.