From 226cd4fa694378ea07b4a67f219391fb6ef246d1 Mon Sep 17 00:00:00 2001 From: brentru <brent@adafruit.com> Date: Mon, 10 Jan 2022 14:34:09 -0500 Subject: [PATCH 1/5] add s2 tft --- src/Wippersnapper_Boards.h | 8 ++++++++ src/components/i2c/WipperSnapper_I2C.cpp | 3 ++- src/components/statusLED/Wippersnapper_StatusLED.cpp | 3 ++- src/provisioning/tinyusb/Wippersnapper_FS.cpp | 12 ++++++++++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/Wippersnapper_Boards.h b/src/Wippersnapper_Boards.h index 6d18ca45c..4982f48bb 100644 --- a/src/Wippersnapper_Boards.h +++ b/src/Wippersnapper_Boards.h @@ -60,6 +60,14 @@ #define STATUS_NEOPIXEL_PIN 33 #define STATUS_NEOPIXEL_NUM 1 #define PIN_I2C_POWER_INVERTED 7 +#elif defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2_TFT) +#define BOARD_ID "adafruit-feather-esp32s2-tft" +#define USE_TINYUSB +#define USE_STATUS_NEOPIXEL +#define NEEDS_STATUS_NEOPIXEL_POWER +#define STATUS_NEOPIXEL_PIN 33 +#define STATUS_NEOPIXEL_NUM 1 +#define PIN_I2C_POWER_INVERTED 7 #elif defined(ARDUINO_ADAFRUIT_QTPY_ESP32S2) #define BOARD_ID "adafruit-qtpy-esp32s2" #define USE_TINYUSB diff --git a/src/components/i2c/WipperSnapper_I2C.cpp b/src/components/i2c/WipperSnapper_I2C.cpp index ebca6e210..faf1d2592 100644 --- a/src/components/i2c/WipperSnapper_I2C.cpp +++ b/src/components/i2c/WipperSnapper_I2C.cpp @@ -36,7 +36,8 @@ WipperSnapper_Component_I2C::WipperSnapper_Component_I2C( WS_DEBUG_PRINTLN(msgInitRequest->i2c_frequency); // Invert Feather ESP32-S2 pin power for I2C -#ifdef ARDUINO_ADAFRUIT_FEATHER_ESP32S2 +#if defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2) || \ + defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2_TFT) pinMode(PIN_I2C_POWER_INVERTED, OUTPUT); digitalWrite(PIN_I2C_POWER_INVERTED, LOW); #endif diff --git a/src/components/statusLED/Wippersnapper_StatusLED.cpp b/src/components/statusLED/Wippersnapper_StatusLED.cpp index aeeaaceba..3f3ee593f 100644 --- a/src/components/statusLED/Wippersnapper_StatusLED.cpp +++ b/src/components/statusLED/Wippersnapper_StatusLED.cpp @@ -51,7 +51,8 @@ bool Wippersnapper::statusLEDInit() { #ifdef NEEDS_STATUS_NEOPIXEL_POWER pinMode(NEOPIXEL_POWER, OUTPUT); #if defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2) || \ - defined(ARDUINO_ADAFRUIT_QTPY_ESP32S2) + defined(ARDUINO_ADAFRUIT_QTPY_ESP32S2) || \ + defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2_TFT) digitalWrite(NEOPIXEL_POWER, HIGH); #else digitalWrite(NEOPIXEL_POWER, LOW); diff --git a/src/provisioning/tinyusb/Wippersnapper_FS.cpp b/src/provisioning/tinyusb/Wippersnapper_FS.cpp index 35ed0569d..ffb0c4412 100644 --- a/src/provisioning/tinyusb/Wippersnapper_FS.cpp +++ b/src/provisioning/tinyusb/Wippersnapper_FS.cpp @@ -12,7 +12,12 @@ * BSD license, all text here must be included in any redistribution. * */ -#if defined(ARDUINO_MAGTAG29_ESP32S2) || defined(ARDUINO_METRO_ESP32S2) || defined(ARDUINO_FUNHOUSE_ESP32S2) || defined(ADAFRUIT_METRO_M4_AIRLIFT_LITE) || defined(ADAFRUIT_PYPORTAL) || defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2) || defined(ARDUINO_ADAFRUIT_QTPY_ESP32S2) +#if defined(ARDUINO_MAGTAG29_ESP32S2) || defined(ARDUINO_METRO_ESP32S2) || \ + defined(ARDUINO_FUNHOUSE_ESP32S2) || \ + defined(ADAFRUIT_METRO_M4_AIRLIFT_LITE) || defined(ADAFRUIT_PYPORTAL) || \ + defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2) || \ + defined(ARDUINO_ADAFRUIT_QTPY_ESP32S2) || \ + defined(ADAFRUIT_FEATHER_ESP32S2_TFT) #include "Wippersnapper_FS.h" // On-board external flash (QSPI or SPI) macros should already // defined in your board variant if supported @@ -277,7 +282,10 @@ void Wippersnapper_FS::createConfigFileSkel() { secretsFile.flush(); // platform-dependent changes #if defined(ARDUINO_MAGTAG29_ESP32S2) || defined(ARDUINO_METRO_ESP32S2) || \ - defined(ARDUINO_FUNHOUSE_ESP32S2) || defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2) || defined (ARDUINO_ADAFRUIT_QTPY_ESP32S2) + defined(ARDUINO_FUNHOUSE_ESP32S2) || \ + defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2) || \ + defined(ARDUINO_ADAFRUIT_QTPY_ESP32S2) || \ + defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2_TFT) secretsFile.print("HERE\",\n\t\"network_type_wifi_native\":{\n\t\t\"network_" "ssid\":\"YOUR_WIFI_SSID_"); #elif defined(ADAFRUIT_PYPORTAL) || defined(ADAFRUIT_METRO_M4_AIRLIFT_LITE) From 80db3c86a6ea7349a4d60e913ee2cd0518763d39 Mon Sep 17 00:00:00 2001 From: brentru <brent@adafruit.com> Date: Mon, 10 Jan 2022 16:28:37 -0500 Subject: [PATCH 2/5] link filesystem, add define for powering the AP2212 regulator, delay within esp32-specific network --- src/components/i2c/WipperSnapper_I2C.cpp | 10 +++++++--- src/network_interfaces/Wippersnapper_ESP32.h | 2 +- src/provisioning/tinyusb/Wippersnapper_FS.cpp | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/components/i2c/WipperSnapper_I2C.cpp b/src/components/i2c/WipperSnapper_I2C.cpp index faf1d2592..15b76a259 100644 --- a/src/components/i2c/WipperSnapper_I2C.cpp +++ b/src/components/i2c/WipperSnapper_I2C.cpp @@ -35,11 +35,15 @@ WipperSnapper_Component_I2C::WipperSnapper_Component_I2C( WS_DEBUG_PRINT("\tFrequency (Hz): "); WS_DEBUG_PRINTLN(msgInitRequest->i2c_frequency); -// Invert Feather ESP32-S2 pin power for I2C -#if defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2) || \ - defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2_TFT) +#if defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2) + // Invert Feather ESP32-S2 pin power for I2C pinMode(PIN_I2C_POWER_INVERTED, OUTPUT); digitalWrite(PIN_I2C_POWER_INVERTED, LOW); +#elif defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2_TFT) + // Power the AP2112 regulator + // TODO: Remove when fixed by latest BSP release + pinMode(TFT_I2C_POWER, OUTPUT); + digitalWrite(TFT_I2C_POWER, HIGH); #endif // Enable pullups on SCL, SDA diff --git a/src/network_interfaces/Wippersnapper_ESP32.h b/src/network_interfaces/Wippersnapper_ESP32.h index abfad44b1..511e735b6 100644 --- a/src/network_interfaces/Wippersnapper_ESP32.h +++ b/src/network_interfaces/Wippersnapper_ESP32.h @@ -216,8 +216,8 @@ class Wippersnapper_ESP32 : public Wippersnapper { _disconnect(); delay(100); WiFi.begin(_ssid, _pass); - delay(100); _status = WS_NET_DISCONNECTED; + delay(5000); } } diff --git a/src/provisioning/tinyusb/Wippersnapper_FS.cpp b/src/provisioning/tinyusb/Wippersnapper_FS.cpp index ffb0c4412..649e94a35 100644 --- a/src/provisioning/tinyusb/Wippersnapper_FS.cpp +++ b/src/provisioning/tinyusb/Wippersnapper_FS.cpp @@ -17,7 +17,7 @@ defined(ADAFRUIT_METRO_M4_AIRLIFT_LITE) || defined(ADAFRUIT_PYPORTAL) || \ defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2) || \ defined(ARDUINO_ADAFRUIT_QTPY_ESP32S2) || \ - defined(ADAFRUIT_FEATHER_ESP32S2_TFT) + defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2_TFT) #include "Wippersnapper_FS.h" // On-board external flash (QSPI or SPI) macros should already // defined in your board variant if supported From a8b3a00baba05ed62ce7810408035617f899ef18 Mon Sep 17 00:00:00 2001 From: brentru <brent@adafruit.com> Date: Mon, 10 Jan 2022 16:31:12 -0500 Subject: [PATCH 3/5] add release workflow --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a621444fb..0a2f94ce7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,7 +36,7 @@ jobs: matrix: arduino-platform: ["funhouse_tinyusb", "magtag_tinyusb", "metro_s2_tinyusb", "feather_s2_tinyusb", - "qtpy_esp32_s2"] + "qtpy_esp32_s2", "feather_s2_tft_tinyusb"] steps: - uses: actions/setup-python@v1 with: From 606c7d56a9ef07b7f439a47668a07ed16ecc2e21 Mon Sep 17 00:00:00 2001 From: brentru <brent@adafruit.com> Date: Mon, 10 Jan 2022 16:41:07 -0500 Subject: [PATCH 4/5] add skipfile for nofs example --- examples/Wippersnapper_NoFS/.feather_s2_tft_tinyusb.test.skip | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples/Wippersnapper_NoFS/.feather_s2_tft_tinyusb.test.skip diff --git a/examples/Wippersnapper_NoFS/.feather_s2_tft_tinyusb.test.skip b/examples/Wippersnapper_NoFS/.feather_s2_tft_tinyusb.test.skip new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/examples/Wippersnapper_NoFS/.feather_s2_tft_tinyusb.test.skip @@ -0,0 +1 @@ + From 52ec163f1dfb2b429c01960f310e6b18cb9a268f Mon Sep 17 00:00:00 2001 From: brentru <brent@adafruit.com> Date: Mon, 10 Jan 2022 16:42:10 -0500 Subject: [PATCH 5/5] add generate file for s2 tft --- examples/Wippersnapper_demo/.feather_s2_tft_tinyusb.generate | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples/Wippersnapper_demo/.feather_s2_tft_tinyusb.generate diff --git a/examples/Wippersnapper_demo/.feather_s2_tft_tinyusb.generate b/examples/Wippersnapper_demo/.feather_s2_tft_tinyusb.generate new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/examples/Wippersnapper_demo/.feather_s2_tft_tinyusb.generate @@ -0,0 +1 @@ +