This is an automated email from the ASF dual-hosted git repository.
github-actions[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 49654a0592 Publishing web: f0482e9c189ff02e151b650878e44a5e0108a468
docs: 6f0da60bd798fe65ad9e4a0ec6339abc045d77e9
49654a0592 is described below
commit 49654a0592eca402b45f0c1573480839984a8a04
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Sat Aug 1 00:48:56 2026 +0000
Publishing web: f0482e9c189ff02e151b650878e44a5e0108a468 docs:
6f0da60bd798fe65ad9e4a0ec6339abc045d77e9
---
content/docs/10.0.0/index.html | 2 +-
content/docs/10.0.0/searchindex.js | 2 +-
content/docs/10.0.1/index.html | 2 +-
content/docs/10.0.1/searchindex.js | 2 +-
content/docs/10.1.0/index.html | 2 +-
content/docs/10.1.0/searchindex.js | 2 +-
content/docs/10.2.0/index.html | 2 +-
content/docs/10.2.0/searchindex.js | 2 +-
content/docs/10.3.0/index.html | 2 +-
content/docs/10.3.0/searchindex.js | 2 +-
content/docs/11.0.0/index.html | 2 +-
content/docs/11.0.0/searchindex.js | 2 +-
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.10.0/index.html | 2 +-
content/docs/12.10.0/searchindex.js | 2 +-
content/docs/12.11.0/guides/fully_linked_elf.html | 2 +-
.../docs/12.11.0/guides/partially_linked_elf.html | 2 +-
content/docs/12.11.0/index.html | 2 +-
content/docs/12.11.0/searchindex.js | 2 +-
content/docs/12.12.0/guides/fully_linked_elf.html | 2 +-
.../docs/12.12.0/guides/partially_linked_elf.html | 2 +-
content/docs/12.12.0/index.html | 2 +-
content/docs/12.12.0/searchindex.js | 2 +-
content/docs/12.13.0/guides/fully_linked_elf.html | 2 +-
.../docs/12.13.0/guides/partially_linked_elf.html | 2 +-
content/docs/12.13.0/index.html | 2 +-
.../platforms/arm/goldfish/goldfish_timer.html | 13 +-
content/docs/12.13.0/searchindex.js | 2 +-
content/docs/12.2.0/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 +-
content/docs/13.0.0/guides/fully_linked_elf.html | 2 +-
.../docs/13.0.0/guides/partially_linked_elf.html | 2 +-
content/docs/13.0.0/index.html | 2 +-
content/docs/13.0.0/searchindex.js | 2 +-
.../character/input/keypad-keyboard.rst.txt | 153 +++++++++++++++++++++
.../arm/rtl8721dx/boards/pke8721daf/index.rst.txt | 2 +-
.../arm/rtl8721f/boards/rtl8721f_evb/index.rst.txt | 18 +++
.../components/drivers/character/input/index.html | 12 +-
.../drivers/character/input/keypad-keyboard.html | 152 ++++++++++++++++++++
content/docs/latest/guides/fully_linked_elf.html | 2 +-
.../docs/latest/guides/partially_linked_elf.html | 2 +-
content/docs/latest/index.html | 2 +-
content/docs/latest/objects.inv | Bin 220409 -> 220603 bytes
.../arm/rtl8721dx/boards/pke8721daf/index.html | 2 +-
.../arm/rtl8721f/boards/rtl8721f_evb/index.html | 17 +++
content/docs/latest/searchindex.js | 2 +-
content/feed.xml | 4 +-
68 files changed, 414 insertions(+), 75 deletions(-)
diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index 462eea22b7..e579b88cb6 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: 31 July 26 at 00:32</p>
+<p>Last Updated: 01 August 26 at 00:31</p>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
diff --git a/content/docs/10.0.0/searchindex.js
b/content/docs/10.0.0/searchindex.js
index cdefd1453d..e8f5f81e4b 100644
--- a/content/docs/10.0.0/searchindex.js
+++ b/content/docs/10.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen
[...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen
[...]
\ No newline at end of file
diff --git a/content/docs/10.0.1/index.html b/content/docs/10.0.1/index.html
index ffa5589e3d..041ed33f20 100644
--- a/content/docs/10.0.1/index.html
+++ b/content/docs/10.0.1/index.html
@@ -253,7 +253,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: 31 July 26 at 00:32</p>
+<p>Last Updated: 01 August 26 at 00:31</p>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
diff --git a/content/docs/10.0.1/searchindex.js
b/content/docs/10.0.1/searchindex.js
index cdefd1453d..e8f5f81e4b 100644
--- a/content/docs/10.0.1/searchindex.js
+++ b/content/docs/10.0.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen
[...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen
[...]
\ No newline at end of file
diff --git a/content/docs/10.1.0/index.html b/content/docs/10.1.0/index.html
index 84f43eba7a..8de36134a4 100644
--- a/content/docs/10.1.0/index.html
+++ b/content/docs/10.1.0/index.html
@@ -253,7 +253,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: 31 July 26 at 00:33</p>
+<p>Last Updated: 01 August 26 at 00:32</p>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
diff --git a/content/docs/10.1.0/searchindex.js
b/content/docs/10.1.0/searchindex.js
index fb8aa0ba19..a47482592d 100644
--- a/content/docs/10.1.0/searchindex.js
+++ b/content/docs/10.1.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character
[...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character
[...]
\ No newline at end of file
diff --git a/content/docs/10.2.0/index.html b/content/docs/10.2.0/index.html
index b07080a53f..4bd71b77aa 100644
--- a/content/docs/10.2.0/index.html
+++ b/content/docs/10.2.0/index.html
@@ -254,7 +254,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: 31 July 26 at 00:33</p>
+<p>Last Updated: 01 August 26 at 00:32</p>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
diff --git a/content/docs/10.2.0/searchindex.js
b/content/docs/10.2.0/searchindex.js
index bd92d5cc84..08e688bee3 100644
--- a/content/docs/10.2.0/searchindex.js
+++ b/content/docs/10.2.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character
[...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character
[...]
\ No newline at end of file
diff --git a/content/docs/10.3.0/index.html b/content/docs/10.3.0/index.html
index b07080a53f..4bd71b77aa 100644
--- a/content/docs/10.3.0/index.html
+++ b/content/docs/10.3.0/index.html
@@ -254,7 +254,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: 31 July 26 at 00:33</p>
+<p>Last Updated: 01 August 26 at 00:32</p>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
diff --git a/content/docs/10.3.0/searchindex.js
b/content/docs/10.3.0/searchindex.js
index d0ba071f41..62c138a535 100644
--- a/content/docs/10.3.0/searchindex.js
+++ b/content/docs/10.3.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character
[...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character
[...]
\ No newline at end of file
diff --git a/content/docs/11.0.0/index.html b/content/docs/11.0.0/index.html
index b07080a53f..4bd71b77aa 100644
--- a/content/docs/11.0.0/index.html
+++ b/content/docs/11.0.0/index.html
@@ -254,7 +254,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: 31 July 26 at 00:33</p>
+<p>Last Updated: 01 August 26 at 00:32</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/searchindex.js
b/content/docs/11.0.0/searchindex.js
index 8fa21b90b3..d36c0d5037 100644
--- a/content/docs/11.0.0/searchindex.js
+++ b/content/docs/11.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character
[...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character
[...]
\ No newline at end of file
diff --git a/content/docs/12.0.0/index.html b/content/docs/12.0.0/index.html
index 21f441184e..432779821b 100644
--- a/content/docs/12.0.0/index.html
+++ b/content/docs/12.0.0/index.html
@@ -179,7 +179,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: 31 July 26 at 00:33</p>
+<p>Last Updated: 01 August 26 at 00:32</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 1cbbb31d1e..8efac474e9 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 78412e1ea4..67b54155d5 100644
--- a/content/docs/12.1.0/index.html
+++ b/content/docs/12.1.0/index.html
@@ -179,7 +179,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: 31 July 26 at 00:34</p>
+<p>Last Updated: 01 August 26 at 00:32</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 c9dbfbc91b..63ac667ea9 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.10.0/index.html b/content/docs/12.10.0/index.html
index cfa62ae6ef..b462e6aa32 100644
--- a/content/docs/12.10.0/index.html
+++ b/content/docs/12.10.0/index.html
@@ -191,7 +191,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: 31 July 26 at 00:45</p>
+<p>Last Updated: 01 August 26 at 00:40</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.10.0/searchindex.js
b/content/docs/12.10.0/searchindex.js
index fe42a57ad9..5cad14a897 100644
--- a/content/docs/12.10.0/searchindex.js
+++ b/content/docs/12.10.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr",
"_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64",
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560",
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s",
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3",
"_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example",
"_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-nrf52",
"_tags/ [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr",
"_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64",
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560",
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s",
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3",
"_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example",
"_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-nrf52",
"_tags/ [...]
\ No newline at end of file
diff --git a/content/docs/12.11.0/guides/fully_linked_elf.html
b/content/docs/12.11.0/guides/fully_linked_elf.html
index 1343fddbbe..7f8637379d 100644
--- a/content/docs/12.11.0/guides/fully_linked_elf.html
+++ b/content/docs/12.11.0/guides/fully_linked_elf.html
@@ -483,7 +483,7 @@ NuttX package: <code class="docutils literal
notranslate"><span class="pre">nutt
<div
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version
admonition">
<p class="admonition-title">Here is an alternative minimal (and possibly
outdated) version</p>
<div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input"
id="cff94d40-6d71-455a-a4fa-4f2774560651"
name="cff94d40-6d71-455a-a4fa-4f2774560651" type="checkbox"><label
class="sphinx_collapse__label" for="cff94d40-6d71-455a-a4fa-4f2774560651"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="ef6de1ca-7917-46f2-a5cb-888c39b84c57"
name="ef6de1ca-7917-46f2-a5cb-888c39b84c57" type="checkbox"><label
class="sphinx_collapse__label" for="ef6de1ca-7917-46f2-a5cb-888c39b84c57"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
<div class="highlight-text notranslate"><div
class="highlight"><pre><span></span>SECTIONS
{
.text 0x00000000 :
diff --git a/content/docs/12.11.0/guides/partially_linked_elf.html
b/content/docs/12.11.0/guides/partially_linked_elf.html
index d32bb78fde..c0bf6ee45a 100644
--- a/content/docs/12.11.0/guides/partially_linked_elf.html
+++ b/content/docs/12.11.0/guides/partially_linked_elf.html
@@ -509,7 +509,7 @@ NuttX package: <code class="docutils literal
notranslate"><span class="pre">nutt
<div
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version
admonition">
<p class="admonition-title">Here is an alternative minimal (and possibly
outdated) version</p>
<div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input"
id="85f1e065-3755-4b80-9c94-c6e988bbe61c"
name="85f1e065-3755-4b80-9c94-c6e988bbe61c" type="checkbox"><label
class="sphinx_collapse__label" for="85f1e065-3755-4b80-9c94-c6e988bbe61c"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="f3d06b77-dce7-451b-8467-880ce517bb04"
name="f3d06b77-dce7-451b-8467-880ce517bb04" type="checkbox"><label
class="sphinx_collapse__label" for="f3d06b77-dce7-451b-8467-880ce517bb04"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
<div class="highlight-text notranslate"><div
class="highlight"><pre><span></span>SECTIONS
{
.text 0x00000000 :
diff --git a/content/docs/12.11.0/index.html b/content/docs/12.11.0/index.html
index 35a9636b2d..f6b7bfc084 100644
--- a/content/docs/12.11.0/index.html
+++ b/content/docs/12.11.0/index.html
@@ -193,7 +193,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: 31 July 26 at 00:47</p>
+<p>Last Updated: 01 August 26 at 00:42</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.11.0/searchindex.js
b/content/docs/12.11.0/searchindex.js
index 088b574170..bccbcda67a 100644
--- a/content/docs/12.11.0/searchindex.js
+++ b/content/docs/12.11.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr",
"_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64",
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560",
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s",
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3",
"_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example",
"_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-imx95",
"_tags/ [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr",
"_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64",
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560",
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s",
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3",
"_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example",
"_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-imx95",
"_tags/ [...]
\ No newline at end of file
diff --git a/content/docs/12.12.0/guides/fully_linked_elf.html
b/content/docs/12.12.0/guides/fully_linked_elf.html
index dfc59fda19..a8b33212e6 100644
--- a/content/docs/12.12.0/guides/fully_linked_elf.html
+++ b/content/docs/12.12.0/guides/fully_linked_elf.html
@@ -483,7 +483,7 @@ NuttX package: <code class="docutils literal
notranslate"><span class="pre">nutt
<div
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version
admonition">
<p class="admonition-title">Here is an alternative minimal (and possibly
outdated) version</p>
<div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input"
id="b806a793-3a0b-4f3a-8205-8264e1357cde"
name="b806a793-3a0b-4f3a-8205-8264e1357cde" type="checkbox"><label
class="sphinx_collapse__label" for="b806a793-3a0b-4f3a-8205-8264e1357cde"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="34e4f013-2f76-4d59-9568-de1132edc9bd"
name="34e4f013-2f76-4d59-9568-de1132edc9bd" type="checkbox"><label
class="sphinx_collapse__label" for="34e4f013-2f76-4d59-9568-de1132edc9bd"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
<div class="highlight-text notranslate"><div
class="highlight"><pre><span></span>SECTIONS
{
.text 0x00000000 :
diff --git a/content/docs/12.12.0/guides/partially_linked_elf.html
b/content/docs/12.12.0/guides/partially_linked_elf.html
index eb4dc358e9..9f4f2e6ef6 100644
--- a/content/docs/12.12.0/guides/partially_linked_elf.html
+++ b/content/docs/12.12.0/guides/partially_linked_elf.html
@@ -509,7 +509,7 @@ NuttX package: <code class="docutils literal
notranslate"><span class="pre">nutt
<div
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version
admonition">
<p class="admonition-title">Here is an alternative minimal (and possibly
outdated) version</p>
<div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input"
id="1fa525e6-cd60-4d4c-acd4-b46a9e4f292c"
name="1fa525e6-cd60-4d4c-acd4-b46a9e4f292c" type="checkbox"><label
class="sphinx_collapse__label" for="1fa525e6-cd60-4d4c-acd4-b46a9e4f292c"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="912c338e-99f1-4236-af94-ad34eb4ba705"
name="912c338e-99f1-4236-af94-ad34eb4ba705" type="checkbox"><label
class="sphinx_collapse__label" for="912c338e-99f1-4236-af94-ad34eb4ba705"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
<div class="highlight-text notranslate"><div
class="highlight"><pre><span></span>SECTIONS
{
.text 0x00000000 :
diff --git a/content/docs/12.12.0/index.html b/content/docs/12.12.0/index.html
index 1abfe4ab25..7eb0b7cb9c 100644
--- a/content/docs/12.12.0/index.html
+++ b/content/docs/12.12.0/index.html
@@ -193,7 +193,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: 31 July 26 at 00:49</p>
+<p>Last Updated: 01 August 26 at 00:43</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.12.0/searchindex.js
b/content/docs/12.12.0/searchindex.js
index d640025d8e..8883157ec9 100644
--- a/content/docs/12.12.0/searchindex.js
+++ b/content/docs/12.12.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr",
"_tags/arch-example", "_tags/arch-renesas", "_tags/arch-risc-v",
"_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64",
"_tags/chip-at32uc3", "_tags/chip-at90usb", "_tags/chip-atmega",
"_tags/chip-atmega128", "_tags/chip-atmega1284p", "_tags/chip-atmega2560",
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s",
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", "_tags/ch
[...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr",
"_tags/arch-example", "_tags/arch-renesas", "_tags/arch-risc-v",
"_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64",
"_tags/chip-at32uc3", "_tags/chip-at90usb", "_tags/chip-atmega",
"_tags/chip-atmega128", "_tags/chip-atmega1284p", "_tags/chip-atmega2560",
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s",
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", "_tags/ch
[...]
\ No newline at end of file
diff --git a/content/docs/12.13.0/guides/fully_linked_elf.html
b/content/docs/12.13.0/guides/fully_linked_elf.html
index ec40090205..d7fec09372 100644
--- a/content/docs/12.13.0/guides/fully_linked_elf.html
+++ b/content/docs/12.13.0/guides/fully_linked_elf.html
@@ -486,7 +486,7 @@ NuttX package: <code class="docutils literal
notranslate"><span class="pre">nutt
<div
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version
admonition">
<p class="admonition-title">Here is an alternative minimal (and possibly
outdated) version</p>
<div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input"
id="6ccd3c41-eed0-4b88-b02c-19c94b6f7806"
name="6ccd3c41-eed0-4b88-b02c-19c94b6f7806" type="checkbox"><label
class="sphinx_collapse__label" for="6ccd3c41-eed0-4b88-b02c-19c94b6f7806"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="3a00a3ef-67c1-4c67-b922-46555fa92f98"
name="3a00a3ef-67c1-4c67-b922-46555fa92f98" type="checkbox"><label
class="sphinx_collapse__label" for="3a00a3ef-67c1-4c67-b922-46555fa92f98"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
<div class="highlight-text notranslate"><div
class="highlight"><pre><span></span>SECTIONS
{
.text 0x00000000 :
diff --git a/content/docs/12.13.0/guides/partially_linked_elf.html
b/content/docs/12.13.0/guides/partially_linked_elf.html
index 3cf877ab64..9d58189713 100644
--- a/content/docs/12.13.0/guides/partially_linked_elf.html
+++ b/content/docs/12.13.0/guides/partially_linked_elf.html
@@ -512,7 +512,7 @@ NuttX package: <code class="docutils literal
notranslate"><span class="pre">nutt
<div
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version
admonition">
<p class="admonition-title">Here is an alternative minimal (and possibly
outdated) version</p>
<div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input"
id="8a831aae-4b39-40a5-a141-ebde0492c885"
name="8a831aae-4b39-40a5-a141-ebde0492c885" type="checkbox"><label
class="sphinx_collapse__label" for="8a831aae-4b39-40a5-a141-ebde0492c885"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="3d8bb925-2117-4d9d-af57-bbf97bc39b4d"
name="3d8bb925-2117-4d9d-af57-bbf97bc39b4d" type="checkbox"><label
class="sphinx_collapse__label" for="3d8bb925-2117-4d9d-af57-bbf97bc39b4d"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
<div class="highlight-text notranslate"><div
class="highlight"><pre><span></span>SECTIONS
{
.text 0x00000000 :
diff --git a/content/docs/12.13.0/index.html b/content/docs/12.13.0/index.html
index b104900614..baf0aed0fa 100644
--- a/content/docs/12.13.0/index.html
+++ b/content/docs/12.13.0/index.html
@@ -195,7 +195,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: 31 July 26 at 00:51</p>
+<p>Last Updated: 01 August 26 at 00:44</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.13.0/platforms/arm/goldfish/goldfish_timer.html
b/content/docs/12.13.0/platforms/arm/goldfish/goldfish_timer.html
index b1acb3f4c1..5c18808314 100644
--- a/content/docs/12.13.0/platforms/arm/goldfish/goldfish_timer.html
+++ b/content/docs/12.13.0/platforms/arm/goldfish/goldfish_timer.html
@@ -158,18 +158,7 @@
<li class="toctree-l4"><a class="reference internal"
href="#timer-interrupt">Timer Interrupt</a></li>
</ul>
</li>
-<li class="toctree-l3 current"><a class="reference internal"
href="index.html">GOLDFISH</a><ul class="current">
-<li class="toctree-l4 current"><a class="current reference internal"
href="#">GOLDFISH TIMER</a><ul>
-<li class="toctree-l5"><a class="reference internal"
href="#introduction">Introduction</a></li>
-<li class="toctree-l5"><a class="reference internal"
href="#timer-registers">Timer Registers</a></li>
-<li class="toctree-l5"><a class="reference internal" href="#timer-read">Timer
Read</a></li>
-<li class="toctree-l5"><a class="reference internal"
href="#timer-set-alarm">Timer Set Alarm</a></li>
-<li class="toctree-l5"><a class="reference internal"
href="#timer-interrupt">Timer Interrupt</a></li>
-</ul>
-</li>
-<li class="toctree-l4"><a class="reference internal"
href="index.html#supported-boards">Supported Boards</a></li>
-</ul>
-</li>
+<li class="toctree-l3"><a class="reference internal"
href="index.html">GOLDFISH</a></li>
<li class="toctree-l3"><a class="reference internal"
href="../imx1/index.html">NXP/Freescale i.MX1</a></li>
<li class="toctree-l3"><a class="reference internal"
href="../imx6/index.html">NXP/Freescale i.MX6</a></li>
<li class="toctree-l3"><a class="reference internal"
href="../imx9/index.html">NXP i.MX9</a></li>
diff --git a/content/docs/12.13.0/searchindex.js
b/content/docs/12.13.0/searchindex.js
index 52cb719600..8efe075bf6 100644
--- a/content/docs/12.13.0/searchindex.js
+++ b/content/docs/12.13.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm", "_tags/arch-arm64",
"_tags/arch-armv8m", "_tags/arch-avr", "_tags/arch-cm33", "_tags/arch-example",
"_tags/arch-mips", "_tags/arch-renesas", "_tags/arch-risc-v",
"_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64",
"_tags/chip-at32uc3", "_tags/chip-at90usb", "_tags/chip-atmega",
"_tags/chip-atmega128", "_tags/chip-atmega1284p", "_tags/chip-atmega2560",
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32-c3", "_ [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm", "_tags/arch-arm64",
"_tags/arch-armv8m", "_tags/arch-avr", "_tags/arch-cm33", "_tags/arch-example",
"_tags/arch-mips", "_tags/arch-renesas", "_tags/arch-risc-v",
"_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64",
"_tags/chip-at32uc3", "_tags/chip-at90usb", "_tags/chip-atmega",
"_tags/chip-atmega128", "_tags/chip-atmega1284p", "_tags/chip-atmega2560",
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32-c3", "_ [...]
\ 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 de99c08d3e..43114ba845 100644
--- a/content/docs/12.2.0/index.html
+++ b/content/docs/12.2.0/index.html
@@ -180,7 +180,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: 31 July 26 at 00:34</p>
+<p>Last Updated: 01 August 26 at 00:33</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/searchindex.js
b/content/docs/12.2.0/searchindex.js
index ce69205c4d..fa163d6dc3 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 de99c08d3e..43114ba845 100644
--- a/content/docs/12.2.1/index.html
+++ b/content/docs/12.2.1/index.html
@@ -180,7 +180,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: 31 July 26 at 00:34</p>
+<p>Last Updated: 01 August 26 at 00:33</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 7f6273226c..96be726333 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 0888cab2d6..59b3a527b1 100644
--- a/content/docs/12.3.0/index.html
+++ b/content/docs/12.3.0/index.html
@@ -180,7 +180,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: 31 July 26 at 00:35</p>
+<p>Last Updated: 01 August 26 at 00:33</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 cbd4c66a14..5433baf4a2 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 6479d0b0ef..9415213d5c 100644
--- a/content/docs/12.4.0/index.html
+++ b/content/docs/12.4.0/index.html
@@ -187,7 +187,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: 31 July 26 at 00:35</p>
+<p>Last Updated: 01 August 26 at 00:33</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 6e1b4fe537..54fdef9b8b 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 c80f7da301..e3ab342124 100644
--- a/content/docs/12.5.0/index.html
+++ b/content/docs/12.5.0/index.html
@@ -187,7 +187,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: 31 July 26 at 00:36</p>
+<p>Last Updated: 01 August 26 at 00:34</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 574c2f9a5a..714dd87666 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 218db18450..348c3c4614 100644
--- a/content/docs/12.5.1/index.html
+++ b/content/docs/12.5.1/index.html
@@ -187,7 +187,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: 31 July 26 at 00:37</p>
+<p>Last Updated: 01 August 26 at 00:35</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 5590b3bac8..354dfec2ec 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 ac212d58a9..f50594b53e 100644
--- a/content/docs/12.6.0/index.html
+++ b/content/docs/12.6.0/index.html
@@ -188,7 +188,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: 31 July 26 at 00:39</p>
+<p>Last Updated: 01 August 26 at 00:36</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 7750937b2b..26bd8b9ee9 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 62f6a20e46..92f0ad9970 100644
--- a/content/docs/12.7.0/index.html
+++ b/content/docs/12.7.0/index.html
@@ -187,7 +187,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: 31 July 26 at 00:40</p>
+<p>Last Updated: 01 August 26 at 00:37</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 0087a0903d..a5ccf5026d 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 afe4a93f06..2ad198bb4b 100644
--- a/content/docs/12.8.0/index.html
+++ b/content/docs/12.8.0/index.html
@@ -187,7 +187,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: 31 July 26 at 00:42</p>
+<p>Last Updated: 01 August 26 at 00:38</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 6a1eda770a..1667568e2e 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 15fcbe89bd..8cb090ca0f 100644
--- a/content/docs/12.9.0/index.html
+++ b/content/docs/12.9.0/index.html
@@ -187,7 +187,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: 31 July 26 at 00:43</p>
+<p>Last Updated: 01 August 26 at 00:39</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 7c60011fce..fccbf98f4e 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/13.0.0/guides/fully_linked_elf.html
b/content/docs/13.0.0/guides/fully_linked_elf.html
index fd0c82e218..05c1dc050f 100644
--- a/content/docs/13.0.0/guides/fully_linked_elf.html
+++ b/content/docs/13.0.0/guides/fully_linked_elf.html
@@ -487,7 +487,7 @@ NuttX package: <code class="docutils literal
notranslate"><span class="pre">nutt
<div
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version
admonition">
<p class="admonition-title">Here is an alternative minimal (and possibly
outdated) version</p>
<div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input"
id="c6081015-6d33-4559-b204-134a03768d30"
name="c6081015-6d33-4559-b204-134a03768d30" type="checkbox"><label
class="sphinx_collapse__label" for="c6081015-6d33-4559-b204-134a03768d30"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="be354de8-1438-4403-8a4c-2a0e250fc976"
name="be354de8-1438-4403-8a4c-2a0e250fc976" type="checkbox"><label
class="sphinx_collapse__label" for="be354de8-1438-4403-8a4c-2a0e250fc976"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
<div class="highlight-text notranslate"><div
class="highlight"><pre><span></span>SECTIONS
{
.text 0x00000000 :
diff --git a/content/docs/13.0.0/guides/partially_linked_elf.html
b/content/docs/13.0.0/guides/partially_linked_elf.html
index c6d651c2a9..76b3a44693 100644
--- a/content/docs/13.0.0/guides/partially_linked_elf.html
+++ b/content/docs/13.0.0/guides/partially_linked_elf.html
@@ -513,7 +513,7 @@ NuttX package: <code class="docutils literal
notranslate"><span class="pre">nutt
<div
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version
admonition">
<p class="admonition-title">Here is an alternative minimal (and possibly
outdated) version</p>
<div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input"
id="7bfccc2c-4c33-42ed-8927-a79f2f3c7e8d"
name="7bfccc2c-4c33-42ed-8927-a79f2f3c7e8d" type="checkbox"><label
class="sphinx_collapse__label" for="7bfccc2c-4c33-42ed-8927-a79f2f3c7e8d"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="0a642034-3623-438e-bcf5-b01fb99fb197"
name="0a642034-3623-438e-bcf5-b01fb99fb197" type="checkbox"><label
class="sphinx_collapse__label" for="0a642034-3623-438e-bcf5-b01fb99fb197"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
<div class="highlight-text notranslate"><div
class="highlight"><pre><span></span>SECTIONS
{
.text 0x00000000 :
diff --git a/content/docs/13.0.0/index.html b/content/docs/13.0.0/index.html
index df8c3c3c66..38f015b04b 100644
--- a/content/docs/13.0.0/index.html
+++ b/content/docs/13.0.0/index.html
@@ -195,7 +195,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: 31 July 26 at 00:52</p>
+<p>Last Updated: 01 August 26 at 00:45</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/13.0.0/searchindex.js
b/content/docs/13.0.0/searchindex.js
index 70a89b225a..edda2110f2 100644
--- a/content/docs/13.0.0/searchindex.js
+++ b/content/docs/13.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm", "_tags/arch-arm64",
"_tags/arch-armv8m", "_tags/arch-avr", "_tags/arch-cm33", "_tags/arch-example",
"_tags/arch-mips", "_tags/arch-renesas", "_tags/arch-risc-v",
"_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64",
"_tags/chip-am62x", "_tags/chip-am67", "_tags/chip-at32uc3",
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega128",
"_tags/chip-atmega1284p", "_tags/chip-atmega2560", "_tags/chip-bcm2711", "_tags
[...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm", "_tags/arch-arm64",
"_tags/arch-armv8m", "_tags/arch-avr", "_tags/arch-cm33", "_tags/arch-example",
"_tags/arch-mips", "_tags/arch-renesas", "_tags/arch-risc-v",
"_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64",
"_tags/chip-am62x", "_tags/chip-am67", "_tags/chip-at32uc3",
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega128",
"_tags/chip-atmega1284p", "_tags/chip-atmega2560", "_tags/chip-bcm2711", "_tags
[...]
\ No newline at end of file
diff --git
a/content/docs/latest/_sources/components/drivers/character/input/keypad-keyboard.rst.txt
b/content/docs/latest/_sources/components/drivers/character/input/keypad-keyboard.rst.txt
index 5e726b887d..4e6b899cb3 100644
---
a/content/docs/latest/_sources/components/drivers/character/input/keypad-keyboard.rst.txt
+++
b/content/docs/latest/_sources/components/drivers/character/input/keypad-keyboard.rst.txt
@@ -26,6 +26,159 @@ released is needed by applications as well. Thus, in
addition to
normal and special key press events, it may also be necessary to
encode normal and special key release events.
+Writing a Keyboard Driver
+=========================
+
+A keyboard driver registers with the keyboard upper half, which owns the
+character device and the buffering. This is the whole contract, and it is
+what makes a keyboard work with every application that reads one: the
+``kbd`` dump, the LVGL terminal, NXDoom, and anything written later.
+
+.. code-block:: c
+
+ #include <nuttx/input/keyboard.h>
+
+ struct mykbd_dev_s
+ {
+ struct keyboard_lowerhalf_s lower; /* Must be found by container_of */
+ ...
+ };
+
+ /* Register once, at board bring-up. The open, close and write callbacks
+ * of the lower half are all optional: a driver that has nothing to do
+ * when the device is opened can register with the structure zeroed.
+ */
+
+ keyboard_register(&priv->lower, "/dev/kbd0", CONFIG_MYKBD_NBUFFER);
+
+ /* Report each key as it changes state */
+
+ keyboard_event(&priv->lower, keycode, type);
+
+Do not store the driver state in ``lower.priv``. ``keyboard_register()``
+overwrites that field with the upper half's own state, so a lower half
+callback recovers the driver state with ``container_of()`` instead.
+
+Reporting the Right Event Type
+------------------------------
+
+``type`` has **four** values, and getting this wrong is a silent failure:
+the build is clean and the symptom is a key that does nothing.
+
+====================== ===== =========================================
+Type Value ``code`` carries
+====================== ===== =========================================
+``KEYBOARD_PRESS`` 0 The character that the key produces
+``KEYBOARD_RELEASE`` 1 The character of the key that came up
+``KEYBOARD_SPECPRESS`` 2 A value from ``enum kbd_keycode_e``
+``KEYBOARD_SPECREL`` 3 A value from ``enum kbd_keycode_e``
+====================== ===== =========================================
+
+A key that produces a character is reported with its character and the
+plain press and release types. A key that does not, such as an arrow, a
+function key or a modifier, is reported with a keycode and one of the SPEC
+types.
+
+The distinction matters because the two ranges overlap. ``KEYCODE_UP`` is
+7 and so is the ASCII bell, so an application that receives a 7 has no way
+to tell them apart other than by the event type. A driver that reports
+every key as ``KEYBOARD_PRESS`` will have its arrow keys silently dropped
+by any application that follows this contract.
+
+Choosing the Device Name
+------------------------
+
+Register as ``/dev/kbd0``. Applications look for a keyboard under that
+name, and a keyboard registered anywhere else is out of reach of all of
+them unless the user knows to point each one at it by hand.
+
+The USB HID driver is the exception: it names its devices ``/dev/kbda``
+onwards, because they come and go as keyboards are plugged in and more
+than one can be present at a time.
+
+Matrix Keyboards
+----------------
+
+A matrix keyboard does not need a driver of its own. ``INPUT_KMATRIX``
+scans the matrix, debounces it and reports the events, so a board provides
+a keymap and four GPIO callbacks and nothing more. See
+``include/nuttx/input/kmatrix.h``.
+
+Wrap a keymap entry in ``KMATRIX_SPECIAL()`` to declare that it holds a
+keycode rather than a character, so that the key is reported with a SPEC
+event type:
+
+.. code-block:: c
+
+ static const uint32_t g_keymap[] =
+ {
+ '1', '2', '3',
+ KMATRIX_SPECIAL(KEYCODE_UP), KMATRIX_SPECIAL(KEYCODE_DOWN), '0',
+ };
+
+Testing a New Keyboard
+----------------------
+
+``system/kbd`` prints every event that a keyboard reports, whatever the
+hardware behind it is, so it is the first thing to run on a new one::
+
+ nsh> kbd /dev/kbd0
+ kbd: reading /dev/kbd0, keyboard events
+ press code 97 'a'
+ release code 97 'a'
+ specpress keycode 7
+ specrel keycode 7
+
+An application can also be brought up against a keyboard that does not
+exist yet. ``UINPUT_KEYBOARD`` registers ``/dev/ukeyboard``, whose events
+are injected by writing ``struct keyboard_event_s`` to it, and ``kbd -i``
+injects whatever it reads from its own stdin.
+
+.. note::
+
+ The leading u is for uinput, not for USB. It marks a device that
+ software feeds rather than hardware, and the same prefix names
+ ``/dev/utouch``, ``/dev/ubutton`` and ``/dev/usensor``. A USB keyboard
+ is ``/dev/kbda``, with no prefix at all.
+
+::
+
+ nsh> kbd -i /dev/ukeyboard
+ kbd: injecting into /dev/ukeyboard, type to send, Ctrl-D to stop
+
+Given a second device it forwards every key of one keyboard onto another
+instead of reading its own stdin, so a real keyboard and an injected one
+can drive the same application::
+
+ nsh> kbd -i /dev/ukeyboard /dev/kbd0 &
+ kbd: forwarding /dev/kbd0 into /dev/ukeyboard
+
+An application cannot do that on its own, since it opens a single device.
+
+Point an application at ``/dev/ukeyboard`` and it is driven from the serial
+console, or from whatever is on the other end of it. This is the way to
+work on the application side of a board port before its keyboard driver
+exists, and the way to reach a board whose keyboard is not at hand.
+
+Raise ``UINPUT_KEYBOARD_BUFNUMBER`` before doing so. It counts events
+rather than keys, so the default of eight holds four keystrokes, and a
+console hands over a whole line at once. The upper half overwrites the
+oldest event when the buffer is full, so what arrives is the tail of the
+line and nothing says that the rest was dropped.
+
+Byte Stream Compatibility
+=========================
+
+An application that has not been converted to read events can select
+``INPUT_KEYBOARD_BYTESTREAM``, which makes every keyboard deliver the byte
+stream described below instead of events. This is a property of the build
+rather than of the driver, so it applies to every keyboard at once and a
+configuration cannot mix the two.
+
+The byte stream cannot express a key release, and it cannot express a
+special key at all unless ``LIBC_KBDCODEC`` is enabled. An application
+that needs either has to read the events.
+
**Encoding/Decoding** Layer. An optional encoding/decoding layer
can be used with the basic character driver to encode the keyboard
events into the text data stream. The function interfaces that
diff --git
a/content/docs/latest/_sources/platforms/arm/rtl8721dx/boards/pke8721daf/index.rst.txt
b/content/docs/latest/_sources/platforms/arm/rtl8721dx/boards/pke8721daf/index.rst.txt
index 3d630cc662..42a13955a4 100644
---
a/content/docs/latest/_sources/platforms/arm/rtl8721dx/boards/pke8721daf/index.rst.txt
+++
b/content/docs/latest/_sources/platforms/arm/rtl8721dx/boards/pke8721daf/index.rst.txt
@@ -74,7 +74,7 @@ the example::
nsh> gpio -o 1 /dev/gpio0 # drive the output high
nsh> gpio /dev/gpio1 # read the input
- nsh> gpio -w 1 /dev/gpio2 # wait for a rising-edge interrupt
+ nsh> gpio -w 1 /dev/gpio2 # wait for a falling-edge interrupt
Pins are encoded with the ``AMEBA_PA()`` / ``AMEBA_PB()`` helpers from
``arch/arm/src/common/ameba/ameba_gpio.h`` (port A/B, pin 0-31), matching the
diff --git
a/content/docs/latest/_sources/platforms/arm/rtl8721f/boards/rtl8721f_evb/index.rst.txt
b/content/docs/latest/_sources/platforms/arm/rtl8721f/boards/rtl8721f_evb/index.rst.txt
index b1f348cd5f..6106426523 100644
---
a/content/docs/latest/_sources/platforms/arm/rtl8721f/boards/rtl8721f_evb/index.rst.txt
+++
b/content/docs/latest/_sources/platforms/arm/rtl8721f/boards/rtl8721f_evb/index.rst.txt
@@ -47,6 +47,24 @@ rtl8721f_evb`` first (the make build needs no sourcing).
$ ./tools/configure.sh rtl8721f_evb:<config-name>
+gpio
+----
+
+Minimal NSH with the GPIO driver and the ``gpio`` example enabled (no Wi-Fi).
+The board registers three pins from its pin table (see
+``boards/arm/rtl8721f/rtl8721f_evb/src/rtl8721f_gpio.c``): an output at
+``/dev/gpio0``, an input at ``/dev/gpio1`` and an interrupt pin at
+``/dev/gpio2``. Edit that table to match a board's wiring. Exercise them with
+the example::
+
+ nsh> gpio -o 1 /dev/gpio0 # drive the output high
+ nsh> gpio /dev/gpio1 # read the input
+ nsh> gpio -w 1 /dev/gpio2 # wait for a falling-edge interrupt
+
+Pins are encoded with the ``AMEBA_PA()`` / ``AMEBA_PB()`` helpers from
+``arch/arm/src/common/ameba/ameba_gpio.h`` (port A/B, pin 0-31), matching the
+Ameba SDK ``PinName`` layout.
+
nsh
---
diff --git a/content/docs/latest/components/drivers/character/input/index.html
b/content/docs/latest/components/drivers/character/input/index.html
index c0026b122e..3d3c1257e7 100644
--- a/content/docs/latest/components/drivers/character/input/index.html
+++ b/content/docs/latest/components/drivers/character/input/index.html
@@ -250,7 +250,17 @@
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Supported
Drivers</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal"
href="keypad-keyboard.html">Keyboard/Keypad Drivers</a></li>
+<li class="toctree-l1"><a class="reference internal"
href="keypad-keyboard.html">Keyboard/Keypad Drivers</a><ul>
+<li class="toctree-l2"><a class="reference internal"
href="keypad-keyboard.html#writing-a-keyboard-driver">Writing a Keyboard
Driver</a><ul>
+<li class="toctree-l3"><a class="reference internal"
href="keypad-keyboard.html#reporting-the-right-event-type">Reporting the Right
Event Type</a></li>
+<li class="toctree-l3"><a class="reference internal"
href="keypad-keyboard.html#choosing-the-device-name">Choosing the Device
Name</a></li>
+<li class="toctree-l3"><a class="reference internal"
href="keypad-keyboard.html#matrix-keyboards">Matrix Keyboards</a></li>
+<li class="toctree-l3"><a class="reference internal"
href="keypad-keyboard.html#testing-a-new-keyboard">Testing a New
Keyboard</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal"
href="keypad-keyboard.html#byte-stream-compatibility">Byte Stream
Compatibility</a></li>
+</ul>
+</li>
<li class="toctree-l1"><a class="reference internal" href="keypad.html">Matrix
Keypad (KMATRIX)</a></li>
<li class="toctree-l1"><a class="reference internal" href="mpr121.html">MPR121
Capacitive Keypad</a></li>
<li class="toctree-l1"><a class="reference internal"
href="sbutton.html">Single Button Multi Actions Driver</a></li>
diff --git
a/content/docs/latest/components/drivers/character/input/keypad-keyboard.html
b/content/docs/latest/components/drivers/character/input/keypad-keyboard.html
index 570877c62e..7f57817db0 100644
---
a/content/docs/latest/components/drivers/character/input/keypad-keyboard.html
+++
b/content/docs/latest/components/drivers/character/input/keypad-keyboard.html
@@ -268,6 +268,157 @@ and special command key press data streams.</p>
released is needed by applications as well. Thus, in addition to
normal and special key press events, it may also be necessary to
encode normal and special key release events.</p>
+<section id="writing-a-keyboard-driver">
+<h2>Writing a Keyboard Driver<a class="headerlink"
href="#writing-a-keyboard-driver" title="Permalink to this heading"></a></h2>
+<p>A keyboard driver registers with the keyboard upper half, which owns the
+character device and the buffering. This is the whole contract, and it is
+what makes a keyboard work with every application that reads one: the
+<code class="docutils literal notranslate"><span class="pre">kbd</span></code>
dump, the LVGL terminal, NXDoom, and anything written later.</p>
+<div class="highlight-c notranslate"><div
class="highlight"><pre><span></span><span class="cp">#include</span><span
class="w"> </span><span class="cpf"><nuttx/input/keyboard.h></span>
+
+<span class="k">struct</span><span class="w"> </span><span
class="nc">mykbd_dev_s</span>
+<span class="p">{</span>
+<span class="w"> </span><span class="k">struct</span><span class="w">
</span><span class="nc">keyboard_lowerhalf_s</span><span class="w">
</span><span class="n">lower</span><span class="p">;</span><span class="w">
</span><span class="cm">/* Must be found by container_of */</span>
+<span class="w"> </span><span class="p">...</span>
+<span class="p">};</span>
+
+<span class="cm">/* Register once, at board bring-up. The open, close and
write callbacks</span>
+<span class="cm"> * of the lower half are all optional: a driver that has
nothing to do</span>
+<span class="cm"> * when the device is opened can register with the structure
zeroed.</span>
+<span class="cm"> */</span>
+
+<span class="n">keyboard_register</span><span class="p">(</span><span
class="o">&</span><span class="n">priv</span><span
class="o">-></span><span class="n">lower</span><span class="p">,</span><span
class="w"> </span><span class="s">"/dev/kbd0"</span><span
class="p">,</span><span class="w"> </span><span
class="n">CONFIG_MYKBD_NBUFFER</span><span class="p">);</span>
+
+<span class="cm">/* Report each key as it changes state */</span>
+
+<span class="n">keyboard_event</span><span class="p">(</span><span
class="o">&</span><span class="n">priv</span><span
class="o">-></span><span class="n">lower</span><span class="p">,</span><span
class="w"> </span><span class="n">keycode</span><span class="p">,</span><span
class="w"> </span><span class="n">type</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>Do not store the driver state in <code class="docutils literal
notranslate"><span class="pre">lower.priv</span></code>. <code class="docutils
literal notranslate"><span class="pre">keyboard_register()</span></code>
+overwrites that field with the upper half’s own state, so a lower half
+callback recovers the driver state with <code class="docutils literal
notranslate"><span class="pre">container_of()</span></code> instead.</p>
+<section id="reporting-the-right-event-type">
+<h3>Reporting the Right Event Type<a class="headerlink"
href="#reporting-the-right-event-type" title="Permalink to this
heading"></a></h3>
+<p><code class="docutils literal notranslate"><span
class="pre">type</span></code> has <strong>four</strong> values, and getting
this wrong is a silent failure:
+the build is clean and the symptom is a key that does nothing.</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Type</p></th>
+<th class="head"><p>Value</p></th>
+<th class="head"><p><code class="docutils literal notranslate"><span
class="pre">code</span></code> carries</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">KEYBOARD_PRESS</span></code></p></td>
+<td><p>0</p></td>
+<td><p>The character that the key produces</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">KEYBOARD_RELEASE</span></code></p></td>
+<td><p>1</p></td>
+<td><p>The character of the key that came up</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">KEYBOARD_SPECPRESS</span></code></p></td>
+<td><p>2</p></td>
+<td><p>A value from <code class="docutils literal notranslate"><span
class="pre">enum</span> <span class="pre">kbd_keycode_e</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">KEYBOARD_SPECREL</span></code></p></td>
+<td><p>3</p></td>
+<td><p>A value from <code class="docutils literal notranslate"><span
class="pre">enum</span> <span class="pre">kbd_keycode_e</span></code></p></td>
+</tr>
+</tbody>
+</table>
+<p>A key that produces a character is reported with its character and the
+plain press and release types. A key that does not, such as an arrow, a
+function key or a modifier, is reported with a keycode and one of the SPEC
+types.</p>
+<p>The distinction matters because the two ranges overlap. <code
class="docutils literal notranslate"><span class="pre">KEYCODE_UP</span></code>
is
+7 and so is the ASCII bell, so an application that receives a 7 has no way
+to tell them apart other than by the event type. A driver that reports
+every key as <code class="docutils literal notranslate"><span
class="pre">KEYBOARD_PRESS</span></code> will have its arrow keys silently
dropped
+by any application that follows this contract.</p>
+</section>
+<section id="choosing-the-device-name">
+<h3>Choosing the Device Name<a class="headerlink"
href="#choosing-the-device-name" title="Permalink to this heading"></a></h3>
+<p>Register as <code class="docutils literal notranslate"><span
class="pre">/dev/kbd0</span></code>. Applications look for a keyboard under that
+name, and a keyboard registered anywhere else is out of reach of all of
+them unless the user knows to point each one at it by hand.</p>
+<p>The USB HID driver is the exception: it names its devices <code
class="docutils literal notranslate"><span class="pre">/dev/kbda</span></code>
+onwards, because they come and go as keyboards are plugged in and more
+than one can be present at a time.</p>
+</section>
+<section id="matrix-keyboards">
+<h3>Matrix Keyboards<a class="headerlink" href="#matrix-keyboards"
title="Permalink to this heading"></a></h3>
+<p>A matrix keyboard does not need a driver of its own. <code class="docutils
literal notranslate"><span class="pre">INPUT_KMATRIX</span></code>
+scans the matrix, debounces it and reports the events, so a board provides
+a keymap and four GPIO callbacks and nothing more. See
+<code class="docutils literal notranslate"><span
class="pre">include/nuttx/input/kmatrix.h</span></code>.</p>
+<p>Wrap a keymap entry in <code class="docutils literal notranslate"><span
class="pre">KMATRIX_SPECIAL()</span></code> to declare that it holds a
+keycode rather than a character, so that the key is reported with a SPEC
+event type:</p>
+<div class="highlight-c notranslate"><div
class="highlight"><pre><span></span><span class="k">static</span><span
class="w"> </span><span class="k">const</span><span class="w"> </span><span
class="kt">uint32_t</span><span class="w"> </span><span
class="n">g_keymap</span><span class="p">[]</span><span class="w"> </span><span
class="o">=</span>
+<span class="p">{</span>
+<span class="w"> </span><span class="sc">'1'</span><span
class="p">,</span><span class="w"> </span><span
class="sc">'2'</span><span class="p">,</span><span class="w">
</span><span class="sc">'3'</span><span class="p">,</span>
+<span class="w"> </span><span class="n">KMATRIX_SPECIAL</span><span
class="p">(</span><span class="n">KEYCODE_UP</span><span
class="p">),</span><span class="w"> </span><span
class="n">KMATRIX_SPECIAL</span><span class="p">(</span><span
class="n">KEYCODE_DOWN</span><span class="p">),</span><span class="w">
</span><span class="sc">'0'</span><span class="p">,</span>
+<span class="p">};</span>
+</pre></div>
+</div>
+</section>
+<section id="testing-a-new-keyboard">
+<h3>Testing a New Keyboard<a class="headerlink" href="#testing-a-new-keyboard"
title="Permalink to this heading"></a></h3>
+<p><code class="docutils literal notranslate"><span
class="pre">system/kbd</span></code> prints every event that a keyboard
reports, whatever the
+hardware behind it is, so it is the first thing to run on a new one:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>nsh> kbd /dev/kbd0
+kbd: reading /dev/kbd0, keyboard events
+press code 97 'a'
+release code 97 'a'
+specpress keycode 7
+specrel keycode 7
+</pre></div>
+</div>
+<p>An application can also be brought up against a keyboard that does not
+exist yet. <code class="docutils literal notranslate"><span
class="pre">UINPUT_KEYBOARD</span></code> registers <code class="docutils
literal notranslate"><span class="pre">/dev/ukeyboard</span></code>, whose
events
+are injected by writing <code class="docutils literal notranslate"><span
class="pre">struct</span> <span class="pre">keyboard_event_s</span></code> to
it, and <code class="docutils literal notranslate"><span class="pre">kbd</span>
<span class="pre">-i</span></code>
+injects whatever it reads from its own stdin.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The leading u is for uinput, not for USB. It marks a device that
+software feeds rather than hardware, and the same prefix names
+<code class="docutils literal notranslate"><span
class="pre">/dev/utouch</span></code>, <code class="docutils literal
notranslate"><span class="pre">/dev/ubutton</span></code> and <code
class="docutils literal notranslate"><span
class="pre">/dev/usensor</span></code>. A USB keyboard
+is <code class="docutils literal notranslate"><span
class="pre">/dev/kbda</span></code>, with no prefix at all.</p>
+</div>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>nsh> kbd -i /dev/ukeyboard
+kbd: injecting into /dev/ukeyboard, type to send, Ctrl-D to stop
+</pre></div>
+</div>
+<p>Given a second device it forwards every key of one keyboard onto another
+instead of reading its own stdin, so a real keyboard and an injected one
+can drive the same application:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>nsh> kbd -i /dev/ukeyboard /dev/kbd0
&
+kbd: forwarding /dev/kbd0 into /dev/ukeyboard
+</pre></div>
+</div>
+<p>An application cannot do that on its own, since it opens a single
device.</p>
+<p>Point an application at <code class="docutils literal notranslate"><span
class="pre">/dev/ukeyboard</span></code> and it is driven from the serial
+console, or from whatever is on the other end of it. This is the way to
+work on the application side of a board port before its keyboard driver
+exists, and the way to reach a board whose keyboard is not at hand.</p>
+<p>Raise <code class="docutils literal notranslate"><span
class="pre">UINPUT_KEYBOARD_BUFNUMBER</span></code> before doing so. It counts
events
+rather than keys, so the default of eight holds four keystrokes, and a
+console hands over a whole line at once. The upper half overwrites the
+oldest event when the buffer is full, so what arrives is the tail of the
+line and nothing says that the rest was dropped.</p>
+</section>
+</section>
+<section id="byte-stream-compatibility">
+<h2>Byte Stream Compatibility<a class="headerlink"
href="#byte-stream-compatibility" title="Permalink to this heading"></a></h2>
+<p>An application that has not been converted to read events can select
+<code class="docutils literal notranslate"><span
class="pre">INPUT_KEYBOARD_BYTESTREAM</span></code>, which makes every keyboard
deliver the byte
+stream described below instead of events. This is a property of the build
+rather than of the driver, so it applies to every keyboard at once and a
+configuration cannot mix the two.</p>
+<p>The byte stream cannot express a key release, and it cannot express a
+special key at all unless <code class="docutils literal notranslate"><span
class="pre">LIBC_KBDCODEC</span></code> is enabled. An application
+that needs either has to read the events.</p>
<p><strong>Encoding/Decoding</strong> Layer. An optional encoding/decoding
layer
can be used with the basic character driver to encode the keyboard
events into the text data stream. The function interfaces that
@@ -373,6 +524,7 @@ indicates the end of file.</p></li>
<p><strong>I/O Streams</strong>. Notice the use of the abstract I/O streams in
these interfaces. These stream interfaces are defined in
<code class="docutils literal notranslate"><span
class="pre">include/nuttx/streams.h</span></code>.</p>
+</section>
</section>
diff --git a/content/docs/latest/guides/fully_linked_elf.html
b/content/docs/latest/guides/fully_linked_elf.html
index 14ad8ff55d..c42b97b89c 100644
--- a/content/docs/latest/guides/fully_linked_elf.html
+++ b/content/docs/latest/guides/fully_linked_elf.html
@@ -487,7 +487,7 @@ NuttX package: <code class="docutils literal
notranslate"><span class="pre">nutt
<div
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version
admonition">
<p class="admonition-title">Here is an alternative minimal (and possibly
outdated) version</p>
<div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input"
id="d312c1e4-6ebb-4b3e-97a8-97d2229a7ca0"
name="d312c1e4-6ebb-4b3e-97a8-97d2229a7ca0" type="checkbox"><label
class="sphinx_collapse__label" for="d312c1e4-6ebb-4b3e-97a8-97d2229a7ca0"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="c6f4c1d9-4d53-45cc-854c-dee7d866f891"
name="c6f4c1d9-4d53-45cc-854c-dee7d866f891" type="checkbox"><label
class="sphinx_collapse__label" for="c6f4c1d9-4d53-45cc-854c-dee7d866f891"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
<div class="highlight-text notranslate"><div
class="highlight"><pre><span></span>SECTIONS
{
.text 0x00000000 :
diff --git a/content/docs/latest/guides/partially_linked_elf.html
b/content/docs/latest/guides/partially_linked_elf.html
index c74028add2..b60d78b5d6 100644
--- a/content/docs/latest/guides/partially_linked_elf.html
+++ b/content/docs/latest/guides/partially_linked_elf.html
@@ -513,7 +513,7 @@ NuttX package: <code class="docutils literal
notranslate"><span class="pre">nutt
<div
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version
admonition">
<p class="admonition-title">Here is an alternative minimal (and possibly
outdated) version</p>
<div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input"
id="840ddb4f-0b0e-4b9d-bf06-f06df90ab549"
name="840ddb4f-0b0e-4b9d-bf06-f06df90ab549" type="checkbox"><label
class="sphinx_collapse__label" for="840ddb4f-0b0e-4b9d-bf06-f06df90ab549"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="9fe91b22-6b86-4558-abd6-851a3d8970b8"
name="9fe91b22-6b86-4558-abd6-851a3d8970b8" type="checkbox"><label
class="sphinx_collapse__label" for="9fe91b22-6b86-4558-abd6-851a3d8970b8"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
<div class="highlight-text notranslate"><div
class="highlight"><pre><span></span>SECTIONS
{
.text 0x00000000 :
diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html
index 7ac098c0ab..09e73bbdc9 100644
--- a/content/docs/latest/index.html
+++ b/content/docs/latest/index.html
@@ -195,7 +195,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: 31 July 26 at 00:54</p>
+<p>Last Updated: 01 August 26 at 00:47</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 68708628a1..2fabb05954 100644
Binary files a/content/docs/latest/objects.inv and
b/content/docs/latest/objects.inv differ
diff --git
a/content/docs/latest/platforms/arm/rtl8721dx/boards/pke8721daf/index.html
b/content/docs/latest/platforms/arm/rtl8721dx/boards/pke8721daf/index.html
index 686fb34cda..ffcad02a8b 100644
--- a/content/docs/latest/platforms/arm/rtl8721dx/boards/pke8721daf/index.html
+++ b/content/docs/latest/platforms/arm/rtl8721dx/boards/pke8721daf/index.html
@@ -351,7 +351,7 @@ The board registers three pins from its pin table (see
the example:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>nsh> gpio -o 1 /dev/gpio0 # drive
the output high
nsh> gpio /dev/gpio1 # read the input
-nsh> gpio -w 1 /dev/gpio2 # wait for a rising-edge interrupt
+nsh> gpio -w 1 /dev/gpio2 # wait for a falling-edge interrupt
</pre></div>
</div>
<p>Pins are encoded with the <code class="docutils literal notranslate"><span
class="pre">AMEBA_PA()</span></code> / <code class="docutils literal
notranslate"><span class="pre">AMEBA_PB()</span></code> helpers from
diff --git
a/content/docs/latest/platforms/arm/rtl8721f/boards/rtl8721f_evb/index.html
b/content/docs/latest/platforms/arm/rtl8721f/boards/rtl8721f_evb/index.html
index bec2245b05..fbaeb8632b 100644
--- a/content/docs/latest/platforms/arm/rtl8721f/boards/rtl8721f_evb/index.html
+++ b/content/docs/latest/platforms/arm/rtl8721f/boards/rtl8721f_evb/index.html
@@ -328,6 +328,23 @@ partition)</p></li>
<div class="highlight-console notranslate"><div
class="highlight"><pre><span></span><span class="gp">$
</span>./tools/configure.sh<span class="w">
</span>rtl8721f_evb:<config-name>
</pre></div>
</div>
+<section id="gpio">
+<h3>gpio<a class="headerlink" href="#gpio" title="Permalink to this
heading"></a></h3>
+<p>Minimal NSH with the GPIO driver and the <code class="docutils literal
notranslate"><span class="pre">gpio</span></code> example enabled (no Wi-Fi).
+The board registers three pins from its pin table (see
+<code class="docutils literal notranslate"><span
class="pre">boards/arm/rtl8721f/rtl8721f_evb/src/rtl8721f_gpio.c</span></code>):
an output at
+<code class="docutils literal notranslate"><span
class="pre">/dev/gpio0</span></code>, an input at <code class="docutils literal
notranslate"><span class="pre">/dev/gpio1</span></code> and an interrupt pin at
+<code class="docutils literal notranslate"><span
class="pre">/dev/gpio2</span></code>. Edit that table to match a board’s
wiring. Exercise them with
+the example:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>nsh> gpio -o 1 /dev/gpio0 # drive
the output high
+nsh> gpio /dev/gpio1 # read the input
+nsh> gpio -w 1 /dev/gpio2 # wait for a falling-edge interrupt
+</pre></div>
+</div>
+<p>Pins are encoded with the <code class="docutils literal notranslate"><span
class="pre">AMEBA_PA()</span></code> / <code class="docutils literal
notranslate"><span class="pre">AMEBA_PB()</span></code> helpers from
+<code class="docutils literal notranslate"><span
class="pre">arch/arm/src/common/ameba/ameba_gpio.h</span></code> (port A/B, pin
0-31), matching the
+Ameba SDK <code class="docutils literal notranslate"><span
class="pre">PinName</span></code> layout.</p>
+</section>
<section id="nsh">
<h3>nsh<a class="headerlink" href="#nsh" title="Permalink to this
heading"></a></h3>
<p>Networking-enabled NSH with littlefs at <code class="docutils literal
notranslate"><span class="pre">/data</span></code> and the <code
class="docutils literal notranslate"><span class="pre">wapi</span></code> Wi-Fi
tool.
diff --git a/content/docs/latest/searchindex.js
b/content/docs/latest/searchindex.js
index b4094ae82a..fce423ad39 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm", "_tags/arch-arm64",
"_tags/arch-armv8m", "_tags/arch-avr", "_tags/arch-cm33", "_tags/arch-example",
"_tags/arch-mips", "_tags/arch-renesas", "_tags/arch-risc-v",
"_tags/arch-riscv", "_tags/arch-sim", "_tags/arch-xtensa", "_tags/chip-a527",
"_tags/chip-a64", "_tags/chip-am62x", "_tags/chip-am67", "_tags/chip-at32uc3",
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega128",
"_tags/chip-atmega1284p", "_tags/chip-atmega2560", "_tags/ [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm", "_tags/arch-arm64",
"_tags/arch-armv8m", "_tags/arch-avr", "_tags/arch-cm33", "_tags/arch-example",
"_tags/arch-mips", "_tags/arch-renesas", "_tags/arch-risc-v",
"_tags/arch-riscv", "_tags/arch-sim", "_tags/arch-xtensa", "_tags/chip-a527",
"_tags/chip-a64", "_tags/chip-am62x", "_tags/chip-am67", "_tags/chip-at32uc3",
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega128",
"_tags/chip-atmega1284p", "_tags/chip-atmega2560", "_tags/ [...]
\ No newline at end of file
diff --git a/content/feed.xml b/content/feed.xml
index 8ba1a7f3c9..ec85a72e62 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -5,8 +5,8 @@
<description></description>
<link>/</link>
<atom:link href="/feed.xml" rel="self" type="application/rss+xml"/>
- <pubDate>Fri, 31 Jul 2026 00:56:35 +0000</pubDate>
- <lastBuildDate>Fri, 31 Jul 2026 00:56:35 +0000</lastBuildDate>
+ <pubDate>Sat, 01 Aug 2026 00:48:34 +0000</pubDate>
+ <lastBuildDate>Sat, 01 Aug 2026 00:48:34 +0000</lastBuildDate>
<generator>Jekyll v4.4.1</generator>
<item>