Merge branch 'corvuscorax/callbackeventdispatcher2' into next
Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into next

This is an attempt I made several months back at enabling the fixed wing wizard. AILERON and VTAIL concepts added where necessary. VehicleConfigurationHelper::setupAileron() and friends are completely wrong, need to be sorted out.

The files that go in setupwiz/resources need to be corrected to show motor direction. Basically need an inverse copy merged into existing images, see multirotor svg files for comparison.

m_vehicleElementIds and m_vehicleHighlightElementIndexes need to be fixed in the SVG files and code appropriately. The ID tags in the sVG files are incrorect. likewise grouping are incorrect. Could use help from someone more profficient in SVG files.

*work in progress*
Changed the element id's in one of the SVG files that I incorrectly edited. This prevents the error:
Could not resolve property : SVGID_1_

Error comes from qsvghandler.cpp or qsvgstyle.cpp in the QT libraries Qt5.2.0//5.2.0-beta1/Src/qtsvg/src/svg/

The fixedwing-shapes.svg and flyingwing-shapes.svg files need modified to prevent the errors caused by qsvgtinydocument.cpp in the QT libraries.

Couldn't find node aileron. Skipping rendering.
Couldn't find node vtail. Skipping rendering.

These errors come from the case statement that was added to updateImageAnd Description() for FixedWingPage

+    switch (type) {
+    case SetupWizard::FIXED_WING_AILERON:
+        elementId = "aileron";
+        break;
+    case SetupWizard::FIXED_WING_VTAIL:
+        elementId = "vtail";
+        break;
+    default:
+        elementId = "";
+        break;
+    }

A similar error needs to be resolved in connectiondiagram.cpp
+            switch (m_configSource->getVehicleSubType()) {
+            case VehicleConfigurationSource::FIXED_WING_AILERON:
+                elementsToShow << "aileron";
+                break;
+            case VehicleConfigurationSource::FIXED_WING_VTAIL:
+                elementsToShow << "vtail";
+                break;
+            default:
+                break;
+            }

Likewise outputcalibrationpage.cpp will need to reverence the elements inside the SVG file properly.
+        m_vehicleElementIds << "fixed-aileron" << "aileron";
+        m_vehicleHighlightElementIndexes << 0 << 1;
...
+        m_vehicleElementIds << "fixed-vtail" << "vtail";
+        m_vehicleHighlightElementIndexes << 0 << 1;

Until these elements are fixed in the SVG files the wizard will not render properly and allow the user to click *next*.
I fixed the first screen, now the vtail and aileron models show when slected. For some reason I am unable to move beyond the first wizard screen.
added a case statement for PAGE_FIXEDWING to trigger PAGE_OUTPUT
Merge branch 'next' into kf_fixes
just trying to cleanup a bad push from last night. I stomped on some things I should not have.
Add the fixed wing plane art to the channel config screen (in progress)
Begin adding plane art to Output config screen in wizard.
Move some code around to accomidate multiple svg images in the output calibration screen.
Need to fix the SVG to allow for zooming in on specific channel components as we do with the multi rotor screen.

This has some sloppy comments in if for my own debugging purposes.
Fix the Configuration screen to show the new fixed wing artwork by Zen_
Work around for a problem caused by lack of elements in the fixed wing SVG for use in the output window.
Remove some redundant "elevon" stuff for now. Will come back later when proper "elevon + rudder" artwork exists. Currently no different from vtail anyway...

Enabled proper channel mixing settings inside the FixedWing wizard Output configuration screen. Attempt to set GUIConfigDataUnion to fixedwing
Sort out issues with servo vs. motor sliders... finally figure out what wizardIndexes are! per OutputCalibrationPage::setWizardPage()
prepping to fix refreshWidgetsValues() so that Output & Vehicle screens populate properly after wizard is run.
prepping to fix refreshWidgetValues(0 all the setComboCurrentIndex() calls are missing.
I was aparantly missing a call to  updateAirframe(frameType);
settings still not saving to the board... trying to sort it out. Making sure all necessary codepaths exist in the FixedWing clone of the MultiRotor code for the Wizard.
Merge remote-tracking branch 'origin/kfinisterre/FixedWingWizard' into thread/OP-1222_Fixed_Wing_Wizard_Support

Conflicts:
	ground/openpilotgcs/src/plugins/config/cfg_vehicletypes/configfixedwingwidget.h
	ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
OP-1222 Fixed svg files. Cleaned up and grouped items to work in wizard.
Removed some translations and simplified some gradients.
Added support for output calibration of Aileron and v-tail wings.
Added comments in the code explaining the various arrays with
indexes and ids in the output configuration page class.
OP-1317 Apadted airspeed calculation from ground speed and orientattion changes: applied extended IMU wind estimation, filtering takes place now with Holt-Winters double exponential smoothing on orientation vector and speed vector, matrix calculation replaced by a direct calculation of the fuselage vector, renamed gps_airspeed into imu_airspeed because estimation relies on imu results and a n estimate of ground speed and not directly a GPS signal