Skip to content

Commit b9ec8de

Browse files
authored
Merge pull request #2087 from ladyada/main
update example for esp32-s2 feather
2 parents 89e4075 + a38e6f1 commit b9ec8de

File tree

2 files changed

+33
-5
lines changed

2 files changed

+33
-5
lines changed

Adafruit_ESP32_Arduino_Demos/ESP32_sleeptest/ESP32_sleeptest.ino

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,29 @@ void enableInternalPower() {
5151
pinMode(NEOPIXEL_POWER, OUTPUT);
5252
digitalWrite(NEOPIXEL_POWER, HIGH);
5353
#endif
54+
55+
#if defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2)
56+
// turn on the I2C power by setting pin to opposite of 'rest state'
57+
pinMode(PIN_I2C_POWER, INPUT);
58+
delay(1);
59+
bool polarity = digitalRead(PIN_I2C_POWER);
60+
pinMode(PIN_I2C_POWER, OUTPUT);
61+
digitalWrite(PIN_I2C_POWER, !polarity);
62+
pinMode(NEOPIXEL_POWER, OUTPUT);
63+
digitalWrite(NEOPIXEL_POWER, HIGH);
64+
#endif
5465
}
5566

5667
void disableInternalPower() {
5768
#if defined(ARDUINO_ADAFRUIT_QTPY_ESP32_PICO)
5869
pinMode(NEOPIXEL_POWER, OUTPUT);
5970
digitalWrite(NEOPIXEL_POWER, LOW);
6071
#endif
72+
73+
#if defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2)
74+
// turn on the I2C power by setting pin to rest state (off)
75+
pinMode(PIN_I2C_POWER, INPUT);
76+
pinMode(NEOPIXEL_POWER, OUTPUT);
77+
digitalWrite(NEOPIXEL_POWER, LOW);
78+
#endif
6179
}

ESP32_S2_WiFi_Tests/JSONdemo/JSONdemo.ino

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -199,13 +199,23 @@ void loop() {
199199

200200
void setupI2C() {
201201
#if defined(ARDUINO_ADAFRUIT_QTPY_ESP32S2) || defined(ARDUINO_ADAFRUIT_QTPY_ESP32_PICO)
202-
// ESP32 is kinda odd in that secondary ports must be manually
203-
// assigned their pins with setPins()!
204-
Wire1.setPins(SDA1, SCL1);
202+
// ESP32 is kinda odd in that secondary ports must be manually
203+
// assigned their pins with setPins()!
204+
Wire1.setPins(SDA1, SCL1);
205205
#endif
206+
206207
#if defined(NEOPIXEL_I2C_POWER)
207-
pinMode(NEOPIXEL_I2C_POWER, OUTPUT);
208-
digitalWrite(NEOPIXEL_I2C_POWER, HIGH); // on
208+
pinMode(NEOPIXEL_I2C_POWER, OUTPUT);
209+
digitalWrite(NEOPIXEL_I2C_POWER, HIGH); // on
210+
#endif
211+
212+
#if defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2)
213+
// turn on the I2C power by setting pin to opposite of 'rest state'
214+
pinMode(PIN_I2C_POWER, INPUT);
215+
delay(1);
216+
bool polarity = digitalRead(PIN_I2C_POWER);
217+
pinMode(PIN_I2C_POWER, OUTPUT);
218+
digitalWrite(PIN_I2C_POWER, !polarity);
209219
#endif
210220
}
211221

0 commit comments

Comments
 (0)