29#include <SAL_MTM1M3C.h>
31#include <M1M3SSPublisher.h>
32#include <PIDParameters.h>
65 void restoreInitialParameters();
66 void resetPreviousValues();
71 double process(
double setpoint,
double measurement);
81 void thaw() { _frozen =
false; }
83 double getOffset(
bool *changed);
85 void publishTelemetry();
92 MTM1M3_logevent_pidInfoC *_pidInfo;
93 MTM1M3_pidDataC *_pidData;
95 void _calculateIntermediateValues();
98 std::atomic_bool _frozen;
Implements PID discrete time controller.
Definition PID.h:50
void thaw()
Remove PID freeze flag.
Definition PID.h:81
double process(double setpoint, double measurement)
Run PID calculations, produce output.
Definition PID.cpp:69
PID(int id, PIDParameters parameters)
Constructs PID.
Definition PID.cpp:30
void updateParameters(PIDParameters parameters)
Update PID parameters.
Definition PID.cpp:39
void freeze()
Keep constant PID output.
Definition PID.cpp:91
Parameters for PID calculations.
Definition PIDParameters.h:36