Skip to content

Commit

Permalink
[fixedwing] fix energy_ctl compilation if V_CTL_AUTO_GROUNDSPEED_SETP…
Browse files Browse the repository at this point in the history
…OINT is not used/defined

also specify the params in the settings files for saving
  • Loading branch information
flixr committed Oct 28, 2012
1 parent e530890 commit b883586
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 15 deletions.
5 changes: 5 additions & 0 deletions conf/airframes/examples/MentorEnergy.xml
Expand Up @@ -160,6 +160,7 @@
<define name="NOMINAL_AIRSPEED" value="16." unit="m/s"/>
<define name="GLIDE_AIRSPEED" value="12." unit="m/s"/>
<define name="RACE_AIRSPEED" value="25." unit="m/s"/>
<define name="STALL_AIRSPEED" value="10." unit="m/s"/>

<define name="CARROT" value="5." unit="s"/>

Expand Down Expand Up @@ -199,6 +200,10 @@
<define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.307000011206"/>

<define name="THROTTLE_SLEW_LIMITER" value="1" unit="s"/>

<!--define name="AUTO_GROUNDSPEED_SETPOINT" value="15." unit="m/s"/>
<define name="AUTO_GROUNDSPEED_PGAIN" value="1."/>
<define name="AUTO_GROUNDSPEED_IGAIN" value="0"/-->
</section>

<section name="HORIZONTAL CONTROL" prefix="H_CTL_">
Expand Down
6 changes: 3 additions & 3 deletions conf/settings/control/ctl_energy.xml
Expand Up @@ -53,9 +53,9 @@
</dl_settings>

<dl_settings name="groundspeed">
<dl_setting max="40" min="5" step="0.1" var="v_ctl_auto_groundspeed_setpoint" shortname="gs_sp"/>
<dl_setting max="2" min="0" step="0.01" var="v_ctl_auto_groundspeed_pgain" shortname="gs_pgain"/>
<dl_setting max="2" min="0" step="0.01" var="v_ctl_auto_groundspeed_igain" shortname="gs_igain"/>
<dl_setting max="40" min="5" step="0.1" var="v_ctl_auto_groundspeed_setpoint" shortname="gs_sp" module="guidance/energy_ctrl" param="V_CTL_AUTO_GROUNDSPEED_SETPOINT"/>
<dl_setting max="2" min="0" step="0.01" var="v_ctl_auto_groundspeed_pgain" shortname="gs_pgain" param="V_CTL_AUTO_GROUNDSPEED_PGAIN"/>
<dl_setting max="2" min="0" step="0.01" var="v_ctl_auto_groundspeed_igain" shortname="gs_igain" param="V_CTL_AUTO_GROUNDSPEED_IGAIN"/>
</dl_settings>
<!--
Expand Down
6 changes: 3 additions & 3 deletions conf/settings/control/ctl_energyadaptive.xml
Expand Up @@ -58,9 +58,9 @@
</dl_settings>

<dl_settings name="groundspeed">
<dl_setting max="40" min="5" step="0.1" var="v_ctl_auto_groundspeed_setpoint" shortname="gs_sp"/>
<dl_setting max="2" min="0" step="0.01" var="v_ctl_auto_groundspeed_pgain" shortname="gs_pgain"/>
<dl_setting max="2" min="0" step="0.01" var="v_ctl_auto_groundspeed_igain" shortname="gs_igain"/>
<dl_setting max="40" min="5" step="0.1" var="v_ctl_auto_groundspeed_setpoint" shortname="gs_sp" module="guidance/energy_ctrl" param="V_CTL_AUTO_GROUNDSPEED_SETPOINT"/>
<dl_setting max="2" min="0" step="0.01" var="v_ctl_auto_groundspeed_pgain" shortname="gs_pgain" param="V_CTL_AUTO_GROUNDSPEED_PGAIN"/>
<dl_setting max="2" min="0" step="0.01" var="v_ctl_auto_groundspeed_igain" shortname="gs_igain" param="V_CTL_AUTO_GROUNDSPEED_IGAIN"/>
</dl_settings>

<dl_settings name="climb_accel">
Expand Down
22 changes: 13 additions & 9 deletions sw/airborne/firmwares/fixedwing/guidance/energy_ctrl.c
Expand Up @@ -123,23 +123,31 @@ float v_ctl_energy_diff_igain;

float v_ctl_auto_airspeed_setpoint; ///< in meters per second
float v_ctl_auto_airspeed_setpoint_slew;
#ifndef AIRSPEED_SETPOINT_SLEW
#define AIRSPEED_SETPOINT_SLEW 1
#endif
float v_ctl_auto_airspeed_controlled;
#ifdef V_CTL_AUTO_GROUNDSPEED_SETPOINT

float v_ctl_auto_groundspeed_setpoint; ///< in meters per second
float v_ctl_auto_groundspeed_pgain;
float v_ctl_auto_groundspeed_igain;
float v_ctl_auto_groundspeed_sum_err;
#define V_CTL_AUTO_GROUNDSPEED_MAX_SUM_ERR 100
#endif

pprz_t v_ctl_throttle_setpoint;
pprz_t v_ctl_throttle_slewed;
float v_ctl_pitch_setpoint;


///////////// DEFAULT SETTINGS ////////////////
#ifndef V_CTL_ALTITUDE_MAX_CLIMB
#define V_CTL_ALTITUDE_MAX_CLIMB 2;
#warning "V_CTL_ALTITUDE_MAX_CLIMB not defined - default is 2m/s"
#endif
#ifndef STALL_AIRSPEED
#define STALL_AIRSPEED NOMINAL_AIRSPEED
#endif
#ifndef AIRSPEED_SETPOINT_SLEW
#define AIRSPEED_SETPOINT_SLEW 1
#endif

/////////////////////////////////////////////////
// Automatically found airplane characteristics

Expand Down Expand Up @@ -246,10 +254,6 @@ void v_ctl_init( void ) {
v_ctl_auto_groundspeed_sum_err = 0.;
#endif

#ifndef STALL_AIRSPEED
#define STALL_AIRSPEED NOMINAL_AIRSPEED
#endif

v_ctl_throttle_setpoint = 0;
}

Expand Down

0 comments on commit b883586

Please sign in to comment.