4 etl::span<const FlowSensor, 2> flowSensors, etl::array<uint8_t, 2> pins_solenoid,
6 :
Humidistat(cs, hs, cs->HC_Kp, cs->HC_Ki, cs->HC_Kd, cs->HC_Kf, cs->dt, 0, 1),
const FlowController * getInner(uint8_t n) const
Get a pointer to a inner FlowController instance.
CascadeHumidistat(HumiditySensor *hs, const ConfigStore *cs, etl::span< const FlowSensor, 2 > flowSensors, etl::array< uint8_t, 2 > pins_solenoid, uint8_t pwmRes)
Constructor.
void updatePIDParameters()
double cv
Control variable.
Controls flow. Holds a reference to a FlowSensor instance.
void updatePIDParameters()
Base class for a humidistat. Holds a reference to a HumiditySensor instance.
void runCycle()
Run a cycle of the controller. Reads a sample from the humidity controller and runs PID.
void setGains(double Kp, double Ki, double Kd, double Kf, uint16_t dt)
Set the gains and timestep.
Config store containing variables, which can be stored in EEPROM.
double HC_totalFlowrate
Total flowrate (for cascade controller) (L/min)
double HC_Kp
Humidity controller PID parameters.
uint16_t dt
Global interval for PID/logger (based on polling rate of sensor, in millis)