mirror of
https://github.com/apache/nuttx.git
synced 2026-05-31 14:27:37 +08:00
Documentation: Add entry about the RMT peripheral for ESP32 family
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.
This commit is contained in:
committed by
Xiang Xiao
parent
1d645318cc
commit
d453f94f63
@@ -105,6 +105,35 @@ To test it, just execute the ``pwm`` application::
|
|||||||
pwm_main: starting output with frequency: 10000 duty: 00008000
|
pwm_main: starting output with frequency: 10000 duty: 00008000
|
||||||
pwm_main: stopping output
|
pwm_main: stopping output
|
||||||
|
|
||||||
|
rmt
|
||||||
|
---
|
||||||
|
|
||||||
|
This configuration configures the transmitter and the receiver of the
|
||||||
|
Remote Control Transceiver (RMT) peripheral on the ESP32-C3 using GPIOs 8
|
||||||
|
and 2, respectively. The RMT peripheral is better explained
|
||||||
|
`here <https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-reference/peripherals/rmt.html>`__,
|
||||||
|
in the ESP-IDF documentation. The minimal data unit in the frame is called the
|
||||||
|
RMT symbol, which is represented by ``rmt_item32_t`` in the driver:
|
||||||
|
|
||||||
|
.. figure:: rmt_symbol.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
The example ``rmtchar`` can be used to test the RMT peripheral. Connecting
|
||||||
|
these pins externally to each other will make the transmitter send RMT items
|
||||||
|
and demonstrates the usage of the RMT peripheral::
|
||||||
|
|
||||||
|
nsh> rmtchar
|
||||||
|
|
||||||
|
**WS2812 addressable RGB LEDs**
|
||||||
|
|
||||||
|
This same configuration enables the usage of the RMT peripheral and the example
|
||||||
|
``ws2812`` to drive addressable RGB LEDs::
|
||||||
|
|
||||||
|
nsh> ws2812
|
||||||
|
|
||||||
|
Please note that this board contains an on-board WS2812 LED connected to GPIO8
|
||||||
|
and, by default, this config configures the RMT transmitter in the same pin.
|
||||||
|
|
||||||
rtc
|
rtc
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
@@ -140,6 +140,35 @@ To test it, just execute the ``pwm`` application::
|
|||||||
pwm_main: starting output with frequency: 10000 duty: 00008000
|
pwm_main: starting output with frequency: 10000 duty: 00008000
|
||||||
pwm_main: stopping output
|
pwm_main: stopping output
|
||||||
|
|
||||||
|
rmt
|
||||||
|
---
|
||||||
|
|
||||||
|
This configuration configures the transmitter and the receiver of the
|
||||||
|
Remote Control Transceiver (RMT) peripheral on the ESP32-C6 using GPIOs 8
|
||||||
|
and 2, respectively. The RMT peripheral is better explained
|
||||||
|
`here <https://docs.espressif.com/projects/esp-idf/en/latest/esp32c6/api-reference/peripherals/rmt.html>`__,
|
||||||
|
in the ESP-IDF documentation. The minimal data unit in the frame is called the
|
||||||
|
RMT symbol, which is represented by ``rmt_item32_t`` in the driver:
|
||||||
|
|
||||||
|
.. figure:: rmt_symbol.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
The example ``rmtchar`` can be used to test the RMT peripheral. Connecting
|
||||||
|
these pins externally to each other will make the transmitter send RMT items
|
||||||
|
and demonstrates the usage of the RMT peripheral::
|
||||||
|
|
||||||
|
nsh> rmtchar
|
||||||
|
|
||||||
|
**WS2812 addressable RGB LEDs**
|
||||||
|
|
||||||
|
This same configuration enables the usage of the RMT peripheral and the example
|
||||||
|
``ws2812`` to drive addressable RGB LEDs::
|
||||||
|
|
||||||
|
nsh> ws2812
|
||||||
|
|
||||||
|
Please note that this board contains an on-board WS2812 LED connected to GPIO8
|
||||||
|
and, by default, this config configures the RMT transmitter in the same pin.
|
||||||
|
|
||||||
rtc
|
rtc
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
@@ -139,6 +139,35 @@ To test it, just execute the ``pwm`` application::
|
|||||||
pwm_main: starting output with frequency: 10000 duty: 00008000
|
pwm_main: starting output with frequency: 10000 duty: 00008000
|
||||||
pwm_main: stopping output
|
pwm_main: stopping output
|
||||||
|
|
||||||
|
rmt
|
||||||
|
---
|
||||||
|
|
||||||
|
This configuration configures the transmitter and the receiver of the
|
||||||
|
Remote Control Transceiver (RMT) peripheral on the ESP32-H2 using GPIOs 8
|
||||||
|
and 2, respectively. The RMT peripheral is better explained
|
||||||
|
`here <https://docs.espressif.com/projects/esp-idf/en/latest/esp32h2/api-reference/peripherals/rmt.html>`__,
|
||||||
|
in the ESP-IDF documentation. The minimal data unit in the frame is called the
|
||||||
|
RMT symbol, which is represented by ``rmt_item32_t`` in the driver:
|
||||||
|
|
||||||
|
.. figure:: rmt_symbol.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
The example ``rmtchar`` can be used to test the RMT peripheral. Connecting
|
||||||
|
these pins externally to each other will make the transmitter send RMT items
|
||||||
|
and demonstrates the usage of the RMT peripheral::
|
||||||
|
|
||||||
|
nsh> rmtchar
|
||||||
|
|
||||||
|
**WS2812 addressable RGB LEDs**
|
||||||
|
|
||||||
|
This same configuration enables the usage of the RMT peripheral and the example
|
||||||
|
``ws2812`` to drive addressable RGB LEDs::
|
||||||
|
|
||||||
|
nsh> ws2812
|
||||||
|
|
||||||
|
Please note that this board contains an on-board WS2812 LED connected to GPIO8
|
||||||
|
and, by default, this config configures the RMT transmitter in the same pin.
|
||||||
|
|
||||||
rtc
|
rtc
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
@@ -335,6 +335,35 @@ To test it, just run ``rand`` to get 32 randomly generated bytes::
|
|||||||
0000 98 b9 66 a2 a2 c0 a2 ae 09 70 93 d1 b5 91 86 c8 ..f......p......
|
0000 98 b9 66 a2 a2 c0 a2 ae 09 70 93 d1 b5 91 86 c8 ..f......p......
|
||||||
0010 8f 0e 0b 04 29 64 21 72 01 92 7c a2 27 60 6f 90 ....)d!r..|.'`o.
|
0010 8f 0e 0b 04 29 64 21 72 01 92 7c a2 27 60 6f 90 ....)d!r..|.'`o.
|
||||||
|
|
||||||
|
rmt
|
||||||
|
---
|
||||||
|
|
||||||
|
This configuration configures the transmitter and the receiver of the
|
||||||
|
Remote Control Transceiver (RMT) peripheral on the ESP32-S2 using GPIOs 18
|
||||||
|
and 2, respectively. The RMT peripheral is better explained
|
||||||
|
`here <https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/api-reference/peripherals/rmt.html>`__,
|
||||||
|
in the ESP-IDF documentation. The minimal data unit in the frame is called the
|
||||||
|
RMT symbol, which is represented by ``rmt_item32_t`` in the driver:
|
||||||
|
|
||||||
|
.. figure:: rmt_symbol.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
The example ``rmtchar`` can be used to test the RMT peripheral. Connecting
|
||||||
|
these pins externally to each other will make the transmitter send RMT items
|
||||||
|
and demonstrates the usage of the RMT peripheral::
|
||||||
|
|
||||||
|
nsh> rmtchar
|
||||||
|
|
||||||
|
**WS2812 addressable RGB LEDs**
|
||||||
|
|
||||||
|
This same configuration enables the usage of the RMT peripheral and the example
|
||||||
|
``ws2812`` to drive addressable RGB LEDs::
|
||||||
|
|
||||||
|
nsh> ws2812
|
||||||
|
|
||||||
|
Please note that this board contains an on-board WS2812 LED connected to GPIO18
|
||||||
|
and, by default, this config configures the RMT transmitter in the same pin.
|
||||||
|
|
||||||
rtc
|
rtc
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
@@ -46,6 +46,14 @@ Board LEDs
|
|||||||
|
|
||||||
There are several on-board LEDs for that indicate the presence of power
|
There are several on-board LEDs for that indicate the presence of power
|
||||||
and USB activity. None of these are available for use by software.
|
and USB activity. None of these are available for use by software.
|
||||||
|
Another WS2812 LED is connected to GPIO48 or GPIO38 depending on the boards
|
||||||
|
version.
|
||||||
|
|
||||||
|
.. note:: Both the initial and v1.1 versions of ESP32-S3-DevKitC-1 are
|
||||||
|
available on the market. The main difference lies in the GPIO assignment
|
||||||
|
for the RGB LED: the initial version (1.0) uses GPIO48, whereas v1.1 uses
|
||||||
|
GPIO38. The initial version is selected by default, but one can select
|
||||||
|
``CONFIG_ESP32S3_DEVKITC_1_V11`` through ``make menuconfig``.
|
||||||
|
|
||||||
I2S
|
I2S
|
||||||
===
|
===
|
||||||
@@ -372,6 +380,37 @@ To test it, just run ``rand`` to get 32 randomly generated bytes::
|
|||||||
0000 98 b9 66 a2 a2 c0 a2 ae 09 70 93 d1 b5 91 86 c8 ..f......p......
|
0000 98 b9 66 a2 a2 c0 a2 ae 09 70 93 d1 b5 91 86 c8 ..f......p......
|
||||||
0010 8f 0e 0b 04 29 64 21 72 01 92 7c a2 27 60 6f 90 ....)d!r..|.'`o.
|
0010 8f 0e 0b 04 29 64 21 72 01 92 7c a2 27 60 6f 90 ....)d!r..|.'`o.
|
||||||
|
|
||||||
|
rmt
|
||||||
|
---
|
||||||
|
|
||||||
|
This configuration configures the transmitter and the receiver of the
|
||||||
|
Remote Control Transceiver (RMT) peripheral on the ESP32-S3 using GPIOs 48
|
||||||
|
(or 38, depending on the board version) and 2, respectively.
|
||||||
|
The RMT peripheral is better explained
|
||||||
|
`here <https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/rmt.html>`__,
|
||||||
|
in the ESP-IDF documentation. The minimal data unit in the frame is called the
|
||||||
|
RMT symbol, which is represented by ``rmt_item32_t`` in the driver:
|
||||||
|
|
||||||
|
.. figure:: rmt_symbol.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
The example ``rmtchar`` can be used to test the RMT peripheral. Connecting
|
||||||
|
these pins externally to each other will make the transmitter send RMT items
|
||||||
|
and demonstrates the usage of the RMT peripheral::
|
||||||
|
|
||||||
|
nsh> rmtchar
|
||||||
|
|
||||||
|
**WS2812 addressable RGB LEDs**
|
||||||
|
|
||||||
|
This same configuration enables the usage of the RMT peripheral and the example
|
||||||
|
``ws2812`` to drive addressable RGB LEDs::
|
||||||
|
|
||||||
|
nsh> ws2812
|
||||||
|
|
||||||
|
Please note that this board contains an on-board WS2812 LED connected to GPIO48
|
||||||
|
(or GPIO38, depending on the board version) and, by default, this config
|
||||||
|
configures the RMT transmitter in the same pin.
|
||||||
|
|
||||||
rtc
|
rtc
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
Reference in New Issue
Block a user