ArduCopter: 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:49 +11:00 committed by Peter Barker
parent 9d7cbf86f5
commit 32cfe70a44

View File

@ -263,7 +263,7 @@ void GCS_MAVLINK_Copter::send_pid_tuning()
if (!HAVE_PAYLOAD_SPACE(chan, PID_TUNING)) {
return;
}
const AP_Logger::PID_Info *pid_info = nullptr;
const AP_PIDInfo *pid_info = nullptr;
switch (axes[i]) {
case PID_TUNING_ROLL:
pid_info = &copter.attitude_control->get_rate_roll_pid().get_pid_info();