You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gi...@apache.org on 2020/12/19 00:52:41 UTC

[incubator-nuttx-website] branch asf-site updated: Publishing web: 1d65847df020becad8aaf7f02f01a93bc9e03ba9 docs: d42c5a0bf6dab825b19b07a66d4f02a29a257032

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 692ab86  Publishing web: 1d65847df020becad8aaf7f02f01a93bc9e03ba9 docs: d42c5a0bf6dab825b19b07a66d4f02a29a257032
692ab86 is described below

commit 692ab864dad7adf9b98e21ca548a3c41f25fe571
Author: John <jb...@gmail.com>
AuthorDate: Sat Dec 19 00:51:53 2020 +0000

    Publishing web: 1d65847df020becad8aaf7f02f01a93bc9e03ba9 docs: d42c5a0bf6dab825b19b07a66d4f02a29a257032
---
 content/docs/10.0.0/index.html                     |   2 +-
 content/docs/10.0.1/index.html                     |   2 +-
 .../components/drivers/character/watchdog.rst.txt  |  50 ++++++++++++++++++++-
 .../latest/components/drivers/character/index.html |   1 +
 .../components/drivers/character/watchdog.html     |  47 ++++++++++++++++++-
 content/docs/latest/index.html                     |   2 +-
 content/docs/latest/objects.inv                    | Bin 22003 -> 22066 bytes
 content/docs/latest/searchindex.js                 |   2 +-
 content/feed.xml                                   |   4 +-
 9 files changed, 102 insertions(+), 8 deletions(-)

diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index d719505..9a82d50 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: 18 December 20 at 00:50</p>
+<p>Last Updated: 19 December 20 at 00:49</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 7fa6673..a519b1f 100644
--- a/content/docs/10.0.1/index.html
+++ b/content/docs/10.0.1/index.html
@@ -211,7 +211,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: 18 December 20 at 00:50</p>
+<p>Last Updated: 19 December 20 at 00:50</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/latest/_sources/components/drivers/character/watchdog.rst.txt b/content/docs/latest/_sources/components/drivers/character/watchdog.rst.txt
index 21092c5..b4e8e53 100644
--- a/content/docs/latest/_sources/components/drivers/character/watchdog.rst.txt
+++ b/content/docs/latest/_sources/components/drivers/character/watchdog.rst.txt
@@ -153,4 +153,52 @@ This command registers an user callback that will be triggered on timeout. It re
 
 .. c:macro:: WDIOC_KEEPALIVE
 
- This command resets the watchdog timer ("ping",  "pet the dog",  "feed the dog"). 
\ No newline at end of file
+ This command resets the watchdog timer AKA '**ping**", "**kick**", "**pet**",  "**feed**" the dog". 
+
+Enable Built in System Monitoring to reset the watchdog
+-------------------------------------------------------
+
+The auto-monitor provides an OS-internal mechanism to automatically start and repeatedly reset the watchdog.  
+
+To enable it, follow the next instructions:
+
+1. Select a Watchdog Timer Instance
+
+ To select the wdt browse in the ``menuconfig`` using the following path:
+
+ Go into menu :menuselection:`System Type --> <Chip> Peripheral Selection` and press :kbd:`Enter`. Then select one watchdog timer.
+
+2. Enable the Auto-monitor option
+
+ Go into menu :menuselection:`Device Drivers --> Timer Driver Support` and press :kbd:`Enter`. Then enable:
+
+ - [x] Watchdog Timer Support
+
+ Then press :kbd:`Enter` again to enter into the Watchdog Timer Support menu. And finally enable the Auto-monitor option:
+
+ - [x] Auto-monitor
+
+ After selecting the option you may want to configure some parameters:
+
+ * **Timeout**: It is the watchdog timer expiration time in seconds.
+ * **Keep a live interval**: This is the interval in which the watchdog will be fed. It is in seconds. It can't be bigger than the timeout. If this interval is equal to timeout interval, than this interval will automatically change to half timeout. 
+ * **Keep alive by**: This is a choice to determine who is going to feed the dog. There are 4 possible choices that are described as follows.
+
+ ``Capture callback``: This choice registers a watchdog timer callback to reset the watchdog every time it expires, i.e., on timeout. 
+
+ ``Timer callback``: This choice also uses a timer callback to reset the watchdog, but it will reset the watchdog every "keep a live interval".
+
+ ``Worker callback``:  This choice uses a Work Queue to reset the watchdog every "keep a live interval". This choice depends on having the Low or High Priority Work Queue enabled.
+ If only the High Priority Work Queue is enabled, this one will be used, otherwise Low Priority Work Queue is used. 
+ 
+ So, before enabling it, go into menu :menuselection:`RTOS Features --> Work queue support` and press :kbd:`Enter`.
+
+ - [x] Low priority (kernel) worker thread
+
+ ``Idle callback``: This choice sets an Idle callback to feed the dog. It depends on the PM module, because this callback is triggered by the PM state change. To enable it do the following:
+
+ Go into menu :menuselection:`Device Drivers` and enable:
+
+ - [x] Power Management Support
+ 
+After selecting one of these choices, the chip will keep itself alive by one of these options. 
diff --git a/content/docs/latest/components/drivers/character/index.html b/content/docs/latest/components/drivers/character/index.html
index 9f2a058..7a3d058 100644
--- a/content/docs/latest/components/drivers/character/index.html
+++ b/content/docs/latest/components/drivers/character/index.html
@@ -298,6 +298,7 @@ documented in the following paragraphs.</p>
 <li class="toctree-l2"><a class="reference internal" href="watchdog.html#enabling-the-watchdog-support-and-example-in-menuconfing">Enabling the Watchdog Support and Example in <code class="docutils literal notranslate"><span class="pre">menuconfing</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="watchdog.html#watchdog-timer-example">Watchdog Timer Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="watchdog.html#application-level-interface">Application Level Interface</a></li>
+<li class="toctree-l2"><a class="reference internal" href="watchdog.html#enable-built-in-system-monitoring-to-reset-the-watchdog">Enable Built in System Monitoring to reset the watchdog</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="keypad.html">Keyboard/Keypad Drivers</a></li>
diff --git a/content/docs/latest/components/drivers/character/watchdog.html b/content/docs/latest/components/drivers/character/watchdog.html
index cff2aea..c355d43 100644
--- a/content/docs/latest/components/drivers/character/watchdog.html
+++ b/content/docs/latest/components/drivers/character/watchdog.html
@@ -395,10 +395,55 @@ the dog will starve and the chip will trigger an interrupt or reset.</p>
 <dl class="c macro">
 <dt id="c.WDIOC_KEEPALIVE">
 <code class="sig-name descname">WDIOC_KEEPALIVE</code><a class="headerlink" href="#c.WDIOC_KEEPALIVE" title="Permalink to this definition">¶</a><br /></dt>
-<dd><p>This command resets the watchdog timer (“ping”,  “pet the dog”,  “feed the dog”).</p>
+<dd><p>This command resets the watchdog timer AKA ‘<strong>ping</strong>”, “<strong>kick</strong>”, “<strong>pet</strong>”,  “<strong>feed</strong>” the dog”.</p>
 </dd></dl>
 
 </div>
+<div class="section" id="enable-built-in-system-monitoring-to-reset-the-watchdog">
+<h2>Enable Built in System Monitoring to reset the watchdog<a class="headerlink" href="#enable-built-in-system-monitoring-to-reset-the-watchdog" title="Permalink to this headline">¶</a></h2>
+<p>The auto-monitor provides an OS-internal mechanism to automatically start and repeatedly reset the watchdog.</p>
+<p>To enable it, follow the next instructions:</p>
+<ol class="arabic simple">
+<li><p>Select a Watchdog Timer Instance</p></li>
+</ol>
+<blockquote>
+<div><p>To select the wdt browse in the <code class="docutils literal notranslate"><span class="pre">menuconfig</span></code> using the following path:</p>
+<p>Go into menu <span class="menuselection">System Type ‣ &lt;Chip&gt; Peripheral Selection</span> and press <kbd class="kbd docutils literal notranslate">Enter</kbd>. Then select one watchdog timer.</p>
+</div></blockquote>
+<ol class="arabic simple" start="2">
+<li><p>Enable the Auto-monitor option</p></li>
+</ol>
+<blockquote>
+<div><p>Go into menu <span class="menuselection">Device Drivers ‣ Timer Driver Support</span> and press <kbd class="kbd docutils literal notranslate">Enter</kbd>. Then enable:</p>
+<ul class="simple">
+<li><p>[x] Watchdog Timer Support</p></li>
+</ul>
+<p>Then press <kbd class="kbd docutils literal notranslate">Enter</kbd> again to enter into the Watchdog Timer Support menu. And finally enable the Auto-monitor option:</p>
+<ul class="simple">
+<li><p>[x] Auto-monitor</p></li>
+</ul>
+<p>After selecting the option you may want to configure some parameters:</p>
+<ul class="simple">
+<li><p><strong>Timeout</strong>: It is the watchdog timer expiration time in seconds.</p></li>
+<li><p><strong>Keep a live interval</strong>: This is the interval in which the watchdog will be fed. It is in seconds. It can’t be bigger than the timeout. If this interval is equal to timeout interval, than this interval will automatically change to half timeout.</p></li>
+<li><p><strong>Keep alive by</strong>: This is a choice to determine who is going to feed the dog. There are 4 possible choices that are described as follows.</p></li>
+</ul>
+<p><code class="docutils literal notranslate"><span class="pre">Capture</span> <span class="pre">callback</span></code>: This choice registers a watchdog timer callback to reset the watchdog every time it expires, i.e., on timeout.</p>
+<p><code class="docutils literal notranslate"><span class="pre">Timer</span> <span class="pre">callback</span></code>: This choice also uses a timer callback to reset the watchdog, but it will reset the watchdog every “keep a live interval”.</p>
+<p><code class="docutils literal notranslate"><span class="pre">Worker</span> <span class="pre">callback</span></code>:  This choice uses a Work Queue to reset the watchdog every “keep a live interval”. This choice depends on having the Low or High Priority Work Queue enabled.
+If only the High Priority Work Queue is enabled, this one will be used, otherwise Low Priority Work Queue is used.</p>
+<p>So, before enabling it, go into menu <span class="menuselection">RTOS Features ‣ Work queue support</span> and press <kbd class="kbd docutils literal notranslate">Enter</kbd>.</p>
+<ul class="simple">
+<li><p>[x] Low priority (kernel) worker thread</p></li>
+</ul>
+<p><code class="docutils literal notranslate"><span class="pre">Idle</span> <span class="pre">callback</span></code>: This choice sets an Idle callback to feed the dog. It depends on the PM module, because this callback is triggered by the PM state change. To enable it do the following:</p>
+<p>Go into menu <span class="menuselection">Device Drivers</span> and enable:</p>
+<ul class="simple">
+<li><p>[x] Power Management Support</p></li>
+</ul>
+</div></blockquote>
+<p>After selecting one of these choices, the chip will keep itself alive by one of these options.</p>
+</div>
 </div>
 
 
diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html
index 06b0361..144ec82 100644
--- a/content/docs/latest/index.html
+++ b/content/docs/latest/index.html
@@ -210,7 +210,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: 18 December 20 at 00:50</p>
+<p>Last Updated: 19 December 20 at 00:50</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/latest/objects.inv b/content/docs/latest/objects.inv
index 27eb676..5ed4918 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 4cb1299..b7d2646 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","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 [...]
\ 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","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 [...]
\ No newline at end of file
diff --git a/content/feed.xml b/content/feed.xml
index fae9e7b..59cafc8 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, 18 Dec 2020 00:52:21 +0000</pubDate>
-    <lastBuildDate>Fri, 18 Dec 2020 00:52:21 +0000</lastBuildDate>
+    <pubDate>Sat, 19 Dec 2020 00:51:51 +0000</pubDate>
+    <lastBuildDate>Sat, 19 Dec 2020 00:51:51 +0000</lastBuildDate>
     <generator>Jekyll v3.8.5</generator>
     
       <item>