Navigator lib on Rasbian aarch64 not running

Hi there,
I’m trying to run the navigator lib on a raspberry pi 4 without using BlueOS. The raspberry is running a 64bit architecture and after installing the newest raspi OS I already reverted back to the recommended one, as described in Downgrading BlueOs Kernel.

I also followed the last step described in the ReadMe.

I build the simple .cpp with this command: cmake -B build -DCMAKE_BUILD_TYPE=Debug && cmake --build build --config Debug --parallel

However when running the simple.cpp I get the following error message:

Navigator C test, system details:
System is Linux on aarch64 hardware
OS Release is 5.10.33-v8+
OS Version is #1415 SMP PREEMPT Fri Apr 30 15:53:26 BST 2021
Initiating navigator module.
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" })', /home/auv/.cargo/registry/src/index.crates.io-6f17d22bba15001f/navigator-rs-0.4.0/src/lib.rs:280:45
stack backtrace:
   0: rust_begin_unwind
             at /rustc/c373194cb6d882dc455a588bcc29c92a96b50252/library/std/src/panicking.rs:578:5
   1: core::panicking::panic_fmt
             at /rustc/c373194cb6d882dc455a588bcc29c92a96b50252/library/core/src/panicking.rs:67:14
   2: core::result::unwrap_failed
             at /rustc/c373194cb6d882dc455a588bcc29c92a96b50252/library/core/src/result.rs:1651:5
   3: core::result::Result<T,E>::unwrap
             at /rustc/c373194cb6d882dc455a588bcc29c92a96b50252/library/core/src/result.rs:1076:23
   4: navigator_rs::NavigatorBuilder::build
             at /home/auv/.cargo/registry/src/index.crates.io-6f17d22bba15001f/navigator-rs-0.4.0/src/lib.rs:280:19
   5: bluerobotics_navigator::NavigatorManager::get_instance
             at /home/auv/navigator-lib/src/lib.rs:46:28
   6: init
             at /home/auv/navigator-lib/src/lib.rs:188:5
   7: main
             at ./simple.cpp:26:7
   8: __libc_start_call_main
             at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
   9: __libc_start_main_impl
             at ./csu/../csu/libc-start.c:360:3
  10: _start
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
fatal runtime error: failed to initiate panic, error 3245090464
Aborted

I have no experience with rust but following the error, I found that ‘/dev/i2c-4’ is to be unwrapped. However, in my /dev folder the only i2c devices are i2c-11 and i2c-12.

Does anyone have an Idea how to debug this further?

Okay, as an update: I solved this problem by starting from the beginning and strictly following the instructions of the navigator lib read me. I flashed the proposed image to the pi and after some troubles with the internet connection I was able to setup the overlay. After the reboot, the i2c devices could be found by i2cdetect :slight_smile: