// auto_run - runs the appropriate auto controller // according to the current auto_mode // should be called at 100hz or more void Sub::auto_run() { mission.update(); // call the correct auto controller switch (auto_mode) { case Auto_WP: case Auto_CircleMoveToEdge: auto_wp_run(); break; case Auto_Circle: auto_circle_run(); break; case Auto_Spline: auto_spline_run(); break; case Auto_NavGuided: #if NAV_GUIDED == ENABLED auto_nav_guided_run(); #endif break; case Auto_Loiter: auto_loiter_run(); break; case Auto_TerrainRecover: auto_terrain_recover_run(); break; } }
// auto_run - runs the auto controller // should be called at 100hz or more // relies on run_autopilot being called at 10hz which handles decision making and non-navigation related commands void Copter::auto_run() { // call the correct auto controller switch (auto_mode) { case Auto_TakeOff: auto_takeoff_run(); break; case Auto_WP: case Auto_CircleMoveToEdge: auto_wp_run(); break; case Auto_Land: auto_land_run(); break; case Auto_RTL: auto_rtl_run(); break; case Auto_Circle: auto_circle_run(); break; case Auto_Spline: auto_spline_run(); break; case Auto_NavGuided: #if NAV_GUIDED == ENABLED auto_nav_guided_run(); #endif break; case Auto_Loiter: auto_loiter_run(); break; } }