Calibrate example fails

I am trying to run the calibrate example off the mavSDK C++ examples. I am running it on the same machine as BlueOS. Here is our setup:

BlueOS V1.4.0-beta.17
ArduRover V4.5.7
FlightController Navigator
Frame Boat
MavSDK or MavLink2Rest

Here is the output:

pils@blueOSBoat:~/devel/pilsusv/extern/mavsdk/examples $ build/calibrate/calibrate tcp://localhost:5777
[01:41:54|Info ] MAVSDK version: 08086c7e-dirty (mavsdk_impl.cpp:26)
[01:41:54|Debug] New system ID: 1 Comp ID: 1 (mavsdk_impl.cpp:750)
[01:41:54|Debug] Component Autopilot (1) added. (system_impl.cpp:366)
[01:41:55|Warn ] Vehicle type changed (new type: 11, old type: 0) (system_impl.cpp:217)
[01:41:55|Debug] Discovered 1 component(s) (system_impl.cpp:509)
Calibrating accelerometer…
[01:41:55|Debug] Component Unsupported component (194) added. (system_impl.cpp:366)
[01:42:05|Debug] MAVLink: critical: PreArm: Mode not armable (system_impl.cpp:243)
[01:42:36|Debug] MAVLink: critical: PreArm: Mode not armable (system_impl.cpp:243)

How can I tell what the failure is? What does the “Component Unsupported” mean? Is my setup configuration wrong somehow before running this example?

Mode not armable means exactly that - you are trying to arm in a mode that for whatever reason is not armable. For example, you can’t arm in a mode that requires GPS without having a good position estimate.

Component id 194 maps to MAV_COMP_ID_ONBOARD_COMPUTER4. But I don’t know what “component unsupported” means in the context of this test or MAVSDK.

@JulianOes Is this something that you can advise on?

It just means that Mavsdk doesn’t explicitly know what to do with this component ID. It knows autopilots, gimbals, cameras, but not onboard computers. However, it will still receive messages, expose params, etc.