Remote ID is not ready
What ArduPilot says:
- ARM_STATUS not available
- OpenDroneID DroneCAN alloc failed
- operator location must be set
- OpenDroneID: ID is locked as …
- OpenDroneID: Locked UAS_ID: …
- ODID: lost transmitter
Also explained here: 5 more
- ODID: transmitter OK
- DID_ENABLE must be 1
- ODID: lost operator location
- UA_TYPE required in BasicID
- SYSTEM not available
Remote ID (OpenDroneID) makes the aircraft broadcast who it is and where its pilot stands, through a separate transmitter module. With DID_OPTIONS bit 0 set, ArduPilot will not arm until all of it works: DID_ENABLE is 1, the aircraft's identity is known, the ground station is sending the operator's position, and the module has said within the last 3 seconds that it is ready; if the module says no, its own reason is shown. In flight, “ODID: lost transmitter” and “ODID: lost operator location” mean the module or the ground station has been silent for 5 seconds.
What to do, most likely first
“
ARM_STATUSnot available” or “ODID: lost transmitter”: the module is not connected, or ArduPilot looks for it on the wrong port.Check
DID_MAVPORTis the number of the serial port the module is on (that port must speak MAVLink 2), orDID_CANDRIVERthe CAN driver for a DroneCAN module. Is the module powered?FixCorrect the wiring and the port parameter, and reboot.
“operator location must be set”, “SYSTEM not available”, “ODID: lost operator location”: the ground station is not sending where the pilot is.
CheckThe ground station needs a position of its own (a GPS on the computer or phone) and its Remote ID screen running.
FixGive the ground station a GPS and keep it connected for the whole flight.
“
UA_TYPErequired in BasicID”: the aircraft's identity and type were never entered.FixFill in the ID, its type and the aircraft type in the ground station's Remote ID screen.
“
DID_ENABLEmust be 1”: arming is tied to Remote ID, but Remote ID itself is off.FixSet
DID_ENABLEto 1 and reboot.
“OpenDroneID: ID is locked as …” and “Locked UAS_ID: …”: with DID_OPTIONS bit 2 the first serial number received is written into the board's permanent parameters, which an ordinary parameter reset does not touch. These messages exist only in firmware built with Remote ID.
Parameters to look at
| Parameter | What it is |
|---|---|
DID_ENABLE | Enable ODID subsystem |
DID_OPTIONS | OpenDroneID options |
DID_MAVPORT | MAVLink serial port |
DID_CANDRIVER | DroneCAN driver number |
Where to do it:Board & Wiring PlannerFirmware Inspector
The code that sends it
ARM_STATUS not available
libraries/AP_OpenDroneID/AP_OpenDroneID.cpp AP_OpenDroneID::pre_arm_check() · Open in ArduPilot Copter-4.7.1
OpenDroneID DroneCAN alloc failed
libraries/AP_OpenDroneID/AP_OpenDroneID_DroneCAN.cpp AP_OpenDroneID::dronecan_init() · Open in ArduPilot Copter-4.7.1
operator location must be set
libraries/AP_OpenDroneID/AP_OpenDroneID.cpp AP_OpenDroneID::pre_arm_check() · Open in ArduPilot Copter-4.7.1
OpenDroneID: ID is locked as …
libraries/AP_OpenDroneID/AP_OpenDroneID.cpp AP_OpenDroneID::get_persistent_params() · Open in ArduPilot Copter-4.7.1
And 7 more messages, sent from the same places.