This does the following:
- add RTCMMavlink class that streams RTCM messages via mavlink
- add GPSProvider class that opens a serial device and uses the gps driver
submodule to get an RTCM stream
- add a GPSManager class that manages the RTCMMavlink & GPSProvider classes
- implement gps driver callback & definitions using Qt
- add the GPSManager to the QGCToolbox
To test this, uncomment the _gpsManager->setupGPS("ttyACM0"); in
QGCToolbox.cc
- FirmwarePlugin is the new place for code which is specific to
firmware flight stack
- FirmwarePlugin currently supports flight mode apis
- Modify code to use new FirmwarePlugin support
If Facts are referenced from FactPanelController, we need to reference
count the AutoPilotPlugin such that it doesn’t get destroyed until
after the FactPanelController is destroyed.
Plus a large number of other changes to allow for orderly shutdown of
objects without crashes or asserts. This is need for unit tests to
create/delete global state around every test.