-
Notifications
You must be signed in to change notification settings - Fork 115
Description
The Feather Music Maker documentation and the feather_player.ino source imply that the pinouts should work with all boards. However, the correct Feather ESP32-S3 pinout matches the S2, but line 26 #elif defined(ESP32) && !defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2) returns True for the ESP32-S3, which means the wrong pinout definitions are used in this example file. Furthermore it caused device crashes rather than the error to print to Serial, which was doubly frustrating for me let alone new users.
I tested that the ESP32-S2 pinout (the very last #else block in the file) worked with the ESP32-S3. However I believe these variables come from Platform.io, e.g. here for my board. That would imply we need to check for 7 variables:
ARDUINO_ADAFRUIT_FEATHER_ESP32S2ARDUINO_ADAFRUIT_FEATHER_ESP32S2_REVTFTARDUINO_ADAFRUIT_FEATHER_ESP32S2_TFTARDUINO_ADAFRUIT_FEATHER_ESP32S3ARDUINO_ADAFRUIT_FEATHER_ESP32S3_NOPSRAMARDUINO_ADAFRUIT_FEATHER_ESP32S3_REVTFTARDUINO_ADAFRUIT_FEATHER_ESP32S3_TFT
I'm not sure if we should rewrite that #elif block to exclude all 7 of these cases, just leave a comment for someone viewing the code that they'll need to fix it for these cases, or if there's some more efficient way to check for these cases?