Files
drybox/drybox.ino

77 lines
1.4 KiB
C++

#include "DisplayManager.h"
#include "SensorManager.h"
#include "Button.h"
#include "Menu.h"
#define FIRMWARE_VERSION "v0.1"
DisplayManager display;
SensorManager sensor(10);
Button downButton(3);
Button upButton(4);
Button okButton(2);
Button backButton(5);
Menu menu;
void setup() {
display.begin();
sensor.begin();
upButton.begin();
downButton.begin();
okButton.begin();
backButton.begin();
}
void loop() {
unsigned long now = millis();
upButton.update(now);
downButton.update(now);
okButton.update(now);
backButton.update(now);
sensor.update(now);
if (upButton.pressed()) {
menu.next();
}
if (downButton.pressed()) {
menu.prev();
}
if (okButton.pressed()) {
menu.enter();
}
if(backButton.pressed()) {
menu.back();
}
if (display.ready(now)) {
if (menu.isEditing() && strcmp(menu.getCurrent(), "Temperature") == 0) {
display.showText(
"Set Temp",
String(menu.getTargetTemperature()) + " C"
);
}
else if (menu.isEditing() && strcmp(menu.getCurrent(), "Humidity") == 0) {
display.showText(
"Set Humidity",
String(menu.getTargetHumidity()) + " %"
);
}
else {
display.showText(
String("") + sensor.getTemp() + "C " + sensor.getHumidity() + "%",
String("[") + menu.getCurrent() + String("] ")
);
}
}
}