This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/nuttx-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 43eff3ffaa Publishing web: 69840fc9188cc51981d84311f139c9989c5b3f18
docs: 12079a213dc6e4cd6a6b027269eb108e70410013
43eff3ffaa is described below
commit 43eff3ffaa836839f80ef0f02ef4d25b0fd6637a
Author: Alin Jerpelea <[email protected]>
AuthorDate: Sat Jan 3 00:35:25 2026 +0000
Publishing web: 69840fc9188cc51981d84311f139c9989c5b3f18 docs:
12079a213dc6e4cd6a6b027269eb108e70410013
---
content/docs/10.0.0/index.html | 2 +-
content/docs/10.0.1/index.html | 2 +-
content/docs/10.1.0/index.html | 2 +-
content/docs/10.2.0/index.html | 2 +-
content/docs/10.3.0/index.html | 2 +-
content/docs/11.0.0/index.html | 2 +-
content/docs/12.0.0/index.html | 2 +-
content/docs/12.0.0/searchindex.js | 2 +-
content/docs/12.1.0/index.html | 2 +-
content/docs/12.1.0/searchindex.js | 2 +-
content/docs/12.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.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 +-
.../drivers/character/timers/capture.rst.txt | 203 ++++++++++++++++++++-
.../drivers/character/timers/capture.html | 198 +++++++++++++++++++-
.../components/drivers/character/timers/index.html | 8 +-
content/docs/latest/genindex.html | 8 +-
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 177918 -> 178032 bytes
content/docs/latest/searchindex.js | 2 +-
content/feed.xml | 4 +-
50 files changed, 456 insertions(+), 53 deletions(-)
diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index da539c2cf9..d145cfff24 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: 02 January 26 at 00:16</p>
+<p>Last Updated: 03 January 26 at 00:15</p>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
diff --git a/content/docs/10.0.1/index.html b/content/docs/10.0.1/index.html
index c37b364af6..59bbc32a42 100644
--- a/content/docs/10.0.1/index.html
+++ b/content/docs/10.0.1/index.html
@@ -249,7 +249,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: 02 January 26 at 00:16</p>
+<p>Last Updated: 03 January 26 at 00:15</p>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
diff --git a/content/docs/10.1.0/index.html b/content/docs/10.1.0/index.html
index 7925469fb6..38585b852f 100644
--- a/content/docs/10.1.0/index.html
+++ b/content/docs/10.1.0/index.html
@@ -249,7 +249,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: 02 January 26 at 00:16</p>
+<p>Last Updated: 03 January 26 at 00:16</p>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
diff --git a/content/docs/10.2.0/index.html b/content/docs/10.2.0/index.html
index a9b5ac74a2..cbe0d57023 100644
--- a/content/docs/10.2.0/index.html
+++ b/content/docs/10.2.0/index.html
@@ -250,7 +250,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: 02 January 26 at 00:16</p>
+<p>Last Updated: 03 January 26 at 00:16</p>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
diff --git a/content/docs/10.3.0/index.html b/content/docs/10.3.0/index.html
index 78a52430da..cbe0d57023 100644
--- a/content/docs/10.3.0/index.html
+++ b/content/docs/10.3.0/index.html
@@ -250,7 +250,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: 02 January 26 at 00:17</p>
+<p>Last Updated: 03 January 26 at 00:16</p>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
diff --git a/content/docs/11.0.0/index.html b/content/docs/11.0.0/index.html
index 78a52430da..cbe0d57023 100644
--- a/content/docs/11.0.0/index.html
+++ b/content/docs/11.0.0/index.html
@@ -250,7 +250,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: 02 January 26 at 00:17</p>
+<p>Last Updated: 03 January 26 at 00:16</p>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.0.0/index.html b/content/docs/12.0.0/index.html
index c812c7ff89..4196212487 100644
--- a/content/docs/12.0.0/index.html
+++ b/content/docs/12.0.0/index.html
@@ -175,7 +175,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: 02 January 26 at 00:17</p>
+<p>Last Updated: 03 January 26 at 00:16</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.0.0/searchindex.js
b/content/docs/12.0.0/searchindex.js
index 7440514d83..f2eb00dcab 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 14469a4e78..d7b8495136 100644
--- a/content/docs/12.1.0/index.html
+++ b/content/docs/12.1.0/index.html
@@ -175,7 +175,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: 02 January 26 at 00:17</p>
+<p>Last Updated: 03 January 26 at 00:17</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.1.0/searchindex.js
b/content/docs/12.1.0/searchindex.js
index e6db7c13c9..65cd8a48e7 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 dd5a172c34..66c710ea12 100644
--- a/content/docs/12.10.0/index.html
+++ b/content/docs/12.10.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: 02 January 26 at 00:28</p>
+<p>Last Updated: 03 January 26 at 00:27</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 596ddcc80e..ec04972e2a 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 d57bfa53b4..22241fa353 100644
--- a/content/docs/12.11.0/guides/fully_linked_elf.html
+++ b/content/docs/12.11.0/guides/fully_linked_elf.html
@@ -479,7 +479,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="5472d8a0-d9b0-4d8e-bec4-4b1bacf46b3a"
name="5472d8a0-d9b0-4d8e-bec4-4b1bacf46b3a" type="checkbox"><label
class="sphinx_collapse__label" for="5472d8a0-d9b0-4d8e-bec4-4b1bacf46b3a"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="459a278e-f9cd-4b7b-9179-164c093e8420"
name="459a278e-f9cd-4b7b-9179-164c093e8420" type="checkbox"><label
class="sphinx_collapse__label" for="459a278e-f9cd-4b7b-9179-164c093e8420"><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 04603b0790..8bd303f05e 100644
--- a/content/docs/12.11.0/guides/partially_linked_elf.html
+++ b/content/docs/12.11.0/guides/partially_linked_elf.html
@@ -505,7 +505,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="32e6e800-f750-4925-b903-6a6ada2e992c"
name="32e6e800-f750-4925-b903-6a6ada2e992c" type="checkbox"><label
class="sphinx_collapse__label" for="32e6e800-f750-4925-b903-6a6ada2e992c"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="6e8618b8-1f4e-4b39-93d8-9ae7857eacbf"
name="6e8618b8-1f4e-4b39-93d8-9ae7857eacbf" type="checkbox"><label
class="sphinx_collapse__label" for="6e8618b8-1f4e-4b39-93d8-9ae7857eacbf"><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 648055f0a2..0d7adfb9b0 100644
--- a/content/docs/12.11.0/index.html
+++ b/content/docs/12.11.0/index.html
@@ -189,7 +189,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: 02 January 26 at 00:29</p>
+<p>Last Updated: 03 January 26 at 00:29</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 31793d01f4..533137f587 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 971c92c161..6eca0984aa 100644
--- a/content/docs/12.12.0/guides/fully_linked_elf.html
+++ b/content/docs/12.12.0/guides/fully_linked_elf.html
@@ -479,7 +479,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="aa22e98a-9901-40e6-a293-4c29d0d35280"
name="aa22e98a-9901-40e6-a293-4c29d0d35280" type="checkbox"><label
class="sphinx_collapse__label" for="aa22e98a-9901-40e6-a293-4c29d0d35280"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="0ad3d105-dc67-47ba-83e3-819bfc35fe94"
name="0ad3d105-dc67-47ba-83e3-819bfc35fe94" type="checkbox"><label
class="sphinx_collapse__label" for="0ad3d105-dc67-47ba-83e3-819bfc35fe94"><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 57529c86ff..ce91904699 100644
--- a/content/docs/12.12.0/guides/partially_linked_elf.html
+++ b/content/docs/12.12.0/guides/partially_linked_elf.html
@@ -505,7 +505,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="54157d9b-4130-457b-90d5-809133e89b38"
name="54157d9b-4130-457b-90d5-809133e89b38" type="checkbox"><label
class="sphinx_collapse__label" for="54157d9b-4130-457b-90d5-809133e89b38"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="20b7ccd2-5c65-4bd2-b1f6-cdc579c256eb"
name="20b7ccd2-5c65-4bd2-b1f6-cdc579c256eb" type="checkbox"><label
class="sphinx_collapse__label" for="20b7ccd2-5c65-4bd2-b1f6-cdc579c256eb"><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 1af89ab76f..3d42aa3f10 100644
--- a/content/docs/12.12.0/index.html
+++ b/content/docs/12.12.0/index.html
@@ -189,7 +189,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: 02 January 26 at 00:31</p>
+<p>Last Updated: 03 January 26 at 00:30</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 dea0fa072b..99a28290a5 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.2.0/index.html b/content/docs/12.2.0/index.html
index 4e4f0cca92..2c21bbb1fe 100644
--- a/content/docs/12.2.0/index.html
+++ b/content/docs/12.2.0/index.html
@@ -176,7 +176,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: 02 January 26 at 00:18</p>
+<p>Last Updated: 03 January 26 at 00:17</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.2.0/searchindex.js
b/content/docs/12.2.0/searchindex.js
index 1ef6c6f4dd..55a3b43485 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 4e4f0cca92..2c21bbb1fe 100644
--- a/content/docs/12.2.1/index.html
+++ b/content/docs/12.2.1/index.html
@@ -176,7 +176,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: 02 January 26 at 00:18</p>
+<p>Last Updated: 03 January 26 at 00:17</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.2.1/searchindex.js
b/content/docs/12.2.1/searchindex.js
index 09cc6459b3..1af40392a7 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 3eb33a683c..531e0f07c2 100644
--- a/content/docs/12.3.0/index.html
+++ b/content/docs/12.3.0/index.html
@@ -176,7 +176,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: 02 January 26 at 00:18</p>
+<p>Last Updated: 03 January 26 at 00:18</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.3.0/searchindex.js
b/content/docs/12.3.0/searchindex.js
index dec5ef77b6..2d0bd30ff2 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 fb6a3cfe69..69e13143cd 100644
--- a/content/docs/12.4.0/index.html
+++ b/content/docs/12.4.0/index.html
@@ -183,7 +183,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: 02 January 26 at 00:19</p>
+<p>Last Updated: 03 January 26 at 00:18</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.4.0/searchindex.js
b/content/docs/12.4.0/searchindex.js
index 09a8c0bf0a..4b975051a4 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 0ee9c32fb8..cfd4ed71b3 100644
--- a/content/docs/12.5.0/index.html
+++ b/content/docs/12.5.0/index.html
@@ -183,7 +183,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: 02 January 26 at 00:20</p>
+<p>Last Updated: 03 January 26 at 00:19</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.5.0/searchindex.js
b/content/docs/12.5.0/searchindex.js
index 33ccd6e223..068fa7d83d 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 835afe6b34..4663d92a8c 100644
--- a/content/docs/12.5.1/index.html
+++ b/content/docs/12.5.1/index.html
@@ -183,7 +183,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: 02 January 26 at 00:21</p>
+<p>Last Updated: 03 January 26 at 00:20</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.5.1/searchindex.js
b/content/docs/12.5.1/searchindex.js
index 2d086d4b15..e40714c19c 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 95bde7d37d..718593c760 100644
--- a/content/docs/12.6.0/index.html
+++ b/content/docs/12.6.0/index.html
@@ -184,7 +184,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: 02 January 26 at 00:22</p>
+<p>Last Updated: 03 January 26 at 00:21</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 bd07f3c8b5..725cbddb6a 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 cb84c72705..4d5507e773 100644
--- a/content/docs/12.7.0/index.html
+++ b/content/docs/12.7.0/index.html
@@ -183,7 +183,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: 02 January 26 at 00:23</p>
+<p>Last Updated: 03 January 26 at 00:23</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.7.0/searchindex.js
b/content/docs/12.7.0/searchindex.js
index 982ad33161..a7b12b7bd1 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 5cf6405796..a4eda4384d 100644
--- a/content/docs/12.8.0/index.html
+++ b/content/docs/12.8.0/index.html
@@ -183,7 +183,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: 02 January 26 at 00:25</p>
+<p>Last Updated: 03 January 26 at 00:24</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 47bdfdcea4..e033e48cf0 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 38157701e1..e021c03aab 100644
--- a/content/docs/12.9.0/index.html
+++ b/content/docs/12.9.0/index.html
@@ -183,7 +183,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: 02 January 26 at 00:26</p>
+<p>Last Updated: 03 January 26 at 00:26</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.9.0/searchindex.js
b/content/docs/12.9.0/searchindex.js
index 84ae664278..1bcad4e3c7 100644
--- a/content/docs/12.9.0/searchindex.js
+++ b/content/docs/12.9.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/cyclictest/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/b [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/cyclictest/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/b [...]
\ No newline at end of file
diff --git
a/content/docs/latest/_sources/components/drivers/character/timers/capture.rst.txt
b/content/docs/latest/_sources/components/drivers/character/timers/capture.rst.txt
index 03b492146f..046f1b0491 100644
---
a/content/docs/latest/_sources/components/drivers/character/timers/capture.rst.txt
+++
b/content/docs/latest/_sources/components/drivers/character/timers/capture.rst.txt
@@ -72,17 +72,58 @@ Supported ``ioctl`` Commands
**Argument:** ``int`` (value to watch for).
+.. c:macro:: CAPIOC_REGISTER
+
+ Register for capture edge event notifications. This allows applications
+ to receive asynchronous signal notifications when capture edge events
+ occur, instead of polling for events.
+
+ **Argument:** ``struct cap_notify_s *`` (pointer to notification structure).
+
+ The ``struct cap_notify_s`` contains:
+
+ * ``event`` - The signal event configuration (``struct sigevent``)
+ * ``chan`` - Capture channel number
+ * ``type`` - Edge type (``CAP_TYPE_RISING``, ``CAP_TYPE_FALLING``, or
``CAP_TYPE_BOTH``)
+ * ``ptr`` - User data pointer
+
+ **Returns:**
+
+ * ``OK`` on success
+ * ``-EINVAL`` for invalid channel
+ * ``-EBUSY`` if channel already registered by another task
+
+.. c:macro:: CAPIOC_UNREGISTER
+
+ Unregister capture edge event notifications.
+
+ **Argument:** ``int`` (channel number).
+
+ **Returns:** ``OK`` on success.
+
Configuration
-------------
To enable the capture driver, enable the following configuration options:
-* ``CONFIG_CAPTURE``
-* ``CONFIG_STM32H7_TIM4_CAP`` (for STM32H7 Timer 4)
+* ``CONFIG_CAPTURE`` - Enable the capture driver framework
+* ``CONFIG_CAPTURE_NOTIFY`` - Enable signal notification support for edge
events
+* ``CONFIG_FAKE_CAPTURE`` - Enable fake capture driver for testing (generates
10Hz signal with 50% duty cycle)
+* ``CONFIG_STM32H7_TIM4_CAP`` (for STM32H7 Timer 4, platform-specific)
The ``CONFIG_CAPTURE`` option enables the lower-half driver and registers
the ``/dev/capture`` device.
+The ``CONFIG_CAPTURE_NOTIFY`` option enables the signal notification feature,
+allowing applications to receive asynchronous notifications when capture
+edge events occur. This requires hardware support for edge interrupts and
+depends on ``CONFIG_CAPTURE``.
+
+The ``CONFIG_FAKE_CAPTURE`` option enables a software-based fake capture
+driver that simulates a 10Hz square wave with 50% duty cycle. This is
+useful for development and testing without requiring actual hardware.
+It depends on ``CONFIG_CAPTURE`` and ``CONFIG_CAPTURE_NSIGNALS > 0``.
+
Without it, capture is still possible manually by including the appropriate
header (e.g., ``arch/arm/src/stm32h7/stm32_capture.h``) and performing a
manual initialization.
@@ -125,6 +166,129 @@ frequency:
return 0;
}
+Signal Notification Example
+----------------------------
+
+Here is an example using signal notifications for event-driven capture
+(requires ``CONFIG_CAPTURE_NOTIFY``):
+
+.. code-block:: c
+
+ #include <stdio.h>
+ #include <signal.h>
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <nuttx/timers/capture.h>
+
+ static volatile int edge_count = 0;
+
+ static void capture_handler(int signo, siginfo_t *info, void *context)
+ {
+ edge_count++;
+ }
+
+ int main(int argc, char *argv[])
+ {
+ int fd;
+ struct cap_notify_s notify;
+ struct sigaction sa;
+ uint32_t frequency;
+ uint8_t duty;
+
+ /* Set up signal handler */
+ sa.sa_sigaction = capture_handler;
+ sa.sa_flags = SA_SIGINFO;
+ sigemptyset(&sa.sa_mask);
+ sigaction(SIGUSR1, &sa, NULL);
+
+ /* Open capture device */
+ fd = open("/dev/capture0", O_RDONLY);
+ if (fd < 0)
+ {
+ perror("Failed to open capture device");
+ return 1;
+ }
+
+ /* Configure notification for both edges on channel 0 */
+ notify.chan = 0;
+ notify.type = CAP_TYPE_BOTH;
+ notify.event.sigev_notify = SIGEV_SIGNAL;
+ notify.event.sigev_signo = SIGUSR1;
+ notify.event.sigev_value.sival_ptr = NULL;
+
+ if (ioctl(fd, CAPIOC_REGISTER, (unsigned long)¬ify) < 0)
+ {
+ perror("Failed to register notification");
+ close(fd);
+ return 1;
+ }
+
+ printf("Waiting for capture events...\n");
+
+ /* Wait for some events */
+ sleep(2);
+
+ /* Get frequency and duty cycle */
+ ioctl(fd, CAPIOC_FREQUENCE, (unsigned long)&frequency);
+ ioctl(fd, CAPIOC_DUTYCYCLE, (unsigned long)&duty);
+
+ printf("Captured %d edges\n", edge_count);
+ printf("Frequency: %u Hz, Duty: %u%%\n", frequency, duty);
+
+ /* Unregister notification */
+ ioctl(fd, CAPIOC_UNREGISTER, 0);
+
+ close(fd);
+ return 0;
+ }
+
+Fake Capture Testing Example
+-----------------------------
+
+The fake capture driver can be used for testing without hardware
+(requires ``CONFIG_FAKE_CAPTURE``):
+
+.. code-block:: c
+
+ #include <stdio.h>
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <nuttx/timers/capture.h>
+
+ int main(int argc, char *argv[])
+ {
+ int fd;
+ uint32_t frequency;
+ uint8_t duty;
+
+ /* Open fake capture device */
+ fd = open("/dev/fake_capture0", O_RDONLY);
+ if (fd < 0)
+ {
+ perror("Failed to open fake capture device");
+ return 1;
+ }
+
+ /* Start capture */
+ ioctl(fd, CAPIOC_START, 0);
+
+ /* Wait for capture to stabilize */
+ sleep(1);
+
+ /* Read values (should be 10Hz, 50% duty) */
+ ioctl(fd, CAPIOC_FREQUENCE, (unsigned long)&frequency);
+ ioctl(fd, CAPIOC_DUTYCYCLE, (unsigned long)&duty);
+
+ printf("Fake Capture - Frequency: %u Hz, Duty: %u%%\n",
+ frequency, duty);
+
+ /* Stop capture */
+ ioctl(fd, CAPIOC_STOP, 0);
+
+ close(fd);
+ return 0;
+ }
+
Notes
-----
@@ -136,3 +300,38 @@ Notes
* **Important:** In debug builds of NuttX, calling an unsupported
``ioctl`` command will trigger a ``DEBUGASSERT`` in the driver,
which will halt or crash the system.
+
+Signal Notification Features
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When ``CONFIG_CAPTURE_NOTIFY`` is enabled:
+
+* Applications can register for asynchronous edge event notifications
+* Supports per-channel registration with independent configurations
+* Edge types supported: rising edge (``CAP_TYPE_RISING``), falling edge
+ (``CAP_TYPE_FALLING``), or both (``CAP_TYPE_BOTH``)
+* Only one task can register per channel at a time
+* Signal notifications use standard POSIX ``sigevent`` mechanism
+* Lower-half drivers must implement ``bind()`` and ``unbind()`` operations
+* Ideal for event-driven applications like tachometers, encoders, and
+ frequency counters
+
+Fake Capture Driver
+~~~~~~~~~~~~~~~~~~~
+
+The fake capture driver (``CONFIG_FAKE_CAPTURE``) provides:
+
+* Software simulation of capture events using watchdog timers
+* Fixed 10Hz frequency with 50% duty cycle
+* Edge toggles every 50ms (rising and falling)
+* Supports all standard capture operations including notifications
+* Available at ``/dev/fake_capture0``, ``/dev/fake_capture1``, etc.
+* Useful for development, testing, and CI/CD without hardware
+* Platform-independent implementation
+* Automatically initialized at boot (2 channels by default)
+
+Limitations:
+
+* Fixed timing parameters (not configurable at runtime)
+* Software timing accuracy (not hardware-precise)
+* Suitable for functional testing, not timing precision validation
diff --git
a/content/docs/latest/components/drivers/character/timers/capture.html
b/content/docs/latest/components/drivers/character/timers/capture.html
index d85fca3c9c..e4eddcbae5 100644
--- a/content/docs/latest/components/drivers/character/timers/capture.html
+++ b/content/docs/latest/components/drivers/character/timers/capture.html
@@ -318,16 +318,56 @@ retrieve captured values or configure the driver.</p>
<p><strong>Argument:</strong> <code class="docutils literal notranslate"><span
class="pre">int</span></code> (value to watch for).</p>
</dd></dl>
+<dl class="c macro">
+<dt class="sig sig-object c" id="c.CAPIOC_REGISTER">
+<span class="sig-name descname"><span class="n"><span
class="pre">CAPIOC_REGISTER</span></span></span><a class="headerlink"
href="#c.CAPIOC_REGISTER" title="Permalink to this definition"></a><br /></dt>
+<dd><p>Register for capture edge event notifications. This allows applications
+to receive asynchronous signal notifications when capture edge events
+occur, instead of polling for events.</p>
+<p><strong>Argument:</strong> <code class="docutils literal notranslate"><span
class="pre">struct</span> <span class="pre">cap_notify_s</span> <span
class="pre">*</span></code> (pointer to notification structure).</p>
+<p>The <code class="docutils literal notranslate"><span
class="pre">struct</span> <span class="pre">cap_notify_s</span></code>
contains:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span
class="pre">event</span></code> - The signal event configuration (<code
class="docutils literal notranslate"><span class="pre">struct</span> <span
class="pre">sigevent</span></code>)</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">chan</span></code> - Capture channel number</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">type</span></code> - Edge type (<code class="docutils literal
notranslate"><span class="pre">CAP_TYPE_RISING</span></code>, <code
class="docutils literal notranslate"><span
class="pre">CAP_TYPE_FALLING</span></code>, or <code class="docutils literal
notranslate"><span class="pre">CAP_TYPE_BOTH</span></code>)</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">ptr</span></code> - User data pointer</p></li>
+</ul>
+<p><strong>Returns:</strong></p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span
class="pre">OK</span></code> on success</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">-EINVAL</span></code> for invalid channel</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">-EBUSY</span></code> if channel already registered by another
task</p></li>
+</ul>
+</dd></dl>
+
+<dl class="c macro">
+<dt class="sig sig-object c" id="c.CAPIOC_UNREGISTER">
+<span class="sig-name descname"><span class="n"><span
class="pre">CAPIOC_UNREGISTER</span></span></span><a class="headerlink"
href="#c.CAPIOC_UNREGISTER" title="Permalink to this definition"></a><br
/></dt>
+<dd><p>Unregister capture edge event notifications.</p>
+<p><strong>Argument:</strong> <code class="docutils literal notranslate"><span
class="pre">int</span></code> (channel number).</p>
+<p><strong>Returns:</strong> <code class="docutils literal notranslate"><span
class="pre">OK</span></code> on success.</p>
+</dd></dl>
+
</section>
<section id="configuration">
<h3>Configuration<a class="headerlink" href="#configuration" title="Permalink
to this heading"></a></h3>
<p>To enable the capture driver, enable the following configuration
options:</p>
<ul class="simple">
-<li><p><code class="docutils literal notranslate"><span
class="pre">CONFIG_CAPTURE</span></code></p></li>
-<li><p><code class="docutils literal notranslate"><span
class="pre">CONFIG_STM32H7_TIM4_CAP</span></code> (for STM32H7 Timer 4)</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">CONFIG_CAPTURE</span></code> - Enable the capture driver
framework</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">CONFIG_CAPTURE_NOTIFY</span></code> - Enable signal notification
support for edge events</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">CONFIG_FAKE_CAPTURE</span></code> - Enable fake capture driver for
testing (generates 10Hz signal with 50% duty cycle)</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">CONFIG_STM32H7_TIM4_CAP</span></code> (for STM32H7 Timer 4,
platform-specific)</p></li>
</ul>
<p>The <code class="docutils literal notranslate"><span
class="pre">CONFIG_CAPTURE</span></code> option enables the lower-half driver
and registers
the <code class="docutils literal notranslate"><span
class="pre">/dev/capture</span></code> device.</p>
+<p>The <code class="docutils literal notranslate"><span
class="pre">CONFIG_CAPTURE_NOTIFY</span></code> option enables the signal
notification feature,
+allowing applications to receive asynchronous notifications when capture
+edge events occur. This requires hardware support for edge interrupts and
+depends on <code class="docutils literal notranslate"><span
class="pre">CONFIG_CAPTURE</span></code>.</p>
+<p>The <code class="docutils literal notranslate"><span
class="pre">CONFIG_FAKE_CAPTURE</span></code> option enables a software-based
fake capture
+driver that simulates a 10Hz square wave with 50% duty cycle. This is
+useful for development and testing without requiring actual hardware.
+It depends on <code class="docutils literal notranslate"><span
class="pre">CONFIG_CAPTURE</span></code> and <code class="docutils literal
notranslate"><span class="pre">CONFIG_CAPTURE_NSIGNALS</span> <span
class="pre">></span> <span class="pre">0</span></code>.</p>
<p>Without it, capture is still possible manually by including the appropriate
header (e.g., <code class="docutils literal notranslate"><span
class="pre">arch/arm/src/stm32h7/stm32_capture.h</span></code>) and performing a
manual initialization.</p>
@@ -362,6 +402,125 @@ frequency:</p>
<span class="w"> </span><span class="n">printf</span><span
class="p">(</span><span class="s">"Frequency: %u Hz</span><span
class="se">\n</span><span class="s">"</span><span class="p">,</span><span
class="w"> </span><span class="n">frequency</span><span class="p">);</span>
+<span class="w"> </span><span class="n">close</span><span
class="p">(</span><span class="n">fd</span><span class="p">);</span>
+<span class="w"> </span><span class="k">return</span><span class="w">
</span><span class="mi">0</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</section>
+<section id="signal-notification-example">
+<h3>Signal Notification Example<a class="headerlink"
href="#signal-notification-example" title="Permalink to this heading"></a></h3>
+<p>Here is an example using signal notifications for event-driven capture
+(requires <code class="docutils literal notranslate"><span
class="pre">CONFIG_CAPTURE_NOTIFY</span></code>):</p>
+<div class="highlight-c notranslate"><div
class="highlight"><pre><span></span><span class="cp">#include</span><span
class="w"> </span><span class="cpf"><stdio.h></span>
+<span class="cp">#include</span><span class="w"> </span><span
class="cpf"><signal.h></span>
+<span class="cp">#include</span><span class="w"> </span><span
class="cpf"><fcntl.h></span>
+<span class="cp">#include</span><span class="w"> </span><span
class="cpf"><sys/ioctl.h></span>
+<span class="cp">#include</span><span class="w"> </span><span
class="cpf"><nuttx/timers/capture.h></span>
+
+<span class="k">static</span><span class="w"> </span><span
class="k">volatile</span><span class="w"> </span><span
class="kt">int</span><span class="w"> </span><span
class="n">edge_count</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span class="mi">0</span><span
class="p">;</span>
+
+<span class="k">static</span><span class="w"> </span><span
class="kt">void</span><span class="w"> </span><span
class="nf">capture_handler</span><span class="p">(</span><span
class="kt">int</span><span class="w"> </span><span class="n">signo</span><span
class="p">,</span><span class="w"> </span><span
class="kt">siginfo_t</span><span class="w"> </span><span
class="o">*</span><span class="n">info</span><span class="p">,</span><span
class="w"> </span><span class="kt">void</span><span class=" [...]
+<span class="p">{</span>
+<span class="w"> </span><span class="n">edge_count</span><span
class="o">++</span><span class="p">;</span>
+<span class="p">}</span>
+
+<span class="kt">int</span><span class="w"> </span><span
class="nf">main</span><span class="p">(</span><span class="kt">int</span><span
class="w"> </span><span class="n">argc</span><span class="p">,</span><span
class="w"> </span><span class="kt">char</span><span class="w"> </span><span
class="o">*</span><span class="n">argv</span><span class="p">[])</span>
+<span class="p">{</span>
+<span class="w"> </span><span class="kt">int</span><span class="w">
</span><span class="n">fd</span><span class="p">;</span>
+<span class="w"> </span><span class="k">struct</span><span class="w">
</span><span class="nc">cap_notify_s</span><span class="w"> </span><span
class="n">notify</span><span class="p">;</span>
+<span class="w"> </span><span class="k">struct</span><span class="w">
</span><span class="nc">sigaction</span><span class="w"> </span><span
class="n">sa</span><span class="p">;</span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w">
</span><span class="n">frequency</span><span class="p">;</span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w">
</span><span class="n">duty</span><span class="p">;</span>
+
+<span class="w"> </span><span class="cm">/* Set up signal handler */</span>
+<span class="w"> </span><span class="n">sa</span><span
class="p">.</span><span class="n">sa_sigaction</span><span class="w">
</span><span class="o">=</span><span class="w"> </span><span
class="n">capture_handler</span><span class="p">;</span>
+<span class="w"> </span><span class="n">sa</span><span
class="p">.</span><span class="n">sa_flags</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span
class="n">SA_SIGINFO</span><span class="p">;</span>
+<span class="w"> </span><span class="n">sigemptyset</span><span
class="p">(</span><span class="o">&</span><span class="n">sa</span><span
class="p">.</span><span class="n">sa_mask</span><span class="p">);</span>
+<span class="w"> </span><span class="n">sigaction</span><span
class="p">(</span><span class="n">SIGUSR1</span><span class="p">,</span><span
class="w"> </span><span class="o">&</span><span class="n">sa</span><span
class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span
class="p">);</span>
+
+<span class="w"> </span><span class="cm">/* Open capture device */</span>
+<span class="w"> </span><span class="n">fd</span><span class="w">
</span><span class="o">=</span><span class="w"> </span><span
class="n">open</span><span class="p">(</span><span
class="s">"/dev/capture0"</span><span class="p">,</span><span
class="w"> </span><span class="n">O_RDONLY</span><span class="p">);</span>
+<span class="w"> </span><span class="k">if</span><span class="w">
</span><span class="p">(</span><span class="n">fd</span><span class="w">
</span><span class="o"><</span><span class="w"> </span><span
class="mi">0</span><span class="p">)</span>
+<span class="w"> </span><span class="p">{</span>
+<span class="w"> </span><span class="n">perror</span><span
class="p">(</span><span class="s">"Failed to open capture
device"</span><span class="p">);</span>
+<span class="w"> </span><span class="k">return</span><span class="w">
</span><span class="mi">1</span><span class="p">;</span>
+<span class="w"> </span><span class="p">}</span>
+
+<span class="w"> </span><span class="cm">/* Configure notification for both
edges on channel 0 */</span>
+<span class="w"> </span><span class="n">notify</span><span
class="p">.</span><span class="n">chan</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span class="mi">0</span><span
class="p">;</span>
+<span class="w"> </span><span class="n">notify</span><span
class="p">.</span><span class="n">type</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span
class="n">CAP_TYPE_BOTH</span><span class="p">;</span>
+<span class="w"> </span><span class="n">notify</span><span
class="p">.</span><span class="n">event</span><span class="p">.</span><span
class="n">sigev_notify</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span
class="n">SIGEV_SIGNAL</span><span class="p">;</span>
+<span class="w"> </span><span class="n">notify</span><span
class="p">.</span><span class="n">event</span><span class="p">.</span><span
class="n">sigev_signo</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span class="n">SIGUSR1</span><span
class="p">;</span>
+<span class="w"> </span><span class="n">notify</span><span
class="p">.</span><span class="n">event</span><span class="p">.</span><span
class="n">sigev_value</span><span class="p">.</span><span
class="n">sival_ptr</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="nb">NULL</span><span class="p">;</span>
+
+<span class="w"> </span><span class="k">if</span><span class="w">
</span><span class="p">(</span><span class="n">ioctl</span><span
class="p">(</span><span class="n">fd</span><span class="p">,</span><span
class="w"> </span><span class="n">CAPIOC_REGISTER</span><span
class="p">,</span><span class="w"> </span><span class="p">(</span><span
class="kt">unsigned</span><span class="w"> </span><span
class="kt">long</span><span class="p">)</span><span class="o">&</span><span
class="n">notify< [...]
+<span class="w"> </span><span class="p">{</span>
+<span class="w"> </span><span class="n">perror</span><span
class="p">(</span><span class="s">"Failed to register
notification"</span><span class="p">);</span>
+<span class="w"> </span><span class="n">close</span><span
class="p">(</span><span class="n">fd</span><span class="p">);</span>
+<span class="w"> </span><span class="k">return</span><span class="w">
</span><span class="mi">1</span><span class="p">;</span>
+<span class="w"> </span><span class="p">}</span>
+
+<span class="w"> </span><span class="n">printf</span><span
class="p">(</span><span class="s">"Waiting for capture
events...</span><span class="se">\n</span><span class="s">"</span><span
class="p">);</span>
+
+<span class="w"> </span><span class="cm">/* Wait for some events */</span>
+<span class="w"> </span><span class="n">sleep</span><span
class="p">(</span><span class="mi">2</span><span class="p">);</span>
+
+<span class="w"> </span><span class="cm">/* Get frequency and duty cycle
*/</span>
+<span class="w"> </span><span class="n">ioctl</span><span
class="p">(</span><span class="n">fd</span><span class="p">,</span><span
class="w"> </span><span class="n">CAPIOC_FREQUENCE</span><span
class="p">,</span><span class="w"> </span><span class="p">(</span><span
class="kt">unsigned</span><span class="w"> </span><span
class="kt">long</span><span class="p">)</span><span class="o">&</span><span
class="n">frequency</span><span class="p">);</span>
+<span class="w"> </span><span class="n">ioctl</span><span
class="p">(</span><span class="n">fd</span><span class="p">,</span><span
class="w"> </span><span class="n">CAPIOC_DUTYCYCLE</span><span
class="p">,</span><span class="w"> </span><span class="p">(</span><span
class="kt">unsigned</span><span class="w"> </span><span
class="kt">long</span><span class="p">)</span><span class="o">&</span><span
class="n">duty</span><span class="p">);</span>
+
+<span class="w"> </span><span class="n">printf</span><span
class="p">(</span><span class="s">"Captured %d edges</span><span
class="se">\n</span><span class="s">"</span><span class="p">,</span><span
class="w"> </span><span class="n">edge_count</span><span class="p">);</span>
+<span class="w"> </span><span class="n">printf</span><span
class="p">(</span><span class="s">"Frequency: %u Hz, Duty:
%u%%</span><span class="se">\n</span><span class="s">"</span><span
class="p">,</span><span class="w"> </span><span class="n">frequency</span><span
class="p">,</span><span class="w"> </span><span class="n">duty</span><span
class="p">);</span>
+
+<span class="w"> </span><span class="cm">/* Unregister notification */</span>
+<span class="w"> </span><span class="n">ioctl</span><span
class="p">(</span><span class="n">fd</span><span class="p">,</span><span
class="w"> </span><span class="n">CAPIOC_UNREGISTER</span><span
class="p">,</span><span class="w"> </span><span class="mi">0</span><span
class="p">);</span>
+
+<span class="w"> </span><span class="n">close</span><span
class="p">(</span><span class="n">fd</span><span class="p">);</span>
+<span class="w"> </span><span class="k">return</span><span class="w">
</span><span class="mi">0</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</section>
+<section id="fake-capture-testing-example">
+<h3>Fake Capture Testing Example<a class="headerlink"
href="#fake-capture-testing-example" title="Permalink to this
heading"></a></h3>
+<p>The fake capture driver can be used for testing without hardware
+(requires <code class="docutils literal notranslate"><span
class="pre">CONFIG_FAKE_CAPTURE</span></code>):</p>
+<div class="highlight-c notranslate"><div
class="highlight"><pre><span></span><span class="cp">#include</span><span
class="w"> </span><span class="cpf"><stdio.h></span>
+<span class="cp">#include</span><span class="w"> </span><span
class="cpf"><fcntl.h></span>
+<span class="cp">#include</span><span class="w"> </span><span
class="cpf"><sys/ioctl.h></span>
+<span class="cp">#include</span><span class="w"> </span><span
class="cpf"><nuttx/timers/capture.h></span>
+
+<span class="kt">int</span><span class="w"> </span><span
class="nf">main</span><span class="p">(</span><span class="kt">int</span><span
class="w"> </span><span class="n">argc</span><span class="p">,</span><span
class="w"> </span><span class="kt">char</span><span class="w"> </span><span
class="o">*</span><span class="n">argv</span><span class="p">[])</span>
+<span class="p">{</span>
+<span class="w"> </span><span class="kt">int</span><span class="w">
</span><span class="n">fd</span><span class="p">;</span>
+<span class="w"> </span><span class="kt">uint32_t</span><span class="w">
</span><span class="n">frequency</span><span class="p">;</span>
+<span class="w"> </span><span class="kt">uint8_t</span><span class="w">
</span><span class="n">duty</span><span class="p">;</span>
+
+<span class="w"> </span><span class="cm">/* Open fake capture device */</span>
+<span class="w"> </span><span class="n">fd</span><span class="w">
</span><span class="o">=</span><span class="w"> </span><span
class="n">open</span><span class="p">(</span><span
class="s">"/dev/fake_capture0"</span><span class="p">,</span><span
class="w"> </span><span class="n">O_RDONLY</span><span class="p">);</span>
+<span class="w"> </span><span class="k">if</span><span class="w">
</span><span class="p">(</span><span class="n">fd</span><span class="w">
</span><span class="o"><</span><span class="w"> </span><span
class="mi">0</span><span class="p">)</span>
+<span class="w"> </span><span class="p">{</span>
+<span class="w"> </span><span class="n">perror</span><span
class="p">(</span><span class="s">"Failed to open fake capture
device"</span><span class="p">);</span>
+<span class="w"> </span><span class="k">return</span><span class="w">
</span><span class="mi">1</span><span class="p">;</span>
+<span class="w"> </span><span class="p">}</span>
+
+<span class="w"> </span><span class="cm">/* Start capture */</span>
+<span class="w"> </span><span class="n">ioctl</span><span
class="p">(</span><span class="n">fd</span><span class="p">,</span><span
class="w"> </span><span class="n">CAPIOC_START</span><span
class="p">,</span><span class="w"> </span><span class="mi">0</span><span
class="p">);</span>
+
+<span class="w"> </span><span class="cm">/* Wait for capture to stabilize
*/</span>
+<span class="w"> </span><span class="n">sleep</span><span
class="p">(</span><span class="mi">1</span><span class="p">);</span>
+
+<span class="w"> </span><span class="cm">/* Read values (should be 10Hz, 50%
duty) */</span>
+<span class="w"> </span><span class="n">ioctl</span><span
class="p">(</span><span class="n">fd</span><span class="p">,</span><span
class="w"> </span><span class="n">CAPIOC_FREQUENCE</span><span
class="p">,</span><span class="w"> </span><span class="p">(</span><span
class="kt">unsigned</span><span class="w"> </span><span
class="kt">long</span><span class="p">)</span><span class="o">&</span><span
class="n">frequency</span><span class="p">);</span>
+<span class="w"> </span><span class="n">ioctl</span><span
class="p">(</span><span class="n">fd</span><span class="p">,</span><span
class="w"> </span><span class="n">CAPIOC_DUTYCYCLE</span><span
class="p">,</span><span class="w"> </span><span class="p">(</span><span
class="kt">unsigned</span><span class="w"> </span><span
class="kt">long</span><span class="p">)</span><span class="o">&</span><span
class="n">duty</span><span class="p">);</span>
+
+<span class="w"> </span><span class="n">printf</span><span
class="p">(</span><span class="s">"Fake Capture - Frequency: %u Hz, Duty:
%u%%</span><span class="se">\n</span><span class="s">"</span><span
class="p">,</span>
+<span class="w"> </span><span class="n">frequency</span><span
class="p">,</span><span class="w"> </span><span class="n">duty</span><span
class="p">);</span>
+
+<span class="w"> </span><span class="cm">/* Stop capture */</span>
+<span class="w"> </span><span class="n">ioctl</span><span
class="p">(</span><span class="n">fd</span><span class="p">,</span><span
class="w"> </span><span class="n">CAPIOC_STOP</span><span
class="p">,</span><span class="w"> </span><span class="mi">0</span><span
class="p">);</span>
+
<span class="w"> </span><span class="n">close</span><span
class="p">(</span><span class="n">fd</span><span class="p">);</span>
<span class="w"> </span><span class="k">return</span><span class="w">
</span><span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
@@ -380,6 +539,41 @@ even though “frequency” is the correct English
spelling.</p></li>
<code class="docutils literal notranslate"><span
class="pre">ioctl</span></code> command will trigger a <code class="docutils
literal notranslate"><span class="pre">DEBUGASSERT</span></code> in the driver,
which will halt or crash the system.</p></li>
</ul>
+<section id="signal-notification-features">
+<h4>Signal Notification Features<a class="headerlink"
href="#signal-notification-features" title="Permalink to this
heading"></a></h4>
+<p>When <code class="docutils literal notranslate"><span
class="pre">CONFIG_CAPTURE_NOTIFY</span></code> is enabled:</p>
+<ul class="simple">
+<li><p>Applications can register for asynchronous edge event
notifications</p></li>
+<li><p>Supports per-channel registration with independent
configurations</p></li>
+<li><p>Edge types supported: rising edge (<code class="docutils literal
notranslate"><span class="pre">CAP_TYPE_RISING</span></code>), falling edge
+(<code class="docutils literal notranslate"><span
class="pre">CAP_TYPE_FALLING</span></code>), or both (<code class="docutils
literal notranslate"><span class="pre">CAP_TYPE_BOTH</span></code>)</p></li>
+<li><p>Only one task can register per channel at a time</p></li>
+<li><p>Signal notifications use standard POSIX <code class="docutils literal
notranslate"><span class="pre">sigevent</span></code> mechanism</p></li>
+<li><p>Lower-half drivers must implement <code class="docutils literal
notranslate"><span class="pre">bind()</span></code> and <code class="docutils
literal notranslate"><span class="pre">unbind()</span></code>
operations</p></li>
+<li><p>Ideal for event-driven applications like tachometers, encoders, and
+frequency counters</p></li>
+</ul>
+</section>
+<section id="fake-capture-driver">
+<h4>Fake Capture Driver<a class="headerlink" href="#fake-capture-driver"
title="Permalink to this heading"></a></h4>
+<p>The fake capture driver (<code class="docutils literal notranslate"><span
class="pre">CONFIG_FAKE_CAPTURE</span></code>) provides:</p>
+<ul class="simple">
+<li><p>Software simulation of capture events using watchdog timers</p></li>
+<li><p>Fixed 10Hz frequency with 50% duty cycle</p></li>
+<li><p>Edge toggles every 50ms (rising and falling)</p></li>
+<li><p>Supports all standard capture operations including
notifications</p></li>
+<li><p>Available at <code class="docutils literal notranslate"><span
class="pre">/dev/fake_capture0</span></code>, <code class="docutils literal
notranslate"><span class="pre">/dev/fake_capture1</span></code>, etc.</p></li>
+<li><p>Useful for development, testing, and CI/CD without hardware</p></li>
+<li><p>Platform-independent implementation</p></li>
+<li><p>Automatically initialized at boot (2 channels by default)</p></li>
+</ul>
+<p>Limitations:</p>
+<ul class="simple">
+<li><p>Fixed timing parameters (not configurable at runtime)</p></li>
+<li><p>Software timing accuracy (not hardware-precise)</p></li>
+<li><p>Suitable for functional testing, not timing precision
validation</p></li>
+</ul>
+</section>
</section>
</section>
</section>
diff --git a/content/docs/latest/components/drivers/character/timers/index.html
b/content/docs/latest/components/drivers/character/timers/index.html
index 8d95e06549..62dd4e5414 100644
--- a/content/docs/latest/components/drivers/character/timers/index.html
+++ b/content/docs/latest/components/drivers/character/timers/index.html
@@ -279,7 +279,13 @@
<li class="toctree-l3"><a class="reference internal"
href="capture.html#supported-ioctl-commands">Supported <code class="docutils
literal notranslate"><span class="pre">ioctl</span></code> Commands</a></li>
<li class="toctree-l3"><a class="reference internal"
href="capture.html#configuration">Configuration</a></li>
<li class="toctree-l3"><a class="reference internal"
href="capture.html#example">Example</a></li>
-<li class="toctree-l3"><a class="reference internal"
href="capture.html#notes">Notes</a></li>
+<li class="toctree-l3"><a class="reference internal"
href="capture.html#signal-notification-example">Signal Notification
Example</a></li>
+<li class="toctree-l3"><a class="reference internal"
href="capture.html#fake-capture-testing-example">Fake Capture Testing
Example</a></li>
+<li class="toctree-l3"><a class="reference internal"
href="capture.html#notes">Notes</a><ul>
+<li class="toctree-l4"><a class="reference internal"
href="capture.html#signal-notification-features">Signal Notification
Features</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="capture.html#fake-capture-driver">Fake Capture Driver</a></li>
+</ul>
+</li>
</ul>
</li>
</ul>
diff --git a/content/docs/latest/genindex.html
b/content/docs/latest/genindex.html
index 23c8ffa84d..896dae2bdb 100644
--- a/content/docs/latest/genindex.html
+++ b/content/docs/latest/genindex.html
@@ -378,15 +378,19 @@
<li><a
href="components/drivers/character/timers/capture.html#c.CAPIOC_HANDLER">CAPIOC_HANDLER
(C macro)</a>
</li>
<li><a
href="components/drivers/character/timers/capture.html#c.CAPIOC_PULSES">CAPIOC_PULSES
(C macro)</a>
+</li>
+ <li><a
href="components/drivers/character/timers/capture.html#c.CAPIOC_REGISTER">CAPIOC_REGISTER
(C macro)</a>
+</li>
+ <li><a
href="components/drivers/character/timers/capture.html#c.CAPIOC_UNREGISTER">CAPIOC_UNREGISTER
(C macro)</a>
</li>
<li><a href="glossary.html#term-CDC"><strong>CDC</strong></a>
</li>
<li><a href="components/filesystem/index.html#c.chstat">chstat (C
function)</a>
-</li>
- <li><a href="reference/user/09_env_vars.html#c.clearenv">clearenv (C
function)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="reference/user/09_env_vars.html#c.clearenv">clearenv (C
function)</a>
+</li>
<li><a
href="reference/user/06_clocks_timers.html#c.clock_getres">clock_getres (C
function)</a>
</li>
<li><a
href="reference/user/06_clocks_timers.html#c.clock_gettime">clock_gettime (C
function)</a>
diff --git a/content/docs/latest/guides/fully_linked_elf.html
b/content/docs/latest/guides/fully_linked_elf.html
index c85249ee7c..3a248eff37 100644
--- a/content/docs/latest/guides/fully_linked_elf.html
+++ b/content/docs/latest/guides/fully_linked_elf.html
@@ -481,7 +481,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="229f7077-36c5-4ce8-9aed-1528a0a18724"
name="229f7077-36c5-4ce8-9aed-1528a0a18724" type="checkbox"><label
class="sphinx_collapse__label" for="229f7077-36c5-4ce8-9aed-1528a0a18724"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="f9f61bac-8805-4877-849f-4b91cf2a4c62"
name="f9f61bac-8805-4877-849f-4b91cf2a4c62" type="checkbox"><label
class="sphinx_collapse__label" for="f9f61bac-8805-4877-849f-4b91cf2a4c62"><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 9af3dd6417..bd875d73ff 100644
--- a/content/docs/latest/guides/partially_linked_elf.html
+++ b/content/docs/latest/guides/partially_linked_elf.html
@@ -507,7 +507,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="37401878-2fcb-4991-9c81-8d520bf6b7e3"
name="37401878-2fcb-4991-9c81-8d520bf6b7e3" type="checkbox"><label
class="sphinx_collapse__label" for="37401878-2fcb-4991-9c81-8d520bf6b7e3"><i
class="sphinx_collapse__icon"></i>Show content:</label><div
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input"
id="cf571ae5-52d4-470c-8d0a-c57c4856256a"
name="cf571ae5-52d4-470c-8d0a-c57c4856256a" type="checkbox"><label
class="sphinx_collapse__label" for="cf571ae5-52d4-470c-8d0a-c57c4856256a"><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 e576ccef42..f6de674b04 100644
--- a/content/docs/latest/index.html
+++ b/content/docs/latest/index.html
@@ -189,7 +189,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: 02 January 26 at 00:33</p>
+<p>Last Updated: 03 January 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/latest/objects.inv b/content/docs/latest/objects.inv
index e705193e1b..5d0597a0a2 100644
Binary files a/content/docs/latest/objects.inv and
b/content/docs/latest/objects.inv differ
diff --git a/content/docs/latest/searchindex.js
b/content/docs/latest/searchindex.js
index c034e38cb4..8ed36d3f66 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/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-esp32-c3",
"_tags/chip-esp32a1s", "_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/c
[...]
\ 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-esp32-c3",
"_tags/chip-esp32a1s", "_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/c
[...]
\ No newline at end of file
diff --git a/content/feed.xml b/content/feed.xml
index 3da2b54034..eebf627734 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, 02 Jan 2026 00:35:24 +0000</pubDate>
- <lastBuildDate>Fri, 02 Jan 2026 00:35:24 +0000</lastBuildDate>
+ <pubDate>Sat, 03 Jan 2026 00:35:04 +0000</pubDate>
+ <lastBuildDate>Sat, 03 Jan 2026 00:35:04 +0000</lastBuildDate>
<generator>Jekyll v4.4.1</generator>
<item>