The ADS-B receiver's driver could not start
What ArduPilot says:
- ADSB: Unable to initialize ADSB driver
- ADSB: Unable to initialize ADSB vehicle list
ADS-B is the radio system by which aircraft announce their position; with a receiver ArduPilot can show and avoid them. ADSB_TYPE is set, but no driver started (“Unable to initialize ADSB driver”), or there was no memory for the list of ADSB_LIST_MAX aircraft (“Unable to initialize ADSB vehicle list”). The aircraft flies, but sees no traffic. It does not try again until a reboot.
What to do, most likely first
The receiver speaks a serial protocol, and no port is set for it.
Check
ADSB_TYPE2, 3 and 4 (Sagetech, uAvionix UCP, Sagetech MX) need a port withSERIALn_PROTOCOL35. Type 1 (uAvionix MAVLink, a pingRX) uses a MAVLink port instead.FixSet
SERIALn_PROTOCOLto 35 (ADSB) on the receiver's port and reboot.No ADS-B receiver is fitted.
FixSet
ADSB_TYPEto 0.The firmware has no driver for that receiver, or memory is short.
CheckThe Firmware Inspector lists what a firmware file was built with.
FixBuild a firmware with the driver; if memory is the limit, lower
ADSB_LIST_MAXor switch off features you do not use.
Parameters to look at
| Parameter | What it is |
|---|---|
ADSB_TYPE | ADSB Type |
ADSB_LIST_MAX | ADSB vehicle list size |
SERIAL1_PROTOCOL | Telem1 protocol selection |
SERIAL2_PROTOCOL | Telemetry 2 protocol selection |
SERIAL3_PROTOCOL | Serial 3 (GPS) protocol selection |
SERIAL4_PROTOCOL | Serial4 protocol selection |
SERIAL5_PROTOCOL | Serial5 protocol selection |
Where to do it:Firmware InspectorFirmware Builder
The code that sends it
ADSB: Unable to initialize ADSB driver
libraries/AP_ADSB/AP_ADSB.cpp AP_ADSB::init() · Open in ArduPilot Copter-4.7.1
ADSB: Unable to initialize ADSB vehicle list
libraries/AP_ADSB/AP_ADSB.cpp AP_ADSB::init() · Open in ArduPilot Copter-4.7.1