Skip to content

Commit 2de89eb

Browse files
committed
wip(pio): Local build for platformIO seems okay
1 parent 10d52c1 commit 2de89eb

File tree

4 files changed

+67
-6
lines changed

4 files changed

+67
-6
lines changed

src/Wippersnapper_Boards.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,9 @@
170170
#define BOARD_ID "arduino-nesso-n1"
171171
#define USE_LITTLEFS
172172
#define USE_STATUS_LED
173+
#ifdef STATUS_LED_PIN
174+
#undef STATUS_LED_PIN
175+
#endif
173176
#define STATUS_LED_PIN LED_BUILTIN
174177
#define STATUS_LED_INVERTED
175178
#define USE_PSRAM ///< Board has PSRAM, use it for dynamic memory allocation

src/components/digitalIO/Wippersnapper_DigitalGPIO.cpp

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,20 +66,28 @@ void Wippersnapper_DigitalGPIO::initDigitalPin(
6666
wippersnapper_pin_v1_ConfigurePinRequest_Direction_DIRECTION_OUTPUT) {
6767

6868
#ifdef STATUS_LED_PIN
69+
#if !defined(ARDUINO_ARDUINO_NESSO_N1)
70+
// if (String("D") + pinName == STATUS_LED_PIN.pin)
71+
// #else
6972
// deinit status led, use it as a dio component instead
7073
if (pinName == STATUS_LED_PIN)
7174
releaseStatusLED();
75+
#endif
7276
#endif
7377
pinMode(pinName, OUTPUT);
7478

7579
WS_DEBUG_PRINT("Configured digital output pin on D");
7680
WS_DEBUG_PRINTLN(pinName);
7781

7882
// Initialize LOW
79-
#if defined(ARDUINO_ESP8266_ADAFRUIT_HUZZAH) || defined(STATUS_LED_INVERTED)
80-
// The Adafruit Feather ESP8266's built-in LED is reverse wired so setting
81-
// the pin LOW will turn the LED on.
82-
digitalWrite(STATUS_LED_PIN, !0);
83+
#if defined(ARDUINO_ESP8266_ADAFRUIT_HUZZAH) // not until we support ExpanderPins || defined(STATUS_LED_INVERTED)
84+
if (pinName == STATUS_LED_PIN) {
85+
// The Adafruit Feather ESP8266's built-in LED is reverse wired so setting
86+
// the pin LOW will turn the LED on.
87+
digitalWrite(STATUS_LED_PIN, !0);
88+
} else {
89+
digitalWrite(pinName, LOW);
90+
}
8391
#else
8492
pinMode(pinName, OUTPUT);
8593
digitalWrite(pinName, LOW); // initialize LOW
@@ -155,9 +163,11 @@ void Wippersnapper_DigitalGPIO::deinitDigitalPin(
155163

156164
// if prv. in-use by DIO, release pin back to application
157165
#ifdef STATUS_LED_PIN
166+
#if !defined(ARDUINO_ARDUINO_NESSO_N1) // not until we support ExpanderPins
158167
if (pinName == STATUS_LED_PIN)
159168
initStatusLED();
160169
#endif
170+
#endif
161171
}
162172

163173
/********************************************************************/
@@ -175,6 +185,40 @@ int Wippersnapper_DigitalGPIO::digitalReadSvc(int pinName) {
175185
return pinVal;
176186
}
177187

188+
#if defined(ARDUINO_ARDUINO_NESSO_N1)
189+
/********************************************************************/
190+
/*!
191+
@brief High-level digitalRead service impl. which performs a
192+
digitalRead.
193+
@param pin
194+
The ExpanderPin instance
195+
@returns The pin's value.
196+
*/
197+
/********************************************************************/
198+
int Wippersnapper_DigitalGPIO::digitalReadSvc(ExpanderPin pin) {
199+
// Service using arduino `digitalRead`
200+
int pinVal = digitalRead(pin);
201+
return pinVal;
202+
}
203+
204+
/*******************************************************************************/
205+
/*!
206+
@brief Writes a value to a pin.
207+
@param pinName
208+
The pin's name.
209+
@param pinValue
210+
The pin's value.
211+
*/
212+
/*******************************************************************************/
213+
void Wippersnapper_DigitalGPIO::digitalWriteSvc(ExpanderPin pin, int pinValue) {
214+
WS_DEBUG_PRINT("Digital Pin Event: Set ");
215+
WS_DEBUG_PRINT(pin.pin);
216+
WS_DEBUG_PRINT(" to ");
217+
WS_DEBUG_PRINTLN(pinValue);
218+
digitalWrite(pin, pinValue);
219+
}
220+
#endif
221+
178222
/*******************************************************************************/
179223
/*!
180224
@brief Writes a value to a pin.

src/components/digitalIO/Wippersnapper_DigitalGPIO.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,18 @@ class Wippersnapper_DigitalGPIO {
5050

5151
int digitalReadSvc(int pinName);
5252
void digitalWriteSvc(uint8_t pinName, int pinValue);
53+
#if defined(ARDUINO_ARDUINO_NESSO_N1)
54+
// void
55+
// initDigitalPin(wippersnapper_pin_v1_ConfigurePinRequest_Direction direction,
56+
// ExpanderPin pinName, float period,
57+
// wippersnapper_pin_v1_ConfigurePinRequest_Pull pull);
58+
// void
59+
// deinitDigitalPin(wippersnapper_pin_v1_ConfigurePinRequest_Direction direction,
60+
// ExpanderPin pinName);
61+
62+
int digitalReadSvc(ExpanderPin pinName);
63+
void digitalWriteSvc(ExpanderPin pinName, int pinValue);
64+
#endif
5365
void processDigitalInputs();
5466

5567
digitalInputPin *_digital_input_pins; /*!< Array of gpio pin objects */

src/components/statusLED/Wippersnapper_StatusLED.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ void initStatusLED() {
8282
// Turn off LED initially
8383
#if defined(ARDUINO_ESP8266_ADAFRUIT_HUZZAH)
8484
analogWrite(STATUS_LED_PIN, 255);
85+
#elif defined(ARDUINO_ARDUINO_NESSO_N1) || defined(STATUS_LED_INVERTED)
86+
digitalWrite(STATUS_LED_PIN, HIGH);
8587
#elif defined(ARDUINO_ARCH_ESP32)
8688
WS._pwmComponent->attach(STATUS_LED_PIN, LEDC_BASE_FREQ, LEDC_TIMER_12_BIT);
8789
WS._pwmComponent->writeDutyCycle(STATUS_LED_PIN,
@@ -205,7 +207,7 @@ void setStatusLEDColor(uint32_t color) {
205207
#ifdef USE_STATUS_LED
206208
if (!WS.lockStatusLED)
207209
return; // status pixel is in-use elsewhere
208-
#ifdef ARDUINO_ARCH_RP2040
210+
#if defined(ARDUINO_ARCH_RP2040) || defined(ARDUINO_ARDUINO_NESSO_N1) || defined(STATUS_LED_INVERTED)
209211
digitalWrite(STATUS_LED_PIN,
210212
#if defined(STATUS_LED_INVERTED)
211213
!(color > 0)
@@ -282,7 +284,7 @@ void setStatusLEDColor(uint32_t color, int brightness) {
282284
if (!WS.lockStatusLED)
283285
return;
284286

285-
#ifdef ARDUINO_ARCH_RP2040
287+
#if defined(ARDUINO_ARCH_RP2040) || defined(ARDUINO_ARDUINO_NESSO_N1)
286288
digitalWrite(STATUS_LED_PIN,
287289
#if defined(STATUS_LED_INVERTED)
288290
!(color > 0)

0 commit comments

Comments
 (0)