Adding new feature of core PID loop logging

This differs from the normal logging,
as this focuses on the core of the PID loop computations.

All variables within the core pid/ec/pid.cpp pid()
function are now logged, so math can be debugged.

Output is throttled to only log a new line
when it changes, or when 60 seconds have elapsed.

Creates 2 files for each PID loop,
one showing coefficients that were configured for it,
and one showing the variables changing over time.

Enable by --corelogging command line option,
or by creating /etc/thermal.d/corelogging file.

Tested:
Log files appear as expected, when enabled.
No changes noticed, when this feature is disabled.

Signed-off-by: Josh Lehan <krellan@google.com>
Change-Id: I3f37fe918e7cbc6fb885ffa2f268600d5a317d32
diff --git a/test/Makefile.am b/test/Makefile.am
index 86493c6..d7d4d9d 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -44,13 +44,15 @@
 
 pid_zone_unittest_SOURCES = pid_zone_unittest.cpp
 pid_zone_unittest_LDADD = $(top_builddir)/pid/ec/pid.o \
+ $(top_builddir)/pid/ec/logging.o \
  $(top_builddir)/sensors/manager.o $(top_builddir)/pid/pidcontroller.o \
  $(top_builddir)/pid/zone.o $(top_builddir)/pid/tuning.o
 
 pid_thermalcontroller_unittest_SOURCES = pid_thermalcontroller_unittest.cpp
 pid_thermalcontroller_unittest_LDADD = $(top_builddir)/pid/ec/pid.o \
+ $(top_builddir)/pid/ec/logging.o $(top_builddir)/pid/tuning.o \
  $(top_builddir)/pid/util.o $(top_builddir)/pid/pidcontroller.o \
- $(top_builddir)/pid/thermalcontroller.o $(top_builddir)/pid/tuning.o
+ $(top_builddir)/pid/thermalcontroller.o
 
 pid_stepwisecontroller_unittest_SOURCES = pid_stepwisecontroller_unittest.cpp
 pid_stepwisecontroller_unittest_LDADD = $(top_builddir)/pid/ec/stepwise.o \
@@ -59,6 +61,7 @@
 
 pid_fancontroller_unittest_SOURCES = pid_fancontroller_unittest.cpp
 pid_fancontroller_unittest_LDADD = $(top_builddir)/pid/ec/pid.o \
+ $(top_builddir)/pid/ec/logging.o \
  $(top_builddir)/pid/util.o $(top_builddir)/pid/pidcontroller.o \
  $(top_builddir)/pid/fancontroller.o $(top_builddir)/pid/tuning.o
 
diff --git a/test/meson.build b/test/meson.build
index 7c7b513..966334e 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -44,6 +44,7 @@
     'json_parse_unittest': ['../buildjson/buildjson.cpp'],
     'pid_json_unittest': ['../pid/buildjson.cpp'],
     'pid_fancontroller_unittest': ['../pid/ec/pid.cpp',
+                                   '../pid/ec/logging.cpp',
                                    '../pid/fancontroller.cpp',
                                    '../pid/pidcontroller.cpp',
                                    '../pid/tuning.cpp',
@@ -53,11 +54,13 @@
                                         '../pid/tuning.cpp',
                                         '../pid/util.cpp'],
     'pid_thermalcontroller_unittest': ['../pid/ec/pid.cpp',
+                                       '../pid/ec/logging.cpp',
                                        '../pid/pidcontroller.cpp',
                                        '../pid/thermalcontroller.cpp',
                                        '../pid/tuning.cpp',
                                        '../pid/util.cpp'],
     'pid_zone_unittest': ['../pid/ec/pid.cpp',
+                          '../pid/ec/logging.cpp',
                           '../pid/pidcontroller.cpp',
                           '../pid/tuning.cpp',
                           '../pid/zone.cpp',
diff --git a/test/pid_fancontroller_unittest.cpp b/test/pid_fancontroller_unittest.cpp
index f330202..8379113 100644
--- a/test/pid_fancontroller_unittest.cpp
+++ b/test/pid_fancontroller_unittest.cpp
@@ -1,3 +1,4 @@
+#include "pid/ec/logging.hpp"
 #include "pid/ec/pid.hpp"
 #include "pid/fancontroller.hpp"
 #include "test/sensor_mock.hpp"
diff --git a/test/pid_thermalcontroller_unittest.cpp b/test/pid_thermalcontroller_unittest.cpp
index 57a1b9f..4e71a3b 100644
--- a/test/pid_thermalcontroller_unittest.cpp
+++ b/test/pid_thermalcontroller_unittest.cpp
@@ -1,3 +1,4 @@
+#include "pid/ec/logging.hpp"
 #include "pid/ec/pid.hpp"
 #include "pid/thermalcontroller.hpp"
 #include "test/zone_mock.hpp"
diff --git a/test/pid_zone_unittest.cpp b/test/pid_zone_unittest.cpp
index 2c0e147..3a5871d 100644
--- a/test/pid_zone_unittest.cpp
+++ b/test/pid_zone_unittest.cpp
@@ -1,3 +1,4 @@
+#include "pid/ec/logging.hpp"
 #include "pid/ec/pid.hpp"
 #include "pid/zone.hpp"
 #include "sensors/manager.hpp"