Hi, so I am thinking of investing on a Navigator Flight Controller for my team since it comes with a Magnometer and IMU inbuilt. I was wondering if there is a guide on how to get the data and filters that blueOS does natively. If there is one I can use that to build what I wanted.
Hi @sacchinbhg, welcome to the forum
BlueOS doesn’t directly interact with the Navigator sensors, rather, BlueOS has an ArduPilot manager service, which connects to external flights controller (as relevant), and/or runs a selected ArduPilot firmware (ArduSub, by default) if a Navigator is detected, and the firmware handles reading and filtering the sensors, as well as making sense of control inputs and whatnot (just like on an external flight controller).
Longer term we’re planning to make general libraries to interface with the sensors on the Navigator without running ArduPilot firmware, but I don’t believe those libraries are currently available (at least as accessibly as we want them). You can look in the ArduPilot source code and documentation (including the developers guide) if you want to see how things are handled currently and/or make a custom version of an existing ArduPilot firmware, but there’s a fair amount of extra code involved there if your primary interest is just in interfacing with the sensors.
We do at least have the Python libraries we used for testing, which you can find by searching the Blue Robotics github repositories for the chip names from the technical details table in the Navigator product page
You can also search the ArduPilot source for chip names to find the relevant C++ sensor libraries, but the interfaces in those libraries are designed for working with ArduPilot firmwares, not general sensor access.
It is of course also possible to use the Navigator schematic (in the technical details on the product page) together with the sensor datasheets to make your own libraries, if that’s relevant