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

Reply via email to