switched to mqtt, added class valve

This commit is contained in:
2023-04-13 18:09:26 +02:00
parent 0f7feae8a8
commit 08f14424af
8 changed files with 205 additions and 108 deletions
+40
View File
@@ -0,0 +1,40 @@
#pragma once
#include <shiftregister.h>
#define MAX_VALVES 16
class Valve {
public:
struct ValveData {
uint8_t pin;
bool shiftRegister;
uint8_t duration;
uint32_t startTime;
};
Valve();
void loop();
void addShiftRegister(ShiftRegister *shiftRegister);
void add(uint8_t pinNum, bool shiftRegister);
void open(uint8_t valveNumber, uint8_t minutes);
void close(uint8_t valveNumber);
void closeAll();
uint8_t getNumOfOpen();
uint8_t getTimeLeft(uint8_t valveNumber);
private:
void setValve(uint8_t valveNumber, bool state);
ShiftRegister* shiftRegister = nullptr;
ValveData valves[MAX_VALVES];
uint8_t valveCount = 0;
uint16_t loopDelay = 1000;
uint32_t loopLastMillis = 0;
};