9 #ifdef ACCESSORIES_DEBUG_MODE 10 #ifdef ARDUINO_ARCH_SAM 11 void Port::CheckPinNb(
int inPin, PIN_TYPE inType,
const char *inFunc)
17 unsigned long expanderId = EXPANDER_PORT_EXPID(inPin);
20 PortExpander::CheckExpanderId(expanderId);
26 pin = GPIO_to_Arduino_pin((GPIO_pin_t)inPin);
28 if (pin <= 0 || pin >= NUM_DIGITAL_PINS)
30 if (pin < A0 || pin > A7)
32 Serial.print(F(
"Pin "));
34 Serial.print(F(
" error in "));
35 Serial.println(inFunc);
44 void Port::CheckPinNb(
int inPin, PIN_TYPE inType,
const __FlashStringHelper* inFunc)
50 unsigned long expanderId = EXPANDER_PORT_EXPID(inPin);
53 PortExpander::CheckExpanderId(expanderId);
59 pin = GPIO_to_Arduino_pin((GPIO_pin_t)inPin);
61 if (pin <= 0 || pin >= NUM_DIGITAL_PINS)
63 if (pin < A0 || pin > A7)
65 Serial.print(F(
"Pin "));
67 Serial.print(F(
" error in "));
68 Serial.println(inFunc);
82 this->
speed = DEFAULTSPEED;
87 if (inType == UNDEFINED)
90 if (inType == ANALOG_INVERTED)
93 if (inType == DIGITAL_INVERTED)
106 if (inType == UNDEFINED)
111 unsigned long expanderId = EXPANDER_PORT_EXPID(inPin);
114 #ifdef ARDUINO_DEBUG_MODE 115 PortExpander::CheckExpanderId(expanderId);
117 int pinExp = EXPANDER_PORT_PIN(inPin);
126 pin = Arduino_to_GPIO_pin(inPin);
127 pinMode2f((GPIO_pin_t) pin, OUTPUT);
140 if (inType == UNDEFINED)
143 CHECKPIN(inPin, inType,
"Incorrect pin number in MovePin");
146 unsigned long expanderId = EXPANDER_PORT_EXPID(inPin);
149 #ifdef ARDUINO_DEBUG_MODE 150 PortExpander::CheckExpanderId(expanderId);
152 int pinExp = EXPANDER_PORT_PIN(inPin);
167 digitalWrite2f((GPIO_pin_t)inPin, this->
MapValue(inValue, inType));
172 analogWrite(inPin, this->
MapValue(0, inType));
180 uint8_t oldSpeed = this->
speed;
181 this->
speed = inSpeed;
219 #ifdef ACCESSORIES_PRINT_ACCESSORIES 220 void Port::printPort()
224 void Port::printPortPin(
int inPin, PIN_TYPE inType)
228 unsigned long expanderId = EXPANDER_PORT_EXPID(inPin);
231 Serial.print(expanderId);
233 Serial.print(EXPANDER_PORT_PIN(inPin));
240 Serial.print(GPIO_to_Arduino_pin((GPIO_pin_t)inPin));
249 case UNDEFINED: Serial.print(
"UNDEFINED)");
break;
250 case DIGITAL: Serial.print(
"DIGITAL)");
break;
251 case DIGITAL_INVERTED: Serial.print(
"DIGITAL_INVERTED)");
break;
252 case ANALOG: Serial.print(
"ANALOG)");
break;
253 case ANALOG_INVERTED: Serial.print(
"ANALOG_INVERTED)");
break;
PORT_STATE GetPortState() const
virtual void MoveLeftDir(unsigned long inDuration = 0)
virtual void MoveRightDir(unsigned long inDuration = 0)
PORT_STATE MoveToggle(unsigned long inDuration = 0)
virtual int SetSpeed(int inSpeed)
virtual void analogWrite(int inPin, int inValue) = 0
virtual void digitalWrite(int inPin, int inValue) = 0
void MovePin(int inPin, int inValue, PIN_TYPE inType = UNDEFINED) const
virtual void beginPin(int inPin, PIN_TYPE inType) = 0
int beginPin(int inPin, PIN_TYPE inType = UNDEFINED) const
PIN_TYPE GetPinType() const
int MapValue(int inValue, PIN_TYPE inType = UNDEFINED) const
void SetPortState(PORT_STATE inState)
void SetPinType(PIN_TYPE inType)