test ground speed loop

This commit is contained in:
Pascal Brisset
2009-08-15 08:35:44 +00:00
parent 1119fa8661
commit 8b78ab65df
2 changed files with 11 additions and 6 deletions
+1 -1
View File
@@ -48,7 +48,7 @@
<go wp="TARGET" approaching_time="0"/>
<set value="MAX_PPRZ" var="ap_state->commands[COMMAND_HATCH]"/>
</block>
<block name="Poles 2">
<block name="Poles 2" pre_call="nav_ground_speed_loop()">
<oval p1="C1" p2="C2" radius="nav_radius" until="nav_oval_count>=nav_poles_count"/>
</block>
<block name="Land Right AF-TD" strip_button="Land right (wp AF-TD)" strip_icon="land-right.png">
+10 -5
View File
@@ -205,11 +205,16 @@ static inline void nav_follow(uint8_t _ac_id, float _distance, float _height);
#ifdef NAV_GROUND_SPEED_PGAIN
/** \brief Computes cruise throttle from ground speed setpoint
*/
static bool_t nav_ground_speed_loop( void ) {
float err = estimator_hspeed_mod - nav_ground_speed_setpoint;
v_ctl_auto_throttle_cruise_throttle += nav_ground_speed_pgain*err;
Bound(v_ctl_auto_throttle_cruise_throttle, V_CTL_AUTO_THROTTLE_MIN_CRUISE_THROTTLE, V_CTL_AUTO_THROTTLE_MAX_CRUISE_THROTTLE);
return FALSE;
static void nav_ground_speed_loop( void ) {
if (MINIMUM_AIRSPEED < nav_ground_speed_setpoint
&& nav_ground_speed_setpoint < MAXIMUM_AIRSPEED) {
float err = estimator_hspeed_mod - nav_ground_speed_setpoint;
v_ctl_auto_throttle_cruise_throttle += nav_ground_speed_pgain*err;
Bound(v_ctl_auto_throttle_cruise_throttle, V_CTL_AUTO_THROTTLE_MIN_CRUISE_THROTTLE, V_CTL_AUTO_THROTTLE_MAX_CRUISE_THROTTLE);
} else {
/* Reset cruise throttle to nominal value */
v_ctl_auto_throttle_cruise_throttle = V_CTL_AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE;
}
}
#endif