Skip to content

risc-v/esp_<rmt|ws2812>: Implement the RMT peripheral for all the supported Risc-V ESP32 devices#11721

Merged
xiaoxiang781216 merged 5 commits intoapache:masterfrom
tmedicci:feature/rmt_risc-v
Feb 20, 2024
Merged

risc-v/esp_<rmt|ws2812>: Implement the RMT peripheral for all the supported Risc-V ESP32 devices#11721
xiaoxiang781216 merged 5 commits intoapache:masterfrom
tmedicci:feature/rmt_risc-v

Conversation

@tmedicci
Copy link
Contributor

Summary

  • Documentation: Add entry about the RMT peripheral for the ESP32 family

  • risc-v/esp_<rmt|ws2812>: Implement the RMT peripheral for ESP32 RVs

    • This commit implements the RMT peripheral for all the supported Espressif's RISC-V devices. It also implements the support for the WS2812 addressable RGB LED using the RMT peripheral.
  • boards/esp32s2-saola-1: Change the RMT output pin to the on-board LED

  • xtensa/esp_ws2812: Get actual RMT clock to encode WS2812 data

    • WS2812 data is encoded into RMT items according to the RMT clock source. This commit makes it by using the actual clock source in spite of a pre-defined value.

Please note that this PR is very similar to the one submitted to provide the RMT support for xtensa-based ESP32 devices: #11428 (this includes the sources of the common driver).

Impact

Implement the common driver for the RMT peripheral on ESP32 Risc-V-based devices.

Testing

Internal CI testing + ESP32-S2-Saola-1 board and ESP32-S3-DevKitC-1 v1.0 board (loopback test + WS2812 LED strip)

WS2812 data is encoded into RMT items according to the RMT clock
source. This commit makes it by using the actual clock source in
spite of a pre-defind value.
This enables the on-board WS2812 addressable LED to be driven by
the RMT peripheral with the `rmt` defconfig.
This commit implements the RMT peripheral for all the supported
Espressif's RISC-V devices. It also implements the support for the
WS2812 addressable RGB LED using the RMT peripheral.
This enables using the example without needing to pass a different
argument for the receiver.
Add documentation about the RMT peripheral (and using it to drive
WS2812 addressable RGB LEDs) for ESP32-S2, ESP32-S3, ESP32-C3,
ESP32-C6 and ESP32-H2.
@xiaoxiang781216 xiaoxiang781216 merged commit d453f94 into apache:master Feb 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants