The external AHRS is switched on but not set up
What ArduPilot says:
- ExternalAHRS: Invalid backend
- MicroStrain5 ExternalAHRS no UART
- ExternalAHRS: Incorrect number of GPS sensors configured for EAHRS
- KEBNI: Serial Port Not Found!
- VectorNav ExternalAHRS no UART
- SBG setup failed
Also explained here: 6 more
- no UART
- VectorNav setup failed
- SBG ExternalAHRS no UART
- Unsupported ExternalAHRS type N
- InertialLabs setup failed
- InertialLabs ExternalAHRS no UART
An external AHRS is a separate navigation unit (VectorNav, MicroStrain, InertialLabs, SBG and others) that does the job of ArduPilot's own estimator, or feeds it IMU and GPS data. EAHRS_TYPE says one is fitted, but the driver could not start. “no UART” and “Serial Port Not Found”: no serial port is set to protocol 36 (AHRS). “Invalid backend” and “Unsupported type”: this firmware has no driver for that EAHRS_TYPE. “setup failed”: the unit did not accept its configuration. “Incorrect number of GPS sensors”: the unit supplies a GPS but no GPS in ArduPilot is set to take it.
What to do, most likely first
No external AHRS is fitted; the parameter came from another aircraft's file.
Check
EAHRS_TYPEis not 0, orAHRS_EKF_TYPEis 11.FixSet
EAHRS_TYPEto 0 andAHRS_EKF_TYPEto 3, then reboot.The serial port the unit is wired to is not set for it.
CheckThe
SERIALn_PROTOCOLof that port is not 36, or its baud rate differs from the unit's.FixSet
SERIALn_PROTOCOLto 36 and the port's baud rate to the unit's, and reboot.The unit's GPS is not routed into ArduPilot.
Check
EAHRS_SENSORShas bit 0 (GPS) set and no GPS has its type set to 21.FixSet
GPS1_TYPEto 21 (ExternalAHRS), or clear bit 0 ofEAHRS_SENSORSif you use a separate GPS. Reboot.
Parameters to look at
| Parameter | What it is |
|---|---|
EAHRS_TYPE | AHRS type |
EAHRS_SENSORS | External AHRS sensors |
EAHRS_RATE | AHRS data rate |
SERIAL2_PROTOCOL | Telemetry 2 protocol selection |
SERIAL4_PROTOCOL | Serial4 protocol selection |
GPS1_TYPE | GPS type |
AHRS_EKF_TYPE | Use NavEKF Kalman filter for attitude and position estimation |
Where to do it:Board & Wiring PlannerStarting Parameters
The code that sends it
ExternalAHRS: Invalid backend
libraries/AP_ExternalAHRS/AP_ExternalAHRS.cpp AP_ExternalAHRS::pre_arm_check() · Open in ArduPilot Copter-4.7.1
MicroStrain5 ExternalAHRS no UART
libraries/AP_ExternalAHRS/AP_ExternalAHRS_MicroStrain5.cpp AP_ExternalAHRS_MicroStrain5::AP_ExternalAHRS_MicroStrain5() · Open in ArduPilot Copter-4.7.1
ExternalAHRS: Incorrect number of GPS sensors configured for EAHRS
libraries/AP_ExternalAHRS/AP_ExternalAHRS.cpp AP_ExternalAHRS::pre_arm_check() · Open in ArduPilot Copter-4.7.1
KEBNI: Serial Port Not Found!
libraries/AP_ExternalAHRS/AP_ExternalAHRS_SensAItion.cpp AP_ExternalAHRS_SensAItion::AP_ExternalAHRS_SensAItion() · Open in ArduPilot Copter-4.7.1
And 8 more messages, sent from the same places.