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