2019-01-15 13:46:13 -04:00
|
|
|
#include "mode.h"
|
|
|
|
#include "Plane.h"
|
|
|
|
|
|
|
|
bool ModeFBWB::_enter()
|
|
|
|
{
|
|
|
|
plane.throttle_allows_nudging = false;
|
|
|
|
plane.auto_throttle_mode = true;
|
|
|
|
plane.auto_navigation_mode = false;
|
|
|
|
|
2020-09-23 05:16:45 -03:00
|
|
|
#if HAL_SOARING_ENABLED
|
2019-01-15 13:46:13 -04:00
|
|
|
// for ArduSoar soaring_controller
|
|
|
|
plane.g2.soaring_controller.init_cruising();
|
2019-04-07 18:56:08 -03:00
|
|
|
#endif
|
2019-01-15 13:46:13 -04:00
|
|
|
|
|
|
|
plane.set_target_altitude_current();
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
void ModeFBWB::update()
|
|
|
|
{
|
|
|
|
// Thanks to Yury MonZon for the altitude limit code!
|
|
|
|
plane.nav_roll_cd = plane.channel_roll->norm_input() * plane.roll_limit_cd;
|
|
|
|
plane.update_load_factor();
|
|
|
|
plane.update_fbwb_speed_height();
|
|
|
|
|
|
|
|
}
|
|
|
|
|