mirror of https://github.com/ArduPilot/ardupilot
Plane: use enum FlightMode in more places
This commit is contained in:
parent
4b944ae6c4
commit
81660d07fd
|
@ -315,7 +315,7 @@ static bool usb_connected;
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
// This is the state of the flight control system
|
||||
// There are multiple states defined such as MANUAL, FBW-A, AUTO
|
||||
byte control_mode = INITIALISING;
|
||||
enum FlightMode control_mode = INITIALISING;
|
||||
// Used to maintain the state of the previous control switch position
|
||||
// This is set to -1 when we need to re-read the switch
|
||||
byte oldSwitchPosition;
|
||||
|
@ -1199,6 +1199,10 @@ static void update_current_flight_mode(void)
|
|||
break;
|
||||
//roll: -13788.000, pitch: -13698.000, thr: 0.000, rud: -13742.000
|
||||
|
||||
case INITIALISING:
|
||||
case AUTO:
|
||||
// handled elsewhere
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1209,19 +1213,26 @@ static void update_navigation()
|
|||
// ------------------------------------------------------------------------
|
||||
|
||||
// distance and bearing calcs only
|
||||
if(control_mode == AUTO) {
|
||||
switch(control_mode) {
|
||||
case AUTO:
|
||||
verify_commands();
|
||||
}else{
|
||||
break;
|
||||
|
||||
case LOITER:
|
||||
case RTL:
|
||||
case GUIDED:
|
||||
update_loiter();
|
||||
calc_bearing_error();
|
||||
break;
|
||||
|
||||
switch(control_mode) {
|
||||
case LOITER:
|
||||
case RTL:
|
||||
case GUIDED:
|
||||
update_loiter();
|
||||
calc_bearing_error();
|
||||
break;
|
||||
|
||||
}
|
||||
case MANUAL:
|
||||
case INITIALISING:
|
||||
case FLY_BY_WIRE_A:
|
||||
case FLY_BY_WIRE_B:
|
||||
case CIRCLE:
|
||||
case STABILIZE:
|
||||
// nothing to do
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1148,7 +1148,7 @@ void GCS_MAVLINK::handleMessage(mavlink_message_t* msg)
|
|||
case AUTO:
|
||||
case RTL:
|
||||
case LOITER:
|
||||
set_mode(packet.custom_mode);
|
||||
set_mode((enum FlightMode)packet.custom_mode);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ static void read_control_switch()
|
|||
return;
|
||||
}
|
||||
|
||||
set_mode(flight_modes[switchPosition]);
|
||||
set_mode((enum FlightMode)(flight_modes[switchPosition].get()));
|
||||
|
||||
oldSwitchPosition = switchPosition;
|
||||
prev_WP = current_loc;
|
||||
|
|
|
@ -332,7 +332,7 @@ static void startup_ground(void)
|
|||
gcs_send_text_P(SEVERITY_LOW,PSTR("\n\n Ready to FLY."));
|
||||
}
|
||||
|
||||
static void set_mode(byte mode)
|
||||
static void set_mode(enum FlightMode mode)
|
||||
{
|
||||
if(control_mode == mode) {
|
||||
// don't switch modes if we are already in the correct mode.
|
||||
|
|
Loading…
Reference in New Issue