Skip to content

Pinouts in feather_player.ino don't work with Feather ESP32-S3 #104

@peterscherpelz

Description

@peterscherpelz

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_ESP32S2
  • ARDUINO_ADAFRUIT_FEATHER_ESP32S2_REVTFT
  • ARDUINO_ADAFRUIT_FEATHER_ESP32S2_TFT
  • ARDUINO_ADAFRUIT_FEATHER_ESP32S3
  • ARDUINO_ADAFRUIT_FEATHER_ESP32S3_NOPSRAM
  • ARDUINO_ADAFRUIT_FEATHER_ESP32S3_REVTFT
  • ARDUINO_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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions