This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit d453f94f63722ac10432c9a12ee0767c35a67b5c Author: Tiago Medicci Serrano <tiago.medi...@espressif.com> AuthorDate: Fri Feb 9 11:00:06 2024 -0300 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. --- .../esp32c3/boards/esp32c3-generic/index.rst | 29 +++++++++++++++ .../esp32c3/boards/esp32c3-generic/rmt_symbol.png | Bin 0 -> 1934 bytes .../risc-v/esp32c6/boards/esp32c6-devkit/index.rst | 29 +++++++++++++++ .../esp32c6/boards/esp32c6-devkit/rmt_symbol.png | Bin 0 -> 1934 bytes .../risc-v/esp32h2/boards/esp32h2-devkit/index.rst | 29 +++++++++++++++ .../esp32h2/boards/esp32h2-devkit/rmt_symbol.png | Bin 0 -> 1934 bytes .../esp32s2/boards/esp32s2-saola-1/index.rst | 29 +++++++++++++++ .../esp32s2/boards/esp32s2-saola-1/rmt_symbol.png | Bin 0 -> 1934 bytes .../xtensa/esp32s3/boards/esp32s3-devkit/index.rst | 39 +++++++++++++++++++++ .../esp32s3/boards/esp32s3-devkit/rmt_symbol.png | Bin 0 -> 1934 bytes 10 files changed, 155 insertions(+) diff --git a/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.rst b/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.rst index 11d96d1ee8..a94ba89c17 100644 --- a/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.rst +++ b/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.rst @@ -105,6 +105,35 @@ To test it, just execute the ``pwm`` application:: pwm_main: starting output with frequency: 10000 duty: 00008000 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 --- diff --git a/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-generic/rmt_symbol.png b/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-generic/rmt_symbol.png new file mode 100644 index 0000000000..7f859d7c98 Binary files /dev/null and b/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-generic/rmt_symbol.png differ diff --git a/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkit/index.rst b/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkit/index.rst index 6c538e34f9..d5f130cfc6 100644 --- a/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkit/index.rst +++ b/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkit/index.rst @@ -140,6 +140,35 @@ To test it, just execute the ``pwm`` application:: pwm_main: starting output with frequency: 10000 duty: 00008000 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 --- diff --git a/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkit/rmt_symbol.png b/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkit/rmt_symbol.png new file mode 100644 index 0000000000..7f859d7c98 Binary files /dev/null and b/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkit/rmt_symbol.png differ diff --git a/Documentation/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.rst b/Documentation/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.rst index 6ebf5fd76e..01e445fc78 100644 --- a/Documentation/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.rst +++ b/Documentation/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.rst @@ -139,6 +139,35 @@ To test it, just execute the ``pwm`` application:: pwm_main: starting output with frequency: 10000 duty: 00008000 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 --- diff --git a/Documentation/platforms/risc-v/esp32h2/boards/esp32h2-devkit/rmt_symbol.png b/Documentation/platforms/risc-v/esp32h2/boards/esp32h2-devkit/rmt_symbol.png new file mode 100644 index 0000000000..7f859d7c98 Binary files /dev/null and b/Documentation/platforms/risc-v/esp32h2/boards/esp32h2-devkit/rmt_symbol.png differ diff --git a/Documentation/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst b/Documentation/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst index 36d622b138..cf34262a67 100644 --- a/Documentation/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst +++ b/Documentation/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst @@ -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...... 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 --- diff --git a/Documentation/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/rmt_symbol.png b/Documentation/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/rmt_symbol.png new file mode 100644 index 0000000000..7f859d7c98 Binary files /dev/null and b/Documentation/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/rmt_symbol.png differ diff --git a/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst index 99f76d576a..aa3441d126 100644 --- a/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst +++ b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst @@ -46,6 +46,14 @@ Board LEDs 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. +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 === @@ -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...... 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 --- diff --git a/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/rmt_symbol.png b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/rmt_symbol.png new file mode 100644 index 0000000000..7f859d7c98 Binary files /dev/null and b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/rmt_symbol.png differ