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 3ad24ad  Publishing web: 6758fc5efbbf5ed16c807ccdfb012d94d1db201a 
docs: fc9b9f70ac4bada26e4915cf390e881c81136b65
3ad24ad is described below

commit 3ad24ad5b367945d599ee2917ed8a8d1bca4c4c3
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Sat Oct 1 00:20:14 2022 +0000

    Publishing web: 6758fc5efbbf5ed16c807ccdfb012d94d1db201a docs: 
fc9b9f70ac4bada26e4915cf390e881c81136b65
---
 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 +-
 .../latest/_images/esp32-audio-config-file.png     | Bin 0 -> 21276 bytes
 .../_sources/introduction/detailed_support.rst.txt |  20 +-
 .../esp32/boards/esp32-devkitc/index.rst.txt       | 374 +++++++++++------
 .../_sources/platforms/xtensa/esp32/index.rst.txt  |  38 +-
 content/docs/latest/index.html                     |   2 +-
 .../docs/latest/introduction/detailed_support.html |  18 +-
 content/docs/latest/objects.inv                    | Bin 37541 -> 37582 bytes
 .../xtensa/esp32/boards/esp32-devkitc/index.html   | 463 +++++++++++++++------
 .../xtensa/esp32/boards/esp32-lyrat/index.html     |   1 +
 .../esp32/boards/esp32-wrover-kit/index.html       |   1 +
 .../docs/latest/platforms/xtensa/esp32/index.html  |  24 +-
 content/docs/latest/searchindex.js                 |   2 +-
 content/feed.xml                                   |   4 +-
 23 files changed, 653 insertions(+), 314 deletions(-)

diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index 0aed8cb..37dde7e 100644
--- a/content/docs/10.0.0/index.html
+++ b/content/docs/10.0.0/index.html
@@ -207,7 +207,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="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: 30 September 22 at 00:19</p>
+<p>Last Updated: 01 October 22 at 00:17</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><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 e74f9f3..4514fd8 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 87cd7fb..98ff57d 100644
--- a/content/docs/10.0.1/index.html
+++ b/content/docs/10.0.1/index.html
@@ -217,7 +217,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="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: 30 September 22 at 00:20</p>
+<p>Last Updated: 01 October 22 at 00:18</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><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 e74f9f3..4514fd8 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 0f56d12..d78b977 100644
--- a/content/docs/10.1.0/index.html
+++ b/content/docs/10.1.0/index.html
@@ -217,7 +217,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="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: 30 September 22 at 00:20</p>
+<p>Last Updated: 01 October 22 at 00:18</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><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 ef1106a..b22d65d 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 86af717..4408d17 100644
--- a/content/docs/10.2.0/index.html
+++ b/content/docs/10.2.0/index.html
@@ -218,7 +218,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="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: 30 September 22 at 00:20</p>
+<p>Last Updated: 01 October 22 at 00:18</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><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 f318e0f..18d09ea 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 c8aa191..4408d17 100644
--- a/content/docs/10.3.0/index.html
+++ b/content/docs/10.3.0/index.html
@@ -218,7 +218,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="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: 30 September 22 at 00:21</p>
+<p>Last Updated: 01 October 22 at 00:18</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><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 3d39ea1..1ba13e2 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/latest/_images/esp32-audio-config-file.png 
b/content/docs/latest/_images/esp32-audio-config-file.png
new file mode 100644
index 0000000..c51fa32
Binary files /dev/null and 
b/content/docs/latest/_images/esp32-audio-config-file.png differ
diff --git a/content/docs/latest/_sources/introduction/detailed_support.rst.txt 
b/content/docs/latest/_sources/introduction/detailed_support.rst.txt
index e297e73..61b49d9 100644
--- a/content/docs/latest/_sources/introduction/detailed_support.rst.txt
+++ b/content/docs/latest/_sources/introduction/detailed_support.rst.txt
@@ -3025,27 +3025,21 @@ ESP32 (Dual Xtensa LX6)
 Xtensa LX6 ESP32
 ----------------
 
-Basic architectural support for Xtensa LX6 processors and the port for
-the Espressif ESP32 were added in NuttX-7.19. The basic ESP32 port is
-function in both single CPU and dual CPU SMP configurations.
+Initial architectural support for Xtensa LX6 processors for the Espressif
+ESP32 were added in NuttX-7.19, enabling both single CPU and dual CPU
+SMP configurations.
 
 **Espressif ESP32 DevkitC V4 Board** The NuttX release includes support for
 Espressif ESP32 DevkitC V4 board. There is an NSH configuration for each
 CPU configuration and an OS test configuration for verification of the
 port.
 
-**STATUS**. ESP32 support in NuttX-7.19 is functional, but very
-preliminary. There is little yet in the way of device driver support.
-Outstanding issues include missing clock configuration logic, missing
-partition tables to support correct configuration from FLASH, and some
-serial driver pin configuration issues. The configuration is usable
-despite these limitations. Refer to the NuttX board
-`README 
<https://github.com/apache/incubator-nuttx/blob/master/boards/xtensa/esp32/esp32-devkitc/README.txt>`__
-file for further information.
-
-Release NuttX-10.0.0 brought a bunch of additions to the ESP32 port.  This
+**STATUS**. Release NuttX-10.0.0 brought a bunch of additions to the ESP32 
port.  This
 includes: I2C, SPI, RTC, PM, Timers, Watchdog Timer and Ethernet.
 
+Please, refer to the :doc:`ESP32 </platforms/xtensa/esp32/index>` on NuttX for
+further information.
+
 Zilog ZNEO Z16F
 ===============
 
diff --git 
a/content/docs/latest/_sources/platforms/xtensa/esp32/boards/esp32-devkitc/index.rst.txt
 
b/content/docs/latest/_sources/platforms/xtensa/esp32/boards/esp32-devkitc/index.rst.txt
index db01f6e..ef589cf 100644
--- 
a/content/docs/latest/_sources/platforms/xtensa/esp32/boards/esp32-devkitc/index.rst.txt
+++ 
b/content/docs/latest/_sources/platforms/xtensa/esp32/boards/esp32-devkitc/index.rst.txt
@@ -65,27 +65,36 @@ connect to an external PHY chip. Current driver also only 
supports RMII option.
 
 The RMII GPIO pins are fixed, but the SMI and functional GPIO pins are 
optional.
 
-RMII GPIO pins are as following::
-
-    ESP32 GPIO          PHY Chip GPIO
-      IO25       <-->       RXD[0]
-      IO26       <-->       RXD[1]
-      IO27       <-->       CRS_DV
-      IO0        <-->       REF_CLK
-      IO19       <-->       TXD[0]
-      IO21       <-->       TX_EN
-      IO22       <-->       TXD[1]
-
-SMI GPIO pins (default option) are as following::
-
-    ESP32 GPIO          PHY Chip GPIO
-      IO18       <-->       MDIO
-      IO23       <-->       MDC
-
-Functional GPIO pins(default option) are as following::
-
-    ESP32 GPIO          PHY Chip GPIO
-      IO5        <-->      Reset_N
+RMII GPIO pins are as following:
+
+========== =============
+ESP32 GPIO PHY Chip GPIO
+========== =============
+IO25       RXD[0]
+IO26       RXD[1]
+IO27       CRS_DV
+IO0        REF_CLK
+IO19       TXD[0]
+IO21       TX_EN
+IO22       TXD[1]
+========== =============
+
+SMI GPIO pins (default option) are as following:
+
+========== =============
+ESP32 GPIO PHY Chip GPIO
+========== =============
+IO18       MDIO
+IO23       MDC
+========== =============
+
+Functional GPIO pins(default option) are as following:
+
+========== =============
+ESP32 GPIO PHY Chip GPIO
+========== =============
+IO5        Reset_N
+========== =============
 
 Espressif has an `official Ethernet development
 board 
<https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-ethernet-kit.html>`_.
@@ -95,6 +104,39 @@ board + LAN8720 module. If users have some issue about 
using this driver,
 please refer the upper official document, specially the issue that GPIO0
 causes failing to bring the ESP32 chip up.
 
+I2S
+===
+
+ESP32 has two I2S peripherals 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.
+
+.. note:: The I2S peripheral is able to work on two functional modes
+  internally: 16 and 32-bit width.
+  That limits using the I2S peripheral to play audio files other than 16/32
+  bit-widths as the internal buffer allocated for the audio content does not
+  consider the operation modes of the peripheral. This limitation is planned
+  to be removed soon by copying the buffers internally and making the
+  necessary adjustments.
+
+.. note:: The above statement is not valid when using the I2S character
+  device driver.
+  It's possible to use 8, 16, 24, and 32-bit-widths writing directly to the
+  I2S character device. Just make sure to set the bit-width::
+
+    $ make menuconfig
+    -> System Type
+        -> ESP32 Peripheral Selection
+            -> I2S
+                -> I2S0/1
+                    -> Bit Witdh
+
+  And make sure the data stream buffer being written to the I2S peripheral is
+  aligned to the next boundary i.e. 16 bits for the 8 and 16-bit-widths and
+  32 bits for 24 and 32-bit-widths.
+
 Pin Mapping
 ===========
 
@@ -109,11 +151,74 @@ Pin   Signal     Notes
 Configurations
 ==============
 
-nsh
----
+audio
+-----
 
-Basic NuttShell configuration (console enabled in UART0, exposed via
-USB connection by means of CP2102 converter, at 115200 bps).
+This configuration uses the I2S0 peripheral and an externally connected audio
+codec to play an audio file streamed over an HTTP connection while connected
+to a Wi-Fi network.
+
+**Audio Codec Setup**
+
+The CS4344 audio codec is connected on the following pins:
+
+========== ========== =========================================
+ESP32 Pin  CS4344 Pin Description
+========== ========== =========================================
+0          MCLK       Master Clock
+4          SCLK       Serial Clock
+5          LRCK       Left Right Clock (Word Select)
+18         SDIN       Serial Data In on CS4344. (DOUT on ESP32)
+========== ========== =========================================
+
+**Simple HTTP server**
+
+Prepare a PCM-encoded (`.wav`) audio file with 16 bits/sample (sampled at
+8~48kHz). This file must be placed into a folder in a computer that could
+be accessed on the same Wi-Fi network the ESP32 will be connecting to.
+
+Python provides a simple HTTP server. `cd` to the audio file folder on the
+PC and run::
+
+  $ python3 -m http.server
+
+  Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
+
+Look for your PC IP address and test playing the prepared audio on your
+browser:
+
+.. figure:: esp32-audio-config-file.png
+          :align: center
+
+After successfully built and flashed, connect the board to the Wi-Fi network::
+
+  $ nsh> wapi psk wlan0 mypasswd 1
+  $ nsh> wapi essid wlan0 myssid 1
+  $ nsh> renew wlan0
+
+Once connected, open NuttX's player and play the file according to its file
+name and the IP address of the HTTP server::
+
+  $ nsh> nxplayer
+  $ nxplayer> play http://192.168.1.239:8000/tones.wav
+
+efuse
+-----
+
+A config with EFUSE enabled.
+
+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 (I2S0
+on this example).
+
+After successfully built and flashed, run on the boards's terminal::
+
+  $ i2schar
+
+The corresponding output should show related debug informations.
 
 knsh
 ----
@@ -137,47 +242,47 @@ Flash and PSRAM).
     * The PID Controller **does not** prevent the application from accessing
       CPU System Registers.
 
-wapi
-----
-
-Enables Wi-Fi support. You can define your credentials this way::
+mcp2515
+-------
 
-    $ make menuconfig
-    -> Application Configuration
-        -> Network Utilities
-            -> Network initialization (NETUTILS_NETINIT [=y])
-                -> WAPI Configuration
+This config is used to communicate with MCP2515 CAN over SPI chip.
+SPI3 is used and kept with the default IOMUX pins, i.e.:
 
-Or if you don't want to keep it saved in the firmware you can do it
-at runtime::
+===== =======
+Pin   Signal
+===== =======
+5     CS
+18    SCK
+23    MOSI
+19    MISO
+===== =======
 
-    nsh> wapi psk wlan0 mypasswd 1
-    nsh> wapi essid wlan0 myssid 1
-    nsh> renew wlan0
+The MCP2515 interrupt (INT) pin is connected to the pin 22 of the
+ESP32-Devkit.
 
-wifinsh
--------
+mmcsdspi
+--------
 
-The ``wifinsh`` is similar to the ``wapi`` board example, but it will connect
-automatically to your Access Point (Wi-Fi Router) and will run telnet daemon
-in the board. Then you can connect to your board from your computer using the
-telnet program.
+This config tests the SPI driver by connecting an SD Card reader over SPI.
+SPI2 is used and kept with the default IOMUX pins, i.e.:
 
-After configuring the ``esp32-devkit:wifinsh`` you need to define your creden-
-tials in the menuconfig. You can define your credentials this way::
+===== =======
+Pin   Signal
+===== =======
+15    CS
+14    SCK
+13    MOSI
+12    MISO
+===== =======
 
-    $ make menuconfig
-    -> Application Configuration
-        -> Network Utilities
-            -> Network initialization (NETUTILS_NETINIT [=y])
-                -> WAPI Configuration
+Once booted the following command is used to mount a FAT file system::
 
-Find your board IP using ``nsh> ifconfig`` and then from your computer::
+    nsh> mount -t vfat /dev/mmcsd0 /mnt
 
-    $ telnet 192.168.x.y
+module
+------
 
-Where x and y are the last two numbers of the IP that your router gave to
-your board.
+This config is to run apps/examples/module.
 
 mqttc
 -----
@@ -211,25 +316,11 @@ outputted::
 
 From the host the message :code:`test` should be outputted.
 
-smp
+nsh
 ---
 
-Another NSH configuration, similar to nsh, but also enables
-SMP operation.  It differs from the nsh configuration only in these
-additional settings:
-
-SMP is enabled::
-
-  CONFIG_SMP=y
-  CONFIG_SMP_NCPUS=2
-  CONFIG_SPINLOCK=y
-
-The apps/testing/smp test is included::
-
-  CONFIG_TESTING_SMP=y
-  CONFIG_TESTING_SMP_NBARRIER_THREADS=8
-  CONFIG_TESTING_SMP_PRIORITY=100
-  CONFIG_TESTING_SMP_STACKSIZE=2048
+Basic NuttShell configuration (console enabled in UART0, exposed via
+USB connection by means of CP2102 converter, at 115200 bps).
 
 ostest
 ------
@@ -242,39 +333,41 @@ version is for a single CPU but can be modified for an 
SMP test by adding::
   CONFIG_SMP_NCPUS=2
   CONFIG_SPINLOCK=y
 
-mcp2515
--------
-
-This config is used to communicate with MCP2515 CAN over SPI chip.
-SPI3 is used and kept with the default IOMUX pins, i.e.::
-
-    CS   --> 5
-    SCK  --> 18
-    MOSI --> 23
-    MISO --> 19
+psram
+-----
 
-The MCP2515 interrupt (INT) pin is connected to the pin 22 of the
-ESP32-Devkit.
+This config tests the PSRAM driver over SPIRAM interface.
+You can use the ramtest command to test the PSRAM memory. We are testing
+only 64KB on this example (64 * 1024), but you can change this number to
+2MB or 4MB depending on PSRAM chip used on your board::
 
-mmcsdspi
---------
+    nsh> ramtest -w 0x3F800000 65536
+    RAMTest: Marching ones: 3f800000 65536
+    RAMTest: Marching zeroes: 3f800000 65536
+    RAMTest: Pattern test: 3f800000 65536 55555555 aaaaaaaa
+    RAMTest: Pattern test: 3f800000 65536 66666666 99999999
+    RAMTest: Pattern test: 3f800000 65536 33333333 cccccccc
+    RAMTest: Address-in-address test: 3f800000 65536
 
-This config tests the SPI driver by connecting an SD Card reader over SPI.
-SPI2 is used and kept with the default IOMUX pins, i.e.::
+smp
+---
 
-    CS   --> 15
-    SCK  --> 14
-    MOSI --> 13
-    MISO --> 12
+Another NSH configuration, similar to nsh, but also enables
+SMP operation.  It differs from the nsh configuration only in these
+additional settings:
 
-Once booted the following command is used to mount a FAT file system::
+SMP is enabled::
 
-    nsh> mount -t vfat /dev/mmcsd0 /mnt
+  CONFIG_SMP=y
+  CONFIG_SMP_NCPUS=2
+  CONFIG_SPINLOCK=y
 
-module
-------
+The apps/testing/smp test is included::
 
-This config is to run apps/examples/module.
+  CONFIG_TESTING_SMP=y
+  CONFIG_TESTING_SMP_NBARRIER_THREADS=8
+  CONFIG_TESTING_SMP_PRIORITY=100
+  CONFIG_TESTING_SMP_STACKSIZE=2048
 
 sotest
 ------
@@ -295,22 +388,6 @@ Once booted you can use the following commands to mount 
the file system::
 
 Note that mksmartfs is only needed the first time.
 
-psram
------
-
-This config tests the PSRAM driver over SPIRAM interface.
-You can use the ramtest command to test the PSRAM memory. We are testing
-only 64KB on this example (64 * 1024), but you can change this number to
-2MB or 4MB depending on PSRAM chip used on your board::
-
-    nsh> ramtest -w 0x3F800000 65536
-    RAMTest: Marching ones: 3f800000 65536
-    RAMTest: Marching zeroes: 3f800000 65536
-    RAMTest: Pattern test: 3f800000 65536 55555555 aaaaaaaa
-    RAMTest: Pattern test: 3f800000 65536 66666666 99999999
-    RAMTest: Pattern test: 3f800000 65536 33333333 cccccccc
-    RAMTest: Address-in-address test: 3f800000 65536
-
 timer
 -----
 
@@ -324,19 +401,6 @@ To test it, just run the following::
 
 Where x in the timer instance.
 
-watchdog
---------
-
-This config test the watchdog timers. It includes the 2 MWDTS,
-adds driver support, registers the WDTs as devices and includes the watchdog
-example.
-
-To test it, just run the following::
-
-  nsh> wdog -d /dev/watchdogx
-
-Where x in the watchdog instance.
-
 wamr_wasi_debug
 ---------------
 
@@ -375,7 +439,57 @@ This example uses littlefs on ESP32's SPI flash to store 
wasm modules.
       nsh> mount -t littlefs /dev/esp32flash /mnt
       nsh> iwasm /mnt/....
 
-efuse
------
+wapi
+----
 
-A config with EFUSE enabled.
+Enables Wi-Fi support. You can define your credentials this way::
+
+    $ make menuconfig
+    -> Application Configuration
+        -> Network Utilities
+            -> Network initialization (NETUTILS_NETINIT [=y])
+                -> WAPI Configuration
+
+Or if you don't want to keep it saved in the firmware you can do it
+at runtime::
+
+    nsh> wapi psk wlan0 mypasswd 1
+    nsh> wapi essid wlan0 myssid 1
+    nsh> renew wlan0
+
+watchdog
+--------
+
+This config test the watchdog timers. It includes the 2 MWDTS,
+adds driver support, registers the WDTs as devices and includes the watchdog
+example.
+
+To test it, just run the following::
+
+  nsh> wdog -d /dev/watchdogx
+
+Where x in the watchdog instance.
+
+wifinsh
+-------
+
+The ``wifinsh`` is similar to the ``wapi`` board example, but it will connect
+automatically to your Access Point (Wi-Fi Router) and will run telnet daemon
+in the board. Then you can connect to your board from your computer using the
+telnet program.
+
+After configuring the ``esp32-devkit:wifinsh`` you need to define your creden-
+tials in the menuconfig. You can define your credentials this way::
+
+    $ make menuconfig
+    -> Application Configuration
+        -> Network Utilities
+            -> Network initialization (NETUTILS_NETINIT [=y])
+                -> WAPI Configuration
+
+Find your board IP using ``nsh> ifconfig`` and then from your computer::
+
+    $ telnet 192.168.x.y
+
+Where x and y are the last two numbers of the IP that your router gave to
+your board.
diff --git a/content/docs/latest/_sources/platforms/xtensa/esp32/index.rst.txt 
b/content/docs/latest/_sources/platforms/xtensa/esp32/index.rst.txt
index 7cb1a25..6e5eec9 100644
--- a/content/docs/latest/_sources/platforms/xtensa/esp32/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/xtensa/esp32/index.rst.txt
@@ -55,8 +55,8 @@ These steps are given in the setup guide in
 Flashing
 ========
 
-Firmware for ESP32 is flashed via the USB/UART interface using the 
``esptool.py`` tool. 
-It's a two step process where the first converts the ELF file into a 
ESP32-compatible binary 
+Firmware for ESP32 is flashed via the USB/UART interface using the 
``esptool.py`` tool.
+It's a two step process where the first converts the ELF file into a 
ESP32-compatible binary
 and the second flashes it to the board.  These steps are included into the 
build system and you can
 flash your NuttX firmware simply by running::
 
@@ -68,7 +68,7 @@ Bootloader and partitions
 -------------------------
 
 ESP32 requires a bootloader to be flashed as well as a set of FLASH 
partitions. This is only needed the first time
-(or any time you which to modify either of these). An easy way is to use 
prebuilt binaries for NuttX `from here 
<https://github.com/espressif/esp-nuttx-bootloader>`_. In there you will find 
instructions to rebuild these if necessary. 
+(or any time you which to modify either of these). An easy way is to use 
prebuilt binaries for NuttX `from here 
<https://github.com/espressif/esp-nuttx-bootloader>`_. In there you will find 
instructions to rebuild these if necessary.
 Once you downloaded both binaries, you can flash them by adding an 
``ESPTOOL_BINDIR`` parameter, pointing to the directory where these binaries 
were downloaded:
 
 .. code-block:: console
@@ -79,7 +79,7 @@ Once you downloaded both binaries, you can flash them by 
adding an ``ESPTOOL_BIN
    SPI FLASH erase.
 
    .. code-block:: console
-       
+
       $ esptool.py erase_flash
 
 Peripheral Support
@@ -90,12 +90,12 @@ The following list indicates the state of peripherals' 
support in NuttX:
 ========== ======= =====
 Peripheral Support NOTES
 ========== ======= =====
-GPIO         Yes       
+GPIO         Yes
 UART         Yes
-SPI          Yes       
-I2C          Yes       
-DMA          Yes       
-Wifi         Yes       
+SPI          Yes
+I2C          Yes
+DMA          Yes
+Wifi         Yes
 Ethernet     Yes
 SPIFLASH     Yes
 SPIRAM       Yes
@@ -109,13 +109,14 @@ ADC          No
 Bluetooth    Yes
 SDIO         No
 SD/MMC       No
-I2S          No
-LED_PWM      No
+I2S          Yes
+LED_PWM      Yes
 RMT          No
 MCPWM        No
 Pulse_CNT    No
 SHA          No
 RSA          No
+CAN/TWAI     Yes
 ========== ======= =====
 
 Memory Map
@@ -290,7 +291,7 @@ Wi-Fi SoftAP
 ============
 
 It is possible to use ESP32 as an Access Point (SoftAP). Actually there are 
some
-boards with a ``sta_softap`` which enables this support.
+boards config examples called sta_softap which enables this support
 
 If you are using this board config profile you can run these commands to be 
able
 to connect your smartphone or laptop to your board::
@@ -350,6 +351,19 @@ Enter in the NSH shell using your preferred serial console 
tool and run the scan
         advertiser data: 1e ff 06 00 01 09 20 02 7c 33 a3 a7 cd c9 44 5b
     nsh>
 
+I2S
+===
+
+The I2S peripheral is accessible using either the generic I2S audio driver or 
a specific
+audio codec driver. Also, it's possible to use the I2S character driver to 
bypass the
+audio subsystem and develop specific usages of the I2S peripheral.
+
+.. note:: Note that the bit-width and sample rate can be modified "on-the-go" 
when using
+   audio-related drivers. That is not the case for the I2S character device 
driver and
+   such parameters are set on compile time through `make menuconfig`.
+
+Please check for usage examples using the :doc:`ESP32 DevKitC 
</platforms/xtensa/esp32/boards/esp32-devkitc/index>`.
+
 Using QEMU
 ==========
 
diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html
index c8aa191..05913c1 100644
--- a/content/docs/latest/index.html
+++ b/content/docs/latest/index.html
@@ -218,7 +218,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="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: 30 September 22 at 00:21</p>
+<p>Last Updated: 01 October 22 at 00:19</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/latest/introduction/detailed_support.html 
b/content/docs/latest/introduction/detailed_support.html
index 03a5fc7..3fc8868 100644
--- a/content/docs/latest/introduction/detailed_support.html
+++ b/content/docs/latest/introduction/detailed_support.html
@@ -3139,23 +3139,17 @@ added in NuttX-9.0.</p>
 <h2>ESP32 (Dual Xtensa LX6)<a class="headerlink" href="#esp32-dual-xtensa-lx6" 
title="Permalink to this headline">¶</a></h2>
 <div class="section" id="xtensa-lx6-esp32">
 <h3>Xtensa LX6 ESP32<a class="headerlink" href="#xtensa-lx6-esp32" 
title="Permalink to this headline">¶</a></h3>
-<p>Basic architectural support for Xtensa LX6 processors and the port for
-the Espressif ESP32 were added in NuttX-7.19. The basic ESP32 port is
-function in both single CPU and dual CPU SMP configurations.</p>
+<p>Initial architectural support for Xtensa LX6 processors for the Espressif
+ESP32 were added in NuttX-7.19, enabling both single CPU and dual CPU
+SMP configurations.</p>
 <p><strong>Espressif ESP32 DevkitC V4 Board</strong> The NuttX release 
includes support for
 Espressif ESP32 DevkitC V4 board. There is an NSH configuration for each
 CPU configuration and an OS test configuration for verification of the
 port.</p>
-<p><strong>STATUS</strong>. ESP32 support in NuttX-7.19 is functional, but very
-preliminary. There is little yet in the way of device driver support.
-Outstanding issues include missing clock configuration logic, missing
-partition tables to support correct configuration from FLASH, and some
-serial driver pin configuration issues. The configuration is usable
-despite these limitations. Refer to the NuttX board
-<a class="reference external" 
href="https://github.com/apache/incubator-nuttx/blob/master/boards/xtensa/esp32/esp32-devkitc/README.txt";>README</a>
-file for further information.</p>
-<p>Release NuttX-10.0.0 brought a bunch of additions to the ESP32 port.  This
+<p><strong>STATUS</strong>. Release NuttX-10.0.0 brought a bunch of additions 
to the ESP32 port.  This
 includes: I2C, SPI, RTC, PM, Timers, Watchdog Timer and Ethernet.</p>
+<p>Please, refer to the <a class="reference internal" 
href="../platforms/xtensa/esp32/index.html"><span class="doc">ESP32</span></a> 
on NuttX for
+further information.</p>
 </div>
 </div>
 <div class="section" id="zilog-zneo-z16f">
diff --git a/content/docs/latest/objects.inv b/content/docs/latest/objects.inv
index 8e79e36..d4bc8a8 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/esp32/boards/esp32-devkitc/index.html 
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
index babd3b2..1cad129 100644
--- a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
@@ -147,6 +147,7 @@
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#wi-fi">Wi-Fi</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#wi-fi-softap">Wi-Fi SoftAP</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#bluetooth">Bluetooth</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="../../index.html#i2s">I2S</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#using-qemu">Using QEMU</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#secure-boot-and-flash-encryption">Secure Boot and Flash 
Encryption</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#things-to-do">Things to Do</a></li>
@@ -308,27 +309,77 @@ Due to the limited number of GPIOs in ESP32, it’s 
recommended to use RMII to
 connect to an external PHY chip. Current driver also only supports RMII 
option.</p>
 <p>The RMII GPIO pins are fixed, but the SMI and functional GPIO pins are 
optional.</p>
 <p>RMII GPIO pins are as following:</p>
-<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>ESP32 GPIO          PHY Chip GPIO
-  IO25       &lt;--&gt;       RXD[0]
-  IO26       &lt;--&gt;       RXD[1]
-  IO27       &lt;--&gt;       CRS_DV
-  IO0        &lt;--&gt;       REF_CLK
-  IO19       &lt;--&gt;       TXD[0]
-  IO21       &lt;--&gt;       TX_EN
-  IO22       &lt;--&gt;       TXD[1]
-</pre></div>
-</div>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 43%" />
+<col style="width: 57%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>ESP32 GPIO</p></th>
+<th class="head"><p>PHY Chip GPIO</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>IO25</p></td>
+<td><p>RXD[0]</p></td>
+</tr>
+<tr class="row-odd"><td><p>IO26</p></td>
+<td><p>RXD[1]</p></td>
+</tr>
+<tr class="row-even"><td><p>IO27</p></td>
+<td><p>CRS_DV</p></td>
+</tr>
+<tr class="row-odd"><td><p>IO0</p></td>
+<td><p>REF_CLK</p></td>
+</tr>
+<tr class="row-even"><td><p>IO19</p></td>
+<td><p>TXD[0]</p></td>
+</tr>
+<tr class="row-odd"><td><p>IO21</p></td>
+<td><p>TX_EN</p></td>
+</tr>
+<tr class="row-even"><td><p>IO22</p></td>
+<td><p>TXD[1]</p></td>
+</tr>
+</tbody>
+</table>
 <p>SMI GPIO pins (default option) are as following:</p>
-<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>ESP32 GPIO          PHY Chip GPIO
-  IO18       &lt;--&gt;       MDIO
-  IO23       &lt;--&gt;       MDC
-</pre></div>
-</div>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 43%" />
+<col style="width: 57%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>ESP32 GPIO</p></th>
+<th class="head"><p>PHY Chip GPIO</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>IO18</p></td>
+<td><p>MDIO</p></td>
+</tr>
+<tr class="row-odd"><td><p>IO23</p></td>
+<td><p>MDC</p></td>
+</tr>
+</tbody>
+</table>
 <p>Functional GPIO pins(default option) are as following:</p>
-<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>ESP32 GPIO          PHY Chip GPIO
-  IO5        &lt;--&gt;      Reset_N
-</pre></div>
-</div>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 43%" />
+<col style="width: 57%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>ESP32 GPIO</p></th>
+<th class="head"><p>PHY Chip GPIO</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>IO5</p></td>
+<td><p>Reset_N</p></td>
+</tr>
+</tbody>
+</table>
 <p>Espressif has an <a class="reference external" 
href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-ethernet-kit.html";>official
 Ethernet development
 board</a>.</p>
 <p>This driver has been tested according to this board and ESP32 core
@@ -336,6 +387,42 @@ board + LAN8720 module. If users have some issue about 
using this driver,
 please refer the upper official document, specially the issue that GPIO0
 causes failing to bring the ESP32 chip up.</p>
 </div>
+<div class="section" id="i2s">
+<h2>I2S<a class="headerlink" href="#i2s" title="Permalink to this 
headline">¶</a></h2>
+<p>ESP32 has two I2S peripherals 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>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The I2S peripheral is able to work on two functional modes
+internally: 16 and 32-bit width.
+That limits using the I2S peripheral to play audio files other than 16/32
+bit-widths as the internal buffer allocated for the audio content does not
+consider the operation modes of the peripheral. This limitation is planned
+to be removed soon by copying the buffers internally and making the
+necessary adjustments.</p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The above statement is not valid when using the I2S character
+device driver.
+It’s possible to use 8, 16, 24, and 32-bit-widths writing directly to the
+I2S character device. Just make sure to set the bit-width:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>$ make menuconfig
+-&gt; System Type
+    -&gt; ESP32 Peripheral Selection
+        -&gt; I2S
+            -&gt; I2S0/1
+                -&gt; Bit Witdh
+</pre></div>
+</div>
+<p>And make sure the data stream buffer being written to the I2S peripheral is
+aligned to the next boundary i.e. 16 bits for the 8 and 16-bit-widths and
+32 bits for 24 and 32-bit-widths.</p>
+</div>
+</div>
 <div class="section" id="pin-mapping">
 <h2>Pin Mapping<a class="headerlink" href="#pin-mapping" title="Permalink to 
this headline">¶</a></h2>
 <div class="admonition-todo admonition" id="id2">
@@ -364,10 +451,87 @@ causes failing to bring the ESP32 chip up.</p>
 </div>
 <div class="section" id="configurations">
 <h2>Configurations<a class="headerlink" href="#configurations" 
title="Permalink to this headline">¶</a></h2>
-<div class="section" id="nsh">
-<h3>nsh<a class="headerlink" href="#nsh" title="Permalink to this 
headline">¶</a></h3>
-<p>Basic NuttShell configuration (console enabled in UART0, exposed via
-USB connection by means of CP2102 converter, at 115200 bps).</p>
+<div class="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
+codec to play an audio file streamed over an HTTP connection while connected
+to a Wi-Fi network.</p>
+<p><strong>Audio Codec Setup</strong></p>
+<p>The CS4344 audio codec is connected on the following pins:</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 16%" />
+<col style="width: 16%" />
+<col style="width: 67%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>ESP32 Pin</p></th>
+<th class="head"><p>CS4344 Pin</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>0</p></td>
+<td><p>MCLK</p></td>
+<td><p>Master Clock</p></td>
+</tr>
+<tr class="row-odd"><td><p>4</p></td>
+<td><p>SCLK</p></td>
+<td><p>Serial Clock</p></td>
+</tr>
+<tr class="row-even"><td><p>5</p></td>
+<td><p>LRCK</p></td>
+<td><p>Left Right Clock (Word Select)</p></td>
+</tr>
+<tr class="row-odd"><td><p>18</p></td>
+<td><p>SDIN</p></td>
+<td><p>Serial Data In on CS4344. (DOUT on ESP32)</p></td>
+</tr>
+</tbody>
+</table>
+<p><strong>Simple HTTP server</strong></p>
+<p>Prepare a PCM-encoded (<cite>.wav</cite>) audio file with 16 bits/sample 
(sampled at
+8~48kHz). This file must be placed into a folder in a computer that could
+be accessed on the same Wi-Fi network the ESP32 will be connecting to.</p>
+<p>Python provides a simple HTTP server. <cite>cd</cite> to the audio file 
folder on the
+PC and run:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>$ python3 -m http.server
+
+Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
+</pre></div>
+</div>
+<p>Look for your PC IP address and test playing the prepared audio on your
+browser:</p>
+<div class="figure align-center">
+<img alt="../../../../../_images/esp32-audio-config-file.png" 
src="../../../../../_images/esp32-audio-config-file.png" />
+</div>
+<p>After successfully built and flashed, connect the board to the Wi-Fi 
network:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>$ nsh&gt; wapi psk wlan0 mypasswd 1
+$ nsh&gt; wapi essid wlan0 myssid 1
+$ nsh&gt; renew wlan0
+</pre></div>
+</div>
+<p>Once connected, open NuttX’s player and play the file according to its file
+name and the IP address of the HTTP server:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>$ nsh&gt; nxplayer
+$ nxplayer&gt; play http://192.168.1.239:8000/tones.wav
+</pre></div>
+</div>
+</div>
+<div class="section" id="efuse">
+<h3>efuse<a class="headerlink" href="#efuse" title="Permalink to this 
headline">¶</a></h3>
+<p>A config with EFUSE enabled.</p>
+</div>
+<div class="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 (I2S0
+on this example).</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>$ i2schar
+</pre></div>
+</div>
+<p>The corresponding output should show related debug informations.</p>
 </div>
 <div class="section" id="knsh">
 <h3>knsh<a class="headerlink" href="#knsh" title="Permalink to this 
headline">¶</a></h3>
@@ -391,45 +555,75 @@ CPU System Registers.</p></li>
 </ul>
 </div>
 </div>
-<div class="section" id="wapi">
-<h3>wapi<a class="headerlink" href="#wapi" title="Permalink to this 
headline">¶</a></h3>
-<p>Enables Wi-Fi support. You can define your credentials this way:</p>
-<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>$ make menuconfig
--&gt; Application Configuration
-    -&gt; Network Utilities
-        -&gt; Network initialization (NETUTILS_NETINIT [=y])
-            -&gt; WAPI Configuration
-</pre></div>
-</div>
-<p>Or if you don’t want to keep it saved in the firmware you can do it
-at runtime:</p>
-<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; wapi psk wlan0 mypasswd 1
-nsh&gt; wapi essid wlan0 myssid 1
-nsh&gt; renew wlan0
-</pre></div>
-</div>
+<div class="section" id="mcp2515">
+<h3>mcp2515<a class="headerlink" href="#mcp2515" title="Permalink to this 
headline">¶</a></h3>
+<p>This config is used to communicate with MCP2515 CAN over SPI chip.
+SPI3 is used and kept with the default IOMUX pins, i.e.:</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 42%" />
+<col style="width: 58%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>Pin</p></th>
+<th class="head"><p>Signal</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>5</p></td>
+<td><p>CS</p></td>
+</tr>
+<tr class="row-odd"><td><p>18</p></td>
+<td><p>SCK</p></td>
+</tr>
+<tr class="row-even"><td><p>23</p></td>
+<td><p>MOSI</p></td>
+</tr>
+<tr class="row-odd"><td><p>19</p></td>
+<td><p>MISO</p></td>
+</tr>
+</tbody>
+</table>
+<p>The MCP2515 interrupt (INT) pin is connected to the pin 22 of the
+ESP32-Devkit.</p>
 </div>
-<div class="section" id="wifinsh">
-<h3>wifinsh<a class="headerlink" href="#wifinsh" title="Permalink to this 
headline">¶</a></h3>
-<p>The <code class="docutils literal notranslate"><span 
class="pre">wifinsh</span></code> is similar to the <code class="docutils 
literal notranslate"><span class="pre">wapi</span></code> board example, but it 
will connect
-automatically to your Access Point (Wi-Fi Router) and will run telnet daemon
-in the board. Then you can connect to your board from your computer using the
-telnet program.</p>
-<p>After configuring the <code class="docutils literal notranslate"><span 
class="pre">esp32-devkit:wifinsh</span></code> you need to define your creden-
-tials in the menuconfig. You can define your credentials this way:</p>
-<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>$ make menuconfig
--&gt; Application Configuration
-    -&gt; Network Utilities
-        -&gt; Network initialization (NETUTILS_NETINIT [=y])
-            -&gt; WAPI Configuration
+<div class="section" id="mmcsdspi">
+<h3>mmcsdspi<a class="headerlink" href="#mmcsdspi" title="Permalink to this 
headline">¶</a></h3>
+<p>This config tests the SPI driver by connecting an SD Card reader over SPI.
+SPI2 is used and kept with the default IOMUX pins, i.e.:</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 42%" />
+<col style="width: 58%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>Pin</p></th>
+<th class="head"><p>Signal</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>15</p></td>
+<td><p>CS</p></td>
+</tr>
+<tr class="row-odd"><td><p>14</p></td>
+<td><p>SCK</p></td>
+</tr>
+<tr class="row-even"><td><p>13</p></td>
+<td><p>MOSI</p></td>
+</tr>
+<tr class="row-odd"><td><p>12</p></td>
+<td><p>MISO</p></td>
+</tr>
+</tbody>
+</table>
+<p>Once booted the following command is used to mount a FAT file system:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; mount -t vfat /dev/mmcsd0 /mnt
 </pre></div>
 </div>
-<p>Find your board IP using <code class="docutils literal notranslate"><span 
class="pre">nsh&gt;</span> <span class="pre">ifconfig</span></code> and then 
from your computer:</p>
-<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>$ telnet 192.168.x.y
-</pre></div>
 </div>
-<p>Where x and y are the last two numbers of the IP that your router gave to
-your board.</p>
+<div class="section" id="module">
+<h3>module<a class="headerlink" href="#module" title="Permalink to this 
headline">¶</a></h3>
+<p>This config is to run apps/examples/module.</p>
 </div>
 <div class="section" id="mqttc">
 <h3>mqttc<a class="headerlink" href="#mqttc" title="Permalink to this 
headline">¶</a></h3>
@@ -461,24 +655,10 @@ outputted:</p>
 </div>
 <p>From the host the message <code class="code docutils literal 
notranslate"><span class="pre">test</span></code> should be outputted.</p>
 </div>
-<div class="section" id="smp">
-<h3>smp<a class="headerlink" href="#smp" title="Permalink to this 
headline">¶</a></h3>
-<p>Another NSH configuration, similar to nsh, but also enables
-SMP operation.  It differs from the nsh configuration only in these
-additional settings:</p>
-<p>SMP is enabled:</p>
-<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>CONFIG_SMP=y
-CONFIG_SMP_NCPUS=2
-CONFIG_SPINLOCK=y
-</pre></div>
-</div>
-<p>The apps/testing/smp test is included:</p>
-<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>CONFIG_TESTING_SMP=y
-CONFIG_TESTING_SMP_NBARRIER_THREADS=8
-CONFIG_TESTING_SMP_PRIORITY=100
-CONFIG_TESTING_SMP_STACKSIZE=2048
-</pre></div>
-</div>
+<div class="section" id="nsh">
+<h3>nsh<a class="headerlink" href="#nsh" title="Permalink to this 
headline">¶</a></h3>
+<p>Basic NuttShell configuration (console enabled in UART0, exposed via
+USB connection by means of CP2102 converter, at 115200 bps).</p>
 </div>
 <div class="section" id="ostest">
 <h3>ostest<a class="headerlink" href="#ostest" title="Permalink to this 
headline">¶</a></h3>
@@ -491,38 +671,41 @@ CONFIG_SPINLOCK=y
 </pre></div>
 </div>
 </div>
-<div class="section" id="mcp2515">
-<h3>mcp2515<a class="headerlink" href="#mcp2515" title="Permalink to this 
headline">¶</a></h3>
-<p>This config is used to communicate with MCP2515 CAN over SPI chip.
-SPI3 is used and kept with the default IOMUX pins, i.e.:</p>
-<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>CS   --&gt; 5
-SCK  --&gt; 18
-MOSI --&gt; 23
-MISO --&gt; 19
+<div class="section" id="psram">
+<h3>psram<a class="headerlink" href="#psram" title="Permalink to this 
headline">¶</a></h3>
+<p>This config tests the PSRAM driver over SPIRAM interface.
+You can use the ramtest command to test the PSRAM memory. We are testing
+only 64KB on this example (64 * 1024), but you can change this number to
+2MB or 4MB depending on PSRAM chip used on your board:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; ramtest -w 0x3F800000 65536
+RAMTest: Marching ones: 3f800000 65536
+RAMTest: Marching zeroes: 3f800000 65536
+RAMTest: Pattern test: 3f800000 65536 55555555 aaaaaaaa
+RAMTest: Pattern test: 3f800000 65536 66666666 99999999
+RAMTest: Pattern test: 3f800000 65536 33333333 cccccccc
+RAMTest: Address-in-address test: 3f800000 65536
 </pre></div>
 </div>
-<p>The MCP2515 interrupt (INT) pin is connected to the pin 22 of the
-ESP32-Devkit.</p>
 </div>
-<div class="section" id="mmcsdspi">
-<h3>mmcsdspi<a class="headerlink" href="#mmcsdspi" title="Permalink to this 
headline">¶</a></h3>
-<p>This config tests the SPI driver by connecting an SD Card reader over SPI.
-SPI2 is used and kept with the default IOMUX pins, i.e.:</p>
-<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>CS   --&gt; 15
-SCK  --&gt; 14
-MOSI --&gt; 13
-MISO --&gt; 12
+<div class="section" id="smp">
+<h3>smp<a class="headerlink" href="#smp" title="Permalink to this 
headline">¶</a></h3>
+<p>Another NSH configuration, similar to nsh, but also enables
+SMP operation.  It differs from the nsh configuration only in these
+additional settings:</p>
+<p>SMP is enabled:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>CONFIG_SMP=y
+CONFIG_SMP_NCPUS=2
+CONFIG_SPINLOCK=y
 </pre></div>
 </div>
-<p>Once booted the following command is used to mount a FAT file system:</p>
-<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; mount -t vfat /dev/mmcsd0 /mnt
+<p>The apps/testing/smp test is included:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>CONFIG_TESTING_SMP=y
+CONFIG_TESTING_SMP_NBARRIER_THREADS=8
+CONFIG_TESTING_SMP_PRIORITY=100
+CONFIG_TESTING_SMP_STACKSIZE=2048
 </pre></div>
 </div>
 </div>
-<div class="section" id="module">
-<h3>module<a class="headerlink" href="#module" title="Permalink to this 
headline">¶</a></h3>
-<p>This config is to run apps/examples/module.</p>
-</div>
 <div class="section" id="sotest">
 <h3>sotest<a class="headerlink" href="#sotest" title="Permalink to this 
headline">¶</a></h3>
 <p>This config is to run apps/examples/sotest.</p>
@@ -539,22 +722,6 @@ nsh&gt; mount -t smartfs /dev/smart0 /mnt
 </div>
 <p>Note that mksmartfs is only needed the first time.</p>
 </div>
-<div class="section" id="psram">
-<h3>psram<a class="headerlink" href="#psram" title="Permalink to this 
headline">¶</a></h3>
-<p>This config tests the PSRAM driver over SPIRAM interface.
-You can use the ramtest command to test the PSRAM memory. We are testing
-only 64KB on this example (64 * 1024), but you can change this number to
-2MB or 4MB depending on PSRAM chip used on your board:</p>
-<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; ramtest -w 0x3F800000 65536
-RAMTest: Marching ones: 3f800000 65536
-RAMTest: Marching zeroes: 3f800000 65536
-RAMTest: Pattern test: 3f800000 65536 55555555 aaaaaaaa
-RAMTest: Pattern test: 3f800000 65536 66666666 99999999
-RAMTest: Pattern test: 3f800000 65536 33333333 cccccccc
-RAMTest: Address-in-address test: 3f800000 65536
-</pre></div>
-</div>
-</div>
 <div class="section" id="timer">
 <h3>timer<a class="headerlink" href="#timer" title="Permalink to this 
headline">¶</a></h3>
 <p>This config test the general use purpose timers. It includes the 4 timers,
@@ -566,17 +733,6 @@ example.</p>
 </div>
 <p>Where x in the timer instance.</p>
 </div>
-<div class="section" id="watchdog">
-<h3>watchdog<a class="headerlink" href="#watchdog" title="Permalink to this 
headline">¶</a></h3>
-<p>This config test the watchdog timers. It includes the 2 MWDTS,
-adds driver support, registers the WDTs as devices and includes the watchdog
-example.</p>
-<p>To test it, just run the following:</p>
-<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; wdog -d /dev/watchdogx
-</pre></div>
-</div>
-<p>Where x in the watchdog instance.</p>
-</div>
 <div class="section" id="wamr-wasi-debug">
 <h3>wamr_wasi_debug<a class="headerlink" href="#wamr-wasi-debug" 
title="Permalink to this headline">¶</a></h3>
 <p>This config is an example to use wasm-micro-runtime.
@@ -617,9 +773,56 @@ nsh&gt; iwasm /mnt/....
 </li>
 </ol>
 </div>
-<div class="section" id="efuse">
-<h3>efuse<a class="headerlink" href="#efuse" title="Permalink to this 
headline">¶</a></h3>
-<p>A config with EFUSE enabled.</p>
+<div class="section" id="wapi">
+<h3>wapi<a class="headerlink" href="#wapi" title="Permalink to this 
headline">¶</a></h3>
+<p>Enables Wi-Fi support. You can define your credentials this way:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>$ make menuconfig
+-&gt; Application Configuration
+    -&gt; Network Utilities
+        -&gt; Network initialization (NETUTILS_NETINIT [=y])
+            -&gt; WAPI Configuration
+</pre></div>
+</div>
+<p>Or if you don’t want to keep it saved in the firmware you can do it
+at runtime:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; wapi psk wlan0 mypasswd 1
+nsh&gt; wapi essid wlan0 myssid 1
+nsh&gt; renew wlan0
+</pre></div>
+</div>
+</div>
+<div class="section" id="watchdog">
+<h3>watchdog<a class="headerlink" href="#watchdog" title="Permalink to this 
headline">¶</a></h3>
+<p>This config test the watchdog timers. It includes the 2 MWDTS,
+adds driver support, registers the WDTs as devices and includes the watchdog
+example.</p>
+<p>To test it, just run the following:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; wdog -d /dev/watchdogx
+</pre></div>
+</div>
+<p>Where x in the watchdog instance.</p>
+</div>
+<div class="section" id="wifinsh">
+<h3>wifinsh<a class="headerlink" href="#wifinsh" title="Permalink to this 
headline">¶</a></h3>
+<p>The <code class="docutils literal notranslate"><span 
class="pre">wifinsh</span></code> is similar to the <code class="docutils 
literal notranslate"><span class="pre">wapi</span></code> board example, but it 
will connect
+automatically to your Access Point (Wi-Fi Router) and will run telnet daemon
+in the board. Then you can connect to your board from your computer using the
+telnet program.</p>
+<p>After configuring the <code class="docutils literal notranslate"><span 
class="pre">esp32-devkit:wifinsh</span></code> you need to define your creden-
+tials in the menuconfig. You can define your credentials this way:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>$ make menuconfig
+-&gt; Application Configuration
+    -&gt; Network Utilities
+        -&gt; Network initialization (NETUTILS_NETINIT [=y])
+            -&gt; WAPI Configuration
+</pre></div>
+</div>
+<p>Find your board IP using <code class="docutils literal notranslate"><span 
class="pre">nsh&gt;</span> <span class="pre">ifconfig</span></code> and then 
from your computer:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>$ telnet 192.168.x.y
+</pre></div>
+</div>
+<p>Where x and y are the last two numbers of the IP that your router gave to
+your board.</p>
 </div>
 </div>
 </div>
diff --git 
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-lyrat/index.html 
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-lyrat/index.html
index c7cd5a1..89af643 100644
--- a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-lyrat/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-lyrat/index.html
@@ -147,6 +147,7 @@
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#wi-fi">Wi-Fi</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#wi-fi-softap">Wi-Fi SoftAP</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#bluetooth">Bluetooth</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="../../index.html#i2s">I2S</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#using-qemu">Using QEMU</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#secure-boot-and-flash-encryption">Secure Boot and Flash 
Encryption</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#things-to-do">Things to Do</a></li>
diff --git 
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-wrover-kit/index.html 
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-wrover-kit/index.html
index b2decf1..19aeaf6 100644
--- 
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-wrover-kit/index.html
+++ 
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-wrover-kit/index.html
@@ -147,6 +147,7 @@
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#wi-fi">Wi-Fi</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#wi-fi-softap">Wi-Fi SoftAP</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#bluetooth">Bluetooth</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="../../index.html#i2s">I2S</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#using-qemu">Using QEMU</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#secure-boot-and-flash-encryption">Secure Boot and Flash 
Encryption</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="../../index.html#things-to-do">Things to Do</a></li>
diff --git a/content/docs/latest/platforms/xtensa/esp32/index.html 
b/content/docs/latest/platforms/xtensa/esp32/index.html
index 0ac6180..a201345 100644
--- a/content/docs/latest/platforms/xtensa/esp32/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32/index.html
@@ -161,6 +161,7 @@
 <li class="toctree-l4"><a class="reference internal" 
href="#wi-fi">Wi-Fi</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="#wi-fi-softap">Wi-Fi SoftAP</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="#bluetooth">Bluetooth</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#i2s">I2S</a></li>
 <li class="toctree-l4"><a class="reference internal" href="#using-qemu">Using 
QEMU</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="#secure-boot-and-flash-encryption">Secure Boot and Flash 
Encryption</a><ul>
 <li class="toctree-l5"><a class="reference internal" 
href="#secure-boot">Secure Boot</a></li>
@@ -426,11 +427,11 @@ SPI FLASH erase.</p>
 <td></td>
 </tr>
 <tr class="row-odd"><td><p>I2S</p></td>
-<td><p>No</p></td>
+<td><p>Yes</p></td>
 <td></td>
 </tr>
 <tr class="row-even"><td><p>LED_PWM</p></td>
-<td><p>No</p></td>
+<td><p>Yes</p></td>
 <td></td>
 </tr>
 <tr class="row-odd"><td><p>RMT</p></td>
@@ -453,6 +454,10 @@ SPI FLASH erase.</p>
 <td><p>No</p></td>
 <td></td>
 </tr>
+<tr class="row-even"><td><p>CAN/TWAI</p></td>
+<td><p>Yes</p></td>
+<td></td>
+</tr>
 </tbody>
 </table>
 </div>
@@ -885,7 +890,7 @@ the result by running <code class="docutils literal 
notranslate"><span class="pr
 <div class="section" id="wi-fi-softap">
 <h2>Wi-Fi SoftAP<a class="headerlink" href="#wi-fi-softap" title="Permalink to 
this headline">¶</a></h2>
 <p>It is possible to use ESP32 as an Access Point (SoftAP). Actually there are 
some
-boards with a <code class="docutils literal notranslate"><span 
class="pre">sta_softap</span></code> which enables this support.</p>
+boards config examples called sta_softap which enables this support</p>
 <p>If you are using this board config profile you can run these commands to be 
able
 to connect your smartphone or laptop to your board:</p>
 <div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; ifup wlan1
@@ -944,6 +949,19 @@ nsh&gt;
 </pre></div>
 </div>
 </div>
+<div class="section" id="i2s">
+<h2>I2S<a class="headerlink" href="#i2s" title="Permalink to this 
headline">¶</a></h2>
+<p>The I2S peripheral is accessible using either the generic I2S audio driver 
or a specific
+audio codec driver. Also, it’s possible to use the I2S character driver to 
bypass the
+audio subsystem and develop specific usages of the I2S peripheral.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Note that the bit-width and sample rate can be modified “on-the-go” when 
using
+audio-related drivers. That is not the case for the I2S character device 
driver and
+such parameters are set on compile time through <cite>make 
menuconfig</cite>.</p>
+</div>
+<p>Please check for usage examples using the <a class="reference internal" 
href="boards/esp32-devkitc/index.html"><span class="doc">ESP32 
DevKitC</span></a>.</p>
+</div>
 <div class="section" id="using-qemu">
 <h2>Using QEMU<a class="headerlink" href="#using-qemu" title="Permalink to 
this headline">¶</a></h2>
 <p>First follow the instructions <a class="reference external" 
href="https://github.com/espressif/qemu/wiki";>here</a> to build QEMU.</p>
diff --git a/content/docs/latest/searchindex.js 
b/content/docs/latest/searchindex.js
index 9905c09..7f80334 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 5fffbdd..f537b23 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>Fri, 30 Sep 2022 00:22:44 +0000</pubDate>
-    <lastBuildDate>Fri, 30 Sep 2022 00:22:44 +0000</lastBuildDate>
+    <pubDate>Sat, 01 Oct 2022 00:20:11 +0000</pubDate>
+    <lastBuildDate>Sat, 01 Oct 2022 00:20:11 +0000</lastBuildDate>
     <generator>Jekyll v3.8.5</generator>
     
       <item>

Reply via email to