[[searchwing-ardupilot-firmware]]

# Ardupilot Firmware

We use the current Ardupilot ArduPlane stable firmware version (current: 3.9.8)

The firmware is installed on the PixRacer via the QGroundControl Software. https://docs.qgroundcontrol.com/en/SetupView/Firmware.html
Select “ChibiOs - ArduPlane V3.9.8” from drpdown.

#### RC and Servo Setup

Ardupilot hast just recently added new way which allows to configure the RC channel and the servo behaviour independently. QGC has not included this yet in the RC calibration procedure. Therefore you have to check the correct servo behavior for RC and autopilot: BOTH!!! It is possible that RC works in the right direction but autopilot steers in the opposite direction. This was the reason for the first Ardupilot flight crash.

Make sure that only the mag sensor in the GPS Module is enabled.
The two mag sensors in the pixracer should be disabled, because there is too much disturbance from the power cable below the autopilot.
When the mRobotics GPS Module (https://store.mrobotics.io/mRo-GPS-u-Blox-Neo-M8N-HMC5983-Compass-p/mro-gps003-mr.htm) is installed with the arrow showing forward, then the mag sensor has a rotation of 90 Degrees Yaw (yes, this is strange).
The parameters have to be setup like this

COMPASS_AUTO_ROT = 2 (Yaw 90 Degrees)
MAG_ENABLE = 1 (flight controller will use the primary compass for heading data)
COMPASS_PRIMARY = 0 (First compass is primary compass)

After the mag setup is changed, the mag sensors have to be calibrated. If you see a “Mag Inconsistent Error” in QGC, then this setup is wrong.

#### Procedure

1. Load parameters “default_to_Paolo” (NOT TESTED YET!) from https://gitlab.com/searchwing/operational/searchwing-config/tree/master/ardupilot/V3.9.8
2. There may be warnings that parameters were skipped even though they were written anyway.
3. Reboot Vehicle.
4. Export parameter from QGC (.params file)
5. Diff downloaded params with previously loaded params if they are the same. Except parameters like bootcnt, num_resets, stat_* etc.

#### Failsafes

Geofence is not configurable through QGC. The reason is that Arduplane does not support the MAVLINK mission protocol for the geofence. Arduplane has a different protocol which is not supported by QGC. There is a brand new patch for Copter to support the MAVLINK mission protocol also for geofence but not yet for Arduplane. See: https://github.com/ArduPilot/ardupilot/pull/12167

Arduplane does not support a Kill Switch which can be enabled via a dedicated RC channel, i.e a switch on the remote.

Arduplane does not support Flight mode changes, e.g. RTL via a dedicated RC Channel.

In order to send telemetry data to the rc, the parameter 'SERIAL4' has to be changed to 'Frsky SPort'. Despite the note that external hardware is needed, telemetry data can be transmitted using the old cable. Unfortunately LuaPilot cannot be used anymore with ArduPilot as the flight modes are labeled wrong. Therefore LuaPilot has to be replaced with this alternative: https://www.rcgroups.com/forums/showatt.php?attachmentid=9914295&d=1490893447 (source: https://discuss.ardupilot.org/t/lua-script-for-apm-plane-quadplane/16202/4)

Der Parameter SERIAL4_PROTOCOL muss auf 'FrSky SPort Passthrough (OpenTX)' gesetzt sein. Die selbe Einstellung darf nicht gleichzeitig auf mehreren Serial Ports gesetzt sein, da es sonst zu komplikationen kommt. Taranis Einstellungen: bernd2.zip Flight Deck Software: http://www.craftandtheoryllc.com

• searchwing-ardupilot-firmware.txt