From 10b5d758f83051cac67b5524d07ac7735f8f6363 Mon Sep 17 00:00:00 2001 From: Robert Lefebvre Date: Mon, 14 May 2012 15:21:29 -0400 Subject: [PATCH] Changed software ID from 0 to 20 for ArduRover V2 Divergence. Also changed definition of flight mode 2 from Stabilize to Learning. --- APMrover2/APM_Config.h.reference | 8 ++++---- APMrover2/APM_Config_HILmode.h | 8 ++++---- APMrover2/APM_Config_Rover.h | 4 ++-- APMrover2/APM_Config_mavlink_hil.h | 2 +- APMrover2/APMrover2.pde | 8 ++++---- APMrover2/Attitude.pde | 4 ++-- APMrover2/GCS_Mavlink.pde | 16 ++++++++-------- APMrover2/Parameters.h | 2 +- APMrover2/config.h | 10 +++++----- APMrover2/control_modes.pde | 4 ++-- APMrover2/defines.h | 2 +- APMrover2/events.pde | 4 ++-- APMrover2/geofence.pde | 2 +- APMrover2/setup.pde | 2 +- APMrover2/system.pde | 2 +- 15 files changed, 39 insertions(+), 39 deletions(-) diff --git a/APMrover2/APM_Config.h.reference b/APMrover2/APM_Config.h.reference index fed8532b2e..8d125b40cb 100644 --- a/APMrover2/APM_Config.h.reference +++ b/APMrover2/APM_Config.h.reference @@ -263,9 +263,9 @@ // Name | Description // -----------------+-------------------------------------------- // | -// MANUAL | Full manual control via the hardware multiplexer. +// MANUAL | Full manual control via software. // | -// STABILIZE | Tries to maintain level flight, but can be overridden with radio control inputs. +// LEARNING | Full manual control, used for live waypoint definition via Ch7 toggle. // | // FLY_BY_WIRE_A | Autopilot style control via user input, with manual throttle. // | @@ -298,8 +298,8 @@ // //#define FLIGHT_MODE_1 RTL //#define FLIGHT_MODE_2 RTL -//#define FLIGHT_MODE_3 STABILIZE -//#define FLIGHT_MODE_4 STABILIZE +//#define FLIGHT_MODE_3 LEARNING +//#define FLIGHT_MODE_4 LEARNING //#define FLIGHT_MODE_5 MANUAL //#define FLIGHT_MODE_6 MANUAL // diff --git a/APMrover2/APM_Config_HILmode.h b/APMrover2/APM_Config_HILmode.h index ad1ef404ce..3348eed0cd 100644 --- a/APMrover2/APM_Config_HILmode.h +++ b/APMrover2/APM_Config_HILmode.h @@ -22,8 +22,8 @@ #define FLIGHT_MODE_1 AUTO // pos 0 --- #define FLIGHT_MODE_2 AUTO // pos 1 -#define FLIGHT_MODE_3 STABILIZE // pos 2 -#define FLIGHT_MODE_4 STABILIZE // pos 3 --- +#define FLIGHT_MODE_3 LEARNING // pos 2 +#define FLIGHT_MODE_4 LEARNING // pos 3 --- #define FLIGHT_MODE_5 MANUAL // pos 4 #define FLIGHT_MODE_6 MANUAL // pos 5 --- @@ -39,8 +39,8 @@ #define FLIGHT_MODE_1 AUTO // pos 0 --- #define FLIGHT_MODE_2 AUTO // pos 1 -#define FLIGHT_MODE_3 STABILIZE // pos 2 -#define FLIGHT_MODE_4 STABILIZE // pos 3 --- +#define FLIGHT_MODE_3 LEARNING // pos 2 +#define FLIGHT_MODE_4 LEARNING // pos 3 --- #define FLIGHT_MODE_5 MANUAL // pos 4 #define FLIGHT_MODE_6 MANUAL // pos 5 --- diff --git a/APMrover2/APM_Config_Rover.h b/APMrover2/APM_Config_Rover.h index ff8a0da3ab..64520ae253 100644 --- a/APMrover2/APM_Config_Rover.h +++ b/APMrover2/APM_Config_Rover.h @@ -37,8 +37,8 @@ #define FLIGHT_MODE_1 AUTO // pos 0 --- #define FLIGHT_MODE_2 AUTO // pos 1 -#define FLIGHT_MODE_3 STABILIZE // pos 2 -#define FLIGHT_MODE_4 STABILIZE // pos 3 --- +#define FLIGHT_MODE_3 LEARNING // pos 2 +#define FLIGHT_MODE_4 LEARNING // pos 3 --- #define FLIGHT_MODE_5 MANUAL // pos 4 #define FLIGHT_MODE_6 MANUAL // pos 5 --- diff --git a/APMrover2/APM_Config_mavlink_hil.h b/APMrover2/APM_Config_mavlink_hil.h index 38cff467b5..aa76c48284 100644 --- a/APMrover2/APM_Config_mavlink_hil.h +++ b/APMrover2/APM_Config_mavlink_hil.h @@ -10,7 +10,7 @@ #define FLIGHT_MODE_2 RTL #define FLIGHT_MODE_3 FLY_BY_WIRE_A #define FLIGHT_MODE_4 FLY_BY_WIRE_B -#define FLIGHT_MODE_5 STABILIZE +#define FLIGHT_MODE_5 LEARNING #define FLIGHT_MODE_6 MANUAL // HIL_MODE SELECTION diff --git a/APMrover2/APMrover2.pde b/APMrover2/APMrover2.pde index 16b806b5ba..ca444fed04 100644 --- a/APMrover2/APMrover2.pde +++ b/APMrover2/APMrover2.pde @@ -336,7 +336,7 @@ static const char *comma = ","; static const char* flight_mode_strings[] = { "Manual", "Circle", - "Stabilize", + "Learning", "", "", "FBW_A", @@ -846,8 +846,8 @@ static void fast_loop() // apply desired roll, pitch and yaw to the plane // ---------------------------------------------- - if (control_mode > STABILIZE) - stabilize(); + if (control_mode > LEARNING) + learning(); // write out the servo PWM values // ------------------------------ @@ -1133,7 +1133,7 @@ static void update_current_flight_mode(void) case FLY_BY_WIRE_B: break; - case STABILIZE: + case LEARNING: nav_roll = 0; nav_pitch = 0; #if X_PLANE == ENABLED diff --git a/APMrover2/Attitude.pde b/APMrover2/Attitude.pde index 058b3e145a..966a231686 100644 --- a/APMrover2/Attitude.pde +++ b/APMrover2/Attitude.pde @@ -4,7 +4,7 @@ // Function that controls aileron/rudder, elevator, rudder (if 4 channel control) and throttle to produce desired attitude and airspeed. //**************************************************************** -static void stabilize() +static void learning() { // Calculate desired servo output for the turn // Wheels Direction // --------------------------------------------- @@ -111,7 +111,7 @@ static void set_servos(void) rc_array[CH_7] = &g.rc_7; rc_array[CH_8] = &g.rc_8; - if((control_mode == MANUAL) || (control_mode == STABILIZE)){ + if((control_mode == MANUAL) || (control_mode == LEARNING)){ // do a direct pass through of radio values g.channel_roll.radio_out = g.channel_roll.radio_in; g.channel_pitch.radio_out = g.channel_pitch.radio_in; diff --git a/APMrover2/GCS_Mavlink.pde b/APMrover2/GCS_Mavlink.pde index 677785f8f4..879a1953d5 100644 --- a/APMrover2/GCS_Mavlink.pde +++ b/APMrover2/GCS_Mavlink.pde @@ -44,11 +44,11 @@ static NOINLINE void send_heartbeat(mavlink_channel_t chan) case MANUAL: base_mode = MAV_MODE_FLAG_MANUAL_INPUT_ENABLED; break; - case STABILIZE: + case LEARNING: case FLY_BY_WIRE_A: case FLY_BY_WIRE_B: case FLY_BY_WIRE_C: - base_mode = MAV_MODE_FLAG_STABILIZE_ENABLED; + base_mode = MAV_MODE_FLAG_LEARNING_ENABLED; break; case AUTO: case RTL: @@ -56,7 +56,7 @@ static NOINLINE void send_heartbeat(mavlink_channel_t chan) case GUIDED: case CIRCLE: base_mode = MAV_MODE_FLAG_GUIDED_ENABLED | - MAV_MODE_FLAG_STABILIZE_ENABLED; + MAV_MODE_FLAG_LEARNING_ENABLED; // note that MAV_MODE_FLAG_AUTO_ENABLED does not match what // APM does in any mode, as that is defined as "system finds its own goal // positions", which APM does not currently do @@ -68,7 +68,7 @@ static NOINLINE void send_heartbeat(mavlink_channel_t chan) if (control_mode != MANUAL && control_mode != INITIALISING) { // stabiliser of some form is enabled - base_mode |= MAV_MODE_FLAG_STABILIZE_ENABLED; + base_mode |= MAV_MODE_FLAG_LEARNING_ENABLED; } #if ENABLE_STICK_MIXING==ENABLED @@ -165,7 +165,7 @@ static NOINLINE void send_extended_status1(mavlink_channel_t chan, uint16_t pack case MANUAL: break; - case STABILIZE: + case LEARNING: case FLY_BY_WIRE_A: control_sensors_enabled |= (1<<10); // 3D angular rate control control_sensors_enabled |= (1<<11); // attitude stabilisation @@ -242,7 +242,7 @@ static NOINLINE void send_extended_status1(mavlink_channel_t chan, uint16_t pack case MANUAL: mode = MAV_MODE_MANUAL; break; - case STABILIZE: + case LEARNING: mode = MAV_MODE_TEST1; break; case FLY_BY_WIRE_A: @@ -1315,7 +1315,7 @@ void GCS_MAVLINK::handleMessage(mavlink_message_t* msg) switch (packet.custom_mode) { case MANUAL: case CIRCLE: - case STABILIZE: + case LEARNING: case FLY_BY_WIRE_A: case FLY_BY_WIRE_B: case FLY_BY_WIRE_C: @@ -1346,7 +1346,7 @@ void GCS_MAVLINK::handleMessage(mavlink_message_t* msg) break; case MAV_MODE_TEST1: - set_mode(STABILIZE); + set_mode(LEARNING); break; case MAV_MODE_TEST2: diff --git a/APMrover2/Parameters.h b/APMrover2/Parameters.h index 951490164d..8d02f5735e 100644 --- a/APMrover2/Parameters.h +++ b/APMrover2/Parameters.h @@ -24,7 +24,7 @@ public: // GCS will interpret values 0-9 as ArduPilotMega. Developers may use // values within that range to identify different branches. // - static const uint16_t k_software_type = 0; // 0 for APM trunk + static const uint16_t k_software_type = 20; // 0 for APM trunk enum { // Layout version number, always key zero. diff --git a/APMrover2/config.h b/APMrover2/config.h index 21950c9441..b9bd0dccd5 100644 --- a/APMrover2/config.h +++ b/APMrover2/config.h @@ -382,19 +382,19 @@ #endif #if !defined(FLIGHT_MODE_1) -# define FLIGHT_MODE_1 STABILIZE +# define FLIGHT_MODE_1 LEARNING #endif #if !defined(FLIGHT_MODE_2) -# define FLIGHT_MODE_2 STABILIZE +# define FLIGHT_MODE_2 LEARNING #endif #if !defined(FLIGHT_MODE_3) -# define FLIGHT_MODE_3 STABILIZE +# define FLIGHT_MODE_3 LEARNING #endif #if !defined(FLIGHT_MODE_4) -# define FLIGHT_MODE_4 STABILIZE +# define FLIGHT_MODE_4 LEARNING #endif #if !defined(FLIGHT_MODE_5) -# define FLIGHT_MODE_5 STABILIZE +# define FLIGHT_MODE_5 LEARNING #endif #if !defined(FLIGHT_MODE_6) # define FLIGHT_MODE_6 MANUAL diff --git a/APMrover2/control_modes.pde b/APMrover2/control_modes.pde index 99cc5547bd..a51015fea6 100644 --- a/APMrover2/control_modes.pde +++ b/APMrover2/control_modes.pde @@ -77,7 +77,7 @@ if (g.ch7_option == CH7_SAVE_WP){ // set to 1 #endif CH7_wp_index = 1; return; - } else if (control_mode == STABILIZE) { // if SW7 is ON in STABILIZE = record the Wp + } else if (control_mode == LEARNING) { // if SW7 is ON in LEARNING = record the Wp // set the next_WP (home is stored at 0) // max out at 100 since I think we need to stay under the EEPROM limit CH7_wp_index = constrain(CH7_wp_index, 1, 100); @@ -113,7 +113,7 @@ if (g.ch7_option == CH7_SAVE_WP){ // set to 1 }else{ // switch is disengaged if(trim_flag){ trim_flag = false; - if (control_mode == STABILIZE) { + if (control_mode == LEARNING) { set_mode(RTL); } } diff --git a/APMrover2/defines.h b/APMrover2/defines.h index 43dc081014..b79d65f853 100644 --- a/APMrover2/defines.h +++ b/APMrover2/defines.h @@ -94,7 +94,7 @@ // ---------------- #define MANUAL 0 #define CIRCLE 1 // When flying sans GPS, and we loose the radio, just circle -#define STABILIZE 2 +#define LEARNING 2 #define FLY_BY_WIRE_A 5 // Fly By Wire A has left stick horizontal => desired roll angle, left stick vertical => desired pitch angle, right stick vertical = manual throttle #define FLY_BY_WIRE_B 6 // Fly By Wire B has left stick horizontal => desired roll angle, left stick vertical => desired pitch angle, right stick vertical => desired airspeed diff --git a/APMrover2/events.pde b/APMrover2/events.pde index de38c848ca..2710fd2cd0 100644 --- a/APMrover2/events.pde +++ b/APMrover2/events.pde @@ -10,7 +10,7 @@ static void failsafe_short_on_event(int fstype) switch(control_mode) { case MANUAL: - case STABILIZE: + case LEARNING: case FLY_BY_WIRE_A: // middle position case FLY_BY_WIRE_B: // middle position set_mode(CIRCLE); @@ -41,7 +41,7 @@ static void failsafe_long_on_event(int fstype) switch(control_mode) { case MANUAL: - case STABILIZE: + case LEARNING: case FLY_BY_WIRE_A: // middle position case FLY_BY_WIRE_B: // middle position case CIRCLE: diff --git a/APMrover2/geofence.pde b/APMrover2/geofence.pde index 41223ae1e5..f9d8036370 100644 --- a/APMrover2/geofence.pde +++ b/APMrover2/geofence.pde @@ -275,7 +275,7 @@ static void geofence_check(bool altitude_check_only) if (control_mode == MANUAL && g.auto_trim) { // make sure we don't auto trim the surfaces on this change - control_mode = STABILIZE; + control_mode = LEARNING; } set_mode(GUIDED); diff --git a/APMrover2/setup.pde b/APMrover2/setup.pde index 6bd7099916..d7777769a9 100644 --- a/APMrover2/setup.pde +++ b/APMrover2/setup.pde @@ -224,7 +224,7 @@ setup_flightmodes(uint8_t argc, const Menu::arg *argv) while ( mode != MANUAL && mode != CIRCLE && - mode != STABILIZE && + mode != LEARNING && mode != FLY_BY_WIRE_A && mode != FLY_BY_WIRE_B && mode != AUTO && diff --git a/APMrover2/system.pde b/APMrover2/system.pde index dacb90c220..2354003ead 100644 --- a/APMrover2/system.pde +++ b/APMrover2/system.pde @@ -355,7 +355,7 @@ static void set_mode(byte mode) switch(control_mode) { case MANUAL: - case STABILIZE: + case LEARNING: case CIRCLE: case FLY_BY_WIRE_A: case FLY_BY_WIRE_B: