switched to mqtt, added class valve
This commit is contained in:
@@ -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;
|
||||
};
|
||||
Reference in New Issue
Block a user