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 <alin.jerpe...@sony.com> 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>