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/nuttx-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new c8cb0913e Publishing web: 16e1777b863bd27e3a00b7b779baf0131af07df6
docs: ca664fd431b8f8b8f8f329e840757ba834795a04
c8cb0913e is described below
commit c8cb0913e38e341b2e8fd6fba3178e1dc18f5b21
Author: Alin Jerpelea <[email protected]>
AuthorDate: Fri Apr 18 00:30:27 2025 +0000
Publishing web: 16e1777b863bd27e3a00b7b779baf0131af07df6 docs:
ca664fd431b8f8b8f8f329e840757ba834795a04
---
content/docs/10.0.0/index.html | 2 +-
content/docs/10.0.1/index.html | 2 +-
content/docs/10.1.0/index.html | 2 +-
content/docs/10.2.0/index.html | 2 +-
content/docs/10.3.0/index.html | 2 +-
content/docs/11.0.0/index.html | 2 +-
content/docs/12.0.0/index.html | 2 +-
content/docs/12.0.0/searchindex.js | 2 +-
content/docs/12.1.0/index.html | 2 +-
content/docs/12.1.0/searchindex.js | 2 +-
content/docs/12.2.0/index.html | 2 +-
.../xtensa/esp32/boards/esp32-audio-kit/index.html | 2 +-
.../xtensa/esp32/boards/esp32-devkitc/index.html | 2 +-
content/docs/12.2.0/searchindex.js | 2 +-
content/docs/12.2.1/index.html | 2 +-
content/docs/12.2.1/searchindex.js | 2 +-
content/docs/12.3.0/index.html | 2 +-
content/docs/12.3.0/searchindex.js | 2 +-
content/docs/12.4.0/index.html | 2 +-
content/docs/12.4.0/searchindex.js | 2 +-
content/docs/12.5.0/index.html | 2 +-
content/docs/12.5.0/searchindex.js | 2 +-
content/docs/12.5.1/index.html | 2 +-
content/docs/12.5.1/searchindex.js | 2 +-
content/docs/12.6.0/index.html | 2 +-
content/docs/12.6.0/searchindex.js | 2 +-
content/docs/12.7.0/index.html | 2 +-
content/docs/12.7.0/searchindex.js | 2 +-
content/docs/12.8.0/index.html | 2 +-
content/docs/12.8.0/searchindex.js | 2 +-
content/docs/12.9.0/index.html | 2 +-
content/docs/12.9.0/searchindex.js | 2 +-
.../esp32c3/boards/esp32c3-generic/index.rst.txt | 21 +++++
.../platforms/risc-v/esp32c3/index.rst.txt | 44 ++++++++++-
.../esp32c6/boards/esp32c6-devkitc/index.rst.txt | 29 ++++++-
.../platforms/risc-v/esp32c6/index.rst.txt | 38 ++++++++-
.../esp32h2/boards/esp32h2-devkit/index.rst.txt | 23 +++++-
.../platforms/risc-v/esp32h2/index.rst.txt | 36 ++++++++-
.../esp32/boards/esp32-devkitc/index.rst.txt | 21 +++++
.../_sources/platforms/xtensa/esp32/index.rst.txt | 47 ++++++++++-
.../esp32s2/boards/esp32s2-saola-1/index.rst.txt | 21 +++++
.../platforms/xtensa/esp32s2/index.rst.txt | 44 ++++++++++-
.../esp32s3/boards/esp32s3-devkit/index.rst.txt | 21 +++++
.../platforms/xtensa/esp32s3/index.rst.txt | 44 ++++++++++-
content/docs/latest/index.html | 2 +-
content/docs/latest/objects.inv | Bin 142403 -> 142594 bytes
.../esp32c3/boards/esp32c3-generic/index.html | 19 +++++
.../latest/platforms/risc-v/esp32c3/index.html | 64 ++++++++++++++-
.../esp32c6/boards/esp32c6-devkitc/index.html | 19 +++++
.../latest/platforms/risc-v/esp32c6/index.html | 61 ++++++++++++++-
.../esp32h2/boards/esp32h2-devkit/index.html | 19 +++++
.../latest/platforms/risc-v/esp32h2/index.html | 55 ++++++++++++-
.../xtensa/esp32/boards/esp32-2432S028/index.html | 1 +
.../xtensa/esp32/boards/esp32-audio-kit/index.html | 1 +
.../xtensa/esp32/boards/esp32-devkitc/index.html | 19 +++++
.../esp32/boards/esp32-ethernet-kit/index.html | 1 +
.../xtensa/esp32/boards/esp32-lyrat/index.html | 1 +
.../xtensa/esp32/boards/esp32-pico-kit/index.html | 1 +
.../esp32/boards/esp32-wrover-kit/index.html | 1 +
.../docs/latest/platforms/xtensa/esp32/index.html | 86 ++++++++++++++++++++-
.../esp32s2/boards/esp32s2-kaluga-1/index.html | 1 +
.../esp32s2/boards/esp32s2-saola-1/index.html | 20 +++++
.../latest/platforms/xtensa/esp32s2/index.html | 82 +++++++++++++++++++-
.../esp32s3/boards/esp32s3-devkit/index.html | 19 +++++
.../latest/platforms/xtensa/esp32s3/index.html | 82 +++++++++++++++++++-
content/docs/latest/searchindex.js | 2 +-
content/feed.xml | 4 +-
67 files changed, 938 insertions(+), 75 deletions(-)
diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index 1cadd08c3..1d267c171 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: 17 April 25 at 00:14</p>
+<p>Last Updated: 18 April 25 at 00:14</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/index.html b/content/docs/10.0.1/index.html
index 516616791..11012c879 100644
--- a/content/docs/10.0.1/index.html
+++ b/content/docs/10.0.1/index.html
@@ -243,7 +243,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: 17 April 25 at 00:14</p>
+<p>Last Updated: 18 April 25 at 00:14</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/index.html b/content/docs/10.1.0/index.html
index 2d2d8d7a4..a47b8100a 100644
--- a/content/docs/10.1.0/index.html
+++ b/content/docs/10.1.0/index.html
@@ -243,7 +243,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: 17 April 25 at 00:14</p>
+<p>Last Updated: 18 April 25 at 00:14</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/index.html b/content/docs/10.2.0/index.html
index 55daca46b..f1757b4a0 100644
--- a/content/docs/10.2.0/index.html
+++ b/content/docs/10.2.0/index.html
@@ -244,7 +244,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: 17 April 25 at 00:15</p>
+<p>Last Updated: 18 April 25 at 00:15</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/index.html b/content/docs/10.3.0/index.html
index 55daca46b..f1757b4a0 100644
--- a/content/docs/10.3.0/index.html
+++ b/content/docs/10.3.0/index.html
@@ -244,7 +244,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: 17 April 25 at 00:15</p>
+<p>Last Updated: 18 April 25 at 00:15</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/11.0.0/index.html b/content/docs/11.0.0/index.html
index 55daca46b..f1757b4a0 100644
--- a/content/docs/11.0.0/index.html
+++ b/content/docs/11.0.0/index.html
@@ -244,7 +244,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: 17 April 25 at 00:15</p>
+<p>Last Updated: 18 April 25 at 00:15</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/12.0.0/index.html b/content/docs/12.0.0/index.html
index 2d9332f7f..04e9d1304 100644
--- a/content/docs/12.0.0/index.html
+++ b/content/docs/12.0.0/index.html
@@ -169,7 +169,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: 17 April 25 at 00:15</p>
+<p>Last Updated: 18 April 25 at 00:16</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/12.0.0/searchindex.js
b/content/docs/12.0.0/searchindex.js
index e65b32163..0ebb05e9b 100644
--- a/content/docs/12.0.0/searchindex.js
+++ b/content/docs/12.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/12.1.0/index.html b/content/docs/12.1.0/index.html
index 99cdc97fd..da79847ce 100644
--- a/content/docs/12.1.0/index.html
+++ b/content/docs/12.1.0/index.html
@@ -169,7 +169,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: 17 April 25 at 00:16</p>
+<p>Last Updated: 18 April 25 at 00:16</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/12.1.0/searchindex.js
b/content/docs/12.1.0/searchindex.js
index 95f80561b..f5f56557e 100644
--- a/content/docs/12.1.0/searchindex.js
+++ b/content/docs/12.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/12.2.0/index.html b/content/docs/12.2.0/index.html
index 5344c5c0a..b426f8793 100644
--- a/content/docs/12.2.0/index.html
+++ b/content/docs/12.2.0/index.html
@@ -170,7 +170,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 heading"></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: 17 April 25 at 00:16</p>
+<p>Last Updated: 18 April 25 at 00:16</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/12.2.0/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
b/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
index b3745b07a..66bb2633b 100644
---
a/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
+++
b/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
@@ -351,7 +351,7 @@ Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
<p>Look for your PC IP address and test playing the prepared audio on your
browser:</p>
<figure class="align-center">
-<img alt="../../../../../_images/esp32-audio-config-file.png"
src="../../../../../_images/esp32-audio-config-file.png" />
+<img alt="../../../../../_images/esp32-audio-config-file1.png"
src="../../../../../_images/esp32-audio-config-file1.png" />
</figure>
<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> wapi psk wlan0 mypasswd 3
diff --git
a/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
b/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
index d210b17ce..3d5dcfced 100644
--- a/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
+++ b/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
@@ -448,7 +448,7 @@ Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
<p>Look for your PC IP address and test playing the prepared audio on your
browser:</p>
<figure class="align-center">
-<img alt="../../../../../_images/esp32-audio-config-file1.png"
src="../../../../../_images/esp32-audio-config-file1.png" />
+<img alt="../../../../../_images/esp32-audio-config-file.png"
src="../../../../../_images/esp32-audio-config-file.png" />
</figure>
<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> wapi psk wlan0 mypasswd 3
diff --git a/content/docs/12.2.0/searchindex.js
b/content/docs/12.2.0/searchindex.js
index e31c8d23f..58d439bcb 100644
--- a/content/docs/12.2.0/searchindex.js
+++ b/content/docs/12.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", "applications/nxdiag/config",
"applications/nxdiag/index", "applications/wapi/commands",
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt",
"components/drivers/block/index", "components/dr [...]
\ 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", "applications/nxdiag/config",
"applications/nxdiag/index", "applications/wapi/commands",
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt",
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.2.1/index.html b/content/docs/12.2.1/index.html
index e27409352..2206e9f3a 100644
--- a/content/docs/12.2.1/index.html
+++ b/content/docs/12.2.1/index.html
@@ -170,7 +170,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 heading"></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: 17 April 25 at 00:17</p>
+<p>Last Updated: 18 April 25 at 00:17</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/12.2.1/searchindex.js
b/content/docs/12.2.1/searchindex.js
index 0b81f8731..033c79424 100644
--- a/content/docs/12.2.1/searchindex.js
+++ b/content/docs/12.2.1/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", "applications/nxdiag/config",
"applications/nxdiag/index", "applications/wapi/commands",
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt",
"components/drivers/block/index", "components/dr [...]
\ 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", "applications/nxdiag/config",
"applications/nxdiag/index", "applications/wapi/commands",
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt",
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.3.0/index.html b/content/docs/12.3.0/index.html
index 68a3ae364..c90e0f528 100644
--- a/content/docs/12.3.0/index.html
+++ b/content/docs/12.3.0/index.html
@@ -170,7 +170,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 heading"></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: 17 April 25 at 00:17</p>
+<p>Last Updated: 18 April 25 at 00:17</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/12.3.0/searchindex.js
b/content/docs/12.3.0/searchindex.js
index 23d4bcb41..c73480659 100644
--- a/content/docs/12.3.0/searchindex.js
+++ b/content/docs/12.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", "applications/nxdiag/config",
"applications/nxdiag/index", "applications/wapi/commands",
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt",
"components/drivers/block/index", "components/dr [...]
\ 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", "applications/nxdiag/config",
"applications/nxdiag/index", "applications/wapi/commands",
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt",
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.4.0/index.html b/content/docs/12.4.0/index.html
index 2100ebab6..8ae2d40ee 100644
--- a/content/docs/12.4.0/index.html
+++ b/content/docs/12.4.0/index.html
@@ -177,7 +177,7 @@ 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: 17 April 25 at 00:18</p>
+<p>Last Updated: 18 April 25 at 00:18</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/12.4.0/searchindex.js
b/content/docs/12.4.0/searchindex.js
index dac7288f7..730665691 100644
--- a/content/docs/12.4.0/searchindex.js
+++ b/content/docs/12.4.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/coremark/index", "applications/benchmarks/index",
"applications/boot/index", "applications/boot/mcuboot/index",
"applications/boot/miniboot/index", "applications/canutils/candump/index",
"applications/canutils/canlib/index", "applications/canutils/cansend/index",
"applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/coremark/index", "applications/benchmarks/index",
"applications/boot/index", "applications/boot/mcuboot/index",
"applications/boot/miniboot/index", "applications/canutils/candump/index",
"applications/canutils/canlib/index", "applications/canutils/cansend/index",
"applications/c [...]
\ No newline at end of file
diff --git a/content/docs/12.5.0/index.html b/content/docs/12.5.0/index.html
index a73a44562..b09333a4e 100644
--- a/content/docs/12.5.0/index.html
+++ b/content/docs/12.5.0/index.html
@@ -177,7 +177,7 @@ 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: 17 April 25 at 00:19</p>
+<p>Last Updated: 18 April 25 at 00:19</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/12.5.0/searchindex.js
b/content/docs/12.5.0/searchindex.js
index daa4ed51c..63b46e9ed 100644
--- a/content/docs/12.5.0/searchindex.js
+++ b/content/docs/12.5.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/coremark/index", "applications/benchmarks/index",
"applications/boot/index", "applications/boot/mcuboot/index",
"applications/boot/miniboot/index", "applications/canutils/candump/index",
"applications/canutils/canlib/index", "applications/canutils/cansend/index",
"applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/coremark/index", "applications/benchmarks/index",
"applications/boot/index", "applications/boot/mcuboot/index",
"applications/boot/miniboot/index", "applications/canutils/candump/index",
"applications/canutils/canlib/index", "applications/canutils/cansend/index",
"applications/c [...]
\ No newline at end of file
diff --git a/content/docs/12.5.1/index.html b/content/docs/12.5.1/index.html
index 78e0e35ee..d287beadc 100644
--- a/content/docs/12.5.1/index.html
+++ b/content/docs/12.5.1/index.html
@@ -177,7 +177,7 @@ 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: 17 April 25 at 00:20</p>
+<p>Last Updated: 18 April 25 at 00:20</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/12.5.1/searchindex.js
b/content/docs/12.5.1/searchindex.js
index 286aedc71..0a3ffb4f6 100644
--- a/content/docs/12.5.1/searchindex.js
+++ b/content/docs/12.5.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/coremark/index", "applications/benchmarks/index",
"applications/boot/index", "applications/boot/mcuboot/index",
"applications/boot/miniboot/index", "applications/canutils/candump/index",
"applications/canutils/canlib/index", "applications/canutils/cansend/index",
"applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/coremark/index", "applications/benchmarks/index",
"applications/boot/index", "applications/boot/mcuboot/index",
"applications/boot/miniboot/index", "applications/canutils/candump/index",
"applications/canutils/canlib/index", "applications/canutils/cansend/index",
"applications/c [...]
\ No newline at end of file
diff --git a/content/docs/12.6.0/index.html b/content/docs/12.6.0/index.html
index c0eb4a8d1..7f31db423 100644
--- a/content/docs/12.6.0/index.html
+++ b/content/docs/12.6.0/index.html
@@ -178,7 +178,7 @@ 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: 17 April 25 at 00:22</p>
+<p>Last Updated: 18 April 25 at 00:22</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/12.6.0/searchindex.js
b/content/docs/12.6.0/searchindex.js
index 6a4188765..df20c8871 100644
--- a/content/docs/12.6.0/searchindex.js
+++ b/content/docs/12.6.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/benchmarks/iozone/index",
"applications/bench [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/benchmarks/iozone/index",
"applications/bench [...]
\ No newline at end of file
diff --git a/content/docs/12.7.0/index.html b/content/docs/12.7.0/index.html
index 0cd070d3c..d4cc95de6 100644
--- a/content/docs/12.7.0/index.html
+++ b/content/docs/12.7.0/index.html
@@ -177,7 +177,7 @@ 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: 17 April 25 at 00:23</p>
+<p>Last Updated: 18 April 25 at 00:23</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/12.7.0/searchindex.js
b/content/docs/12.7.0/searchindex.js
index c7e87a3f4..8d69343fc 100644
--- a/content/docs/12.7.0/searchindex.js
+++ b/content/docs/12.7.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/benchmarks/iozone/index",
"applications/bench [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/benchmarks/iozone/index",
"applications/bench [...]
\ No newline at end of file
diff --git a/content/docs/12.8.0/index.html b/content/docs/12.8.0/index.html
index b6ad5886c..f11f54c23 100644
--- a/content/docs/12.8.0/index.html
+++ b/content/docs/12.8.0/index.html
@@ -177,7 +177,7 @@ 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: 17 April 25 at 00:24</p>
+<p>Last Updated: 18 April 25 at 00:25</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/12.8.0/searchindex.js
b/content/docs/12.8.0/searchindex.js
index c05192346..5d8e9071c 100644
--- a/content/docs/12.8.0/searchindex.js
+++ b/content/docs/12.8.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/benchmarks/iozone/index",
"applications/bench [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/benchmarks/iozone/index",
"applications/bench [...]
\ No newline at end of file
diff --git a/content/docs/12.9.0/index.html b/content/docs/12.9.0/index.html
index 561997c9a..f3600283b 100644
--- a/content/docs/12.9.0/index.html
+++ b/content/docs/12.9.0/index.html
@@ -177,7 +177,7 @@ 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: 17 April 25 at 00:26</p>
+<p>Last Updated: 18 April 25 at 00:26</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/12.9.0/searchindex.js
b/content/docs/12.9.0/searchindex.js
index 303ef77da..988cac1b0 100644
--- a/content/docs/12.9.0/searchindex.js
+++ b/content/docs/12.9.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/cyclictest/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/b [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/cyclictest/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/b [...]
\ No newline at end of file
diff --git
a/content/docs/latest/_sources/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.rst.txt
b/content/docs/latest/_sources/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.rst.txt
index 83361c041..453133ce9 100644
---
a/content/docs/latest/_sources/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.rst.txt
+++
b/content/docs/latest/_sources/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.rst.txt
@@ -53,6 +53,27 @@ All of the configurations presented below can be tested by
running the following
Where <config_name> is the name of board configuration you want to use, i.e.:
nsh, buttons, wifi...
Then use a serial console terminal like ``picocom`` configured to 115200 8N1.
+adc
+---
+
+The ``adc`` configuration enables the ADC driver and the ADC example
application.
+ADC Unit 1 is registered to ``/dev/adc0`` with channels 0, 1, 2 and 3 enabled
by default.
+Currently, the ADC operates in oneshot mode.
+
+More ADC channels can be enabled or disabled in ``ADC Configuration`` menu.
+
+This example shows channels 0 and 1 connected to 3.3 V and channels 2 and 3 to
GND (all readings
+show in units of mV)::
+
+ nsh> adc -n 1
+ adc_main: g_adcstate.count: 1
+ adc_main: Hardware initialized. Opening the ADC device: /dev/adc0
+ Sample:
+ 1: channel: 0 value: 2900
+ 2: channel: 1 value: 2900
+ 3: channel: 2 value: 0
+ 4: channel: 3 value: 0
+
ble
---
diff --git
a/content/docs/latest/_sources/platforms/risc-v/esp32c3/index.rst.txt
b/content/docs/latest/_sources/platforms/risc-v/esp32c3/index.rst.txt
index 95bb8b1a8..8158b2bfd 100644
--- a/content/docs/latest/_sources/platforms/risc-v/esp32c3/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/risc-v/esp32c3/index.rst.txt
@@ -131,7 +131,7 @@ where:
* ``ESPTOOL_BINDIR=./`` is the path of the externally-built 2nd stage
bootloader and the partition table (if applicable): when built using the ``make
bootloader``, these files are placed into ``nuttx`` folder.
* ``ESPTOOL_BAUD`` is able to change the flash baud rate if desired.
-Flashing NSH Example
+Flashing NSH Example
--------------------
This example shows how to build and flash the ``nsh`` defconfig for the
ESP32-C3-DevKitC-02 board::
@@ -209,7 +209,13 @@ GND Ground
OpenOCD can then be used::
- openocd -c 'set ESP_RTOS hwthread; set ESP_FLASH_SIZE 0' -f
board/esp32c3-builtin.cfg
+ openocd -s <tcl_scripts_path> -c 'set ESP_RTOS hwthread' -f
board/esp32c3-builtin.cfg -c 'init; reset halt; esp appimage_offset 0x0'
+
+.. note::
+ - ``appimage_offset`` should be set to ``0x0`` when ``Simple Boot`` is used.
For MCUboot, this value should be set to
+ ``CONFIG_ESPRESSIF_OTA_PRIMARY_SLOT_OFFSET`` value (``0x10000`` by
default).
+ - ``-s <tcl_scripts_path>`` defines the path to the OpenOCD scripts. Usually
set to `tcl` if running openocd from its source directory.
+ It can be omitted if `openocd-esp32` were installed in the system with
`sudo make install`.
If you want to debug with an external JTAG adapter it can
be connected as follows:
@@ -343,7 +349,7 @@ The following list indicates the state of peripherals'
support in NuttX:
=========== ======= ====================
Peripheral Support NOTES
=========== ======= ====================
-ADC No
+ADC Yes Oneshot
AES No
Bluetooth Yes
CAN/TWAI Yes
@@ -370,6 +376,38 @@ Watchdog Yes XTWDT supported
Wi-Fi Yes WPA3-SAE supported
=========== ======= ====================
+Analog-to-digital converter (ADC)
+---------------------------------
+
+Two ADC units are available for the ESP32-C3:
+
+* ADC1 with 5 channels.
+* ADC2 with 1 channel and internal voltage reading. **This unit is not
implemented.**
+
+Those units are independent and can be used simultaneously. During bringup,
GPIOs for selected channels are
+configured automatically to be used as ADC inputs.
+If available, ADC calibration is automatically applied (see
+`this page
<https://docs.espressif.com/projects/esp-idf/en/v5.1/esp32c3/api-reference/peripherals/adc_calibration.html>`__
for more details).
+Otherwise, a simple conversion is applied based on the attenuation and
resolution.
+
+The ADC unit is accessible using the ADC character driver, which returns data
for the enabled channels.
+
+The ADC1 unit can be enabled in the menu :menuselection:`System Type -->
Peripheral Support --> Analog-to-digital converter (ADC)`.
+
+Then, it can be customized in the menu :menuselection:`System Type --> ADC
Configuration`, which includes operating mode, gain and channels.
+
+========== ===========
+ Channel ADC1 GPIO
+========== ===========
+0 0
+1 1
+2 2
+3 3
+4 4
+========== ===========
+
+.. warning:: Maximum measurable voltage may saturate around 2900 mV.
+
Secure Boot and Flash Encryption
================================
diff --git
a/content/docs/latest/_sources/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.rst.txt
b/content/docs/latest/_sources/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.rst.txt
index 6b01c4238..979d78751 100644
---
a/content/docs/latest/_sources/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.rst.txt
+++
b/content/docs/latest/_sources/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.rst.txt
@@ -88,6 +88,27 @@ All of the configurations presented below can be tested by
running the following
Where <config_name> is the name of board configuration you want to use, i.e.:
nsh, buttons, wifi...
Then use a serial console terminal like ``picocom`` configured to 115200 8N1.
+adc
+---
+
+The ``adc`` configuration enables the ADC driver and the ADC example
application.
+ADC Unit 1 is registered to ``/dev/adc0`` with channels 0, 1, 2 and 3 enabled
by default.
+Currently, the ADC operates in oneshot mode.
+
+More ADC channels can be enabled or disabled in ``ADC Configuration`` menu.
+
+This example shows channels 0 and 1 connected to 3.3 V and channels 2 and 3 to
GND (all readings
+show in units of mV)::
+
+ nsh> adc -n 1
+ adc_main: g_adcstate.count: 1
+ adc_main: Hardware initialized. Opening the ADC device: /dev/adc0
+ Sample:
+ 1: channel: 0 value: 3611
+ 2: channel: 1 value: 3611
+ 3: channel: 2 value: 103
+ 4: channel: 3 value: 104
+
bmp180
------
@@ -110,10 +131,10 @@ the following output is expected::
nsh> cap
cap_main: Hardware initialized. Opening the capture device: /dev/capture0
cap_main: Number of samples: 0
- pwm duty cycle: 50 %
- pwm frequence: 50 Hz
- pwm duty cycle: 50 %
- pwm frequence: 50 Hz
+ pwm duty cycle: 50 %
+ pwm frequence: 50 Hz
+ pwm duty cycle: 50 %
+ pwm frequence: 50 Hz
coremark
--------
diff --git
a/content/docs/latest/_sources/platforms/risc-v/esp32c6/index.rst.txt
b/content/docs/latest/_sources/platforms/risc-v/esp32c6/index.rst.txt
index adea93525..c72fc7799 100644
--- a/content/docs/latest/_sources/platforms/risc-v/esp32c6/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/risc-v/esp32c6/index.rst.txt
@@ -200,7 +200,13 @@ USB-to-JTAG adapter.
OpenOCD can then be used::
- openocd -c 'set ESP_RTOS hwthread; set ESP_FLASH_SIZE 0' -f
board/esp32c6-builtin.cfg
+ openocd -s <tcl_scripts_path> -c 'set ESP_RTOS hwthread' -f
board/esp32c3-builtin.cfg -c 'init; reset halt; esp appimage_offset 0x0'
+
+.. note::
+ - ``appimage_offset`` should be set to ``0x0`` when ``Simple Boot`` is used.
For MCUboot, this value should be set to
+ ``CONFIG_ESPRESSIF_OTA_PRIMARY_SLOT_OFFSET`` value (``0x10000`` by
default).
+ - ``-s <tcl_scripts_path>`` defines the path to the OpenOCD scripts. Usually
set to `tcl` if running openocd from its source directory.
+ It can be omitted if `openocd-esp32` were installed in the system with
`sudo make install`.
If you want to debug with an external JTAG adapter it can
be connected as follows:
@@ -331,7 +337,7 @@ The following list indicates the state of peripherals'
support in NuttX:
============== ======= ====================
Peripheral Support NOTES
============== ======= ====================
-ADC No Supports internal temperature sensor
+ADC Yes Oneshot and internal temperature sensor
AES No
Bluetooth No
CAN/TWAI Yes
@@ -363,6 +369,34 @@ Wi-Fi Yes
XTS No
============== ======= ====================
+Analog-to-digital converter (ADC)
+---------------------------------
+
+One ADC unit is available for the ESP32-C6, with 7 channels.
+
+During bringup, GPIOs for selected channels are configured automatically to be
used as ADC inputs.
+If available, ADC calibration is automatically applied (see
+`this page
<https://docs.espressif.com/projects/esp-idf/en/v5.1/esp32c6/api-reference/peripherals/adc_calibration.html>`__
for more details).
+Otherwise, a simple conversion is applied based on the attenuation and
resolution.
+
+The ADC unit is accessible using the ADC character driver, which returns data
for the enabled channels.
+
+The ADC unit can be enabled in the menu :menuselection:`System Type -->
Peripheral Support --> Analog-to-digital converter (ADC)`.
+
+Then, it can be customized in the menu :menuselection:`System Type --> ADC
Configuration`, which includes operating mode, gain and channels.
+
+========== ===========
+ Channel ADC1 GPIO
+========== ===========
+0 0
+1 1
+2 2
+3 3
+4 4
+5 5
+6 6
+========== ===========
+
_`Managing esptool on virtual environment`
==========================================
diff --git
a/content/docs/latest/_sources/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.rst.txt
b/content/docs/latest/_sources/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.rst.txt
index 2b2c2125e..cbf9ed2b9 100644
---
a/content/docs/latest/_sources/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.rst.txt
+++
b/content/docs/latest/_sources/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.rst.txt
@@ -6,7 +6,7 @@ ESP32-H2-DevKitM-1 is an entry-level development board based on
Bluetooth® Low
IEEE 802.15.4 combo module ESP32-H2-MINI-1 or ESP32-H2-MINI-1U. You can find
the board schematic
`here
<https://espressif-docs.readthedocs-hosted.com/projects/esp-dev-kits/en/latest/_static/esp32-h2-devkitm-1/esp32-h2-devkitm-1_v1.2_schematics_20230306.pdf>`_.
-Most of the I/O pins on the ESP32-H2-MINI-1/1U module are broken out to the
pin headers on
+Most of the I/O pins on the ESP32-H2-MINI-1/1U module are broken out to the
pin headers on
both sides of this board for easy interfacing. Developers can either connect
peripherals with
jumper wires or mount ESP32-H2-DevKitM-1 on a breadboard.
@@ -87,6 +87,27 @@ All of the configurations presented below can be tested by
running the following
Where <config_name> is the name of board configuration you want to use, i.e.:
nsh, buttons, wifi...
Then use a serial console terminal like ``picocom`` configured to 115200 8N1.
+adc
+---
+
+The ``adc`` configuration enables the ADC driver and the ADC example
application.
+ADC Unit 1 is registered to ``/dev/adc0`` with channels 0, 1, 2 and 3 enabled
by default.
+Currently, the ADC operates in oneshot mode.
+
+More ADC channels can be enabled or disabled in ``ADC Configuration`` menu.
+
+This example shows channels 0 and 1 connected to 3.3 V and channels 2 and 3 to
GND (all readings
+show in units of mV)::
+
+ nsh> adc -n 1
+ adc_main: g_adcstate.count: 1
+ adc_main: Hardware initialized. Opening the ADC device: /dev/adc0
+ Sample:
+ 1: channel: 0 value: 3713
+ 2: channel: 1 value: 3714
+ 3: channel: 2 value: 1
+ 4: channel: 3 value: 0
+
bmp180
------
diff --git
a/content/docs/latest/_sources/platforms/risc-v/esp32h2/index.rst.txt
b/content/docs/latest/_sources/platforms/risc-v/esp32h2/index.rst.txt
index 06211a489..2e0fba335 100644
--- a/content/docs/latest/_sources/platforms/risc-v/esp32h2/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/risc-v/esp32h2/index.rst.txt
@@ -201,7 +201,13 @@ USB-to-JTAG adapter.
OpenOCD can then be used::
- openocd -c 'set ESP_RTOS hwthread; set ESP_FLASH_SIZE 0' -f
board/esp32h2-builtin.cfg
+ openocd -s <tcl_scripts_path> -c 'set ESP_RTOS hwthread' -f
board/esp32c3-builtin.cfg -c 'init; reset halt; esp appimage_offset 0x0'
+
+.. note::
+ - ``appimage_offset`` should be set to ``0x0`` when ``Simple Boot`` is used.
For MCUboot, this value should be set to
+ ``CONFIG_ESPRESSIF_OTA_PRIMARY_SLOT_OFFSET`` value (``0x10000`` by
default).
+ - ``-s <tcl_scripts_path>`` defines the path to the OpenOCD scripts. Usually
set to `tcl` if running openocd from its source directory.
+ It can be omitted if `openocd-esp32` were installed in the system with
`sudo make install`.
If you want to debug with an external JTAG adapter it can
be connected as follows:
@@ -332,7 +338,7 @@ The following list indicates the state of peripherals'
support in NuttX:
============== ======= ====================
Peripheral Support NOTES
============== ======= ====================
-ADC No Supports internal temperature sensor
+ADC Yes Oneshot and internal temperature sensor
AES No
Bluetooth No
CAN/TWAI Yes
@@ -363,6 +369,32 @@ Wifi No
XTS No
============== ======= ====================
+Analog-to-digital converter (ADC)
+---------------------------------
+
+One ADC unit is available for the ESP32-H2, with 5 channels.
+
+During bringup, GPIOs for selected channels are configured automatically to be
used as ADC inputs.
+If available, ADC calibration is automatically applied (see
+`this page
<https://docs.espressif.com/projects/esp-idf/en/v5.1/esp32h2/api-reference/peripherals/adc_calibration.html>`__
for more details).
+Otherwise, a simple conversion is applied based on the attenuation and
resolution.
+
+The ADC unit is accessible using the ADC character driver, which returns data
for the enabled channels.
+
+The ADC unit can be enabled in the menu :menuselection:`System Type -->
Peripheral Support --> Analog-to-digital converter (ADC)`.
+
+Then, it can be customized in the menu :menuselection:`System Type --> ADC
Configuration`, which includes operating mode, gain and channels.
+
+========== ===========
+ Channel ADC1 GPIO
+========== ===========
+0 1
+1 2
+2 3
+3 4
+4 5
+========== ===========
+
_`Managing esptool on virtual environment`
==========================================
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 715c8e93e..65691dd93 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
@@ -163,6 +163,27 @@ All of the configurations presented below can be tested by
running the following
Where <config_name> is the name of board configuration you want to use, i.e.:
nsh, buttons, wifi...
Then use a serial console terminal like ``picocom`` configured to 115200 8N1.
+adc
+---
+
+The ``adc`` configuration enables the ADC driver and the ADC example
application.
+ADC Unit 1 is registered to ``/dev/adc0`` with channels 0, 3 and 4 enabled by
default.
+Currently, the ADC operates in oneshot mode.
+
+More ADC channels can be enabled or disabled in ``ADC Configuration`` menu.
+
+This example shows channels 0 and 4 connected to GND and channel 3 to 3.3 V
(all readings
+show in units of mV)::
+
+ nsh> adc -n 1
+ adc_main: g_adcstate.count: 1
+ adc_main: Hardware initialized. Opening the ADC device: /dev/adc0
+ Sample:
+ 1: channel: 0 value: 142
+ 2: channel: 3 value: 3441
+ 3: channel: 4 value: 142
+
+
audio
-----
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 30f83519f..534cb9de6 100644
--- a/content/docs/latest/_sources/platforms/xtensa/esp32/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/xtensa/esp32/index.rst.txt
@@ -241,7 +241,13 @@ described for the :ref:`ESP32-DevKitC
<platforms/xtensa/esp32/boards/esp32-devki
OpenOCD can then be used::
- openocd -c 'set ESP_RTOS hwthread; set ESP_FLASH_SIZE 0' -f
board/esp32-wrover-kit-1.8v.cfg
+ openocd -s <tcl_scripts_path> -c 'set ESP_RTOS hwthread' -f
board/esp32-wrover-kit-3.3v.cfg -c 'init; reset halt; esp appimage_offset
0x1000'
+
+.. note::
+ - ``appimage_offset`` should be set to ``0x1000`` when ``Simple Boot`` is
used. For MCUboot, this value should be set to
+ ``CONFIG_ESP32_OTA_PRIMARY_SLOT_OFFSET`` value (``0x10000`` by default).
+ - ``-s <tcl_scripts_path>`` defines the path to the OpenOCD scripts. Usually
set to `tcl` if running openocd from its source directory.
+ It can be omitted if `openocd-esp32` were installed in the system with
`sudo make install`.
Once OpenOCD is running, you can use GDB to connect to it and debug your
application::
@@ -389,7 +395,7 @@ The following list indicates the state of peripherals'
support in NuttX:
========== ======= =====
Peripheral Support NOTES
========== ======= =====
-ADC No
+ADC Yes Oneshot
AES Yes
Bluetooth Yes
Camera No
@@ -688,6 +694,43 @@ audio subsystem and develop specific usages of the I2S
peripheral.
Please check for usage examples using the :doc:`ESP32 DevKitC
</platforms/xtensa/esp32/boards/esp32-devkitc/index>`.
+Analog-to-digital converter (ADC)
+=================================
+
+Two ADC units are available for the ESP32:
+
+* ADC1 with 8 channels
+* ADC2 with 10 channels
+
+Those units are independent and can be used simultaneously. During bringup,
GPIOs for selected channels are
+configured automatically to be used as ADC inputs.
+If available, ADC calibration is automatically applied (see
+`this page
<https://docs.espressif.com/projects/esp-idf/en/v5.1/esp32/api-reference/peripherals/adc_calibration.html>`__
for more details).
+Otherwise, a simple conversion is applied based on the attenuation and
resolution.
+
+Each ADC unit is accessible using the ADC character driver, which returns data
for the enabled channels.
+
+The ADC unit can be enabled in the menu :menuselection:`System Type --> ESP32
Peripheral Selection --> Analog-to-digital converter (ADC)`.
+
+Then, it can be customized in the menu :menuselection:`System Type --> ADC
Configuration`, which includes operating mode, gain and channels.
+
+========== =========== ===========
+ Channel ADC1 GPIO ADC2 GPIO
+========== =========== ===========
+0 36 4
+1 37 0
+2 38 2
+3 39 15
+4 32 13
+5 33 12
+6 34 14
+7 35 27
+8 25
+9 26
+========== =========== ===========
+
+.. warning:: ADC2 channels 1, 2 and 3 are used as strapping pins and can
present undefined behavior.
+
Using QEMU
==========
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 2929fc3e3..e17a3c163 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
@@ -98,6 +98,27 @@ All of the configurations presented below can be tested by
running the following
Where <config_name> is the name of board configuration you want to use, i.e.:
nsh, buttons, wifi...
Then use a serial console terminal like ``picocom`` configured to 115200 8N1.
+adc
+---
+
+The ``adc`` configuration enables the ADC driver and the ADC example
application.
+ADC Unit 1 is registered to ``/dev/adc0`` with channels 0, 1, 2 and 3 enabled
by default.
+Currently, the ADC operates in oneshot mode.
+
+More ADC channels can be enabled or disabled in ``ADC Configuration`` menu.
+
+This example shows channels 0 and 1 connected to 3.3 V and channels 2 and 3 to
GND (all readings
+show in units of mV)::
+
+ nsh> adc -n 1
+ adc_main: g_adcstate.count: 1
+ adc_main: Hardware initialized. Opening the ADC device: /dev/adc0
+ Sample:
+ 1: channel: 0 value: 3061
+ 2: channel: 1 value: 3061
+ 3: channel: 2 value: 106
+ 4: channel: 3 value: 99
+
audio
-----
diff --git
a/content/docs/latest/_sources/platforms/xtensa/esp32s2/index.rst.txt
b/content/docs/latest/_sources/platforms/xtensa/esp32s2/index.rst.txt
index 542bee731..48023168d 100644
--- a/content/docs/latest/_sources/platforms/xtensa/esp32s2/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/xtensa/esp32s2/index.rst.txt
@@ -231,7 +231,13 @@ directly to the ESP32-S2 JTAG pins.
OpenOCD can then be used::
- openocd -c 'set ESP_RTOS hwthread; set ESP_FLASH_SIZE 0' -f
board/esp32s2-kaluga-1.cfg
+ openocd -s <tcl_scripts_path> -c 'set ESP_RTOS hwthread' -f
board/esp32s2-kaluga-1.cfg -c 'init; reset halt; esp appimage_offset 0x1000'
+
+.. note::
+ - ``appimage_offset`` should be set to ``0x1000`` when ``Simple Boot`` is
used. For MCUboot, this value should be set to
+ ``CONFIG_ESPRESSIF_OTA_PRIMARY_SLOT_OFFSET`` value (``0x10000`` by
default).
+ - ``-s <tcl_scripts_path>`` defines the path to the OpenOCD scripts. Usually
set to `tcl` if running openocd from its source directory.
+ It can be omitted if `openocd-esp32` were installed in the system with
`sudo make install`.
Once OpenOCD is running, you can use GDB to connect to it and debug your
application::
@@ -376,7 +382,7 @@ The following list indicates the state of peripherals'
support in NuttX:
========== ======= =====
Peripheral Support NOTES
========== ======= =====
-ADC No
+ADC Yes Oneshot
AES No
CAN/TWAI Yes
DAC No
@@ -547,6 +553,40 @@ audio subsystem and develop specific usages of the I2S
peripheral.
Please check for usage examples using the :doc:`ESP32-S2-Saola-1
</platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index>`.
+Analog-to-digital converter (ADC)
+=================================
+
+Two ADC units are available for the ESP32-S2, each with 10 channels.
+
+Those units are independent and can be used simultaneously. During bringup,
GPIOs for selected channels are
+configured automatically to be used as ADC inputs.
+If available, ADC calibration is automatically applied (see
+`this page
<https://docs.espressif.com/projects/esp-idf/en/v5.1/esp32s2/api-reference/peripherals/adc_calibration.html>`__
for more details).
+Otherwise, a simple conversion is applied based on the attenuation and
resolution.
+
+Each ADC unit is accessible using the ADC character driver, which returns data
for the enabled channels.
+
+The ADC unit can be enabled in the menu :menuselection:`System Type -->
ESP32-S2 Peripheral Selection --> Analog-to-digital converter (ADC)`.
+
+Then, it can be customized in the menu :menuselection:`System Type --> ADC
Configuration`, which includes operating mode, gain and channels.
+
+========== =========== ===========
+ Channel ADC1 GPIO ADC2 GPIO
+========== =========== ===========
+0 1 11
+1 2 12
+2 3 13
+3 4 14
+4 5 15
+5 6 16
+6 7 17
+7 8 18
+8 9 19
+9 10 20
+========== =========== ===========
+
+.. warning:: Minimum and maximum measurable voltages may saturate around 100
mV and 3000 mV, respectively.
+
Wi-Fi
======
diff --git
a/content/docs/latest/_sources/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst.txt
b/content/docs/latest/_sources/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst.txt
index 0686955d3..3d1e7eeca 100644
---
a/content/docs/latest/_sources/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst.txt
+++
b/content/docs/latest/_sources/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst.txt
@@ -81,6 +81,27 @@ All of the configurations presented below can be tested by
running the following
Where <config_name> is the name of board configuration you want to use, i.e.:
nsh, buttons, wifi...
Then use a serial console terminal like ``picocom`` configured to 115200 8N1.
+adc
+---
+
+The ``adc`` configuration enables the ADC driver and the ADC example
application.
+ADC Unit 1 is registered to ``/dev/adc0`` with channels 0, 1, 2 and 3 enabled
by default.
+Currently, the ADC operates in oneshot mode.
+
+More ADC channels can be enabled or disabled in ``ADC Configuration`` menu.
+
+This example shows channels 0 and 1 connected to 3.3 V and channels 2 and 3 to
GND (all readings
+show in units of mV)::
+
+ nsh> adc -n 1
+ adc_main: g_adcstate.count: 1
+ adc_main: Hardware initialized. Opening the ADC device: /dev/adc0
+ Sample:
+ 1: channel: 0 value: 3061
+ 2: channel: 1 value: 3061
+ 3: channel: 2 value: 106
+ 4: channel: 3 value: 99
+
audio
-----
diff --git
a/content/docs/latest/_sources/platforms/xtensa/esp32s3/index.rst.txt
b/content/docs/latest/_sources/platforms/xtensa/esp32s3/index.rst.txt
index 714d52f82..cf397a261 100644
--- a/content/docs/latest/_sources/platforms/xtensa/esp32s3/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/xtensa/esp32s3/index.rst.txt
@@ -227,7 +227,13 @@ This is the case for the :ref:`ESP32-S3-DevKit
<platforms/xtensa/esp32s3/boards/
OpenOCD can then be used::
- openocd -c 'set ESP_RTOS hwthread; set ESP_FLASH_SIZE 0' -f
board/esp32s3-builtin.cfg
+ openocd -s <tcl_scripts_path> -c 'set ESP_RTOS hwthread' -f
board/esp32s3-builtin.cfg -c 'init; reset halt; esp appimage_offset 0x0'
+
+.. note::
+ - ``appimage_offset`` should be set to ``0x0`` when ``Simple Boot`` is used.
For MCUboot, this value should be set to
+ ``CONFIG_ESP32S3_OTA_PRIMARY_SLOT_OFFSET`` value (``0x10000`` by default).
+ - ``-s <tcl_scripts_path>`` defines the path to the OpenOCD scripts. Usually
set to `tcl` if running openocd from its source directory.
+ It can be omitted if `openocd-esp32` were installed in the system with
`sudo make install`.
Once OpenOCD is running, you can use GDB to connect to it and debug your
application::
@@ -408,7 +414,7 @@ The following list indicates the state of peripherals'
support in NuttX:
========== ======= =====
Peripheral Support NOTES
========== ======= =====
-ADC Yes
+ADC Yes Oneshot
AES Yes
Bluetooth Yes
Camera No
@@ -443,6 +449,40 @@ Wi-Fi Yes WPA3-SAE supported
.. _esp32s3_peripheral_support:
+Analog-to-digital converter (ADC)
+---------------------------------
+
+Two ADC units are available for the ESP32-S3, each with 10 channels.
+
+Those units are independent and can be used simultaneously. During bringup,
GPIOs for selected channels are
+configured automatically to be used as ADC inputs.
+If available, ADC calibration is automatically applied (see
+`this page
<https://docs.espressif.com/projects/esp-idf/en/v5.1/esp32s3/api-reference/peripherals/adc_calibration.html>`__
for more details).
+Otherwise, a simple conversion is applied based on the attenuation and
resolution.
+
+Each ADC unit is accessible using the ADC character driver, which returns data
for the enabled channels.
+
+The ADC unit can be enabled in the menu :menuselection:`System Type -->
ESP32-S3 Peripheral Selection --> Analog-to-digital converter (ADC)`.
+
+Then, it can be customized in the menu :menuselection:`System Type --> ADC
Configuration`, which includes operating mode, gain and channels.
+
+========== =========== ===========
+ Channel ADC1 GPIO ADC2 GPIO
+========== =========== ===========
+0 1 11
+1 2 12
+2 3 13
+3 4 14
+4 5 15
+5 6 16
+6 7 17
+7 8 18
+8 9 19
+9 10 20
+========== =========== ===========
+
+.. warning:: Minimum and maximum measurable voltages may saturate around 100
mV and 3000 mV, respectively.
+
Wi-Fi
-----
diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html
index 44a68f3a8..bab75038b 100644
--- a/content/docs/latest/index.html
+++ b/content/docs/latest/index.html
@@ -178,7 +178,7 @@ 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: 17 April 25 at 00:28</p>
+<p>Last Updated: 18 April 25 at 00:28</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 d63a12a8d..bd659bf73 100644
Binary files a/content/docs/latest/objects.inv and
b/content/docs/latest/objects.inv differ
diff --git
a/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.html
b/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.html
index 32c064e25..a0acb2497 100644
---
a/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.html
+++
b/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.html
@@ -270,6 +270,25 @@ $ make flash ESPTOOL_PORT=/dev/ttyUSB0 -j
</div>
<p>Where <config_name> is the name of board configuration you want to
use, i.e.: nsh, buttons, wifi…
Then use a serial console terminal like <code class="docutils literal
notranslate"><span class="pre">picocom</span></code> configured to 115200
8N1.</p>
+<section id="adc">
+<h3>adc<a class="headerlink" href="#adc" title="Permalink to this
heading"></a></h3>
+<p>The <code class="docutils literal notranslate"><span
class="pre">adc</span></code> configuration enables the ADC driver and the ADC
example application.
+ADC Unit 1 is registered to <code class="docutils literal notranslate"><span
class="pre">/dev/adc0</span></code> with channels 0, 1, 2 and 3 enabled by
default.
+Currently, the ADC operates in oneshot mode.</p>
+<p>More ADC channels can be enabled or disabled in <code class="docutils
literal notranslate"><span class="pre">ADC</span> <span
class="pre">Configuration</span></code> menu.</p>
+<p>This example shows channels 0 and 1 connected to 3.3 V and channels 2 and 3
to GND (all readings
+show in units of mV):</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>nsh> adc -n 1
+adc_main: g_adcstate.count: 1
+adc_main: Hardware initialized. Opening the ADC device: /dev/adc0
+Sample:
+1: channel: 0 value: 2900
+2: channel: 1 value: 2900
+3: channel: 2 value: 0
+4: channel: 3 value: 0
+</pre></div>
+</div>
+</section>
<section id="ble">
<h3>ble<a class="headerlink" href="#ble" title="Permalink to this
heading"></a></h3>
<p>This configuration is used to enable the Bluetooth Low Energy (BLE) of
diff --git a/content/docs/latest/platforms/risc-v/esp32c3/index.html
b/content/docs/latest/platforms/risc-v/esp32c3/index.html
index dbec72ba0..0d11006ca 100644
--- a/content/docs/latest/platforms/risc-v/esp32c3/index.html
+++ b/content/docs/latest/platforms/risc-v/esp32c3/index.html
@@ -156,7 +156,10 @@
<li class="toctree-l5"><a class="reference internal"
href="#stack-dump-and-backtrace-dump">Stack Dump and Backtrace Dump</a></li>
</ul>
</li>
-<li class="toctree-l4"><a class="reference internal"
href="#peripheral-support">Peripheral Support</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="#peripheral-support">Peripheral Support</a><ul>
+<li class="toctree-l5"><a class="reference internal"
href="#analog-to-digital-converter-adc">Analog-to-digital converter
(ADC)</a></li>
+</ul>
+</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>
<li class="toctree-l5"><a class="reference internal"
href="#flash-encryption">Flash Encryption</a></li>
@@ -443,9 +446,18 @@ Only an USB cable connected to the D+/D- pins is
necessary:</p>
for more information.</p>
</div>
<p>OpenOCD can then be used:</p>
-<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwthread; set
ESP_FLASH_SIZE 0' -f board/esp32c3-builtin.cfg
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -s <tcl_scripts_path> -c
'set ESP_RTOS hwthread' -f board/esp32c3-builtin.cfg -c 'init;
reset halt; esp appimage_offset 0x0'
</pre></div>
</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span
class="pre">appimage_offset</span></code> should be set to <code
class="docutils literal notranslate"><span class="pre">0x0</span></code> when
<code class="docutils literal notranslate"><span class="pre">Simple</span>
<span class="pre">Boot</span></code> is used. For MCUboot, this value should be
set to
+<code class="docutils literal notranslate"><span
class="pre">CONFIG_ESPRESSIF_OTA_PRIMARY_SLOT_OFFSET</span></code> value (<code
class="docutils literal notranslate"><span class="pre">0x10000</span></code> by
default).</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-s</span>
<span class="pre"><tcl_scripts_path></span></code> defines the path to
the OpenOCD scripts. Usually set to <cite>tcl</cite> if running openocd from
its source directory.
+It can be omitted if <cite>openocd-esp32</cite> were installed in the system
with <cite>sudo make install</cite>.</p></li>
+</ul>
+</div>
<p>If you want to debug with an external JTAG adapter it can
be connected as follows:</p>
<table class="docutils align-default">
@@ -596,8 +608,8 @@ functions that were being executed when the crash
occurred.</p>
</thead>
<tbody>
<tr class="row-even"><td><p>ADC</p></td>
-<td><p>No</p></td>
-<td></td>
+<td><p>Yes</p></td>
+<td><p>Oneshot</p></td>
</tr>
<tr class="row-odd"><td><p>AES</p></td>
<td><p>No</p></td>
@@ -697,6 +709,50 @@ functions that were being executed when the crash
occurred.</p>
</tr>
</tbody>
</table>
+<section id="analog-to-digital-converter-adc">
+<h3>Analog-to-digital converter (ADC)<a class="headerlink"
href="#analog-to-digital-converter-adc" title="Permalink to this
heading"></a></h3>
+<p>Two ADC units are available for the ESP32-C3:</p>
+<ul class="simple">
+<li><p>ADC1 with 5 channels.</p></li>
+<li><p>ADC2 with 1 channel and internal voltage reading. <strong>This unit is
not implemented.</strong></p></li>
+</ul>
+<p>Those units are independent and can be used simultaneously. During bringup,
GPIOs for selected channels are
+configured automatically to be used as ADC inputs.
+If available, ADC calibration is automatically applied (see
+<a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/v5.1/esp32c3/api-reference/peripherals/adc_calibration.html">this
page</a> for more details).
+Otherwise, a simple conversion is applied based on the attenuation and
resolution.</p>
+<p>The ADC unit is accessible using the ADC character driver, which returns
data for the enabled channels.</p>
+<p>The ADC1 unit can be enabled in the menu <span class="menuselection">System
Type ‣ Peripheral Support ‣ Analog-to-digital converter (ADC)</span>.</p>
+<p>Then, it can be customized in the menu <span class="menuselection">System
Type ‣ ADC Configuration</span>, which includes operating mode, gain and
channels.</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Channel</p></th>
+<th class="head"><p>ADC1 GPIO</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>0</p></td>
+<td><p>0</p></td>
+</tr>
+<tr class="row-odd"><td><p>1</p></td>
+<td><p>1</p></td>
+</tr>
+<tr class="row-even"><td><p>2</p></td>
+<td><p>2</p></td>
+</tr>
+<tr class="row-odd"><td><p>3</p></td>
+<td><p>3</p></td>
+</tr>
+<tr class="row-even"><td><p>4</p></td>
+<td><p>4</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Maximum measurable voltage may saturate around 2900 mV.</p>
+</div>
+</section>
</section>
<section id="secure-boot-and-flash-encryption">
<h2>Secure Boot and Flash Encryption<a class="headerlink"
href="#secure-boot-and-flash-encryption" title="Permalink to this
heading"></a></h2>
diff --git
a/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.html
b/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.html
index 531b6befb..fe826631c 100644
---
a/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.html
+++
b/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.html
@@ -302,6 +302,25 @@ $ make flash ESPTOOL_PORT=/dev/ttyUSB0 -j
Then use a serial console terminal like <code class="docutils literal
notranslate"><span class="pre">picocom</span></code> configured to 115200
8N1.</p>
</section>
</section>
+<section id="adc">
+<h2>adc<a class="headerlink" href="#adc" title="Permalink to this
heading"></a></h2>
+<p>The <code class="docutils literal notranslate"><span
class="pre">adc</span></code> configuration enables the ADC driver and the ADC
example application.
+ADC Unit 1 is registered to <code class="docutils literal notranslate"><span
class="pre">/dev/adc0</span></code> with channels 0, 1, 2 and 3 enabled by
default.
+Currently, the ADC operates in oneshot mode.</p>
+<p>More ADC channels can be enabled or disabled in <code class="docutils
literal notranslate"><span class="pre">ADC</span> <span
class="pre">Configuration</span></code> menu.</p>
+<p>This example shows channels 0 and 1 connected to 3.3 V and channels 2 and 3
to GND (all readings
+show in units of mV):</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>nsh> adc -n 1
+adc_main: g_adcstate.count: 1
+adc_main: Hardware initialized. Opening the ADC device: /dev/adc0
+Sample:
+1: channel: 0 value: 3611
+2: channel: 1 value: 3611
+3: channel: 2 value: 103
+4: channel: 3 value: 104
+</pre></div>
+</div>
+</section>
<section id="bmp180">
<h2>bmp180<a class="headerlink" href="#bmp180" title="Permalink to this
heading"></a></h2>
<p>This configuration enables the use of the BMP180 pressure sensor over I2C.
diff --git a/content/docs/latest/platforms/risc-v/esp32c6/index.html
b/content/docs/latest/platforms/risc-v/esp32c6/index.html
index 053f9e89f..85fa9a913 100644
--- a/content/docs/latest/platforms/risc-v/esp32c6/index.html
+++ b/content/docs/latest/platforms/risc-v/esp32c6/index.html
@@ -157,7 +157,10 @@
<li class="toctree-l5"><a class="reference internal"
href="#stack-dump-and-backtrace-dump">Stack Dump and Backtrace Dump</a></li>
</ul>
</li>
-<li class="toctree-l4"><a class="reference internal"
href="#peripheral-support">Peripheral Support</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="#peripheral-support">Peripheral Support</a><ul>
+<li class="toctree-l5"><a class="reference internal"
href="#analog-to-digital-converter-adc">Analog-to-digital converter
(ADC)</a></li>
+</ul>
+</li>
<li class="toctree-l4"><a class="reference internal" href="#id1">Managing
esptool on virtual environment</a><ul>
<li class="toctree-l5"><a class="reference internal"
href="#using-pipx-recommended">Using pipx (recommended)</a></li>
<li class="toctree-l5"><a class="reference internal"
href="#using-venv-alternative">Using venv (alternative)</a></li>
@@ -417,9 +420,18 @@ USB-to-JTAG adapter.</p>
for more information.</p>
</div>
<p>OpenOCD can then be used:</p>
-<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwthread; set
ESP_FLASH_SIZE 0' -f board/esp32c6-builtin.cfg
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -s <tcl_scripts_path> -c
'set ESP_RTOS hwthread' -f board/esp32c3-builtin.cfg -c 'init;
reset halt; esp appimage_offset 0x0'
</pre></div>
</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span
class="pre">appimage_offset</span></code> should be set to <code
class="docutils literal notranslate"><span class="pre">0x0</span></code> when
<code class="docutils literal notranslate"><span class="pre">Simple</span>
<span class="pre">Boot</span></code> is used. For MCUboot, this value should be
set to
+<code class="docutils literal notranslate"><span
class="pre">CONFIG_ESPRESSIF_OTA_PRIMARY_SLOT_OFFSET</span></code> value (<code
class="docutils literal notranslate"><span class="pre">0x10000</span></code> by
default).</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-s</span>
<span class="pre"><tcl_scripts_path></span></code> defines the path to
the OpenOCD scripts. Usually set to <cite>tcl</cite> if running openocd from
its source directory.
+It can be omitted if <cite>openocd-esp32</cite> were installed in the system
with <cite>sudo make install</cite>.</p></li>
+</ul>
+</div>
<p>If you want to debug with an external JTAG adapter it can
be connected as follows:</p>
<table class="docutils align-default">
@@ -568,8 +580,8 @@ Backtrace for task 0:
</thead>
<tbody>
<tr class="row-even"><td><p>ADC</p></td>
-<td><p>No</p></td>
-<td><p>Supports internal temperature sensor</p></td>
+<td><p>Yes</p></td>
+<td><p>Oneshot and internal temperature sensor</p></td>
</tr>
<tr class="row-odd"><td><p>AES</p></td>
<td><p>No</p></td>
@@ -689,6 +701,47 @@ Backtrace for task 0:
</tr>
</tbody>
</table>
+<section id="analog-to-digital-converter-adc">
+<h3>Analog-to-digital converter (ADC)<a class="headerlink"
href="#analog-to-digital-converter-adc" title="Permalink to this
heading"></a></h3>
+<p>One ADC unit is available for the ESP32-C6, with 7 channels.</p>
+<p>During bringup, GPIOs for selected channels are configured automatically to
be used as ADC inputs.
+If available, ADC calibration is automatically applied (see
+<a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/v5.1/esp32c6/api-reference/peripherals/adc_calibration.html">this
page</a> for more details).
+Otherwise, a simple conversion is applied based on the attenuation and
resolution.</p>
+<p>The ADC unit is accessible using the ADC character driver, which returns
data for the enabled channels.</p>
+<p>The ADC unit can be enabled in the menu <span class="menuselection">System
Type ‣ Peripheral Support ‣ Analog-to-digital converter (ADC)</span>.</p>
+<p>Then, it can be customized in the menu <span class="menuselection">System
Type ‣ ADC Configuration</span>, which includes operating mode, gain and
channels.</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Channel</p></th>
+<th class="head"><p>ADC1 GPIO</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>0</p></td>
+<td><p>0</p></td>
+</tr>
+<tr class="row-odd"><td><p>1</p></td>
+<td><p>1</p></td>
+</tr>
+<tr class="row-even"><td><p>2</p></td>
+<td><p>2</p></td>
+</tr>
+<tr class="row-odd"><td><p>3</p></td>
+<td><p>3</p></td>
+</tr>
+<tr class="row-even"><td><p>4</p></td>
+<td><p>4</p></td>
+</tr>
+<tr class="row-odd"><td><p>5</p></td>
+<td><p>5</p></td>
+</tr>
+<tr class="row-even"><td><p>6</p></td>
+<td><p>6</p></td>
+</tr>
+</tbody>
+</table>
+</section>
</section>
<section id="id1">
<h2><span class="target" id="managing-esptool-on-virtual-environment">Managing
esptool on virtual environment</span><a class="headerlink" href="#id1"
title="Permalink to this heading"></a></h2>
diff --git
a/content/docs/latest/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.html
b/content/docs/latest/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.html
index 6bb2f2ee1..e13073e40 100644
---
a/content/docs/latest/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.html
+++
b/content/docs/latest/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.html
@@ -300,6 +300,25 @@ $ make flash ESPTOOL_PORT=/dev/ttyUSB0 -j
Then use a serial console terminal like <code class="docutils literal
notranslate"><span class="pre">picocom</span></code> configured to 115200
8N1.</p>
</section>
</section>
+<section id="adc">
+<h2>adc<a class="headerlink" href="#adc" title="Permalink to this
heading"></a></h2>
+<p>The <code class="docutils literal notranslate"><span
class="pre">adc</span></code> configuration enables the ADC driver and the ADC
example application.
+ADC Unit 1 is registered to <code class="docutils literal notranslate"><span
class="pre">/dev/adc0</span></code> with channels 0, 1, 2 and 3 enabled by
default.
+Currently, the ADC operates in oneshot mode.</p>
+<p>More ADC channels can be enabled or disabled in <code class="docutils
literal notranslate"><span class="pre">ADC</span> <span
class="pre">Configuration</span></code> menu.</p>
+<p>This example shows channels 0 and 1 connected to 3.3 V and channels 2 and 3
to GND (all readings
+show in units of mV):</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>nsh> adc -n 1
+adc_main: g_adcstate.count: 1
+adc_main: Hardware initialized. Opening the ADC device: /dev/adc0
+Sample:
+1: channel: 0 value: 3713
+2: channel: 1 value: 3714
+3: channel: 2 value: 1
+4: channel: 3 value: 0
+</pre></div>
+</div>
+</section>
<section id="bmp180">
<h2>bmp180<a class="headerlink" href="#bmp180" title="Permalink to this
heading"></a></h2>
<p>This configuration enables the use of the BMP180 pressure sensor over I2C.
diff --git a/content/docs/latest/platforms/risc-v/esp32h2/index.html
b/content/docs/latest/platforms/risc-v/esp32h2/index.html
index b2d6888d5..fa397bb64 100644
--- a/content/docs/latest/platforms/risc-v/esp32h2/index.html
+++ b/content/docs/latest/platforms/risc-v/esp32h2/index.html
@@ -158,7 +158,10 @@
<li class="toctree-l5"><a class="reference internal"
href="#stack-dump-and-backtrace-dump">Stack Dump and Backtrace Dump</a></li>
</ul>
</li>
-<li class="toctree-l4"><a class="reference internal"
href="#peripheral-support">Peripheral Support</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="#peripheral-support">Peripheral Support</a><ul>
+<li class="toctree-l5"><a class="reference internal"
href="#analog-to-digital-converter-adc">Analog-to-digital converter
(ADC)</a></li>
+</ul>
+</li>
<li class="toctree-l4"><a class="reference internal" href="#id1">Managing
esptool on virtual environment</a><ul>
<li class="toctree-l5"><a class="reference internal"
href="#using-pipx-recommended">Using pipx (recommended)</a></li>
<li class="toctree-l5"><a class="reference internal"
href="#using-venv-alternative">Using venv (alternative)</a></li>
@@ -417,9 +420,18 @@ USB-to-JTAG adapter.</p>
for more information.</p>
</div>
<p>OpenOCD can then be used:</p>
-<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwthread; set
ESP_FLASH_SIZE 0' -f board/esp32h2-builtin.cfg
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -s <tcl_scripts_path> -c
'set ESP_RTOS hwthread' -f board/esp32c3-builtin.cfg -c 'init;
reset halt; esp appimage_offset 0x0'
</pre></div>
</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span
class="pre">appimage_offset</span></code> should be set to <code
class="docutils literal notranslate"><span class="pre">0x0</span></code> when
<code class="docutils literal notranslate"><span class="pre">Simple</span>
<span class="pre">Boot</span></code> is used. For MCUboot, this value should be
set to
+<code class="docutils literal notranslate"><span
class="pre">CONFIG_ESPRESSIF_OTA_PRIMARY_SLOT_OFFSET</span></code> value (<code
class="docutils literal notranslate"><span class="pre">0x10000</span></code> by
default).</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-s</span>
<span class="pre"><tcl_scripts_path></span></code> defines the path to
the OpenOCD scripts. Usually set to <cite>tcl</cite> if running openocd from
its source directory.
+It can be omitted if <cite>openocd-esp32</cite> were installed in the system
with <cite>sudo make install</cite>.</p></li>
+</ul>
+</div>
<p>If you want to debug with an external JTAG adapter it can
be connected as follows:</p>
<table class="docutils align-default">
@@ -568,8 +580,8 @@ Backtrace for task 0:
</thead>
<tbody>
<tr class="row-even"><td><p>ADC</p></td>
-<td><p>No</p></td>
-<td><p>Supports internal temperature sensor</p></td>
+<td><p>Yes</p></td>
+<td><p>Oneshot and internal temperature sensor</p></td>
</tr>
<tr class="row-odd"><td><p>AES</p></td>
<td><p>No</p></td>
@@ -685,6 +697,41 @@ Backtrace for task 0:
</tr>
</tbody>
</table>
+<section id="analog-to-digital-converter-adc">
+<h3>Analog-to-digital converter (ADC)<a class="headerlink"
href="#analog-to-digital-converter-adc" title="Permalink to this
heading"></a></h3>
+<p>One ADC unit is available for the ESP32-H2, with 5 channels.</p>
+<p>During bringup, GPIOs for selected channels are configured automatically to
be used as ADC inputs.
+If available, ADC calibration is automatically applied (see
+<a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/v5.1/esp32h2/api-reference/peripherals/adc_calibration.html">this
page</a> for more details).
+Otherwise, a simple conversion is applied based on the attenuation and
resolution.</p>
+<p>The ADC unit is accessible using the ADC character driver, which returns
data for the enabled channels.</p>
+<p>The ADC unit can be enabled in the menu <span class="menuselection">System
Type ‣ Peripheral Support ‣ Analog-to-digital converter (ADC)</span>.</p>
+<p>Then, it can be customized in the menu <span class="menuselection">System
Type ‣ ADC Configuration</span>, which includes operating mode, gain and
channels.</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Channel</p></th>
+<th class="head"><p>ADC1 GPIO</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>0</p></td>
+<td><p>1</p></td>
+</tr>
+<tr class="row-odd"><td><p>1</p></td>
+<td><p>2</p></td>
+</tr>
+<tr class="row-even"><td><p>2</p></td>
+<td><p>3</p></td>
+</tr>
+<tr class="row-odd"><td><p>3</p></td>
+<td><p>4</p></td>
+</tr>
+<tr class="row-even"><td><p>4</p></td>
+<td><p>5</p></td>
+</tr>
+</tbody>
+</table>
+</section>
</section>
<section id="id1">
<h2><span class="target" id="managing-esptool-on-virtual-environment">Managing
esptool on virtual environment</span><a class="headerlink" href="#id1"
title="Permalink to this heading"></a></h2>
diff --git
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-2432S028/index.html
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-2432S028/index.html
index 7b552ccea..13adf27ea 100644
---
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-2432S028/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-2432S028/index.html
@@ -155,6 +155,7 @@
<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#analog-to-digital-converter-adc">Analog-to-digital
converter (ADC)</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-audio-kit/index.html
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
index 703b652e5..28b2160ef 100644
---
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
@@ -155,6 +155,7 @@
<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#analog-to-digital-converter-adc">Analog-to-digital
converter (ADC)</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-devkitc/index.html
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
index f0223e1ec..675f72ec8 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
@@ -155,6 +155,7 @@
<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#analog-to-digital-converter-adc">Analog-to-digital
converter (ADC)</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>
@@ -422,6 +423,24 @@ $ make flash ESPTOOL_PORT=/dev/ttyUSB0 -j
</div>
<p>Where <config_name> is the name of board configuration you want to
use, i.e.: nsh, buttons, wifi…
Then use a serial console terminal like <code class="docutils literal
notranslate"><span class="pre">picocom</span></code> configured to 115200
8N1.</p>
+<section id="adc">
+<h3>adc<a class="headerlink" href="#adc" title="Permalink to this
heading"></a></h3>
+<p>The <code class="docutils literal notranslate"><span
class="pre">adc</span></code> configuration enables the ADC driver and the ADC
example application.
+ADC Unit 1 is registered to <code class="docutils literal notranslate"><span
class="pre">/dev/adc0</span></code> with channels 0, 3 and 4 enabled by default.
+Currently, the ADC operates in oneshot mode.</p>
+<p>More ADC channels can be enabled or disabled in <code class="docutils
literal notranslate"><span class="pre">ADC</span> <span
class="pre">Configuration</span></code> menu.</p>
+<p>This example shows channels 0 and 4 connected to GND and channel 3 to 3.3 V
(all readings
+show in units of mV):</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>nsh> adc -n 1
+adc_main: g_adcstate.count: 1
+adc_main: Hardware initialized. Opening the ADC device: /dev/adc0
+Sample:
+1: channel: 0 value: 142
+2: channel: 3 value: 3441
+3: channel: 4 value: 142
+</pre></div>
+</div>
+</section>
<section id="audio">
<h3>audio<a class="headerlink" href="#audio" title="Permalink to this
heading"></a></h3>
<p>This configuration uses the I2S0 peripheral and an externally connected
audio
diff --git
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-ethernet-kit/index.html
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-ethernet-kit/index.html
index bf4e4ca19..1c87e5654 100644
---
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-ethernet-kit/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-ethernet-kit/index.html
@@ -155,6 +155,7 @@
<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#analog-to-digital-converter-adc">Analog-to-digital
converter (ADC)</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-lyrat/index.html
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-lyrat/index.html
index 97bc4b4bf..a008c2e95 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
@@ -155,6 +155,7 @@
<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#analog-to-digital-converter-adc">Analog-to-digital
converter (ADC)</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-pico-kit/index.html
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-pico-kit/index.html
index ca6aaad42..2d78e94cd 100644
---
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-pico-kit/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-pico-kit/index.html
@@ -155,6 +155,7 @@
<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#analog-to-digital-converter-adc">Analog-to-digital
converter (ADC)</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 2c78519c9..ccda95b64 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
@@ -155,6 +155,7 @@
<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#analog-to-digital-converter-adc">Analog-to-digital
converter (ADC)</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 c00d36e75..cb73de819 100644
--- a/content/docs/latest/platforms/xtensa/esp32/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32/index.html
@@ -177,6 +177,7 @@
<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="#analog-to-digital-converter-adc">Analog-to-digital converter
(ADC)</a></li>
<li class="toctree-l4"><a class="reference internal" href="#using-qemu">Using
QEMU</a><ul>
<li class="toctree-l5"><a class="reference internal"
href="#qemu-networking">QEMU Networking</a></li>
</ul>
@@ -478,9 +479,18 @@ for configuring the JTAG adapter of the <a
class="reference internal" href="boar
<a class="reference internal"
href="boards/esp32-wrover-kit/index.html#esp-wrover-kit"><span class="std
std-ref">ESP-WROVER-KIT</span></a> boards and other FT2232-based JTAG
adapters.</p>
</div>
<p>OpenOCD can then be used:</p>
-<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwthread; set
ESP_FLASH_SIZE 0' -f board/esp32-wrover-kit-1.8v.cfg
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -s <tcl_scripts_path> -c
'set ESP_RTOS hwthread' -f board/esp32-wrover-kit-3.3v.cfg -c
'init; reset halt; esp appimage_offset 0x1000'
</pre></div>
</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span
class="pre">appimage_offset</span></code> should be set to <code
class="docutils literal notranslate"><span class="pre">0x1000</span></code>
when <code class="docutils literal notranslate"><span class="pre">Simple</span>
<span class="pre">Boot</span></code> is used. For MCUboot, this value should be
set to
+<code class="docutils literal notranslate"><span
class="pre">CONFIG_ESP32_OTA_PRIMARY_SLOT_OFFSET</span></code> value (<code
class="docutils literal notranslate"><span class="pre">0x10000</span></code> by
default).</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-s</span>
<span class="pre"><tcl_scripts_path></span></code> defines the path to
the OpenOCD scripts. Usually set to <cite>tcl</cite> if running openocd from
its source directory.
+It can be omitted if <cite>openocd-esp32</cite> were installed in the system
with <cite>sudo make install</cite>.</p></li>
+</ul>
+</div>
<p>Once OpenOCD is running, you can use GDB to connect to it and debug your
application:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>xtensa-esp32-elf-gdb -x gdbinit nuttx
</pre></div>
@@ -632,8 +642,8 @@ functions that were being executed when the crash
occurred.</p>
</thead>
<tbody>
<tr class="row-even"><td><p>ADC</p></td>
-<td><p>No</p></td>
-<td></td>
+<td><p>Yes</p></td>
+<td><p>Oneshot</p></td>
</tr>
<tr class="row-odd"><td><p>AES</p></td>
<td><p>Yes</p></td>
@@ -1248,6 +1258,76 @@ reception configured at the same time on the same
peripheral.</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>
</section>
+<section id="analog-to-digital-converter-adc">
+<h2>Analog-to-digital converter (ADC)<a class="headerlink"
href="#analog-to-digital-converter-adc" title="Permalink to this
heading"></a></h2>
+<p>Two ADC units are available for the ESP32:</p>
+<ul class="simple">
+<li><p>ADC1 with 8 channels</p></li>
+<li><p>ADC2 with 10 channels</p></li>
+</ul>
+<p>Those units are independent and can be used simultaneously. During bringup,
GPIOs for selected channels are
+configured automatically to be used as ADC inputs.
+If available, ADC calibration is automatically applied (see
+<a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/v5.1/esp32/api-reference/peripherals/adc_calibration.html">this
page</a> for more details).
+Otherwise, a simple conversion is applied based on the attenuation and
resolution.</p>
+<p>Each ADC unit is accessible using the ADC character driver, which returns
data for the enabled channels.</p>
+<p>The ADC unit can be enabled in the menu <span class="menuselection">System
Type ‣ ESP32 Peripheral Selection ‣ Analog-to-digital converter
(ADC)</span>.</p>
+<p>Then, it can be customized in the menu <span class="menuselection">System
Type ‣ ADC Configuration</span>, which includes operating mode, gain and
channels.</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Channel</p></th>
+<th class="head"><p>ADC1 GPIO</p></th>
+<th class="head"><p>ADC2 GPIO</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>0</p></td>
+<td><p>36</p></td>
+<td><p>4</p></td>
+</tr>
+<tr class="row-odd"><td><p>1</p></td>
+<td><p>37</p></td>
+<td><p>0</p></td>
+</tr>
+<tr class="row-even"><td><p>2</p></td>
+<td><p>38</p></td>
+<td><p>2</p></td>
+</tr>
+<tr class="row-odd"><td><p>3</p></td>
+<td><p>39</p></td>
+<td><p>15</p></td>
+</tr>
+<tr class="row-even"><td><p>4</p></td>
+<td><p>32</p></td>
+<td><p>13</p></td>
+</tr>
+<tr class="row-odd"><td><p>5</p></td>
+<td><p>33</p></td>
+<td><p>12</p></td>
+</tr>
+<tr class="row-even"><td><p>6</p></td>
+<td><p>34</p></td>
+<td><p>14</p></td>
+</tr>
+<tr class="row-odd"><td><p>7</p></td>
+<td><p>35</p></td>
+<td><p>27</p></td>
+</tr>
+<tr class="row-even"><td><p>8</p></td>
+<td></td>
+<td><p>25</p></td>
+</tr>
+<tr class="row-odd"><td><p>9</p></td>
+<td></td>
+<td><p>26</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>ADC2 channels 1, 2 and 3 are used as strapping pins and can present
undefined behavior.</p>
+</div>
+</section>
<section id="using-qemu">
<h2>Using QEMU<a class="headerlink" href="#using-qemu" title="Permalink to
this heading"></a></h2>
<p>Get or build QEMU from <a class="reference external"
href="https://github.com/espressif/qemu/wiki">here</a>.</p>
diff --git
a/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-kaluga-1/index.html
b/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-kaluga-1/index.html
index 7df84ce69..42b5679d8 100644
---
a/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-kaluga-1/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-kaluga-1/index.html
@@ -152,6 +152,7 @@
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#bit-timers">64-bit Timers</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#watchdog-timers">Watchdog Timers</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#analog-to-digital-converter-adc">Analog-to-digital
converter (ADC)</a></li>
<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#secure-boot-and-flash-encryption">Secure Boot and Flash
Encryption</a></li>
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 ea1fb5c3e..bd8304f83 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
@@ -152,6 +152,7 @@
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#bit-timers">64-bit Timers</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#watchdog-timers">Watchdog Timers</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#analog-to-digital-converter-adc">Analog-to-digital
converter (ADC)</a></li>
<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#secure-boot-and-flash-encryption">Secure Boot and Flash
Encryption</a></li>
@@ -310,6 +311,25 @@ $ make flash ESPTOOL_PORT=/dev/ttyUSB0 -j
</div>
<p>Where <config_name> is the name of board configuration you want to
use, i.e.: nsh, buttons, wifi…
Then use a serial console terminal like <code class="docutils literal
notranslate"><span class="pre">picocom</span></code> configured to 115200
8N1.</p>
+<section id="adc">
+<h3>adc<a class="headerlink" href="#adc" title="Permalink to this
heading"></a></h3>
+<p>The <code class="docutils literal notranslate"><span
class="pre">adc</span></code> configuration enables the ADC driver and the ADC
example application.
+ADC Unit 1 is registered to <code class="docutils literal notranslate"><span
class="pre">/dev/adc0</span></code> with channels 0, 1, 2 and 3 enabled by
default.
+Currently, the ADC operates in oneshot mode.</p>
+<p>More ADC channels can be enabled or disabled in <code class="docutils
literal notranslate"><span class="pre">ADC</span> <span
class="pre">Configuration</span></code> menu.</p>
+<p>This example shows channels 0 and 1 connected to 3.3 V and channels 2 and 3
to GND (all readings
+show in units of mV):</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>nsh> adc -n 1
+adc_main: g_adcstate.count: 1
+adc_main: Hardware initialized. Opening the ADC device: /dev/adc0
+Sample:
+1: channel: 0 value: 3061
+2: channel: 1 value: 3061
+3: channel: 2 value: 106
+4: channel: 3 value: 99
+</pre></div>
+</div>
+</section>
<section id="audio">
<h3>audio<a class="headerlink" href="#audio" title="Permalink to this
heading"></a></h3>
<p>This configuration uses the I2S peripheral and an externally connected audio
diff --git a/content/docs/latest/platforms/xtensa/esp32s2/index.html
b/content/docs/latest/platforms/xtensa/esp32s2/index.html
index cc0a0ae35..6f987c371 100644
--- a/content/docs/latest/platforms/xtensa/esp32s2/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32s2/index.html
@@ -174,6 +174,7 @@
<li class="toctree-l4"><a class="reference internal" href="#bit-timers">64-bit
Timers</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#watchdog-timers">Watchdog Timers</a></li>
<li class="toctree-l4"><a class="reference internal" href="#i2s">I2S</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="#analog-to-digital-converter-adc">Analog-to-digital converter
(ADC)</a></li>
<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="#secure-boot-and-flash-encryption">Secure Boot and Flash
Encryption</a><ul>
@@ -458,9 +459,18 @@ for configuring the JTAG adapter of the <a
class="reference internal" href="boar
and other FT2232-based JTAG adapters.</p>
</div>
<p>OpenOCD can then be used:</p>
-<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwthread; set
ESP_FLASH_SIZE 0' -f board/esp32s2-kaluga-1.cfg
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -s <tcl_scripts_path> -c
'set ESP_RTOS hwthread' -f board/esp32s2-kaluga-1.cfg -c 'init;
reset halt; esp appimage_offset 0x1000'
</pre></div>
</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span
class="pre">appimage_offset</span></code> should be set to <code
class="docutils literal notranslate"><span class="pre">0x1000</span></code>
when <code class="docutils literal notranslate"><span class="pre">Simple</span>
<span class="pre">Boot</span></code> is used. For MCUboot, this value should be
set to
+<code class="docutils literal notranslate"><span
class="pre">CONFIG_ESPRESSIF_OTA_PRIMARY_SLOT_OFFSET</span></code> value (<code
class="docutils literal notranslate"><span class="pre">0x10000</span></code> by
default).</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-s</span>
<span class="pre"><tcl_scripts_path></span></code> defines the path to
the OpenOCD scripts. Usually set to <cite>tcl</cite> if running openocd from
its source directory.
+It can be omitted if <cite>openocd-esp32</cite> were installed in the system
with <cite>sudo make install</cite>.</p></li>
+</ul>
+</div>
<p>Once OpenOCD is running, you can use GDB to connect to it and debug your
application:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>xtensa-esp32s2-elf-gdb -x gdbinit nuttx
</pre></div>
@@ -609,8 +619,8 @@ functions that were being executed when the crash
occurred.</p>
</thead>
<tbody>
<tr class="row-even"><td><p>ADC</p></td>
-<td><p>No</p></td>
-<td></td>
+<td><p>Yes</p></td>
+<td><p>Oneshot</p></td>
</tr>
<tr class="row-odd"><td><p>AES</p></td>
<td><p>No</p></td>
@@ -1117,6 +1127,72 @@ 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/esp32s2-saola-1/index.html"><span
class="doc">ESP32-S2-Saola-1</span></a>.</p>
</section>
+<section id="analog-to-digital-converter-adc">
+<h2>Analog-to-digital converter (ADC)<a class="headerlink"
href="#analog-to-digital-converter-adc" title="Permalink to this
heading"></a></h2>
+<p>Two ADC units are available for the ESP32-S2, each with 10 channels.</p>
+<p>Those units are independent and can be used simultaneously. During bringup,
GPIOs for selected channels are
+configured automatically to be used as ADC inputs.
+If available, ADC calibration is automatically applied (see
+<a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/v5.1/esp32s2/api-reference/peripherals/adc_calibration.html">this
page</a> for more details).
+Otherwise, a simple conversion is applied based on the attenuation and
resolution.</p>
+<p>Each ADC unit is accessible using the ADC character driver, which returns
data for the enabled channels.</p>
+<p>The ADC unit can be enabled in the menu <span class="menuselection">System
Type ‣ ESP32-S2 Peripheral Selection ‣ Analog-to-digital converter
(ADC)</span>.</p>
+<p>Then, it can be customized in the menu <span class="menuselection">System
Type ‣ ADC Configuration</span>, which includes operating mode, gain and
channels.</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Channel</p></th>
+<th class="head"><p>ADC1 GPIO</p></th>
+<th class="head"><p>ADC2 GPIO</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>0</p></td>
+<td><p>1</p></td>
+<td><p>11</p></td>
+</tr>
+<tr class="row-odd"><td><p>1</p></td>
+<td><p>2</p></td>
+<td><p>12</p></td>
+</tr>
+<tr class="row-even"><td><p>2</p></td>
+<td><p>3</p></td>
+<td><p>13</p></td>
+</tr>
+<tr class="row-odd"><td><p>3</p></td>
+<td><p>4</p></td>
+<td><p>14</p></td>
+</tr>
+<tr class="row-even"><td><p>4</p></td>
+<td><p>5</p></td>
+<td><p>15</p></td>
+</tr>
+<tr class="row-odd"><td><p>5</p></td>
+<td><p>6</p></td>
+<td><p>16</p></td>
+</tr>
+<tr class="row-even"><td><p>6</p></td>
+<td><p>7</p></td>
+<td><p>17</p></td>
+</tr>
+<tr class="row-odd"><td><p>7</p></td>
+<td><p>8</p></td>
+<td><p>18</p></td>
+</tr>
+<tr class="row-even"><td><p>8</p></td>
+<td><p>9</p></td>
+<td><p>19</p></td>
+</tr>
+<tr class="row-odd"><td><p>9</p></td>
+<td><p>10</p></td>
+<td><p>20</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Minimum and maximum measurable voltages may saturate around 100 mV and 3000
mV, respectively.</p>
+</div>
+</section>
<section id="wi-fi">
<h2>Wi-Fi<a class="headerlink" href="#wi-fi" title="Permalink to this
heading"></a></h2>
<div class="admonition tip">
diff --git
a/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.html
b/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.html
index d8e99a5a7..df79d52a0 100644
---
a/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.html
@@ -290,6 +290,25 @@ $ make flash ESPTOOL_PORT=/dev/ttyUSB0 -j
</div>
<p>Where <config_name> is the name of board configuration you want to
use, i.e.: nsh, buttons, wifi…
Then use a serial console terminal like <code class="docutils literal
notranslate"><span class="pre">picocom</span></code> configured to 115200
8N1.</p>
+<section id="adc">
+<h3>adc<a class="headerlink" href="#adc" title="Permalink to this
heading"></a></h3>
+<p>The <code class="docutils literal notranslate"><span
class="pre">adc</span></code> configuration enables the ADC driver and the ADC
example application.
+ADC Unit 1 is registered to <code class="docutils literal notranslate"><span
class="pre">/dev/adc0</span></code> with channels 0, 1, 2 and 3 enabled by
default.
+Currently, the ADC operates in oneshot mode.</p>
+<p>More ADC channels can be enabled or disabled in <code class="docutils
literal notranslate"><span class="pre">ADC</span> <span
class="pre">Configuration</span></code> menu.</p>
+<p>This example shows channels 0 and 1 connected to 3.3 V and channels 2 and 3
to GND (all readings
+show in units of mV):</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>nsh> adc -n 1
+adc_main: g_adcstate.count: 1
+adc_main: Hardware initialized. Opening the ADC device: /dev/adc0
+Sample:
+1: channel: 0 value: 3061
+2: channel: 1 value: 3061
+3: channel: 2 value: 106
+4: channel: 3 value: 99
+</pre></div>
+</div>
+</section>
<section id="audio">
<h3>audio<a class="headerlink" href="#audio" title="Permalink to this
heading"></a></h3>
<p>This configuration uses the I2S0 peripheral and an externally connected
audio
diff --git a/content/docs/latest/platforms/xtensa/esp32s3/index.html
b/content/docs/latest/platforms/xtensa/esp32s3/index.html
index df7fb5574..fe816e0cb 100644
--- a/content/docs/latest/platforms/xtensa/esp32s3/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32s3/index.html
@@ -167,6 +167,7 @@
</ul>
</li>
<li class="toctree-l4"><a class="reference internal"
href="#peripheral-support">Peripheral Support</a><ul>
+<li class="toctree-l5"><a class="reference internal"
href="#analog-to-digital-converter-adc">Analog-to-digital converter
(ADC)</a></li>
<li class="toctree-l5"><a class="reference internal"
href="#wi-fi">Wi-Fi</a></li>
<li class="toctree-l5"><a class="reference internal"
href="#wi-fi-softap">Wi-Fi SoftAP</a></li>
<li class="toctree-l5"><a class="reference internal"
href="#psram">PSRAM</a></li>
@@ -437,9 +438,18 @@ This is the case for the <a class="reference internal"
href="boards/esp32s3-devk
for more information.</p>
</div>
<p>OpenOCD can then be used:</p>
-<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwthread; set
ESP_FLASH_SIZE 0' -f board/esp32s3-builtin.cfg
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -s <tcl_scripts_path> -c
'set ESP_RTOS hwthread' -f board/esp32s3-builtin.cfg -c 'init;
reset halt; esp appimage_offset 0x0'
</pre></div>
</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span
class="pre">appimage_offset</span></code> should be set to <code
class="docutils literal notranslate"><span class="pre">0x0</span></code> when
<code class="docutils literal notranslate"><span class="pre">Simple</span>
<span class="pre">Boot</span></code> is used. For MCUboot, this value should be
set to
+<code class="docutils literal notranslate"><span
class="pre">CONFIG_ESP32S3_OTA_PRIMARY_SLOT_OFFSET</span></code> value (<code
class="docutils literal notranslate"><span class="pre">0x10000</span></code> by
default).</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-s</span>
<span class="pre"><tcl_scripts_path></span></code> defines the path to
the OpenOCD scripts. Usually set to <cite>tcl</cite> if running openocd from
its source directory.
+It can be omitted if <cite>openocd-esp32</cite> were installed in the system
with <cite>sudo make install</cite>.</p></li>
+</ul>
+</div>
<p>Once OpenOCD is running, you can use GDB to connect to it and debug your
application:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>xtensa-esp32s3-elf-gdb -x gdbinit nuttx
</pre></div>
@@ -623,7 +633,7 @@ $ make ESPTOOL_BINDIR=.
<tbody>
<tr class="row-even"><td><p>ADC</p></td>
<td><p>Yes</p></td>
-<td></td>
+<td><p>Oneshot</p></td>
</tr>
<tr class="row-odd"><td><p>AES</p></td>
<td><p>Yes</p></td>
@@ -747,8 +757,74 @@ $ make ESPTOOL_BINDIR=.
</tr>
</tbody>
</table>
+<section id="analog-to-digital-converter-adc">
+<span id="esp32s3-peripheral-support"></span><h3>Analog-to-digital converter
(ADC)<a class="headerlink" href="#analog-to-digital-converter-adc"
title="Permalink to this heading"></a></h3>
+<p>Two ADC units are available for the ESP32-S3, each with 10 channels.</p>
+<p>Those units are independent and can be used simultaneously. During bringup,
GPIOs for selected channels are
+configured automatically to be used as ADC inputs.
+If available, ADC calibration is automatically applied (see
+<a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/v5.1/esp32s3/api-reference/peripherals/adc_calibration.html">this
page</a> for more details).
+Otherwise, a simple conversion is applied based on the attenuation and
resolution.</p>
+<p>Each ADC unit is accessible using the ADC character driver, which returns
data for the enabled channels.</p>
+<p>The ADC unit can be enabled in the menu <span class="menuselection">System
Type ‣ ESP32-S3 Peripheral Selection ‣ Analog-to-digital converter
(ADC)</span>.</p>
+<p>Then, it can be customized in the menu <span class="menuselection">System
Type ‣ ADC Configuration</span>, which includes operating mode, gain and
channels.</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Channel</p></th>
+<th class="head"><p>ADC1 GPIO</p></th>
+<th class="head"><p>ADC2 GPIO</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>0</p></td>
+<td><p>1</p></td>
+<td><p>11</p></td>
+</tr>
+<tr class="row-odd"><td><p>1</p></td>
+<td><p>2</p></td>
+<td><p>12</p></td>
+</tr>
+<tr class="row-even"><td><p>2</p></td>
+<td><p>3</p></td>
+<td><p>13</p></td>
+</tr>
+<tr class="row-odd"><td><p>3</p></td>
+<td><p>4</p></td>
+<td><p>14</p></td>
+</tr>
+<tr class="row-even"><td><p>4</p></td>
+<td><p>5</p></td>
+<td><p>15</p></td>
+</tr>
+<tr class="row-odd"><td><p>5</p></td>
+<td><p>6</p></td>
+<td><p>16</p></td>
+</tr>
+<tr class="row-even"><td><p>6</p></td>
+<td><p>7</p></td>
+<td><p>17</p></td>
+</tr>
+<tr class="row-odd"><td><p>7</p></td>
+<td><p>8</p></td>
+<td><p>18</p></td>
+</tr>
+<tr class="row-even"><td><p>8</p></td>
+<td><p>9</p></td>
+<td><p>19</p></td>
+</tr>
+<tr class="row-odd"><td><p>9</p></td>
+<td><p>10</p></td>
+<td><p>20</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Minimum and maximum measurable voltages may saturate around 100 mV and 3000
mV, respectively.</p>
+</div>
+</section>
<section id="wi-fi">
-<span id="esp32s3-peripheral-support"></span><h3>Wi-Fi<a class="headerlink"
href="#wi-fi" title="Permalink to this heading"></a></h3>
+<h3>Wi-Fi<a class="headerlink" href="#wi-fi" title="Permalink to this
heading"></a></h3>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>Boards usually expose a <code class="docutils literal notranslate"><span
class="pre">wifi</span></code> defconfig which enables Wi-Fi. On ESP32-S3,
diff --git a/content/docs/latest/searchindex.js
b/content/docs/latest/searchindex.js
index 68388bd6b..7eb514c4a 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/cyclictest/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/b [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/cyclictest/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/b [...]
\ No newline at end of file
diff --git a/content/feed.xml b/content/feed.xml
index bfeb7be6c..f7365b041 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>Thu, 17 Apr 2025 00:30:06 +0000</pubDate>
- <lastBuildDate>Thu, 17 Apr 2025 00:30:06 +0000</lastBuildDate>
+ <pubDate>Fri, 18 Apr 2025 00:30:11 +0000</pubDate>
+ <lastBuildDate>Fri, 18 Apr 2025 00:30:11 +0000</lastBuildDate>
<generator>Jekyll v4.3.2</generator>
<item>