I have a VTOL with two CAN bus airspeed sensors, how does Ardupilot decide which one is ARSPD1 and which ARSPD2 ? And how does this stay consistent after reboots? Thanks!
They are numbered based on the order of their discovery.
After discovery, each of the sensors is assigned a device ID which will keep their order consistent.
Thanks for the reply, but the “ARSPDX_DEVID” is only filled when using a I2C sensor, on CAN it stays empty (or isn’t it reflected in this paramter?) - does it just go by CAN Node ID order (which are fixed in my case) - so lowest NodeID is ARSPD1, and so on?
Sorry I blew past the CAN part and went right to I2C. ![]()
I think the discovery order is deterministic, so that the same sensor will consistently become ARSPD1 after each reboot. I don’t believe it explicitly sorts the sensors by Node ID.
Ok thanks, I think i need to find that part in the source code, as its important for me to know how exactly this is determined