Humidistat
Arduino firmware for a humidistat (humidity controller)
Loading...
Searching...
No Matches
CharDisplayUI.h
Go to the documentation of this file.
1#ifndef HUMIDISTAT_CHARDISPLAYUI_H
2#define HUMIDISTAT_CHARDISPLAYUI_H
3
4#include <LiquidCrystal.h>
5#include <etl/span.h>
6
7#include "ControllerUI.h"
9
15private:
16 LiquidCrystal& liquidCrystal;
18
19 void draw() override;
20 void drawSplash() override;
21 void drawInfo() override;
22 void clear() override;
23 void setCursor(uint8_t col, uint8_t row) override;
24 bool handleInput(Buttons state, uint16_t pressedFor) override;
25
26public:
33 etl::span<const ThermistorReader, 4> trs);
34
35 void begin() override;
36};
37
38
39#endif //HUMIDISTAT_CHARDISPLAYUI_H
Buttons
Possible button values.
Definition Buttons.h:5
Read button state from a voltage ladder-style keypad.
TUI for 16x2 character LCD. Holds a reference to a LiquidCrystal instance for writing to display....
LiquidCrystal & liquidCrystal
void drawSplash() override
Draw splash screen.
bool handleInput(Buttons state, uint16_t pressedFor) override
Handle input.
void setCursor(uint8_t col, uint8_t row) override
Set cursor to coordinates.
CharDisplayUI(LiquidCrystal *liquidCrystal, const ButtonReader *buttonReader, SingleHumidistat *humidistat, etl::span< const ThermistorReader, 4 > trs)
Constructor.
void drawInfo() override
Draw info screen.
void draw() override
Draw main interface (main loop).
SingleHumidistat & humidistat
void begin() override
Initialize the display.
void clear() override
Clear screen.
User interface (display and input) for humidistat. Hold references to ButtonReader for keypad input,...
etl::span< const ThermistorReader, 4 > trs
const ButtonReader & buttonReader
Control humidity using PID by driving two solenoid valves. Adjust the public setpoint variable and ca...