base-station/Firmware/lib/LightController/LightController.h

25 lines
675 B
C++

class LightController
{
protected:
__SIZE_TYPE__ bjtCount;
const int *bjtPins;
int *bjtState;
private:
void setAbsoluteState(const char data[], int index);
void parseRelativeState(const char data[], int index, int steps);
int clampState(int stateValue);
void commitState(int index);
void commitPinState(int index);
void initializeStateDefaultValues();
void restoreState();
void initializeState();
void initializePins();
public:
LightController(const int bjtPins[], __SIZE_TYPE__ bjtCount);
void updateState(const char data[], int steps);
int getBjtCount();
const int *getBjtPins();
int *getBjtState();
};