You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gi...@apache.org on 2022/11/22 00:17:26 UTC

[incubator-nuttx-website] branch asf-site updated: Publishing web: 7e21510459ba6f754fb1da76a14d643b3953b931 docs: af2aa138734eff9a1b35fc87c0685cd798f4d9be

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 3f9274e0 Publishing web: 7e21510459ba6f754fb1da76a14d643b3953b931 docs: af2aa138734eff9a1b35fc87c0685cd798f4d9be
3f9274e0 is described below

commit 3f9274e00ee664f23deb727f487b757816d100db
Author: Nathan <59...@users.noreply.github.com>
AuthorDate: Tue Nov 22 00:13:33 2022 +0000

    Publishing web: 7e21510459ba6f754fb1da76a14d643b3953b931 docs: af2aa138734eff9a1b35fc87c0685cd798f4d9be
---
 content/docs/10.0.0/index.html                     |   2 +-
 content/docs/10.0.0/searchindex.js                 |   2 +-
 content/docs/10.0.1/index.html                     |   2 +-
 content/docs/10.0.1/searchindex.js                 |   2 +-
 content/docs/10.1.0/index.html                     |   2 +-
 content/docs/10.1.0/searchindex.js                 |   2 +-
 content/docs/10.2.0/index.html                     |   2 +-
 content/docs/10.2.0/searchindex.js                 |   2 +-
 content/docs/10.3.0/index.html                     |   2 +-
 content/docs/10.3.0/searchindex.js                 |   2 +-
 content/docs/11.0.0/index.html                     |   2 +-
 content/docs/11.0.0/searchindex.js                 |   2 +-
 .../esp32s2/boards/esp32s2-saola-1/index.rst.txt   |  80 +++++++++++--
 content/docs/latest/index.html                     |   2 +-
 content/docs/latest/objects.inv                    | Bin 39389 -> 39401 bytes
 .../esp32s2/boards/esp32s2-saola-1/index.html      | 132 +++++++++++++++++++--
 content/docs/latest/searchindex.js                 |   2 +-
 content/feed.xml                                   |   4 +-
 18 files changed, 212 insertions(+), 32 deletions(-)

diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index eb199386..a46e6bb7 100644
--- a/content/docs/10.0.0/index.html
+++ b/content/docs/10.0.0/index.html
@@ -133,7 +133,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller environments, the primary governing standards in NuttX are Posix and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 21 November 22 at 00:11</p>
+<p>Last Updated: 22 November 22 at 00:11</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.0.0/searchindex.js b/content/docs/10.0.0/searchindex.js
index 550c15bf..d8ea34b1 100644
--- a/content/docs/10.0.0/searchindex.js
+++ b/content/docs/10.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen [...]
\ No newline at end of file
diff --git a/content/docs/10.0.1/index.html b/content/docs/10.0.1/index.html
index e6d43246..15a5d220 100644
--- a/content/docs/10.0.1/index.html
+++ b/content/docs/10.0.1/index.html
@@ -145,7 +145,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller environments, the primary governing standards in NuttX are Posix and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 21 November 22 at 00:11</p>
+<p>Last Updated: 22 November 22 at 00:11</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.0.1/searchindex.js b/content/docs/10.0.1/searchindex.js
index 550c15bf..d8ea34b1 100644
--- a/content/docs/10.0.1/searchindex.js
+++ b/content/docs/10.0.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen [...]
\ No newline at end of file
diff --git a/content/docs/10.1.0/index.html b/content/docs/10.1.0/index.html
index c5239adf..8110c2d1 100644
--- a/content/docs/10.1.0/index.html
+++ b/content/docs/10.1.0/index.html
@@ -144,7 +144,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 21 November 22 at 00:11</p>
+<p>Last Updated: 22 November 22 at 00:11</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.1.0/searchindex.js b/content/docs/10.1.0/searchindex.js
index 13dcbfe2..df837f85 100644
--- a/content/docs/10.1.0/searchindex.js
+++ b/content/docs/10.1.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
diff --git a/content/docs/10.2.0/index.html b/content/docs/10.2.0/index.html
index bc285afd..2cd3a14f 100644
--- a/content/docs/10.2.0/index.html
+++ b/content/docs/10.2.0/index.html
@@ -145,7 +145,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 21 November 22 at 00:11</p>
+<p>Last Updated: 22 November 22 at 00:11</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.2.0/searchindex.js b/content/docs/10.2.0/searchindex.js
index 58c17896..470eccc8 100644
--- a/content/docs/10.2.0/searchindex.js
+++ b/content/docs/10.2.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
diff --git a/content/docs/10.3.0/index.html b/content/docs/10.3.0/index.html
index a89b22a2..ee491150 100644
--- a/content/docs/10.3.0/index.html
+++ b/content/docs/10.3.0/index.html
@@ -145,7 +145,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 21 November 22 at 00:12</p>
+<p>Last Updated: 22 November 22 at 00:12</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.3.0/searchindex.js b/content/docs/10.3.0/searchindex.js
index b4bd86bc..4ce73586 100644
--- a/content/docs/10.3.0/searchindex.js
+++ b/content/docs/10.3.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
diff --git a/content/docs/11.0.0/index.html b/content/docs/11.0.0/index.html
index a89b22a2..ee491150 100644
--- a/content/docs/11.0.0/index.html
+++ b/content/docs/11.0.0/index.html
@@ -145,7 +145,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 21 November 22 at 00:12</p>
+<p>Last Updated: 22 November 22 at 00:12</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/11.0.0/searchindex.js b/content/docs/11.0.0/searchindex.js
index 131037e9..7999b300 100644
--- a/content/docs/11.0.0/searchindex.js
+++ b/content/docs/11.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
diff --git a/content/docs/latest/_sources/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst.txt b/content/docs/latest/_sources/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst.txt
index d9287f53..439a916a 100644
--- a/content/docs/latest/_sources/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst.txt
@@ -63,8 +63,10 @@ I2S
 ESP32-S2 has an I2S peripheral accessible using either the generic I2S audio
 driver or a specific audio codec driver
 (`CS4344 <https://www.cirrus.com/products/cs4344-45-48/>`__ bindings are
-available at the moment). Also, it's possible to use the I2S character device
-driver to bypass audio systems and write directly to the I2S peripheral.
+available at the moment). The generic I2S audio driver enables using both
+the receiver module (RX) and the transmitter module (TX) without using any
+specific codec. Also, it's possible to use the I2S character device driver
+to bypass the audio subsystem and write directly to the I2S peripheral.
 
 .. note:: When using the audio system, sample rate and data width are
   automatically set by the upper half audio driver.
@@ -78,9 +80,12 @@ driver to bypass audio systems and write directly to the I2S peripheral.
     -> System Type
         -> ESP32-S2 Peripheral Selection
             -> I2S
-                -> I2S0/1
-                    -> Bit Witdh
+                -> Bit Witdh
 
+The following configurations use the I2S peripheral::
+  * :ref:`platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index:audio`
+  * :ref:`platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index:i2schar`
+  * :ref:`platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index:nxlooper`
 
 Configurations
 ==============
@@ -88,7 +93,7 @@ Configurations
 audio
 -----
 
-This configuration uses the I2S0 peripheral and an externally connected audio
+This configuration uses the I2S peripheral and an externally connected audio
 codec to play an audio file. The easiest way of playing an uncompressed file
 is embedding into the firmware. This configuration selects
 `romfs example <https://github.com/apache/incubator-nuttx-apps/tree/master/examples/romfs>`__
@@ -132,11 +137,24 @@ i2schar
 -------
 
 This configuration enables the I2S character device and the i2schar example
-app, which provides an easy-to-use way of testing the I2S peripheral.
+app, which provides an easy-to-use way of testing the I2S peripheral,
+enabling both the TX and the RX for those peripherals.
 
-After successfully built and flashed, run on the board's terminal::
+**I2S pinout**
 
-  $ i2schar
+============ ========== =========================================
+ESP32-S2 Pin Signal Pin Description
+============ ========== =========================================
+33           MCLK       Master Clock
+35           SCLK       Bit Clock (SCLK)
+34           LRCK       Word Select (LRCLK)
+36           DOUT       Data Out
+37           DIN        Data In
+============ ========== =========================================
+
+After successfully built and flashed, run on the boards's terminal::
+
+  nsh> i2schar
 
 The corresponding output should show related debug information.
 
@@ -146,6 +164,52 @@ nsh
 Basic NuttShell configuration (console enabled in UART0, exposed via
 USB connection by means of CP2102 converter, at 115200 bps).
 
+nxlooper
+--------
+
+This configuration uses the I2S peripheral as an I2S receiver and
+transmitter at the same time. The idea is to capture an I2S data frame
+using the RX module and reproduce the captured data on the TX module.
+
+**Receiving and transmitting data on I2S**
+
+The I2S will act as a receiver (master mode), capturing data from DIN, which
+needs to be connected to an external source as follows:
+
+============ ========== =========================================
+ESP32-S2 Pin Signal Pin Description
+============ ========== =========================================
+33           MCLK       Master Clock
+35           SCLK       Bit Clock (SCLK) Output
+34           LRCK       Word Select (LRCLK) Output
+36           DOUT       Data Out
+37           DIN        Data In
+============ ========== =========================================
+
+The DOUT pin will output the captured data frame.
+
+.. note:: The ESP32-S2 contains a single I2S peripheral, so the peripheral
+  works on "full-duplex" mode. The `SCLK` and `LRCK` signals are connected
+  internally and the TX module is set-up as slave and the RX as master.
+
+**nxlooper**
+
+The `nxlooper` application captures data from the audio device with receiving
+capabilities and forwards the audio data frame to the audio device with
+transmitting capabilities.
+
+After successfully built and flashed, run on the boards's terminal::
+
+  nsh> nxlooper
+  nxlooper> loopback
+
+.. note:: `loopback` command default arguments for the channel configuration,
+  the data width and the sample rate are, respectively, 2 channels,
+  16 bits/sample and 48KHz. These arguments can be supplied to select
+  different audio formats, for instance::
+
+    nxlooper> loopback 2 8 44100
+
 timer
 -----
 
diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html
index 4ab09c42..f28d459c 100644
--- a/content/docs/latest/index.html
+++ b/content/docs/latest/index.html
@@ -145,7 +145,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 21 November 22 at 00:12</p>
+<p>Last Updated: 22 November 22 at 00:12</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/latest/objects.inv b/content/docs/latest/objects.inv
index 0c3c69dd..6463ad01 100644
Binary files a/content/docs/latest/objects.inv and b/content/docs/latest/objects.inv differ
diff --git a/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.html b/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.html
index e9148c0c..df799e6a 100644
--- a/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.html
@@ -222,8 +222,10 @@ LED and is driven by GPIO18.</p>
 <p>ESP32-S2 has an I2S peripheral accessible using either the generic I2S audio
 driver or a specific audio codec driver
 (<a class="reference external" href="https://www.cirrus.com/products/cs4344-45-48/">CS4344</a> bindings are
-available at the moment). Also, it’s possible to use the I2S character device
-driver to bypass audio systems and write directly to the I2S peripheral.</p>
+available at the moment). The generic I2S audio driver enables using both
+the receiver module (RX) and the transmitter module (TX) without using any
+specific codec. Also, it’s possible to use the I2S character device driver
+to bypass the audio subsystem and write directly to the I2S peripheral.</p>
 <div class="admonition note">
 <p class="admonition-title">Note</p>
 <p>When using the audio system, sample rate and data width are
@@ -239,17 +241,24 @@ I2S character device. Just make sure to set the bit-width:</p>
 -&gt; System Type
     -&gt; ESP32-S2 Peripheral Selection
         -&gt; I2S
-            -&gt; I2S0/1
-                -&gt; Bit Witdh
+            -&gt; Bit Witdh
 </pre></div>
 </div>
 </div>
+<dl class="simple">
+<dt>The following configurations use the I2S peripheral::</dt><dd><ul class="simple">
+<li><p><a class="reference internal" href="#audio"><span class="std std-ref">audio</span></a></p></li>
+<li><p><a class="reference internal" href="#i2schar"><span class="std std-ref">i2schar</span></a></p></li>
+<li><p><a class="reference internal" href="#nxlooper"><span class="std std-ref">nxlooper</span></a></p></li>
+</ul>
+</dd>
+</dl>
 </section>
 <section id="configurations">
 <h2>Configurations<a class="headerlink" href="#configurations" title="Permalink to this headline"></a></h2>
 <section id="audio">
 <h3>audio<a class="headerlink" href="#audio" title="Permalink to this headline"></a></h3>
-<p>This configuration uses the I2S0 peripheral and an externally connected audio
+<p>This configuration uses the I2S peripheral and an externally connected audio
 codec to play an audio file. The easiest way of playing an uncompressed file
 is embedding into the firmware. This configuration selects
 <a class="reference external" href="https://github.com/apache/incubator-nuttx-apps/tree/master/examples/romfs">romfs example</a>
@@ -311,9 +320,46 @@ $ nxplayer&gt; play /usr/share/local/tone.wav
 <section id="i2schar">
 <h3>i2schar<a class="headerlink" href="#i2schar" title="Permalink to this headline"></a></h3>
 <p>This configuration enables the I2S character device and the i2schar example
-app, which provides an easy-to-use way of testing the I2S peripheral.</p>
-<p>After successfully built and flashed, run on the board’s terminal:</p>
-<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ i2schar
+app, which provides an easy-to-use way of testing the I2S peripheral,
+enabling both the TX and the RX for those peripherals.</p>
+<p><strong>I2S pinout</strong></p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 19%" />
+<col style="width: 16%" />
+<col style="width: 65%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>ESP32-S2 Pin</p></th>
+<th class="head"><p>Signal Pin</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>33</p></td>
+<td><p>MCLK</p></td>
+<td><p>Master Clock</p></td>
+</tr>
+<tr class="row-odd"><td><p>35</p></td>
+<td><p>SCLK</p></td>
+<td><p>Bit Clock (SCLK)</p></td>
+</tr>
+<tr class="row-even"><td><p>34</p></td>
+<td><p>LRCK</p></td>
+<td><p>Word Select (LRCLK)</p></td>
+</tr>
+<tr class="row-odd"><td><p>36</p></td>
+<td><p>DOUT</p></td>
+<td><p>Data Out</p></td>
+</tr>
+<tr class="row-even"><td><p>37</p></td>
+<td><p>DIN</p></td>
+<td><p>Data In</p></td>
+</tr>
+</tbody>
+</table>
+<p>After successfully built and flashed, run on the boards’s terminal:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>nsh&gt; i2schar
 </pre></div>
 </div>
 <p>The corresponding output should show related debug information.</p>
@@ -323,6 +369,76 @@ app, which provides an easy-to-use way of testing the I2S peripheral.</p>
 <p>Basic NuttShell configuration (console enabled in UART0, exposed via
 USB connection by means of CP2102 converter, at 115200 bps).</p>
 </section>
+<section id="nxlooper">
+<h3>nxlooper<a class="headerlink" href="#nxlooper" title="Permalink to this headline"></a></h3>
+<p>This configuration uses the I2S peripheral as an I2S receiver and
+transmitter at the same time. The idea is to capture an I2S data frame
+using the RX module and reproduce the captured data on the TX module.</p>
+<p><strong>Receiving and transmitting data on I2S</strong></p>
+<p>The I2S will act as a receiver (master mode), capturing data from DIN, which
+needs to be connected to an external source as follows:</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 19%" />
+<col style="width: 16%" />
+<col style="width: 65%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>ESP32-S2 Pin</p></th>
+<th class="head"><p>Signal Pin</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>33</p></td>
+<td><p>MCLK</p></td>
+<td><p>Master Clock</p></td>
+</tr>
+<tr class="row-odd"><td><p>35</p></td>
+<td><p>SCLK</p></td>
+<td><p>Bit Clock (SCLK) Output</p></td>
+</tr>
+<tr class="row-even"><td><p>34</p></td>
+<td><p>LRCK</p></td>
+<td><p>Word Select (LRCLK) Output</p></td>
+</tr>
+<tr class="row-odd"><td><p>36</p></td>
+<td><p>DOUT</p></td>
+<td><p>Data Out</p></td>
+</tr>
+<tr class="row-even"><td><p>37</p></td>
+<td><p>DIN</p></td>
+<td><p>Data In</p></td>
+</tr>
+</tbody>
+</table>
+<p>The DOUT pin will output the captured data frame.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The ESP32-S2 contains a single I2S peripheral, so the peripheral
+works on “full-duplex” mode. The <cite>SCLK</cite> and <cite>LRCK</cite> signals are connected
+internally and the TX module is set-up as slave and the RX as master.</p>
+</div>
+<p><strong>nxlooper</strong></p>
+<p>The <cite>nxlooper</cite> application captures data from the audio device with receiving
+capabilities and forwards the audio data frame to the audio device with
+transmitting capabilities.</p>
+<p>After successfully built and flashed, run on the boards’s terminal:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>nsh&gt; nxlooper
+nxlooper&gt; loopback
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><cite>loopback</cite> command default arguments for the channel configuration,
+the data width and the sample rate are, respectively, 2 channels,
+16 bits/sample and 48KHz. These arguments can be supplied to select
+different audio formats, for instance:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>nxlooper&gt; loopback 2 8 44100
+</pre></div>
+</div>
+</div>
+</section>
 <section id="timer">
 <h3>timer<a class="headerlink" href="#timer" title="Permalink to this headline"></a></h3>
 <p>This config tests the general-use purpose timers. It includes the 4 timers,
diff --git a/content/docs/latest/searchindex.js b/content/docs/latest/searchindex.js
index b08e3872..076e59c2 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
diff --git a/content/feed.xml b/content/feed.xml
index f1898163..d2c51c35 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -5,8 +5,8 @@
     <description></description>
     <link>/</link>
     <atom:link href="/feed.xml" rel="self" type="application/rss+xml"/>
-    <pubDate>Mon, 21 Nov 2022 00:13:44 +0000</pubDate>
-    <lastBuildDate>Mon, 21 Nov 2022 00:13:44 +0000</lastBuildDate>
+    <pubDate>Tue, 22 Nov 2022 00:13:30 +0000</pubDate>
+    <lastBuildDate>Tue, 22 Nov 2022 00:13:30 +0000</lastBuildDate>
     <generator>Jekyll v3.9.2</generator>
     
       <item>