Browse Source

Fix state machine not being advanced in all cases

QGC4.4
DonLakeFlyer 4 years ago committed by Don Gagne
parent
commit
63e8ba02e5
  1. 5
      src/Vehicle/InitialConnectStateMachine.cc

5
src/Vehicle/InitialConnectStateMachine.cc

@ -232,8 +232,9 @@ void InitialConnectStateMachine::_stateRequestProtocolVersion(StateMachine* stat
void InitialConnectStateMachine::_protocolVersionCmdResultHandler(void* resultHandlerData, int /*compId*/, MAV_RESULT result, Vehicle::MavCmdResultFailureCode_t failureCode) void InitialConnectStateMachine::_protocolVersionCmdResultHandler(void* resultHandlerData, int /*compId*/, MAV_RESULT result, Vehicle::MavCmdResultFailureCode_t failureCode)
{ {
if (result != MAV_RESULT_ACCEPTED) {
InitialConnectStateMachine* connectMachine = static_cast<InitialConnectStateMachine*>(resultHandlerData); InitialConnectStateMachine* connectMachine = static_cast<InitialConnectStateMachine*>(resultHandlerData);
if (result != MAV_RESULT_ACCEPTED) {
Vehicle* vehicle = connectMachine->_vehicle; Vehicle* vehicle = connectMachine->_vehicle;
switch (failureCode) { switch (failureCode) {
@ -252,8 +253,8 @@ void InitialConnectStateMachine::_protocolVersionCmdResultHandler(void* resultHa
vehicle->_mavlinkProtocolRequestComplete = true; vehicle->_mavlinkProtocolRequestComplete = true;
vehicle->_setMaxProtoVersionFromBothSources(); vehicle->_setMaxProtoVersionFromBothSources();
vehicle->_waitForMavlinkMessageClear(); vehicle->_waitForMavlinkMessageClear();
connectMachine->advance();
} }
connectMachine->advance();
} }
void InitialConnectStateMachine::_waitForProtocolVersionResultHandler(void* resultHandlerData, bool noResponsefromVehicle, const mavlink_message_t& message) void InitialConnectStateMachine::_waitForProtocolVersionResultHandler(void* resultHandlerData, bool noResponsefromVehicle, const mavlink_message_t& message)

Loading…
Cancel
Save