I am considering porting ESP32-S3-DevKitC-1 v1.1 to RIOT. Considering that :
-
v1 is already supported
- as I understand from the release note, the changes are mainly on pin assignment
What would be the best strategy ? Copy the board directory and adapt the files for v1.1, or is there a smarter way, like inherit the code from v1 ?
1 Like
I believe the typical approach is to add a folder to boards/common
and move all the common bits to that folder. However, in the link you shared, there also appears to be a BOARD_VERSION
already. Maybe you want to study how that could be used for your purposes?
In the meantime, I found out that only the only difference between the 2 versions is the pin connected to the RGB LED… and that although I ordered a v1.1, I got a v1.0.
Anyway, not sure if it’s super clean, but the pin change can be done easily by adding this line to the makefile for a v1.1 board. The pin on the v1.0 is GPIO48.
CFLAGS += -DWS281X_PARAM_PIN=GPIO38
If it’s such a trivial change you can also just create a new board folder that includes everything from the previous version and overwrites that pin.
See e.g. openlabs-kw41z-mini-256kib
for such an example.
esp32s2-devkit
uses BOARD_VERSION
instead to model slight hardware differences. While this is nicer to CI build times, it’s harder to discover.