http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/add_newtmgr/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/add_newtmgr/index.html 
b/develop/os/tutorials/add_newtmgr/index.html
index 72dbda5..5f79a91 100644
--- a/develop/os/tutorials/add_newtmgr/index.html
+++ b/develop/os/tutorials/add_newtmgr/index.html
@@ -10,7 +10,7 @@
         <link rel="canonical" 
href="http://mynewt.apache.org/os/tutorials/add_newtmgr/";> -->
         <link rel="shortcut icon" href="../../../img/favicon.ico">
 
-           <title>Enable newtmgr in any app - Apache Mynewt</title>
+           <title>Enable Newt Manager in any app - Apache Mynewt</title>
 
         <link href="../../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
         <link rel="stylesheet" href="../../../css/highlight.css">
@@ -41,7 +41,7 @@
     </head>
 
 
-    <body class="Enable newtmgr in any app">
+    <body class="Enable Newt Manager in any app">
 
 
         <div class="container">
@@ -313,7 +313,7 @@
               
                 
     <li class="active">
-      <a href="./">Enable newtmgr in any app</a>
+      <a href="./">Enable Newt Manager in any app</a>
     </li>
 
               
@@ -451,7 +451,7 @@
         
       
       
-        <li>&raquo; Enable newtmgr in any app</li>
+        <li>&raquo; Enable Newt Manager in any app</li>
       
     
     
@@ -459,59 +459,104 @@
 </div>
                         </div>
                         
-                            <h2 
id="enabling-newt-manager-newtmgr-in-a-project">Enabling Newt Manager (newtmgr) 
in a project</h2>
-<p><br></p>
-<p>This tutorial explains how to add the newtmgr task to a project so that you 
can interact with your project over newtmgr.</p>
+                            <h2 
id="enabling-newt-manager-in-your-application">Enabling Newt Manager in Your 
Application</h2>
+<p><br>
+In order for your application to communicate with the newtmgr tool and process 
Newt Manager commands, you must 
+enable Newt Manager device management and the support to process Newt Manager 
commands 
+in your application.  This tutorial explains how to add the support to your 
application.</p>
+<p>This tutorial assumes that you have read the <a 
href="../../../os/modules/devmgmt/newtmgr/">Device Management with Newt 
Manager</a>
+guide and are familiar with the <code>newtmgr</code> and <code>oicmgr</code> 
frameworks and all the options that are available 
+to customize your application.</p>
+<p>This tutorial shows you how to configure your application to:</p>
+<ul>
+<li>Use the newtmgr framework.</li>
+<li>Use serial transport to communicate with the newtmgr tool.</li>
+<li>Support all Newt Manager commands.</li>
+</ul>
+<p>See <a href="#other-configuration-options">Other Configuration Options</a> 
on how to customize your application.</p>
 <p><br></p>
-<h3 id="pre-requisites">Pre-Requisites</h3>
+<h3 id="prerequisites">Prerequisites</h3>
+<p>Ensure that you have met the following prerequisites before continuing with 
this tutorial:</p>
 <ul>
-<li>Ensure you have installed <a 
href="../../../newt/install/newt_mac/">newt</a> and that the 
-newt command is in your system path. </li>
-<li>Ensure that you have installed the newtmgr tool <a 
href="../../../newtmgr/installing/">newtmgr</a></li>
-<li>You must have Internet connectivity to fetch remote Mynewt components.</li>
-<li>You must <a href="../../get_started/native_tools/">install the compiler 
tools</a> to 
+<li>Installed the <a href="../../../newt/install/newt_mac/">newt tool</a>. 
</li>
+<li>Installed the <a href="../../../newtmgr/installing/">newtmgr tool</a>.</li>
+<li>Have Internet connectivity to fetch remote Mynewt components.</li>
+<li>Installed the <a href="../../get_started/native_tools/">compiler tools</a> 
to 
 support native compiling to build the project this tutorial creates.  </li>
-<li>You must install the <a 
href="https://www.segger.com/jlink-software.html";>Segger JLINK package</a> to 
load your project on the board.</li>
-<li>Cable to establish a serial USB connection between the board and the 
laptop</li>
+<li>Have a cable to establish a serial USB connection between the board and 
the laptop.</li>
 </ul>
 <p><br></p>
-<h3 id="use-an-existing-project">Use an existing project</h3>
-<p>Since all we're doing is adding newtmgr capability to a project, we assume 
that you have worked through at least some of the other tutorials, and have an 
existing project.
-For this example, we'll be modifying the <a 
href="../bletiny_project/">ble_tiny</a> project to enable newtmgr connectivity. 
We'll be calling our app myble as in that project as well. 
-Feel free to use whatever project you'd like though.</p>
-<p>The first thing you'll need to add is a new dependency for your app. In the 
repo for the bletiny app you'll need to add the following line to the pkg.yml 
file:</p>
-<div class="codehilite" style="background: #ffffff"><pre style="line-height: 
125%"> - libs/newtmgr
-</pre></div>
-
-
-<p>Now the application will know to pull in the newtmgr code.</p>
-<p><br></p>
-<h3 id="modify-the-source">Modify the source</h3>
-<p>First, you'll need to include the newtmgr header file:</p>
-<div class="codehilite" style="background: #ffffff"><pre style="line-height: 
125%">#include &lt;newtmgr/newtmgr.h&gt;
+<h3 id="use-an-existing-project">Use an Existing Project</h3>
+<p>We assume that you have worked through at least some of the other tutorials 
and have an existing project.
+In this example, we modify the <a href="../bletiny_project/">ble_tiny</a> 
project to enable Newt Manager support. 
+We call our application <code>myble</code>.  You can create the application 
using any name you choose. </p>
+<h3 id="modify-package-dependencies-and-configurations">Modify Package 
Dependencies and Configurations</h3>
+<p>Add the following packages to the <code>pkg.deps</code> parameter in your 
target or application <code>pkg.yml</code> file:</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 
125%">pkg.deps:
+    - mgmt/newtmgr
+    - mgmt/newtmgr/transport/nmgr_shell
+    - mgmt/imgmgr
+    - sys/log/full
+    - sys/stats/full
+    - sys/config
+    - test/crash_test
+    - test/runtest
 </pre></div>
 
 
-<p>Next, you'll need to declare a task for the newtmgr:</p>
-<div class="codehilite" style="background: #ffffff"><pre style="line-height: 
125%">#define NEWTMGR_TASK_PRIO (4)
-#define NEWTMGR_TASK_STACK_SIZE (OS_STACK_ALIGN(896))
-os_stack_t newtmgr_stack[NEWTMGR_TASK_STACK_SIZE];
+<p>Each package provides the following Newt Manager functionality:</p>
+<ul>
+<li><code>mgmt/newtmgr</code>: Supports the newtmgr framework and the 
+Newt Manager <code>echo</code>, <code>taskstats</code> <code>mpstats</code>, 
<code>datetime</code>, and <code>reset</code> commands.</li>
+<li><code>mgmt/newtmgr/transport/nmgr_shell</code>: Supports serial 
transport.</li>
+<li><code>mgmt/imgmgr</code>: Supports the <code>newtmgr image</code> command 
</li>
+<li><code>sys/log/full</code> : Supports the <code>newtmgr log</code> 
command.</li>
+<li><code>sys/stats/full</code>: Supports the <code>newtmgr stat</code> 
command. </li>
+<li><code>sys/config</code>: Supports the <code>newtmgr config</code> command. 
</li>
+<li><code>test/crash_test</code>: Supports the <code>newtmgr crash</code> 
command. </li>
+<li><code>test/runtest</code>: Supports the <code>newt run</code> command.</li>
+</ul>
+<p>Add the following configuration setting values to the 
<code>syscfg.vals</code> parameter in the target or 
+application <code>syscfg.yml</code> file:</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 
125%">syscfg.vals:
+    LOG_NEWTMGR: 1
+    STATS_NEWTMGR: 1
+    CONFIG_NEWTMGR: 1
+    CRASH_TEST_NEWTMGR: 1
+    RUNTEST_NEWTMGR: 1
+    SHELL_TASK: 1
 </pre></div>
 
 
-<p>Next you'll scroll down (way down) to the <code>main()</code> function and 
find the lines:</p>
-<div class="codehilite" style="background: #ffffff"><pre style="line-height: 
125%">rc = console_init(shell_console_rx_cb);
-assert(rc == 0);
+<p>The first five configuration settings enable support for the Newt Manager 
<code>log</code>, <code>stats</code>, <code>config</code>, <code>crash</code>, 
+and <code>run</code> commands. The <code>SHELL_TASK</code> setting enables the 
shell for serial transport.</p>
+<p>Note that you may need to override additional configuration settings that 
are specific to each package to customize the 
+package functionality.</p>
+<p><br></p>
+<h3 id="modify-the-source">Modify the Source</h3>
+<p>Your application must designate an event queue that the <code>mgmt</code> 
package uses to receive request events from 
+the newtmgr tool.  It must also initialize a task and implement the task 
handler to
+dispatch events from this queue.  The <code>mgmt</code> package executes and 
processes newtmgr 
+request events in the context of this task.  Your application, however, does 
+not need to create a dedicated event queue and task for this purpose and can 
use its default 
+event queue.  This example uses the application's default event queue.  </p>
+<p>The <code>mgmt</code> package exports the <code>void mgmt_evq_set(struct 
os_eventq *evq)</code> function that an application must call 
+to designate the event queue. Modify <code>main.c</code> to add this call as 
follows:</p>
+<p>Add the <code>mgmt/mgmt.h</code> header file: </p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 
125%">#include &lt;mgmt/mgmt.h&gt;
 </pre></div>
 
 
-<p>After those lines, add:</p>
-<div class="codehilite" style="background: #ffffff"><pre style="line-height: 
125%">nmgr_task_init(NEWTMGR_TASK_PRIO, newtmgr_stack, NEWTMGR_TASK_STACK_SIZE);
+<p>Add the call to designate the event queue. In the <code>main()</code> 
function,<br />
+scroll down to the <code>os_eventq_dflt_set(&amp;ble_tiny_evq)</code> function 
call and add the 
+following statement below it:</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 
125%">mgmt_eventq_set(&amp;ble_tiny_evq)
 </pre></div>
 
 
-<h3 id="build-targets">Build targets</h3>
-<p>Then build the two targets.</p>
+<p>The <code>mgmt_eventq_set()</code> function must be called after your 
application has initialized the event queue and task.</p>
+<h3 id="build-the-targets">Build the Targets</h3>
+<p>Build the two targets as follows:</p>
 <div class="codehilite" style="background: #ffffff"><pre style="line-height: 
125%">$ newt build nrf52_boot
 &lt;snip&gt;
 App successfully built: ./bin/nrf52_boot/apps/boot/boot.elf
@@ -525,35 +570,37 @@ Compiling os.c
 
 
 <p><br></p>
-<h3 id="create-the-app-image">Create the app image</h3>
-<p>Generate a signed application image for the <code>myble</code> target. The 
version number is arbitrary.</p>
+<h3 id="create-the-application-image">Create the Application Image</h3>
+<p>Generate a signed application image for the <code>myble</code> target. You 
can use any version number you choose.</p>
 <div class="codehilite" style="background: #ffffff"><pre style="line-height: 
125%">$ newt create-image myble 1.0.0
-App image succesfully generated: ./bin/makerbeacon/apps/bletiny/bletiny.img
+App image successfully generated: ./bin/makerbeacon/apps/bletiny/bletiny.img
 Build manifest: ./bin/makerbeacon/apps/bletiny/manifest.json
 </pre></div>
 
 
 <p><br></p>
-<h3 id="load-the-image">Load the image</h3>
-<p>Make sure the USB connector is in place and the power LED on the board is 
lit. Use the Power ON/OFF switch to reset the board after loading the image.</p>
+<h3 id="load-the-image">Load the Image</h3>
+<p>Ensure the USB connector is in place and the power LED on the board is lit. 
Turn the power switch on your board off, 
+then back on to reset the board after loading the image.</p>
 <div class="codehilite" style="background: #ffffff"><pre style="line-height: 
125%">$ newt load nrf52_boot
 $ newt load myble
 </pre></div>
 
 
+<h3 id="set-up-a-connection-profile">Set Up a Connection Profile</h3>
+<p>The newtmgr tool requires a connection profile in order to connect to your 
board. If you have not done so, 
+follow the <a href="../../../newtmgr/overview/">instructions</a> for setting 
up your connection profile.</p>
 <p><br></p>
-<h3 id="set-up-newtmgr-connection">Set up newtmgr connection</h3>
-<p>Newtmgr requires a connection profile in order to connect to your board. If 
you haven't yet, follow the <a 
href="../../../newtmgr/overview/">instructions</a> for setting up your 
connection profile.</p>
-<p><br></p>
-<h3 id="connecting-with-your-app">Connecting with your app</h3>
-<p>Once you have a connection profile set up, you can connect to your device 
with <code>newtmgr -c myconn &lt;command&gt;</code> to run commands agains your 
app. </p>
-<p>To test and make sure that newtmgr is working, try the echo command:</p>
+<h3 id="connecting-with-your-application">Connecting with Your Application</h3>
+<p>Once you have a connection profile set up, you can connect to your device 
with <code>newtmgr -c myconn &lt;command&gt;</code> to run commands in your 
application. </p>
+<p>Issue the <code>echo</code> command to ensure that your application is 
communicating with the newtmgr tool:</p>
 <div class="codehilite" style="background: #ffffff"><pre style="line-height: 
125%"># newtmgr -c myconn echo hello
-{&quot;r&quot;: &quot;hello&quot;}
+hello
 </pre></div>
 
 
-<p>Newtmgr wraped the response in valid JSON notation. Now let's look at some 
BLE stats using newtmgr:</p>
+<p>Test your application to ensure that it can process a Newt Manager command 
that is supported by a different package.
+Issue the <code>stat</code> command to see the BLE stats. </p>
 <div class="codehilite" style="background: #ffffff"><pre style="line-height: 
125%">newtmgr -c myconn stat ble_att
 Return Code = 0
 Stats Name: ble_att
@@ -565,44 +612,9 @@ Stats Name: ble_att
   read_group_type_rsp_tx: 0
   indicate_req_rx: 0
   find_type_value_rsp_tx: 0
-  read_mult_rsp_tx: 0
-  exec_write_req_rx: 0
-  exec_write_rsp_tx: 0
-  error_rsp_tx: 0
-  find_type_value_rsp_rx: 0
-  read_type_req_tx: 0
-  read_type_rsp_rx: 0
-  read_rsp_tx: 0
-  read_blob_req_tx: 0
-  mtu_req_tx: 0
-  read_req_tx: 0
-  read_blob_rsp_tx: 0
-  read_mult_req_rx: 0
-  write_req_tx: 0
-  prep_write_rsp_tx: 0
-  indicate_rsp_rx: 0
-  write_cmd_rx: 0
-  exec_write_rsp_rx: 0
-  find_info_req_rx: 0
-  mtu_rsp_rx: 0
-  prep_write_req_rx: 0
-  notify_req_rx: 0
-  read_group_type_rsp_rx: 0
-  prep_write_rsp_rx: 0
-  indicate_rsp_tx: 0
-  find_info_rsp_tx: 0
-  read_blob_req_rx: 0
-  read_group_type_req_rx: 0
-  write_cmd_tx: 0
-  mtu_req_rx: 0
-  read_mult_rsp_rx: 0
-  write_rsp_rx: 0
-  write_req_rx: 0
-  read_type_rsp_tx: 0
-  read_mult_req_tx: 0
-  error_rsp_rx: 0
-  find_info_rsp_rx: 0
-  find_type_value_req_tx: 0
+
+       ...
+
   read_req_rx: 0
   read_type_req_rx: 0
   notify_req_tx: 0
@@ -614,7 +626,55 @@ Stats Name: ble_att
 </pre></div>
 
 
-<p>Your application is now able to communicate via newtmgr!</p>
+<p>Your application is now able to communicate with the newtmgr tool.</p>
+<h3 id="other-configuration-options">Other Configuration Options</h3>
+<p>This section explains how to customize your application to use other Newt 
Manager protocol options.</p>
+<h4 id="newtmgr-framework-transport-protocol-options">Newtmgr Framework 
Transport Protocol Options</h4>
+<p>The newtmgr framework currently supports BLE and serial transport 
protocols. 
+To configure the transport protocols that are supported, modify the 
<code>pkg.yml</code> 
+and <code>syscfg.yml</code> files as follows:</p>
+<ul>
+<li>Add the <code>mgmt/newtmgr/transport/ble</code> package to 
<code>pkg.deps</code> parameter to enable BLE transport.</li>
+<li>Add the <code>mgmt/newtmgr/transport/nmgr_shell</code> package to 
+the <code>pkg.deps</code> parameter,  and add <code>SHELL_TASK: 1</code> to 
the <code>syscfg.vals</code> parameter to enable serial transport.</li>
+</ul>
+<p><br></p>
+<h4 id="oicmgr-framework-options">Oicmgr Framework Options</h4>
+<p>To use the oicmgr framework instead of the newtmgr framework, modify the 
<code>pkg.yml</code> and <code>syscfg.yml</code> files 
+as follows:</p>
+<ul>
+<li>Add the <code>mgmt/oicmgr</code> package (instead of the 
<code>mgmt/newtmgr</code> and <code>mgmt/newtmgr/transport</code> packages 
+as described previously) to the <code>pkg.deps</code> parameter.</li>
+<li>Add <code>OC_SERVER: 1</code> to the <code>syscfg.vals</code> 
parameter.</li>
+</ul>
+<p>Oicmgr supports the IP, serial, and BLE transport protocols.  To configure 
the transport protocols that are supported, 
+set the configuration setting values in the <code>syscfg.vals</code> parameter 
as follows:</p>
+<ul>
+<li>Add <code>OC_TRANSPORT_IP: 1</code> to enable IP transport. </li>
+<li>Add <code>OC_TRANSPORT_GATT: 1</code> to enable BLE transport.</li>
+<li>Add <code>OC_TRANSPORT_SERIAL: 1</code> and <code>SHELL_TASK: 1</code>  to 
enable serial transport.</li>
+</ul>
+<p><br></p>
+<h4 
id="customize-the-newt-manager-commands-that-your-application-supports">Customize
 the Newt Manager Commands that Your Application Supports</h4>
+<p>We recommend that you only enable support for the Newt Manager commands 
that your application uses 
+to reduce your application code size.  To configure the commands that are 
supported, set the configuration 
+setting values in the <code>syscfg.vals</code> parameter as follows:</p>
+<ul>
+<li>Add <code>LOG_NEWTMGR: 1</code> to enable support for the <code>newtmgr 
log</code> command.</li>
+<li>Add <code>STATS_NEWTMGR: 1</code> to enable support for the <code>newtmgr 
stat</code> command.</li>
+<li>Add <code>CONFIG_NEWTMGR: 1</code> to enable support for the <code>newtmgr 
config</code> command.</li>
+<li>Add <code>CRASH_TEST_NEWTMGR: 1</code> to enable support for the  
<code>newtmgr crash</code> command.</li>
+<li>Add <code>RUNTEST_NEWTMGR: 1</code> to enable support for the  
<code>newtmgr crash</code> command.</li>
+</ul>
+<p>Notes: </p>
+<ul>
+<li>When you enable Newt Manager support, using either the newtmgr or oicmgr 
framework, your application automatically 
+supports the Newt Manager <code>echo</code>, <code>taskstats</code>, 
<code>mpstats</code>, <code>datetime</code>, and <code>reset</code> commands.  
These 
+commands cannot be configured individually.</li>
+<li>The <code>mgmt/imgmgr</code> package does not provide a configuration 
setting to enable or disable support 
+for the <code>newtmgr image</code> command.  Do not specify the package in the 
<code>pkg.deps</code> parameter if 
+your device has limited flash memory and cannot support Over-The-Air (OTA) 
firmware upgrades.</li>
+</ul>
                         
                         <div class="row">
                             

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/add_shell/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/add_shell/index.html 
b/develop/os/tutorials/add_shell/index.html
index f7573d9..94bfead 100644
--- a/develop/os/tutorials/add_shell/index.html
+++ b/develop/os/tutorials/add_shell/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               
@@ -580,7 +580,7 @@ prompt on
     
     <a href=../add_newtmgr/>
         <span class="fa fa-arrow-left"></span>
-        Previous: Enable newtmgr in any app
+        Previous: Enable Newt Manager in any app
     </a>
     
     </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/air_quality_ble/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/air_quality_ble/index.html 
b/develop/os/tutorials/air_quality_ble/index.html
index eb6e190..6e4e65f 100644
--- a/develop/os/tutorials/air_quality_ble/index.html
+++ b/develop/os/tutorials/air_quality_ble/index.html
@@ -333,7 +333,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/air_quality_sensor/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/air_quality_sensor/index.html 
b/develop/os/tutorials/air_quality_sensor/index.html
index 485a896..6bf3abb 100644
--- a/develop/os/tutorials/air_quality_sensor/index.html
+++ b/develop/os/tutorials/air_quality_sensor/index.html
@@ -333,7 +333,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/arduino_zero/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/arduino_zero/index.html 
b/develop/os/tutorials/arduino_zero/index.html
index 3a1db2c..ab70812 100644
--- a/develop/os/tutorials/arduino_zero/index.html
+++ b/develop/os/tutorials/arduino_zero/index.html
@@ -376,7 +376,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/blehci_project/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/blehci_project/index.html 
b/develop/os/tutorials/blehci_project/index.html
index 103f0c9..6605938 100644
--- a/develop/os/tutorials/blehci_project/index.html
+++ b/develop/os/tutorials/blehci_project/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/bleprph/bleprph-adv/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/bleprph/bleprph-adv/index.html 
b/develop/os/tutorials/bleprph/bleprph-adv/index.html
index 4eddfaa..6a3733f 100644
--- a/develop/os/tutorials/bleprph/bleprph-adv/index.html
+++ b/develop/os/tutorials/bleprph/bleprph-adv/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/bleprph/bleprph-app/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/bleprph/bleprph-app/index.html 
b/develop/os/tutorials/bleprph/bleprph-app/index.html
index d2ba6a0..2698ec0 100644
--- a/develop/os/tutorials/bleprph/bleprph-app/index.html
+++ b/develop/os/tutorials/bleprph/bleprph-app/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/bleprph/bleprph-chr-access/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/bleprph/bleprph-chr-access/index.html 
b/develop/os/tutorials/bleprph/bleprph-chr-access/index.html
index 9f8731b..26d0bdd 100644
--- a/develop/os/tutorials/bleprph/bleprph-chr-access/index.html
+++ b/develop/os/tutorials/bleprph/bleprph-chr-access/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/bleprph/bleprph-gap-event/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/bleprph/bleprph-gap-event/index.html 
b/develop/os/tutorials/bleprph/bleprph-gap-event/index.html
index e2a1eae..70fddc8 100644
--- a/develop/os/tutorials/bleprph/bleprph-gap-event/index.html
+++ b/develop/os/tutorials/bleprph/bleprph-gap-event/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/bleprph/bleprph-intro/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/bleprph/bleprph-intro/index.html 
b/develop/os/tutorials/bleprph/bleprph-intro/index.html
index aa5ebf0..6a8b931 100644
--- a/develop/os/tutorials/bleprph/bleprph-intro/index.html
+++ b/develop/os/tutorials/bleprph/bleprph-intro/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/bleprph/bleprph-svc-reg/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/bleprph/bleprph-svc-reg/index.html 
b/develop/os/tutorials/bleprph/bleprph-svc-reg/index.html
index dc75a64..766fc0d 100644
--- a/develop/os/tutorials/bleprph/bleprph-svc-reg/index.html
+++ b/develop/os/tutorials/bleprph/bleprph-svc-reg/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/bletiny_project/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/bletiny_project/index.html 
b/develop/os/tutorials/bletiny_project/index.html
index d54c9d8..48a3c02 100644
--- a/develop/os/tutorials/bletiny_project/index.html
+++ b/develop/os/tutorials/bletiny_project/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/blinky_console/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/blinky_console/index.html 
b/develop/os/tutorials/blinky_console/index.html
index 30d7bca..c102d85 100644
--- a/develop/os/tutorials/blinky_console/index.html
+++ b/develop/os/tutorials/blinky_console/index.html
@@ -376,7 +376,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/blinky_primo/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/blinky_primo/index.html 
b/develop/os/tutorials/blinky_primo/index.html
index de900c0..f93e0ed 100644
--- a/develop/os/tutorials/blinky_primo/index.html
+++ b/develop/os/tutorials/blinky_primo/index.html
@@ -376,7 +376,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/blinky_sram_olimex/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/blinky_sram_olimex/index.html 
b/develop/os/tutorials/blinky_sram_olimex/index.html
index 69fc918..6208bf7 100644
--- a/develop/os/tutorials/blinky_sram_olimex/index.html
+++ b/develop/os/tutorials/blinky_sram_olimex/index.html
@@ -376,7 +376,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/event_queue/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/event_queue/index.html 
b/develop/os/tutorials/event_queue/index.html
index 84d18d9..a284cbf 100644
--- a/develop/os/tutorials/event_queue/index.html
+++ b/develop/os/tutorials/event_queue/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/ibeacon/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/ibeacon/index.html 
b/develop/os/tutorials/ibeacon/index.html
index 12776e3..1b6601f 100644
--- a/develop/os/tutorials/ibeacon/index.html
+++ b/develop/os/tutorials/ibeacon/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/nRF52/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/nRF52/index.html 
b/develop/os/tutorials/nRF52/index.html
index bc3d6ca..cc6b36a 100644
--- a/develop/os/tutorials/nRF52/index.html
+++ b/develop/os/tutorials/nRF52/index.html
@@ -376,7 +376,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/olimex/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/olimex/index.html 
b/develop/os/tutorials/olimex/index.html
index f1a102f..b923485 100644
--- a/develop/os/tutorials/olimex/index.html
+++ b/develop/os/tutorials/olimex/index.html
@@ -376,7 +376,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/pin-wheel-mods/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/pin-wheel-mods/index.html 
b/develop/os/tutorials/pin-wheel-mods/index.html
index c67e14e..dbd2f41 100644
--- a/develop/os/tutorials/pin-wheel-mods/index.html
+++ b/develop/os/tutorials/pin-wheel-mods/index.html
@@ -390,7 +390,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/project-slinky/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/project-slinky/index.html 
b/develop/os/tutorials/project-slinky/index.html
index b9d9982..387d0f8 100644
--- a/develop/os/tutorials/project-slinky/index.html
+++ b/develop/os/tutorials/project-slinky/index.html
@@ -333,7 +333,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/project-target-slinky/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/project-target-slinky/index.html 
b/develop/os/tutorials/project-target-slinky/index.html
index 2d8d272..826e618 100644
--- a/develop/os/tutorials/project-target-slinky/index.html
+++ b/develop/os/tutorials/project-target-slinky/index.html
@@ -333,7 +333,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               
@@ -659,7 +659,7 @@ $ newt load stm32_slinky
     <li class="pull-right">
     
     <a href=../add_newtmgr/>
-        Next: Enable newtmgr in any app
+        Next: Enable Newt Manager in any app
         <span class="fa fa-arrow-right"></span>
     </a>
     

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/repo/add_repos/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/repo/add_repos/index.html 
b/develop/os/tutorials/repo/add_repos/index.html
index 329b076..45ae791 100644
--- a/develop/os/tutorials/repo/add_repos/index.html
+++ b/develop/os/tutorials/repo/add_repos/index.html
@@ -335,7 +335,7 @@
               
                 
     <li >
-      <a href="../../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/repo/create_repo/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/repo/create_repo/index.html 
b/develop/os/tutorials/repo/create_repo/index.html
index 4c36f9c..5bb92cd 100644
--- a/develop/os/tutorials/repo/create_repo/index.html
+++ b/develop/os/tutorials/repo/create_repo/index.html
@@ -335,7 +335,7 @@
               
                 
     <li >
-      <a href="../../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/repo/upgrade_repo/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/repo/upgrade_repo/index.html 
b/develop/os/tutorials/repo/upgrade_repo/index.html
index 1fd9935..d721bf2 100644
--- a/develop/os/tutorials/repo/upgrade_repo/index.html
+++ b/develop/os/tutorials/repo/upgrade_repo/index.html
@@ -335,7 +335,7 @@
               
                 
     <li >
-      <a href="../../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/tasks_lesson/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/tasks_lesson/index.html 
b/develop/os/tutorials/tasks_lesson/index.html
index 9975cc9..7d2662b 100644
--- a/develop/os/tutorials/tasks_lesson/index.html
+++ b/develop/os/tutorials/tasks_lesson/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/tutorials/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/tutorials/index.html 
b/develop/os/tutorials/tutorials/index.html
index 050ca01..c82929d 100644
--- a/develop/os/tutorials/tutorials/index.html
+++ b/develop/os/tutorials/tutorials/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/unit_test/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/unit_test/index.html 
b/develop/os/tutorials/unit_test/index.html
index 76c3e0b..50f2a2b 100644
--- a/develop/os/tutorials/unit_test/index.html
+++ b/develop/os/tutorials/unit_test/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/os/tutorials/wi-fi_on_arduino/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/wi-fi_on_arduino/index.html 
b/develop/os/tutorials/wi-fi_on_arduino/index.html
index c0de83c..3173c75 100644
--- a/develop/os/tutorials/wi-fi_on_arduino/index.html
+++ b/develop/os/tutorials/wi-fi_on_arduino/index.html
@@ -313,7 +313,7 @@
               
                 
     <li >
-      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+      <a href="../add_newtmgr/">Enable Newt Manager in any app</a>
     </li>
 
               

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/develop/sitemap.xml
----------------------------------------------------------------------
diff --git a/develop/sitemap.xml b/develop/sitemap.xml
index 8d307ee..37caf7e 100644
--- a/develop/sitemap.xml
+++ b/develop/sitemap.xml
@@ -4,7 +4,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/</loc>
-     <lastmod>2017-01-25</lastmod>
+     <lastmod>2017-01-27</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -13,7 +13,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/pages/ble/</loc>
-     <lastmod>2017-01-25</lastmod>
+     <lastmod>2017-01-27</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -22,7 +22,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/quick-start/</loc>
-     <lastmod>2017-01-25</lastmod>
+     <lastmod>2017-01-27</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -30,7 +30,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/about/</loc>
-     <lastmod>2017-01-25</lastmod>
+     <lastmod>2017-01-27</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -38,7 +38,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/talks/</loc>
-     <lastmod>2017-01-25</lastmod>
+     <lastmod>2017-01-27</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -46,7 +46,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/download/</loc>
-     <lastmod>2017-01-25</lastmod>
+     <lastmod>2017-01-27</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -54,7 +54,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/community/</loc>
-     <lastmod>2017-01-25</lastmod>
+     <lastmod>2017-01-27</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -62,7 +62,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/events/</loc>
-     <lastmod>2017-01-25</lastmod>
+     <lastmod>2017-01-27</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -71,7 +71,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/os/introduction/</loc>
-     <lastmod>2017-01-25</lastmod>
+     <lastmod>2017-01-27</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -83,7 +83,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/os/get_started/vocabulary/</loc>
-     <lastmod>2017-01-25</lastmod>
+     <lastmod>2017-01-27</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -123,13 +123,13 @@
         
     <url>
      <loc>http://mynewt.apache.org/faq/how_to_edit_docs/</loc>
-     <lastmod>2017-01-25</lastmod>
+     <lastmod>2017-01-27</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/answers/</loc>
-     <lastmod>2017-01-25</lastmod>
+     <lastmod>2017-01-27</lastmod>
      <changefreq>daily</changefreq>
     </url>
         

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bbba187a/latest/mkdocs/search_index.json
----------------------------------------------------------------------
diff --git a/latest/mkdocs/search_index.json b/latest/mkdocs/search_index.json
index e28a9d0..06a549a 100644
--- a/latest/mkdocs/search_index.json
+++ b/latest/mkdocs/search_index.json
@@ -1497,53 +1497,78 @@
         }, 
         {
             "location": "/os/tutorials/add_newtmgr/", 
-            "text": "Enabling Newt Manager (newtmgr) in a 
project\n\n\n\n\nThis tutorial explains how to add the newtmgr task to a 
project so that you can interact with your project over 
newtmgr.\n\n\n\n\nPre-Requisites\n\n\n\n\nEnsure you have installed \nnewt\n 
and that the \nnewt command is in your system path. \n\n\nEnsure that you have 
installed the newtmgr tool \nnewtmgr\n\n\nYou must have Internet connectivity 
to fetch remote Mynewt components.\n\n\nYou must \ninstall the compiler tools\n 
to \nsupport native compiling to build the project this tutorial creates.  
\n\n\nYou must install the \nSegger JLINK package\n to load your project on the 
board.\n\n\nCable to establish a serial USB connection between the board and 
the laptop\n\n\n\n\n\n\nUse an existing project\n\n\nSince all we're doing is 
adding newtmgr capability to a project, we assume that you have worked through 
at least some of the other tutorials, and have an existing project.\nFor this 
example, we'll be modifying t
 he \nble_tiny\n project to enable newtmgr connectivity. We'll be calling our 
app myble as in that project as well. \nFeel free to use whatever project you'd 
like though.\n\n\nThe first thing you'll need to add is a new dependency for 
your app. In the repo for the bletiny app you'll need to add the following line 
to the pkg.yml file:\n\n\n - libs/newtmgr\n\n\n\n\n\nNow the application will 
know to pull in the newtmgr code.\n\n\n\n\nModify the source\n\n\nFirst, you'll 
need to include the newtmgr header file:\n\n\n#include 
\nnewtmgr/newtmgr.h\n\n\n\n\n\n\nNext, you'll need to declare a task for the 
newtmgr:\n\n\n#define NEWTMGR_TASK_PRIO (4)\n#define NEWTMGR_TASK_STACK_SIZE 
(OS_STACK_ALIGN(896))\nos_stack_t 
newtmgr_stack[NEWTMGR_TASK_STACK_SIZE];\n\n\n\n\n\nNext you'll scroll down (way 
down) to the \nmain()\n function and find the lines:\n\n\nrc = 
console_init(shell_console_rx_cb);\nassert(rc == 0);\n\n\n\n\n\nAfter those 
lines, add:\n\n\nnmgr_task_init(NEWTMGR_TASK_PRIO, newtmgr_stac
 k, NEWTMGR_TASK_STACK_SIZE);\n\n\n\n\n\nBuild targets\n\n\nThen build the two 
targets.\n\n\n$ newt build nrf52_boot\n\nsnip\n\nApp successfully built: 
./bin/nrf52_boot/apps/boot/boot.elf\n$ newt build myble\nCompiling 
hci_common.c\nCompiling util.c\nArchiving nimble.a\nCompiling 
os.c\n\nsnip\n\n\n\n\n\n\n\n\nCreate the app image\n\n\nGenerate a signed 
application image for the \nmyble\n target. The version number is 
arbitrary.\n\n\n$ newt create-image myble 1.0.0\nApp image succesfully 
generated: ./bin/makerbeacon/apps/bletiny/bletiny.img\nBuild manifest: 
./bin/makerbeacon/apps/bletiny/manifest.json\n\n\n\n\n\n\n\nLoad the 
image\n\n\nMake sure the USB connector is in place and the power LED on the 
board is lit. Use the Power ON/OFF switch to reset the board after loading the 
image.\n\n\n$ newt load nrf52_boot\n$ newt load myble\n\n\n\n\n\n\n\nSet up 
newtmgr connection\n\n\nNewtmgr requires a connection profile in order to 
connect to your board. If you haven't yet, follow the \ninstr
 uctions\n for setting up your connection profile.\n\n\n\n\nConnecting with 
your app\n\n\nOnce you have a connection profile set up, you can connect to 
your device with \nnewtmgr -c myconn \ncommand\n to run commands agains your 
app. \n\n\nTo test and make sure that newtmgr is working, try the echo 
command:\n\n\n# newtmgr -c myconn echo hello\n{\nr\n: 
\nhello\n}\n\n\n\n\n\nNewtmgr wraped the response in valid JSON notation. Now 
let's look at some BLE stats using newtmgr:\n\n\nnewtmgr -c myconn stat 
ble_att\nReturn Code = 0\nStats Name: ble_att\n  prep_write_req_tx: 0\n  
indicate_req_tx: 0\n  write_rsp_tx: 0\n  find_info_req_tx: 0\n  read_rsp_rx: 
0\n  read_group_type_rsp_tx: 0\n  indicate_req_rx: 0\n  find_type_value_rsp_tx: 
0\n  read_mult_rsp_tx: 0\n  exec_write_req_rx: 0\n  exec_write_rsp_tx: 0\n  
error_rsp_tx: 0\n  find_type_value_rsp_rx: 0\n  read_type_req_tx: 0\n  
read_type_rsp_rx: 0\n  read_rsp_tx: 0\n  read_blob_req_tx: 0\n  mtu_req_tx: 0\n 
 read_req_tx: 0\n  read_blob_rsp_tx: 
 0\n  read_mult_req_rx: 0\n  write_req_tx: 0\n  prep_write_rsp_tx: 0\n  
indicate_rsp_rx: 0\n  write_cmd_rx: 0\n  exec_write_rsp_rx: 0\n  
find_info_req_rx: 0\n  mtu_rsp_rx: 0\n  prep_write_req_rx: 0\n  notify_req_rx: 
0\n  read_group_type_rsp_rx: 0\n  prep_write_rsp_rx: 0\n  indicate_rsp_tx: 0\n  
find_info_rsp_tx: 0\n  read_blob_req_rx: 0\n  read_group_type_req_rx: 0\n  
write_cmd_tx: 0\n  mtu_req_rx: 0\n  read_mult_rsp_rx: 0\n  write_rsp_rx: 0\n  
write_req_rx: 0\n  read_type_rsp_tx: 0\n  read_mult_req_tx: 0\n  error_rsp_rx: 
0\n  find_info_rsp_rx: 0\n  find_type_value_req_tx: 0\n  read_req_rx: 0\n  
read_type_req_rx: 0\n  notify_req_tx: 0\n  mtu_rsp_tx: 0\n  
find_type_value_req_rx: 0\n  read_blob_rsp_rx: 0\n  read_group_type_req_tx: 0\n 
 exec_write_req_tx: 0\n\n\n\n\n\nYour application is now able to communicate 
via newtmgr!", 
-            "title": "Enable newtmgr in any app"
+            "text": "Enabling Newt Manager in Your Application\n\n\n\nIn order 
for your application to communicate with the newtmgr tool and process Newt 
Manager commands, you must \nenable Newt Manager device management and the 
support to process Newt Manager commands \nin your application.  This tutorial 
explains how to add the support to your application.\n\n\nThis tutorial assumes 
that you have read the \nDevice Management with Newt Manager\n\nguide and are 
familiar with the \nnewtmgr\n and \noicmgr\n frameworks and all the options 
that are available \nto customize your application.\n\n\nThis tutorial shows 
you how to configure your application to:\n\n\n\n\nUse the newtmgr 
framework.\n\n\nUse serial transport to communicate with the newtmgr 
tool.\n\n\nSupport all Newt Manager commands.\n\n\n\n\nSee \nOther 
Configuration Options\n on how to customize your 
application.\n\n\n\n\nPrerequisites\n\n\nEnsure that you have met the following 
prerequisites before continuing with this tuto
 rial:\n\n\n\n\nInstalled the \nnewt tool\n. \n\n\nInstalled the \nnewtmgr 
tool\n.\n\n\nHave Internet connectivity to fetch remote Mynewt 
components.\n\n\nInstalled the \ncompiler tools\n to \nsupport native compiling 
to build the project this tutorial creates.  \n\n\nHave a cable to establish a 
serial USB connection between the board and the laptop.\n\n\n\n\n\n\nUse an 
Existing Project\n\n\nWe assume that you have worked through at least some of 
the other tutorials and have an existing project.\nIn this example, we modify 
the \nble_tiny\n project to enable Newt Manager support. \nWe call our 
application \nmyble\n.  You can create the application using any name you 
choose. \n\n\nModify Package Dependencies and Configurations\n\n\nAdd the 
following packages to the \npkg.deps\n parameter in your target or application 
\npkg.yml\n file:\n\n\npkg.deps:\n    - mgmt/newtmgr\n    - 
mgmt/newtmgr/transport/nmgr_shell\n    - mgmt/imgmgr\n    - sys/log/full\n    - 
sys/stats/full\n    - sys/confi
 g\n    - test/crash_test\n    - test/runtest\n\n\n\n\n\nEach package provides 
the following Newt Manager functionality:\n\n\n\n\nmgmt/newtmgr\n: Supports the 
newtmgr framework and the \nNewt Manager \necho\n, \ntaskstats\n \nmpstats\n, 
\ndatetime\n, and \nreset\n commands.\n\n\nmgmt/newtmgr/transport/nmgr_shell\n: 
Supports serial transport.\n\n\nmgmt/imgmgr\n: Supports the \nnewtmgr image\n 
command \n\n\nsys/log/full\n : Supports the \nnewtmgr log\n 
command.\n\n\nsys/stats/full\n: Supports the \nnewtmgr stat\n command. 
\n\n\nsys/config\n: Supports the \nnewtmgr config\n command. 
\n\n\ntest/crash_test\n: Supports the \nnewtmgr crash\n command. 
\n\n\ntest/runtest\n: Supports the \nnewt run\n command.\n\n\n\n\nAdd the 
following configuration setting values to the \nsyscfg.vals\n parameter in the 
target or \napplication \nsyscfg.yml\n file:\n\n\nsyscfg.vals:\n    
LOG_NEWTMGR: 1\n    STATS_NEWTMGR: 1\n    CONFIG_NEWTMGR: 1\n    
CRASH_TEST_NEWTMGR: 1\n    RUNTEST_NEWTMGR: 1\n    SHELL_TAS
 K: 1\n\n\n\n\n\nThe first five configuration settings enable support for the 
Newt Manager \nlog\n, \nstats\n, \nconfig\n, \ncrash\n, \nand \nrun\n commands. 
The \nSHELL_TASK\n setting enables the shell for serial transport.\n\n\nNote 
that you may need to override additional configuration settings that are 
specific to each package to customize the \npackage 
functionality.\n\n\n\n\nModify the Source\n\n\nYour application must designate 
an event queue that the \nmgmt\n package uses to receive request events from 
\nthe newtmgr tool.  It must also initialize a task and implement the task 
handler to\ndispatch events from this queue.  The \nmgmt\n package executes and 
processes newtmgr \nrequest events in the context of this task.  Your 
application, however, does \nnot need to create a dedicated event queue and 
task for this purpose and can use its default \nevent queue.  This example uses 
the application's default event queue.  \n\n\nThe \nmgmt\n package exports the 
\nvoid mgmt_evq_set(st
 ruct os_eventq *evq)\n function that an application must call \nto designate 
the event queue. Modify \nmain.c\n to add this call as follows:\n\n\nAdd the 
\nmgmt/mgmt.h\n header file: \n\n\n#include \nmgmt/mgmt.h\n\n\n\n\n\n\nAdd the 
call to designate the event queue. In the \nmain()\n function,\n\nscroll down 
to the \nos_eventq_dflt_set(\nble_tiny_evq)\n function call and add the 
\nfollowing statement below 
it:\n\n\nmgmt_eventq_set(\nble_tiny_evq)\n\n\n\n\n\nThe \nmgmt_eventq_set()\n 
function must be called after your application has initialized the event queue 
and task.\n\n\nBuild the Targets\n\n\nBuild the two targets as follows:\n\n\n$ 
newt build nrf52_boot\n\nsnip\n\nApp successfully built: 
./bin/nrf52_boot/apps/boot/boot.elf\n$ newt build myble\nCompiling 
hci_common.c\nCompiling util.c\nArchiving nimble.a\nCompiling 
os.c\n\nsnip\n\n\n\n\n\n\n\n\nCreate the Application Image\n\n\nGenerate a 
signed application image for the \nmyble\n target. You can use any version 
number you cho
 ose.\n\n\n$ newt create-image myble 1.0.0\nApp image successfully generated: 
./bin/makerbeacon/apps/bletiny/bletiny.img\nBuild manifest: 
./bin/makerbeacon/apps/bletiny/manifest.json\n\n\n\n\n\n\n\nLoad the 
Image\n\n\nEnsure the USB connector is in place and the power LED on the board 
is lit. Turn the power switch on your board off, \nthen back on to reset the 
board after loading the image.\n\n\n$ newt load nrf52_boot\n$ newt load 
myble\n\n\n\n\n\nSet Up a Connection Profile\n\n\nThe newtmgr tool requires a 
connection profile in order to connect to your board. If you have not done so, 
\nfollow the \ninstructions\n for setting up your connection 
profile.\n\n\n\n\nConnecting with Your Application\n\n\nOnce you have a 
connection profile set up, you can connect to your device with \nnewtmgr -c 
myconn \ncommand\n to run commands in your application. \n\n\nIssue the 
\necho\n command to ensure that your application is communicating with the 
newtmgr tool:\n\n\n# newtmgr -c myconn echo hello\
 nhello\n\n\n\n\n\nTest your application to ensure that it can process a Newt 
Manager command that is supported by a different package.\nIssue the \nstat\n 
command to see the BLE stats. \n\n\nnewtmgr -c myconn stat ble_att\nReturn Code 
= 0\nStats Name: ble_att\n  prep_write_req_tx: 0\n  indicate_req_tx: 0\n  
write_rsp_tx: 0\n  find_info_req_tx: 0\n  read_rsp_rx: 0\n  
read_group_type_rsp_tx: 0\n  indicate_req_rx: 0\n  find_type_value_rsp_tx: 
0\n\n       ...\n\n  read_req_rx: 0\n  read_type_req_rx: 0\n  notify_req_tx: 
0\n  mtu_rsp_tx: 0\n  find_type_value_req_rx: 0\n  read_blob_rsp_rx: 0\n  
read_group_type_req_tx: 0\n  exec_write_req_tx: 0\n\n\n\n\n\nYour application 
is now able to communicate with the newtmgr tool.\n\n\nOther Configuration 
Options\n\n\nThis section explains how to customize your application to use 
other Newt Manager protocol options.\n\n\nNewtmgr Framework Transport Protocol 
Options\n\n\nThe newtmgr framework currently supports BLE and serial transport 
protocols. \nTo
  configure the transport protocols that are supported, modify the \npkg.yml\n 
\nand \nsyscfg.yml\n files as follows:\n\n\n\n\nAdd the 
\nmgmt/newtmgr/transport/ble\n package to \npkg.deps\n parameter to enable BLE 
transport.\n\n\nAdd the \nmgmt/newtmgr/transport/nmgr_shell\n package to \nthe 
\npkg.deps\n parameter,  and add \nSHELL_TASK: 1\n to the \nsyscfg.vals\n 
parameter to enable serial transport.\n\n\n\n\n\n\nOicmgr Framework 
Options\n\n\nTo use the oicmgr framework instead of the newtmgr framework, 
modify the \npkg.yml\n and \nsyscfg.yml\n files \nas follows:\n\n\n\n\nAdd the 
\nmgmt/oicmgr\n package (instead of the \nmgmt/newtmgr\n and 
\nmgmt/newtmgr/transport\n packages \nas described previously) to the 
\npkg.deps\n parameter.\n\n\nAdd \nOC_SERVER: 1\n to the \nsyscfg.vals\n 
parameter.\n\n\n\n\nOicmgr supports the IP, serial, and BLE transport 
protocols.  To configure the transport protocols that are supported, \nset the 
configuration setting values in the \nsyscfg.vals\n para
 meter as follows:\n\n\n\n\nAdd \nOC_TRANSPORT_IP: 1\n to enable IP transport. 
\n\n\nAdd \nOC_TRANSPORT_GATT: 1\n to enable BLE transport.\n\n\nAdd 
\nOC_TRANSPORT_SERIAL: 1\n and \nSHELL_TASK: 1\n  to enable serial 
transport.\n\n\n\n\n\n\nCustomize the Newt Manager Commands that Your 
Application Supports\n\n\nWe recommend that you only enable support for the 
Newt Manager commands that your application uses \nto reduce your application 
code size.  To configure the commands that are supported, set the configuration 
\nsetting values in the \nsyscfg.vals\n parameter as follows:\n\n\n\n\nAdd 
\nLOG_NEWTMGR: 1\n to enable support for the \nnewtmgr log\n command.\n\n\nAdd 
\nSTATS_NEWTMGR: 1\n to enable support for the \nnewtmgr stat\n 
command.\n\n\nAdd \nCONFIG_NEWTMGR: 1\n to enable support for the \nnewtmgr 
config\n command.\n\n\nAdd \nCRASH_TEST_NEWTMGR: 1\n to enable support for the  
\nnewtmgr crash\n command.\n\n\nAdd \nRUNTEST_NEWTMGR: 1\n to enable support 
for the  \nnewtmgr crash\n c
 ommand.\n\n\n\n\nNotes: \n\n\n\n\nWhen you enable Newt Manager support, using 
either the newtmgr or oicmgr framework, your application automatically 
\nsupports the Newt Manager \necho\n, \ntaskstats\n, \nmpstats\n, \ndatetime\n, 
and \nreset\n commands.  These \ncommands cannot be configured 
individually.\n\n\nThe \nmgmt/imgmgr\n package does not provide a configuration 
setting to enable or disable support \nfor the \nnewtmgr image\n command.  Do 
not specify the package in the \npkg.deps\n parameter if \nyour device has 
limited flash memory and cannot support Over-The-Air (OTA) firmware upgrades.", 
+            "title": "Enable Newt Manager in any app"
         }, 
         {
-            "location": 
"/os/tutorials/add_newtmgr/#enabling-newt-manager-newtmgr-in-a-project", 
-            "text": "This tutorial explains how to add the newtmgr task to a 
project so that you can interact with your project over newtmgr.", 
-            "title": "Enabling Newt Manager (newtmgr) in a project"
+            "location": 
"/os/tutorials/add_newtmgr/#enabling-newt-manager-in-your-application", 
+            "text": "In order for your application to communicate with the 
newtmgr tool and process Newt Manager commands, you must \nenable Newt Manager 
device management and the support to process Newt Manager commands \nin your 
application.  This tutorial explains how to add the support to your 
application.  This tutorial assumes that you have read the  Device Management 
with Newt Manager \nguide and are familiar with the  newtmgr  and  oicmgr  
frameworks and all the options that are available \nto customize your 
application.  This tutorial shows you how to configure your application to:   
Use the newtmgr framework.  Use serial transport to communicate with the 
newtmgr tool.  Support all Newt Manager commands.   See  Other Configuration 
Options  on how to customize your application.", 
+            "title": "Enabling Newt Manager in Your Application"
         }, 
         {
-            "location": "/os/tutorials/add_newtmgr/#pre-requisites", 
-            "text": "Ensure you have installed  newt  and that the \nnewt 
command is in your system path.   Ensure that you have installed the newtmgr 
tool  newtmgr  You must have Internet connectivity to fetch remote Mynewt 
components.  You must  install the compiler tools  to \nsupport native 
compiling to build the project this tutorial creates.    You must install the  
Segger JLINK package  to load your project on the board.  Cable to establish a 
serial USB connection between the board and the laptop", 
-            "title": "Pre-Requisites"
+            "location": "/os/tutorials/add_newtmgr/#prerequisites", 
+            "text": "Ensure that you have met the following prerequisites 
before continuing with this tutorial:   Installed the  newt tool .   Installed 
the  newtmgr tool .  Have Internet connectivity to fetch remote Mynewt 
components.  Installed the  compiler tools  to \nsupport native compiling to 
build the project this tutorial creates.    Have a cable to establish a serial 
USB connection between the board and the laptop.", 
+            "title": "Prerequisites"
         }, 
         {
             "location": "/os/tutorials/add_newtmgr/#use-an-existing-project", 
-            "text": "Since all we're doing is adding newtmgr capability to a 
project, we assume that you have worked through at least some of the other 
tutorials, and have an existing project.\nFor this example, we'll be modifying 
the  ble_tiny  project to enable newtmgr connectivity. We'll be calling our app 
myble as in that project as well. \nFeel free to use whatever project you'd 
like though.  The first thing you'll need to add is a new dependency for your 
app. In the repo for the bletiny app you'll need to add the following line to 
the pkg.yml file:   - libs/newtmgr  Now the application will know to pull in 
the newtmgr code.", 
-            "title": "Use an existing project"
+            "text": "We assume that you have worked through at least some of 
the other tutorials and have an existing project.\nIn this example, we modify 
the  ble_tiny  project to enable Newt Manager support. \nWe call our 
application  myble .  You can create the application using any name you 
choose.", 
+            "title": "Use an Existing Project"
+        }, 
+        {
+            "location": 
"/os/tutorials/add_newtmgr/#modify-package-dependencies-and-configurations", 
+            "text": "Add the following packages to the  pkg.deps  parameter in 
your target or application  pkg.yml  file:  pkg.deps:\n    - mgmt/newtmgr\n    
- mgmt/newtmgr/transport/nmgr_shell\n    - mgmt/imgmgr\n    - sys/log/full\n    
- sys/stats/full\n    - sys/config\n    - test/crash_test\n    - test/runtest  
Each package provides the following Newt Manager functionality:   mgmt/newtmgr 
: Supports the newtmgr framework and the \nNewt Manager  echo ,  taskstats   
mpstats ,  datetime , and  reset  commands.  mgmt/newtmgr/transport/nmgr_shell 
: Supports serial transport.  mgmt/imgmgr : Supports the  newtmgr image  
command   sys/log/full  : Supports the  newtmgr log  command.  sys/stats/full : 
Supports the  newtmgr stat  command.   sys/config : Supports the  newtmgr 
config  command.   test/crash_test : Supports the  newtmgr crash  command.   
test/runtest : Supports the  newt run  command.   Add the following 
configuration setting values to the  syscfg.vals  parameter in the target
  or \napplication  syscfg.yml  file:  syscfg.vals:\n    LOG_NEWTMGR: 1\n    
STATS_NEWTMGR: 1\n    CONFIG_NEWTMGR: 1\n    CRASH_TEST_NEWTMGR: 1\n    
RUNTEST_NEWTMGR: 1\n    SHELL_TASK: 1  The first five configuration settings 
enable support for the Newt Manager  log ,  stats ,  config ,  crash , \nand  
run  commands. The  SHELL_TASK  setting enables the shell for serial transport. 
 Note that you may need to override additional configuration settings that are 
specific to each package to customize the \npackage functionality.", 
+            "title": "Modify Package Dependencies and Configurations"
         }, 
         {
             "location": "/os/tutorials/add_newtmgr/#modify-the-source", 
-            "text": "First, you'll need to include the newtmgr header file:  
#include  newtmgr/newtmgr.h   Next, you'll need to declare a task for the 
newtmgr:  #define NEWTMGR_TASK_PRIO (4)\n#define NEWTMGR_TASK_STACK_SIZE 
(OS_STACK_ALIGN(896))\nos_stack_t newtmgr_stack[NEWTMGR_TASK_STACK_SIZE];  Next 
you'll scroll down (way down) to the  main()  function and find the lines:  rc 
= console_init(shell_console_rx_cb);\nassert(rc == 0);  After those lines, add: 
 nmgr_task_init(NEWTMGR_TASK_PRIO, newtmgr_stack, NEWTMGR_TASK_STACK_SIZE);", 
-            "title": "Modify the source"
+            "text": "Your application must designate an event queue that the  
mgmt  package uses to receive request events from \nthe newtmgr tool.  It must 
also initialize a task and implement the task handler to\ndispatch events from 
this queue.  The  mgmt  package executes and processes newtmgr \nrequest events 
in the context of this task.  Your application, however, does \nnot need to 
create a dedicated event queue and task for this purpose and can use its 
default \nevent queue.  This example uses the application's default event 
queue.    The  mgmt  package exports the  void mgmt_evq_set(struct os_eventq 
*evq)  function that an application must call \nto designate the event queue. 
Modify  main.c  to add this call as follows:  Add the  mgmt/mgmt.h  header 
file:   #include  mgmt/mgmt.h   Add the call to designate the event queue. In 
the  main()  function, \nscroll down to the  os_eventq_dflt_set( ble_tiny_evq)  
function call and add the \nfollowing statement below it:  mgmt_eventq
 _set( ble_tiny_evq)  The  mgmt_eventq_set()  function must be called after 
your application has initialized the event queue and task.", 
+            "title": "Modify the Source"
         }, 
         {
-            "location": "/os/tutorials/add_newtmgr/#build-targets", 
-            "text": "Then build the two targets.  $ newt build nrf52_boot snip 
\nApp successfully built: ./bin/nrf52_boot/apps/boot/boot.elf\n$ newt build 
myble\nCompiling hci_common.c\nCompiling util.c\nArchiving nimble.a\nCompiling 
os.c snip", 
-            "title": "Build targets"
+            "location": "/os/tutorials/add_newtmgr/#build-the-targets", 
+            "text": "Build the two targets as follows:  $ newt build 
nrf52_boot snip \nApp successfully built: 
./bin/nrf52_boot/apps/boot/boot.elf\n$ newt build myble\nCompiling 
hci_common.c\nCompiling util.c\nArchiving nimble.a\nCompiling os.c snip", 
+            "title": "Build the Targets"
         }, 
         {
-            "location": "/os/tutorials/add_newtmgr/#create-the-app-image", 
-            "text": "Generate a signed application image for the  myble  
target. The version number is arbitrary.  $ newt create-image myble 1.0.0\nApp 
image succesfully generated: ./bin/makerbeacon/apps/bletiny/bletiny.img\nBuild 
manifest: ./bin/makerbeacon/apps/bletiny/manifest.json", 
-            "title": "Create the app image"
+            "location": 
"/os/tutorials/add_newtmgr/#create-the-application-image", 
+            "text": "Generate a signed application image for the  myble  
target. You can use any version number you choose.  $ newt create-image myble 
1.0.0\nApp image successfully generated: 
./bin/makerbeacon/apps/bletiny/bletiny.img\nBuild manifest: 
./bin/makerbeacon/apps/bletiny/manifest.json", 
+            "title": "Create the Application Image"
         }, 
         {
             "location": "/os/tutorials/add_newtmgr/#load-the-image", 
-            "text": "Make sure the USB connector is in place and the power LED 
on the board is lit. Use the Power ON/OFF switch to reset the board after 
loading the image.  $ newt load nrf52_boot\n$ newt load myble", 
-            "title": "Load the image"
+            "text": "Ensure the USB connector is in place and the power LED on 
the board is lit. Turn the power switch on your board off, \nthen back on to 
reset the board after loading the image.  $ newt load nrf52_boot\n$ newt load 
myble", 
+            "title": "Load the Image"
         }, 
         {
-            "location": 
"/os/tutorials/add_newtmgr/#set-up-newtmgr-connection", 
-            "text": "Newtmgr requires a connection profile in order to connect 
to your board. If you haven't yet, follow the  instructions  for setting up 
your connection profile.", 
-            "title": "Set up newtmgr connection"
+            "location": 
"/os/tutorials/add_newtmgr/#set-up-a-connection-profile", 
+            "text": "The newtmgr tool requires a connection profile in order 
to connect to your board. If you have not done so, \nfollow the  instructions  
for setting up your connection profile.", 
+            "title": "Set Up a Connection Profile"
         }, 
         {
-            "location": "/os/tutorials/add_newtmgr/#connecting-with-your-app", 
-            "text": "Once you have a connection profile set up, you can 
connect to your device with  newtmgr -c myconn  command  to run commands agains 
your app.   To test and make sure that newtmgr is working, try the echo 
command:  # newtmgr -c myconn echo hello\n{ r :  hello }  Newtmgr wraped the 
response in valid JSON notation. Now let's look at some BLE stats using 
newtmgr:  newtmgr -c myconn stat ble_att\nReturn Code = 0\nStats Name: 
ble_att\n  prep_write_req_tx: 0\n  indicate_req_tx: 0\n  write_rsp_tx: 0\n  
find_info_req_tx: 0\n  read_rsp_rx: 0\n  read_group_type_rsp_tx: 0\n  
indicate_req_rx: 0\n  find_type_value_rsp_tx: 0\n  read_mult_rsp_tx: 0\n  
exec_write_req_rx: 0\n  exec_write_rsp_tx: 0\n  error_rsp_tx: 0\n  
find_type_value_rsp_rx: 0\n  read_type_req_tx: 0\n  read_type_rsp_rx: 0\n  
read_rsp_tx: 0\n  read_blob_req_tx: 0\n  mtu_req_tx: 0\n  read_req_tx: 0\n  
read_blob_rsp_tx: 0\n  read_mult_req_rx: 0\n  write_req_tx: 0\n  
prep_write_rsp_tx: 0\n  indicate_rsp_rx: 0\n  writ
 e_cmd_rx: 0\n  exec_write_rsp_rx: 0\n  find_info_req_rx: 0\n  mtu_rsp_rx: 0\n  
prep_write_req_rx: 0\n  notify_req_rx: 0\n  read_group_type_rsp_rx: 0\n  
prep_write_rsp_rx: 0\n  indicate_rsp_tx: 0\n  find_info_rsp_tx: 0\n  
read_blob_req_rx: 0\n  read_group_type_req_rx: 0\n  write_cmd_tx: 0\n  
mtu_req_rx: 0\n  read_mult_rsp_rx: 0\n  write_rsp_rx: 0\n  write_req_rx: 0\n  
read_type_rsp_tx: 0\n  read_mult_req_tx: 0\n  error_rsp_rx: 0\n  
find_info_rsp_rx: 0\n  find_type_value_req_tx: 0\n  read_req_rx: 0\n  
read_type_req_rx: 0\n  notify_req_tx: 0\n  mtu_rsp_tx: 0\n  
find_type_value_req_rx: 0\n  read_blob_rsp_rx: 0\n  read_group_type_req_tx: 0\n 
 exec_write_req_tx: 0  Your application is now able to communicate via 
newtmgr!", 
-            "title": "Connecting with your app"
+            "location": 
"/os/tutorials/add_newtmgr/#connecting-with-your-application", 
+            "text": "Once you have a connection profile set up, you can 
connect to your device with  newtmgr -c myconn  command  to run commands in 
your application.   Issue the  echo  command to ensure that your application is 
communicating with the newtmgr tool:  # newtmgr -c myconn echo hello\nhello  
Test your application to ensure that it can process a Newt Manager command that 
is supported by a different package.\nIssue the  stat  command to see the BLE 
stats.   newtmgr -c myconn stat ble_att\nReturn Code = 0\nStats Name: ble_att\n 
 prep_write_req_tx: 0\n  indicate_req_tx: 0\n  write_rsp_tx: 0\n  
find_info_req_tx: 0\n  read_rsp_rx: 0\n  read_group_type_rsp_tx: 0\n  
indicate_req_rx: 0\n  find_type_value_rsp_tx: 0\n\n       ...\n\n  read_req_rx: 
0\n  read_type_req_rx: 0\n  notify_req_tx: 0\n  mtu_rsp_tx: 0\n  
find_type_value_req_rx: 0\n  read_blob_rsp_rx: 0\n  read_group_type_req_tx: 0\n 
 exec_write_req_tx: 0  Your application is now able to communicate with the 
newtmgr tool.", 
+            "title": "Connecting with Your Application"
+        }, 
+        {
+            "location": 
"/os/tutorials/add_newtmgr/#other-configuration-options", 
+            "text": "This section explains how to customize your application 
to use other Newt Manager protocol options.", 
+            "title": "Other Configuration Options"
+        }, 
+        {
+            "location": 
"/os/tutorials/add_newtmgr/#newtmgr-framework-transport-protocol-options", 
+            "text": "The newtmgr framework currently supports BLE and serial 
transport protocols. \nTo configure the transport protocols that are supported, 
modify the  pkg.yml  \nand  syscfg.yml  files as follows:   Add the  
mgmt/newtmgr/transport/ble  package to  pkg.deps  parameter to enable BLE 
transport.  Add the  mgmt/newtmgr/transport/nmgr_shell  package to \nthe  
pkg.deps  parameter,  and add  SHELL_TASK: 1  to the  syscfg.vals  parameter to 
enable serial transport.", 
+            "title": "Newtmgr Framework Transport Protocol Options"
+        }, 
+        {
+            "location": "/os/tutorials/add_newtmgr/#oicmgr-framework-options", 
+            "text": "To use the oicmgr framework instead of the newtmgr 
framework, modify the  pkg.yml  and  syscfg.yml  files \nas follows:   Add the  
mgmt/oicmgr  package (instead of the  mgmt/newtmgr  and  mgmt/newtmgr/transport 
 packages \nas described previously) to the  pkg.deps  parameter.  Add  
OC_SERVER: 1  to the  syscfg.vals  parameter.   Oicmgr supports the IP, serial, 
and BLE transport protocols.  To configure the transport protocols that are 
supported, \nset the configuration setting values in the  syscfg.vals  
parameter as follows:   Add  OC_TRANSPORT_IP: 1  to enable IP transport.   Add  
OC_TRANSPORT_GATT: 1  to enable BLE transport.  Add  OC_TRANSPORT_SERIAL: 1  
and  SHELL_TASK: 1   to enable serial transport.", 
+            "title": "Oicmgr Framework Options"
+        }, 
+        {
+            "location": 
"/os/tutorials/add_newtmgr/#customize-the-newt-manager-commands-that-your-application-supports",
 
+            "text": "We recommend that you only enable support for the Newt 
Manager commands that your application uses \nto reduce your application code 
size.  To configure the commands that are supported, set the configuration 
\nsetting values in the  syscfg.vals  parameter as follows:   Add  LOG_NEWTMGR: 
1  to enable support for the  newtmgr log  command.  Add  STATS_NEWTMGR: 1  to 
enable support for the  newtmgr stat  command.  Add  CONFIG_NEWTMGR: 1  to 
enable support for the  newtmgr config  command.  Add  CRASH_TEST_NEWTMGR: 1  
to enable support for the   newtmgr crash  command.  Add  RUNTEST_NEWTMGR: 1  
to enable support for the   newtmgr crash  command.   Notes:    When you enable 
Newt Manager support, using either the newtmgr or oicmgr framework, your 
application automatically \nsupports the Newt Manager  echo ,  taskstats ,  
mpstats ,  datetime , and  reset  commands.  These \ncommands cannot be 
configured individually.  The  mgmt/imgmgr  package does not provide a config
 uration setting to enable or disable support \nfor the  newtmgr image  
command.  Do not specify the package in the  pkg.deps  parameter if \nyour 
device has limited flash memory and cannot support Over-The-Air (OTA) firmware 
upgrades.", 
+            "title": "Customize the Newt Manager Commands that Your 
Application Supports"
         }, 
         {
             "location": "/os/tutorials/add_shell/", 
@@ -6892,18 +6917,23 @@
         }, 
         {
             "location": "/os/modules/devmgmt/oicmgr/", 
-            "text": "Using the OIC framework\n\n\nApache Mynewt includes 
support for the OIC interoperability standard through the \noicmgr\n framework. 
 Mynewt defines and exposes oicmgr as an OIC Server resource with the following 
identity and properties: \n\n\n\n\n\n \n\nURI\n \n\n/omgr\n\n\n\n\n\n\nResource 
Type\n(rt)\n\n\nx.mynewt.nmgr\n \n\n\n\nInterface\n(if)\n\n\noic.if_rw 
(default), oic.if.baseline\n\n\n\n\nDiscoverable\n\n\nYes\n\n\n\n\n\nThe 
newtmgr application tool uses CoAP (Constrained Application Protocol) requests 
to send commands to oicmgr.\n\nIt sends a CoAP request for \n/omgr\n as 
follows:\n\n\n\n\nSpecifies the newtmgr command to execute in the URI query 
string. \n\n\nUses a GET method for newtmgr commands that retreive information 
\nfrom your application, for example, the \ntaskstats\n and \nmpstats\n 
commands. \n\n\nUses a PUT method for newtmgr commands that send data to or 
modify the state of your application,\nfor example, the \necho\n or 
\ndatetime\n comma
 nds. \n\n\nSends the CBOR-encoded command request data in the CoAP message 
payload.\n\n\n\n\nThe \noicmgr\n framework supports transport over BLE, serial, 
and IP connections to the device.\n\n\nCustomize Newt Manager usage with 
mgmt\n\n\nThe \nmgmt\n package enables you to customize Newt Manager (in either 
the newtmgr or oicmgr framerwork) to only process the\ncommands that your 
application uses. The newtmgr commands are divided into management groups.\nA 
manager package implements the commands for a group.  It implements the 
handlers that \nprocess the commands for the group and registers the handlers 
with mgmt. \nWhen newtmgr or oicmgr receives a newtmgr command, \nit looks up 
the handler for the command (by management group id and command id) from mgmt 
and calls the \nhandler to process the command.   \n\n\nThe system level 
management groups are listed in following table:\n\n\n\n\n\nManagement 
Group\n\n\nnewtmgr 
Commands\n\n\nPackage\n\n\n\n\n\n\nMGMT_GROUP_ID_DEFAULT\n\n\necho\n
  \ntaskstats\n \nmpstats\n \ndatetime\n 
\nreset\n\n\nmgmt/newtmgr/nmgr_os\n\n\n\n\n\n\nMGMT_GROUP_ID_IMAGE\n\n\nimage\n 
\n\n\nmgmt/imgmgr\n\n\n\n\n\n\nMGMT_GROUP_ID_STATS\n\n\nstat\n 
\n\n\nsys/stats\n\n\n\n\n\n\nMGMT_GROUP_ID_CONFIG\n\n\nconfig\n\n\nsys/config\n\n\n\n\n\n\nMGMT_GROUP_ID_LOGS\n\n\nlog\n\n\nsys/log\n\n\n\n\n\n\nMGMT_GROUP_ID_CRASH\n\n\ncrash\n\n\ntest/crash_test\n\n\n\n\n\n\nMGMT_GROUP_ID_RUNTEST\n\n\nruntest\n\n\ntest/runtest\n\n\n\n\n\nBoth
 newtmgr and ocimgr process the MGMT_GROUP_ID_DEFAULT commands by default.  You 
can also\nuse mgmt to add user defined management group commands.", 
+            "text": "Using the OIC Framework\n\n\nApache Mynewt includes 
support for the OIC interoperability standard through the \noicmgr\n framework. 
 Mynewt defines and exposes oicmgr as an OIC Server resource with the following 
identity and properties: \n\n\n\n\n\n \n\nURI\n \n\n/omgr\n\n\n\n\n\n\nResource 
Type\n(rt)\n\n\nx.mynewt.nmgr\n \n\n\n\nInterface\n(if)\n\n\noic.if_rw 
(default), oic.if.baseline\n\n\n\n\nDiscoverable\n\n\nYes\n\n\n\n\n\nThe 
newtmgr application tool uses CoAP (Constrained Application Protocol) requests 
to send commands to oicmgr.\n\nIt sends a CoAP request for \n/omgr\n as 
follows:\n\n\n\n\nSpecifies the newtmgr command to execute in the URI query 
string. \n\n\nUses a GET method for newtmgr commands that retreive information 
\nfrom your application, for example, the \ntaskstats\n and \nmpstats\n 
commands. \n\n\nUses a PUT method for newtmgr commands that send data to or 
modify the state of your application,\nfor example, the \necho\n or 
\ndatetime\n comma
 nds. \n\n\nSends the CBOR-encoded command request data in the CoAP message 
payload.\n\n\n\n\nThe \noicmgr\n framework supports transport over BLE, serial, 
and IP connections to the device.", 
             "title": "Using Newt Manager in OIC framework"
         }, 
         {
             "location": "/os/modules/devmgmt/oicmgr/#using-the-oic-framework", 
             "text": "Apache Mynewt includes support for the OIC 
interoperability standard through the  oicmgr  framework.  Mynewt defines and 
exposes oicmgr as an OIC Server resource with the following identity and 
properties:      URI   /omgr    Resource Type (rt)  x.mynewt.nmgr    Interface 
(if)  oic.if_rw (default), oic.if.baseline   Discoverable  Yes   \nThe newtmgr 
application tool uses CoAP (Constrained Application Protocol) requests to send 
commands to oicmgr. \nIt sends a CoAP request for  /omgr  as follows:   
Specifies the newtmgr command to execute in the URI query string.   Uses a GET 
method for newtmgr commands that retreive information \nfrom your application, 
for example, the  taskstats  and  mpstats  commands.   Uses a PUT method for 
newtmgr commands that send data to or modify the state of your 
application,\nfor example, the  echo  or  datetime  commands.   Sends the 
CBOR-encoded command request data in the CoAP message payload.   The  oicmgr  
framework supports tran
 sport over BLE, serial, and IP connections to the device.", 
-            "title": "Using the OIC framework"
+            "title": "Using the OIC Framework"
         }, 
         {
-            "location": 
"/os/modules/devmgmt/oicmgr/#customize-newt-manager-usage-with-mgmt", 
-            "text": "The  mgmt  package enables you to customize Newt Manager 
(in either the newtmgr or oicmgr framerwork) to only process the\ncommands that 
your application uses. The newtmgr commands are divided into management 
groups.\nA manager package implements the commands for a group.  It implements 
the handlers that \nprocess the commands for the group and registers the 
handlers with mgmt. \nWhen newtmgr or oicmgr receives a newtmgr command, \nit 
looks up the handler for the command (by management group id and command id) 
from mgmt and calls the \nhandler to process the command.     The system level 
management groups are listed in following table:   Management Group  newtmgr 
Commands  Package    MGMT_GROUP_ID_DEFAULT  echo   taskstats   mpstats   
datetime   reset  mgmt/newtmgr/nmgr_os    MGMT_GROUP_ID_IMAGE  image    
mgmt/imgmgr    MGMT_GROUP_ID_STATS  stat    sys/stats    MGMT_GROUP_ID_CONFIG  
config  sys/config    MGMT_GROUP_ID_LOGS  log  sys/log    MGMT_GROUP_ID_CRASH  c
 rash  test/crash_test    MGMT_GROUP_ID_RUNTEST  runtest  test/runtest   \nBoth 
newtmgr and ocimgr process the MGMT_GROUP_ID_DEFAULT commands by default.  You 
can also\nuse mgmt to add user defined management group commands.", 
-            "title": "Customize Newt Manager usage with mgmt"
+            "location": "/os/modules/devmgmt/customize_newtmgr/", 
+            "text": "Customizing Newt Manager Usage with mgmt\n\n\nThe 
\nmgmt\n package enables you to customize Newt Manager (in either the newtmgr 
or oicmgr framerwork) to only process the\ncommands that your application uses. 
The newtmgr commands are divided into management groups.\nA manager package 
implements the commands for a group.  It implements the handlers that \nprocess 
the commands for the group and registers the handlers with mgmt. \nWhen newtmgr 
or oicmgr receives a newtmgr command, \nit looks up the handler for the command 
(by management group id and command id) from mgmt and calls the \nhandler to 
process the command.   \n\n\nThe system level management groups are listed in 
following table:\n\n\n\n\n\nManagement Group\n\n\nnewtmgr 
Commands\n\n\nPackage\n\n\n\n\n\n\nMGMT_GROUP_ID_DEFAULT\n\n\necho\n 
\ntaskstats\n \nmpstats\n \ndatetime\n 
\nreset\n\n\nmgmt/newtmgr/nmgr_os\n\n\n\n\n\n\nMGMT_GROUP_ID_IMAGE\n\n\nimage\n 
\n\n\nmgmt/imgmgr\n\n\n\n\n\n\nMGMT_GROUP_ID_STATS\
 n\n\nstat\n 
\n\n\nsys/stats\n\n\n\n\n\n\nMGMT_GROUP_ID_CONFIG\n\n\nconfig\n\n\nsys/config\n\n\n\n\n\n\nMGMT_GROUP_ID_LOGS\n\n\nlog\n\n\nsys/log\n\n\n\n\n\n\nMGMT_GROUP_ID_CRASH\n\n\ncrash\n\n\ntest/crash_test\n\n\n\n\n\n\nMGMT_GROUP_ID_RUNTEST\n\n\nrun\n\n\ntest/runtest\n\n\n\n\n\nBoth
 newtmgr and ocimgr process the MGMT_GROUP_ID_DEFAULT commands by default.  You 
can also\nuse mgmt to add user defined management group commands.", 
+            "title": "Customizing Newt Manager Usage with mgmt"
+        }, 
+        {
+            "location": 
"/os/modules/devmgmt/customize_newtmgr/#customizing-newt-manager-usage-with-mgmt",
 
+            "text": "The  mgmt  package enables you to customize Newt Manager 
(in either the newtmgr or oicmgr framerwork) to only process the\ncommands that 
your application uses. The newtmgr commands are divided into management 
groups.\nA manager package implements the commands for a group.  It implements 
the handlers that \nprocess the commands for the group and registers the 
handlers with mgmt. \nWhen newtmgr or oicmgr receives a newtmgr command, \nit 
looks up the handler for the command (by management group id and command id) 
from mgmt and calls the \nhandler to process the command.     The system level 
management groups are listed in following table:   Management Group  newtmgr 
Commands  Package    MGMT_GROUP_ID_DEFAULT  echo   taskstats   mpstats   
datetime   reset  mgmt/newtmgr/nmgr_os    MGMT_GROUP_ID_IMAGE  image    
mgmt/imgmgr    MGMT_GROUP_ID_STATS  stat    sys/stats    MGMT_GROUP_ID_CONFIG  
config  sys/config    MGMT_GROUP_ID_LOGS  log  sys/log    MGMT_GROUP_ID_CRASH  c
 rash  test/crash_test    MGMT_GROUP_ID_RUNTEST  run  test/runtest   \nBoth 
newtmgr and ocimgr process the MGMT_GROUP_ID_DEFAULT commands by default.  You 
can also\nuse mgmt to add user defined management group commands.", 
+            "title": "Customizing Newt Manager Usage with mgmt"
         }, 
         {
             "location": "/os/modules/imgmgr/imgmgr/", 
@@ -6932,12 +6962,12 @@
         }, 
         {
             "location": "/os/modules/imgmgr/imgmgr_module_init/", 
-            "text": "imgmgr_module_init \n\n\n   int\n   
imgmgr_module_init(void)\n\n\n\n\n\nRegisters image manager commands with 
newtmgr. This function should be called while initializing the project, 
preferably after newtmgr itself has been 
initialized.\n\n\nArguments\n\n\nN/A\n\n\nReturned values\n\n\nList any values 
returned.\nError codes?\n\n\nNotes\n\n\nExample\n\n\nint main(int argc, char 
**argv)\n{\n    ...\n\n    nmgr_task_init(NEWTMGR_TASK_PRIO, newtmgr_stack, 
NEWTMGR_TASK_STACK_SIZE);\n    imgmgr_module_init();\n\n    ...\n}", 
+            "text": "imgmgr_module_init \n\n\n   void \n   
imgmgr_module_init(void)\n\n\n\n\n\nRegisters the image manager commands with 
the \nmgmt\n package.  \nsysinit()\n automatically calls this function 
during\nsystem initialization.\n\n\nArguments\n\n\nN/A\n\n\nReturned 
values\n\n\nN/A\n\n\nNotes", 
             "title": "imgmgr_module_init"
         }, 
         {
             "location": 
"/os/modules/imgmgr/imgmgr_module_init/#imgmgr_module_init", 
-            "text": "int\n   imgmgr_module_init(void)  Registers image manager 
commands with newtmgr. This function should be called while initializing the 
project, preferably after newtmgr itself has been initialized.", 
+            "text": "void \n   imgmgr_module_init(void)  Registers the image 
manager commands with the  mgmt  package.   sysinit()  automatically calls this 
function during\nsystem initialization.", 
             "title": " imgmgr_module_init "
         }, 
         {
@@ -6947,7 +6977,7 @@
         }, 
         {
             "location": 
"/os/modules/imgmgr/imgmgr_module_init/#returned-values", 
-            "text": "List any values returned.\nError codes?", 
+            "text": "N/A", 
             "title": "Returned values"
         }, 
         {
@@ -6956,11 +6986,6 @@
             "title": "Notes"
         }, 
         {
-            "location": "/os/modules/imgmgr/imgmgr_module_init/#example", 
-            "text": "int main(int argc, char **argv)\n{\n    ...\n\n    
nmgr_task_init(NEWTMGR_TASK_PRIO, newtmgr_stack, NEWTMGR_TASK_STACK_SIZE);\n    
imgmgr_module_init();\n\n    ...\n}", 
-            "title": "Example"
-        }, 
-        {
             "location": "/os/modules/imgmgr/imgr_ver_parse/", 
             "text": "imgr_ver_parse \n\n\n   int\n   imgr_ver_parse(char *src, 
struct image_version *ver)\n\n\n\n\n\nParses character string containing image 
version number \nsrc\n and writes that to \nver\n. Version number string should 
be in format \n.\n.\n.\n. Major and minor numbers should be within range 0-255, 
revision between 0-65535 and build_number 
0-4294967295.\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nsrc\n\n\nPointer
 to C string that contains version number being 
parsed\n\n\n\n\n\n\nver\n\n\nImage version number structure containing the 
returned value\n\n\n\n\n\n\n\n\nReturned values\n\n\n0 on success and \n0 if 
version number string could not be parsed.\n\n\nNotes\n\n\nNumbers within the 
string are separated by \n.\n. The first   number is the major number, and must 
be provided. Rest of the numbers (minor etc.) are 
optional.\n\n\nExample\n\n\nint main(int argc, char **argv)\n{\n    struct 
image_version hdr_ver;\n    int rc;\n    ...
 \n\n    rc = imgr_ver_parse(argv[3], \nhdr_ver);\n    if (rc != 0) {\n        
print_usage(stderr);\n        return 1;\n    }\n    ...\n}", 
             "title": "imgr_ver_parse"

Reply via email to