26 lines
675 B
C
26 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();
|
||
|
};
|