2 #ifndef __portexpander_H__ 3 #define __portexpander_H__ 12 #define EXPANDER_PIN(expid, pin) (((expid) * 1000) + pin) 14 #define EXPANDER_PORT_PIN(pinnb) ((pinnb) % 1000) 16 #define EXPANDER_PORT_EXPID(pinnb) ((pinnb) / 1000) 27 inline void SetNextExpander(
PortExpander *inExpander) { this->pNextExpander = inExpander; }
28 inline PortExpander *GetNextExpander()
const {
return this->pNextExpander; }
40 inline virtual byte
begin() {
return 0; }
45 virtual void beginPin(
int inPin, PIN_TYPE inType) = 0;
55 virtual void analogWrite(
int inPin,
int inValue) = 0;
66 static void beginPin(
int inPin,
int inExpId, PIN_TYPE inType);
72 static void digitalWrite(
int inPin,
int inExpId,
int inValue);
78 static void analogWrite(
int inPin,
int inExpId,
int inValue);
80 #ifdef ACCESSORIES_DEBUG_MODE 81 static void CheckExpanderId(
int inId);
virtual void analogWrite(int inPin, int inValue) = 0
virtual void digitalWrite(int inPin, int inValue) = 0
virtual void beginPin(int inPin, PIN_TYPE inType) = 0