AC_AutoTune: stop libraries including AP_Logger.h in .h files

AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
This commit is contained in:
Peter Barker 2022-03-04 14:29:45 +11:00 committed by Peter Barker
parent c1e776fc46
commit 66f0a0f42b
3 changed files with 7 additions and 1 deletions

View File

@ -1,6 +1,8 @@
#include "AC_AutoTune.h"
#include <GCS_MAVLink/GCS.h>
#include <AP_Logger/AP_Logger.h>
#include <AP_Scheduler/AP_Scheduler.h>
#include <GCS_MAVLink/GCS.h>
#define AUTOTUNE_PILOT_OVERRIDE_TIMEOUT_MS 500 // restart tuning if pilot has left sticks in middle for 2 seconds
#if APM_BUILD_TYPE(APM_BUILD_ArduPlane)

View File

@ -19,6 +19,8 @@
#include "AC_AutoTune_Heli.h"
#include <AP_Logger/AP_Logger.h>
#define AUTOTUNE_TESTING_STEP_TIMEOUT_MS 5000U // timeout for tuning mode's testing step
#define AUTOTUNE_RD_STEP 0.0005f // minimum increment when increasing/decreasing Rate D term

View File

@ -1,5 +1,7 @@
#include "AC_AutoTune_Multi.h"
#include <AP_Logger/AP_Logger.h>
/*
* autotune support for multicopters
*