@@ -66,7 +66,7 @@ void Wippersnapper_DigitalGPIO::initDigitalPin(
6666 WsExpanderPin flexPinName = (ExpanderPin)pinName;
6767#else
6868 uint8_t flexPinName = (uint8_t )pinName;
69- #endif
69+ #endif
7070 if (direction ==
7171 wippersnapper_pin_v1_ConfigurePinRequest_Direction_DIRECTION_OUTPUT) {
7272
@@ -96,20 +96,20 @@ void Wippersnapper_DigitalGPIO::initDigitalPin(
9696 digitalWrite (pinName, LOW);
9797 }
9898#else
99- pinMode (pinName , OUTPUT);
100- digitalWrite (pinName , LOW); // initialize LOW
99+ pinMode (flexPinName , OUTPUT);
100+ digitalWrite (flexPinName , LOW); // initialize LOW
101101#endif
102102 } else if (
103103 direction ==
104104 wippersnapper_pin_v1_ConfigurePinRequest_Direction_DIRECTION_INPUT) {
105105 WS_DEBUG_PRINT (" Configuring digital input pin on D" );
106- WS_DEBUG_PRINT (pinName );
106+ WS_DEBUG_PRINT (flexPinName );
107107
108108 if (pull == wippersnapper_pin_v1_ConfigurePinRequest_Pull_PULL_UP) {
109109 WS_DEBUG_PRINTLN (" with internal pull-up enabled" );
110- pinMode (pinName , INPUT_PULLUP);
110+ pinMode (flexPinName , INPUT_PULLUP);
111111 } else {
112- pinMode (pinName , INPUT);
112+ pinMode (flexPinName , INPUT);
113113 WS_DEBUG_PRINT (" \n " );
114114 }
115115
@@ -187,24 +187,17 @@ void Wippersnapper_DigitalGPIO::deinitDigitalPin(
187187*/
188188/* *******************************************************************/
189189int Wippersnapper_DigitalGPIO::digitalReadSvc (int pinName) {
190- // Service using arduino `digitalRead`
191- int pinVal = digitalRead (pinName);
192- return pinVal;
193- }
194-
195190#if defined(ARDUINO_ARDUINO_NESSO_N1)
196- /* *******************************************************************/
197- /* !
198- @brief High-level digitalRead service impl. which performs a
199- digitalRead.
200- @param pin
201- The ExpanderPin instance
202- @returns The pin's value.
203- */
204- /* *******************************************************************/
205- int Wippersnapper_DigitalGPIO::digitalReadSvc (ExpanderPin pin) {
191+ // probably this should be >255 instead for future use.
192+ if ((pinName & 0x100 ) || (pinName & 0x200 )) {
193+ WsExpanderPin flexPinName = (ExpanderPin)pinName;
194+ // Service using expander `digitalRead`
195+ int pinVal = digitalRead (flexPinName);
196+ return pinVal;
197+ }
198+ #endif
206199 // Service using arduino `digitalRead`
207- int pinVal = digitalRead (pin );
200+ int pinVal = digitalRead (pinName );
208201 return pinVal;
209202}
210203
@@ -217,25 +210,8 @@ int Wippersnapper_DigitalGPIO::digitalReadSvc(ExpanderPin pin) {
217210 The pin's value.
218211*/
219212/* ******************************************************************************/
220- void Wippersnapper_DigitalGPIO::digitalWriteSvc (ExpanderPin pin, int pinValue) {
221- WS_DEBUG_PRINT (" Digital Pin Event: Set " );
222- WS_DEBUG_PRINT (pin.pin );
223- WS_DEBUG_PRINT (" to " );
224- WS_DEBUG_PRINTLN (pinValue);
225- digitalWrite (pin, pinValue);
226- }
227- #endif
228-
229- /* ******************************************************************************/
230- /* !
231- @brief Writes a value to a pin.
232- @param pinName
233- The pin's name.
234- @param pinValue
235- The pin's value.
236- */
237- /* ******************************************************************************/
238- void Wippersnapper_DigitalGPIO::digitalWriteSvc (uint16_t pinName, int pinValue) {
213+ void Wippersnapper_DigitalGPIO::digitalWriteSvc (uint16_t pinName,
214+ int pinValue) {
239215 WS_DEBUG_PRINT (" Digital Pin Event: Set " );
240216 WS_DEBUG_PRINT (pinName);
241217 WS_DEBUG_PRINT (" to " );
@@ -249,6 +225,13 @@ void Wippersnapper_DigitalGPIO::digitalWriteSvc(uint16_t pinName, int pinValue)
249225 digitalWrite (pinName, !pinValue);
250226 else
251227 digitalWrite (pinName, pinValue);
228+ #elif defined(ARDUINO_ARDUINO_NESSO_N1)
229+ if ((pinName & 0x100 ) || (pinName & 0x200 )) {
230+ WsExpanderPin flexPinName = (ExpanderPin)pinName;
231+ digitalWrite (flexPinName, pinValue);
232+ } else {
233+ digitalWrite (pinName, pinValue);
234+ }
252235#else
253236 digitalWrite (pinName, pinValue);
254237#endif
0 commit comments