mirror of https://github.com/ArduPilot/ardupilot
Copter: higher priority for throttle loop, lower telemetry
This commit is contained in:
parent
9833900f91
commit
e9cefbafd1
|
@ -863,21 +863,23 @@ AP_Param param_loader(var_info, WP_START_BYTE);
|
||||||
microseconds)
|
microseconds)
|
||||||
*/
|
*/
|
||||||
static const AP_Scheduler::Task scheduler_tasks[] PROGMEM = {
|
static const AP_Scheduler::Task scheduler_tasks[] PROGMEM = {
|
||||||
|
{ throttle_loop, 2, 450 },
|
||||||
{ update_GPS, 2, 900 },
|
{ update_GPS, 2, 900 },
|
||||||
{ update_nav_mode, 1, 400 },
|
{ update_nav_mode, 1, 400 },
|
||||||
{ medium_loop, 2, 700 },
|
{ medium_loop, 2, 700 },
|
||||||
{ update_altitude, 10, 1000 },
|
{ update_altitude, 10, 1000 },
|
||||||
{ fifty_hz_loop, 2, 950 },
|
|
||||||
{ run_nav_updates, 10, 800 },
|
{ run_nav_updates, 10, 800 },
|
||||||
{ slow_loop, 10, 500 },
|
{ slow_loop, 10, 500 },
|
||||||
{ gcs_check_input, 2, 700 },
|
|
||||||
{ gcs_send_heartbeat, 100, 700 },
|
|
||||||
{ gcs_data_stream_send, 2, 1500 },
|
|
||||||
{ gcs_send_deferred, 2, 1200 },
|
|
||||||
{ compass_accumulate, 2, 700 },
|
{ compass_accumulate, 2, 700 },
|
||||||
{ barometer_accumulate, 2, 900 },
|
{ barometer_accumulate, 2, 900 },
|
||||||
{ super_slow_loop, 100, 1100 },
|
|
||||||
{ update_notify, 2, 100 },
|
{ update_notify, 2, 100 },
|
||||||
|
{ super_slow_loop, 100, 1100 },
|
||||||
|
{ gcs_check_input, 2, 700 },
|
||||||
|
{ gcs_send_heartbeat, 100, 700 },
|
||||||
|
{ gcs_send_deferred, 2, 1200 },
|
||||||
|
{ gcs_data_stream_send, 2, 1500 },
|
||||||
|
{ camera_loop, 2, 50 }, // times not verified
|
||||||
|
{ fifty_hz_logging_loop, 2, 220 },
|
||||||
{ perf_update, 1000, 500 }
|
{ perf_update, 1000, 500 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1050,9 +1052,9 @@ static void fast_loop()
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// stuff that happens at 50 hz
|
// throttle_loop - should be run at 50 hz
|
||||||
// ---------------------------
|
// ---------------------------
|
||||||
static void fifty_hz_loop()
|
static void throttle_loop()
|
||||||
{
|
{
|
||||||
// get altitude and climb rate from inertial lib
|
// get altitude and climb rate from inertial lib
|
||||||
read_inertial_altitude();
|
read_inertial_altitude();
|
||||||
|
@ -1074,13 +1076,12 @@ static void fifty_hz_loop()
|
||||||
#ifdef USERHOOK_50HZLOOP
|
#ifdef USERHOOK_50HZLOOP
|
||||||
USERHOOK_50HZLOOP
|
USERHOOK_50HZLOOP
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// camera features
|
||||||
#if HIL_MODE != HIL_MODE_DISABLED && FRAME_CONFIG != HELI_FRAME
|
// should be run at 50hz
|
||||||
// HIL for a copter needs very fast update of the servo values
|
static void camera_loop()
|
||||||
gcs_send_message(MSG_RADIO_OUT);
|
{
|
||||||
#endif
|
|
||||||
|
|
||||||
#if MOUNT == ENABLED
|
#if MOUNT == ENABLED
|
||||||
// update camera mount's position
|
// update camera mount's position
|
||||||
camera_mount.update_mount_position();
|
camera_mount.update_mount_position();
|
||||||
|
@ -1094,16 +1095,26 @@ static void fifty_hz_loop()
|
||||||
#if CAMERA == ENABLED
|
#if CAMERA == ENABLED
|
||||||
camera.trigger_pic_cleanup();
|
camera.trigger_pic_cleanup();
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// fifty_hz_logging_loop
|
||||||
|
// should be run at 50hz
|
||||||
|
static void fifty_hz_logging_loop()
|
||||||
|
{
|
||||||
|
#if HIL_MODE != HIL_MODE_DISABLED
|
||||||
|
// HIL for a copter needs very fast update of the servo values
|
||||||
|
gcs_send_message(MSG_RADIO_OUT);
|
||||||
|
#endif
|
||||||
|
|
||||||
# if HIL_MODE == HIL_MODE_DISABLED
|
# if HIL_MODE == HIL_MODE_DISABLED
|
||||||
if (g.log_bitmask & MASK_LOG_ATTITUDE_FAST && motors.armed()) {
|
if (g.log_bitmask & MASK_LOG_ATTITUDE_FAST && motors.armed()) {
|
||||||
Log_Write_Attitude();
|
Log_Write_Attitude();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g.log_bitmask & MASK_LOG_IMU && motors.armed())
|
if (g.log_bitmask & MASK_LOG_IMU && motors.armed()) {
|
||||||
DataFlash.Log_Write_IMU(&ins);
|
DataFlash.Log_Write_IMU(&ins);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// medium_loop - runs at 10hz
|
// medium_loop - runs at 10hz
|
||||||
|
|
Loading…
Reference in New Issue