This fixes a broken build on my setup. Otherwise I see the following
error:
/home/borgers/projects/qgroundcontrol/src/QtLocationPlugin/QGCTileCacheWorker.cpp:1200:79: error: use of ‘auto’ in lambda parameter declaration only available with ‘-std=c++14’ or ‘-std=gnu++14’
1200 | connect(socket, &QAbstractSocket::errorOccurred, this, [this, socket](auto error) {
|
As mentioned in https://github.com/mavlink/qgroundcontrol/pull/9591
* MockLink - Support REQUEST_MESSAGE:AUTOPILOT_VERSION, REQUEST_MESSAGE:PROTOCOL_VERSION
* Fix bugs in Vehicle::requestMessage
* Switch to all INT mission items
* Create unit tests to exercise Initial Connect state mache state failure conditions
Before this change it is not allowed to set up the flight modes unless
all sensor calibrations are completed.
I don't think that makes sense because it is possible to calibrate RC
without having the sensors calibrated, and it's the logical next step
right after that.
It is also a problem if HITL (hardware-in-the-loop) is used where the
sensors are not marked as calibrated but you still need to be able to
configure the flight modes. This is what prompted me to suggest this
change.
* Fix more racey instances of `if (!weakPtr.expired()){...weakPtr.lock()...}`
* Fix `_multiLinkSingleVehicleTest` thinking that link 1 will always be the primary link
* Remove the `LinkInterface::Channel` object
* Remove the reserved channel 0 and make channel 0 reservable
* Ensure that any user of the `reserveMavlinkChannel()` function will get a compiler error to note that a return of 0 no longer means error
* Make the `APMFirmwarePlugin` use a static channel member mutexed also by a static member
* `_handleIncomingMavlinkBytes` needs to use a different channel because it processes messages parallel to `MAVLinkProtocol::receiveBytes`
* `_handleIncomingMavlinkBytes`'s auxiliary channel needs its own mutex guard
* causes all calls out to mavlink library from `MockLink` to use channel 0,
which causes problems with at least `VehicleLinkManagerTest::_multiLinkSingleVehicleTest()`
and possibly other tests