Humidistat
Arduino firmware for a humidistat (humidity controller)
|
CButtonReader | Read button state from a voltage ladder-style keypad |
CConfigPar | A class for storing references to variables of various types (uint8_t, uint16_t, or double) |
CConfigStore | Config store containing variables, which can be stored in EEPROM |
▼CController | Base class for a controller. Owns a PID instance, and holds a reference to a ConfigStore instance |
CFlowController | Controls flow. Holds a reference to a FlowSensor instance |
▼CHumidistat | Base class for a humidistat. Holds a reference to a HumiditySensor instance |
CCascadeHumidistat | Control humidity using cascade PID: outer PID loop sets setpoints of two inner flow controllers, which drive a solenoid valve each. Adjust the public setpoint variable and call update() |
CSingleHumidistat | Control humidity using PID by driving two solenoid valves. Adjust the public setpoint variable and call update() |
▼CControllerUI | User interface (display and input) for humidistat. Hold references to ButtonReader for keypad input, and Humidistat for updating the humidity setpoint |
CCharDisplayUI | TUI for 16x2 character LCD. Holds a reference to a LiquidCrystal instance for writing to display. Displays current mode, PV, SP, and CV the first line of the display, and temperatures on the second line. Use keypad to adjust setpoint (UP/DOWN for fine, LEFT/RIGHT for coarse) |
CGraphicalDisplayUI< Humidistat_t > | TUI for 128*64 px graphical display using U8g2. Holds references to a U8g2lib instance for writing to display, an EEPROMConfig instance to edit the config, and to a Humidistat instance to show/edit its state |
CDHTHumiditySensor | Implementation of the HumiditySensor interface for the DHT22/AM2302 sensor |
CEEPROMConfig | Load/save an (internal) ConfigStore in EEPROM |
CFlowSensor | Read flow rate using a Omron D6F-P0010 MEMS flow sensor |
CKs0256VoltLadder | Implementation of the VoltLadder interface for the Keyestudio Ks0256 keypad |
CKs0466VoltLadder | Implementation of the VoltLadder interface for the Keyestudio Ks0466 keypad |
CPID | PID controller in parallel form implemented in floating-point arithmetic. Features Derivative-on-Measurement, anti-windup through conditional integration, bumpless transfer, and feed-forward |
CPoint | Point: a vector of a time and setpoint value |
CSerialLogger< Humidistat_t > | Logs humidistat data over serial |
CSetpointProfileRunner | 'Runs' a setpoint profile |
CSHTHumiditySensor | Implementation of the HumiditySensor interface for the Sensirion SHT85 sensor |
CSPProfile | Setpoint profile: a label and a span over Points |
CThermistorReader | Driver for thermistor thermometers |
CConfigPar::Var |