You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by GitBox <gi...@apache.org> on 2018/01/18 03:09:23 UTC

[GitHub] aditihilbert closed pull request #60: docs: import from mynewt-core/mynewt-site

aditihilbert closed pull request #60: docs: import from mynewt-core/mynewt-site
URL: https://github.com/apache/mynewt-newtmgr/pull/60
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 0000000..2abe8a0
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,5 @@
+xml
+node_modules
+_build
+doxygen_*
+*.pyc
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000..da8a7b3
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,16 @@
+# Make a preview site for Sphinx output
+
+BUILDDIR      = _build/html
+
+.PHONY: Makefile clean preview
+
+clean:
+	rm -rf _build
+
+preview: _build sphinx
+
+_build:
+	mkdir -p _build
+
+sphinx:
+	sphinx-build . ${BUILDDIR}
diff --git a/docs/README.rst b/docs/README.rst
new file mode 100644
index 0000000..e272012
--- /dev/null
+++ b/docs/README.rst
@@ -0,0 +1,29 @@
+Mynewt Newt Manager Documentation
+#################################
+
+This folder holds the documentation for the newtmgr tool for the
+`Apache Mynewt`_ project. It is  built using `Sphinx`_.
+
+The complete project documentation can be found at `mynewt documentation`_
+
+.. contents::
+
+Writing Documentation
+=======================
+
+`Sphinx`_ use reStructuredText. http://www.sphinx-doc.org/en/1.5.1/rest.html.
+
+Previewing Changes
+==========================
+
+In order to preview any changes you make you must first install a Sphinx toolchain as
+described at `mynewt documentation`_. Then:
+
+.. code-block:: bash
+
+  $ cd docs
+  $ make clean && make preview && (cd _build/html && python -m SimpleHTTPServer 8080)
+
+.. _Apache Mynewt: https://mynewt.apache.org/
+.. _mynewt documentation: https://github.com/apache/mynewt-documentation
+.. _Sphinx: http://www.sphinx-doc.org/
diff --git a/docs/command_list/index.rst b/docs/command_list/index.rst
new file mode 100644
index 0000000..0e79ae9
--- /dev/null
+++ b/docs/command_list/index.rst
@@ -0,0 +1,43 @@
+Command List
+------------
+
+.. toctree::
+  :glob:
+  :titlesonly:
+
+  newtmgr*
+
+
+Overview
+~~~~~~~~
+
+The following are the high-level newtmgr commands. Some of these
+commands have subcommands. You can use the -h flag to get help for each
+command. See the documentation for each command in this guide if you
+need more information and examples.
+
+.. code-block:: console
+
+    Available Commands:
+      config      Read or write a config value on a device
+      conn        Manage newtmgr connection profiles
+      crash       Send a crash command to a device
+      datetime    Manage datetime on a device
+      echo        Send data to a device and display the echoed back data
+      fs          Access files on a device
+      help        Help about any command
+      image       Manage images on a device
+      log         Manage logs on a device
+      mpstat      Read mempool statistics from a device
+      reset       Perform a soft reset of a device
+      run         Run test procedures on a device
+      stat        Read statistics from a device
+      taskstat    Read task statistics from a device
+
+    Flags:
+      -c, --conn string       connection profile to use
+      -h, --help              help for newtmgr
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
diff --git a/docs/command_list/newtmgr_config.rst b/docs/command_list/newtmgr_config.rst
new file mode 100644
index 0000000..a6071e2
--- /dev/null
+++ b/docs/command_list/newtmgr_config.rst
@@ -0,0 +1,40 @@
+newtmgr config
+---------------
+
+Read and write config values on a device.
+
+Usage:
+^^^^^^
+
+.. code-block:: console
+
+        newtmgr config <var-name> [var-value] -c <conn_profile> [flags]
+
+Global Flags:
+^^^^^^^^^^^^^
+
+.. code-block:: console
+
+      -c, --conn string       connection profile to use
+      -h, --help              help for newtmgr
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
+
+Description
+^^^^^^^^^^^
+
+Reads and sets the value for the ``var-name`` config variable on a device. Specify a ``var-value`` to set the value
+for the ``var-name`` variable. Newtmgr uses the ``conn_profile`` connection profile to connect to the device.
+
+Examples
+^^^^^^^^
+
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Usage                                    | Explanation                                                                                                                                                              |
++==========================================+==========================================================================================================================================================================+
+| ``newtmgr config myvar -c profile01``    | Reads the ``myvar`` config variable value from a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.             |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| ``newtmgr config myvar 2 -c profile01``  | Sets the ``myvar`` config variable to the value ``2`` on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.   |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
diff --git a/docs/command_list/newtmgr_conn.rst b/docs/command_list/newtmgr_conn.rst
new file mode 100644
index 0000000..23c1ab9
--- /dev/null
+++ b/docs/command_list/newtmgr_conn.rst
@@ -0,0 +1,170 @@
+newtmgr conn
+-------------
+
+Manage newtmgr connection profiles.
+
+.. contents::
+  :local:
+  :depth: 2
+
+Usage:
+^^^^^^
+
+.. code-block:: console
+
+    newtmgr conn [command] [flags]
+
+Global Flags:
+^^^^^^^^^^^^^
+
+.. code-block:: console
+
+      -c, --conn string       connection profile to use
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
+
+Description
+^^^^^^^^^^^
+
+The conn command provides subcommands to add, delete, and view connection profiles. A connection profile specifies
+information on how to connect and communicate with a remote device. Newtmgr commands use the information from a
+connection profile to send newtmgr requests to remote devices.
+
+Add Sub-Command
+~~~~~~~~~~~~~~~
+
+The ``newtmgr conn add <conn_profile> <var-name=value ...>`` command creates a connection profile named
+``conn_profile``. The command requires the ``conn_profile`` name and a list of, space separated,
+var-name=value pairs.
+
+The var-names are: ``type``, and ``connstring``. The valid values for each var-name parameter are:
+
+* ``type``:
+  The connection type. Valid values are:
+
+  - **serial**: Newtmgr protocol over a serial connection.
+  - **oic_serial**: OIC protocol over a serial connection.
+  - **udp**:newtmgr protocol over UDP.
+  - **oic_udp**: OIC protocol over UDP.
+  - **ble** newtmgr protocol over BLE. This type uses native OS BLE support
+  - **oic_ble**: OIC protocol over BLE. This type uses native OS BLE support.
+  - **bhd**: newtmgr protocol over BLE. This type uses the blehostd implemenation.
+  - **oic_bhd**: OIC protocol over BLE. This type uses the blehostd implementation.
+
+  **Note:** newtmgr does not support BLE on Windows.
+
+* ``connstring``:
+  The physical or virtual address for the connection. The format of the ``connstring`` value depends
+  on the connection ``type`` value as follows:
+
+  - **serial** and **oic_serial**: A quoted string with two, comma separated, ``attribute=value`` pairs.
+    The attribute names and value format for each attribute are:
+
+    * ``dev``: (Required) The name of the serial port to use. For example: **/dev/ttyUSB0** on a Linux platform or
+      **COM1** on a Windows platform .
+    * ``baud``: (Optional) A number that specifies the buad rate for the connection. Defaults to **115200** if the
+      attribute is not specified.
+
+    Example: ``connstring="dev=/dev/ttyUSB0, baud=9600"``
+    **Note:** The 1.0 format, which only requires a serial port name, is still supported. For example, ``connstring=/dev/ttyUSB0``.
+
+  - **udp** and **oic_udp**: The peer ip address and port number that the newtmgr or oicmgr on the remote device is
+    listening on. It must be of the form: **[<ip-address>]:<port-number>**.
+
+  - **ble** and **oic_ble**: The format is a quoted string of, comma separated, ``attribute=value`` pairs. The attribute
+    names and the value for each attribute are:
+
+    * ``peer_name``: A string that specifies the name the peer BLE device advertises. **Note**: If this attribute is
+      specified, you do not need to specify a value for the ``peer_id`` attribute.
+
+    * ``peer_id``: The peer BLE device address or UUID. The format depends on the OS that the newtmgr tool is running on:
+
+        **Linux**: 6 byte BLE address. Each byte must be a hexidecimal number and separated by a colon.
+
+        **MacOS**: 128 bit UUID.
+
+      **Note**: This value is only used when a peer name is not specified for the connection profile or with the
+      ``--name`` flag option.
+
+    * ``ctlr_name``: (Optional) Controller name. This value depends on the OS that the newtmgr tool is running on.
+
+
+    **Notes**:
+
+    * You must specify ``connstring=" "`` if you do not specify any attribute values.
+
+    * You can use the ``--name`` flag to specify a device name when you issue a newtmgr command that communicates with
+      a BLE device. You can use this flag to override or in lieu of specifying a ``peer_name`` or ``peer_id`` attribute
+      in the connection profile.
+
+  - **bhd** and **oic_bhd**: The format is a quoted string of, comma separated, ``attribute=value`` pairs. The
+    attribute names and the value format for each attribute are:
+
+    * ``peer_name``: A string that specifies the name the peer BLE device advertises.
+      **Note**: If this attribute is specified, you do not need to specify values for the ``peer_addr`` and
+      ``peer_addr_type`` attributes.
+
+    * ``peer_addr``: A 6 byte peer BLE device address. Each byte must be a hexidecimal number and separated by a colon.
+      You must also specify a ``peer_addr_type`` value for the device address.
+      **Note:** This value is only used when a peer name is not specified for the connection profile or with the
+      ``--name`` flag option.
+
+    * ``peer_addr_type``: The peer address type. Valid values are:
+
+      - **public**: Public address assigned by the manufacturer.
+      - **random**: Static random address.
+      - **rpa_pub**: Resolvable Private Address with public identity address.
+      - **rpa_rnd**: Resolvable Private Address with static random identity address.
+
+      **Note:** This value is only used when a peer name is not specified for the connection profile or with the
+      ``--name`` flag option.
+
+    * ``own_addr_type``: (Optional) The address type of the BLE controller for the host that the newtmgr tool is
+      running on. See the ``peer_addr_type`` attribute for valid values. Defaults to **random**.
+
+    * ``ctlr_path``: The path of the port that is used to connect the BLE controller to the host that the newtmgr tool is
+      running on.
+
+  **Note**: You can use the ``--name`` flag to specify a device name when you issue a newtmgr command that communicates
+  with a BLE device. You can use this flag to override or in lieu of specifying a ``peer_name`` or ``peer_addr``
+  attribute in the connection profile.
+
+Delete Sub-Command
+~~~~~~~~~~~~~~~~~~
+
+The ``newtmgr conn delete <conn_profile>`` command deletes the ``conn_profile`` connection profile.
+
+Show Sub-Command
+~~~~~~~~~~~~~~~~
+
+The ``newtmgr conn show [conn_profile]`` command shows the information for the ``conn_profile`` connection profile.
+It shows information for all the connection profiles if ``conn_profile`` is not specified.
+
+Examples
+^^^^^^^^
+
++---------------+-------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Sub-command   | Usage                                                                                                                   | Explanation                                                                                                                                                                                                                                                                           |
++===============+=========================================================================================================================+=======================================================================================================================================================================================================================================================================================+
+| add           | ``newtmgr conn add myserial02 type=oic_serial connstring=/dev/ttys002``                                                 | Creates a connection profile, named ``myserial02``, to communicate over a serial connection at 115200 baud rate with the oicmgr on a device that is connected to the host on port /dev/ttys002.                                                                                       |
++---------------+-------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| add           | ``newtmgr conn add myserial03 type=serial connstring="dev=/dev/ttys003, baud=57600"``                                   | Creates a connection profile, named ``myserial03``, to communicate over a serial connection at 57600 baud rate with the newtmgr on a device that is connected to the host on port /dev/ttys003.                                                                                       |
++---------------+-------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| add           | ``newtmgr conn add myudp5683 type=oic_udpconnstring=[127.0.0.1]:5683``                                                  | Creates a connection profile, named ``myudp5683``, to communicate over UDP with the oicmgr on a device listening on localhost and port 5683.                                                                                                                                          |
++---------------+-------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| add           | ``newtmgr conn add mybleprph type=ble connstring="peer_name=nimble-bleprph"``                                           | Creates a connection profile, named ``mybleprph``, to communicate over BLE, using the native OS BLE support, with the newtmgr on a device named ``nimble-bleprph``.                                                                                                                   |
++---------------+-------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| add           | ``newtmgr conn add mybletype=ble connstring=" "``                                                                       | Creates a connection profile, named ``myble``, to communicate over BLE, using the native OS BLE support, with the newtmgr on a device. You must use the ``--name`` flag to specify the device name when you issue a newtmgr command that communicates with the device.                |
++---------------+-------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| add           | ``newtmgr conn add myblehostd type=oic_bhd connstring="peer_name=nimble-bleprph,ctlr_path=/dev/cu.usbmodem14221"``      | Creates a connection profile, named ``myblehostd``, to communicate over BLE, using the blehostd implementation, with the oicmgr on a device named ``nimble-bleprph``. The BLE controller is connected to the host on USB port /dev/cu.usbmodem14211 and uses static random address.   |
++---------------+-------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| delete        | ``newtmgr conn delete myserial02``                                                                                      | Deletes the connection profile named ``myserial02``                                                                                                                                                                                                                                   |
++---------------+-------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| delete        | ``newtmgr conn delete myserial02``                                                                                      | Deletes the connection profile named ``myserial02``                                                                                                                                                                                                                                   |
++---------------+-------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| show          | ``newtmgr conn show myserial01``                                                                                        | Displays the information for the ``myserial01`` connection profile.                                                                                                                                                                                                                   |
++---------------+-------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| show          | ``newtmgr conn show``                                                                                                   | Displays the information for all connection profiles.                                                                                                                                                                                                                                 |
++---------------+-------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
diff --git a/docs/command_list/newtmgr_crash.rst b/docs/command_list/newtmgr_crash.rst
new file mode 100644
index 0000000..9b58a0a
--- /dev/null
+++ b/docs/command_list/newtmgr_crash.rst
@@ -0,0 +1,40 @@
+newtmgr crash
+--------------
+
+Send a crash command to a device.
+
+Usage:
+^^^^^^
+
+.. code-block:: console
+
+    newtmgr crash <assert|div0|jump0|ref0|wdog> -c <conn_profile> [flags]
+
+Global Flags:
+^^^^^^^^^^^^^
+
+.. code-block:: console
+
+      -c, --conn string       connection profile to use
+      -h, --help              help for newtmgr
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
+
+Description
+^^^^^^^^^^^
+
+Sends a crash command to a device to run one of the following crash tests: ``div0``, ``jump0``, ``ref0``, ``assert``,
+``wdog``. Newtmgr uses the ``conn_profile`` connection profile to connect to the device.
+
+Examples
+^^^^^^^^
+
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Usage                                | Explanation                                                                                                                                                                |
++======================================+============================================================================================================================================================================+
+| ``newtmgr crash div0-c profile01``   | Sends a request to a device to execute a divide by 0 test. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.             |
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| ``newtmgr crash ref0-c profile01``   | Sends a request to a device to execute a nil pointer reference test. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.   |
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
diff --git a/docs/command_list/newtmgr_datetime.rst b/docs/command_list/newtmgr_datetime.rst
new file mode 100644
index 0000000..f7626b9
--- /dev/null
+++ b/docs/command_list/newtmgr_datetime.rst
@@ -0,0 +1,44 @@
+newtmgr datetime
+-----------------
+
+Manage datetime on a device.
+
+Usage:
+^^^^^^
+
+.. code-block:: console
+
+        newtmgr datetime [rfc-3339-date-string] -c <conn_profile> [flags]
+
+Global Flags:
+^^^^^^^^^^^^^
+
+.. code-block:: console
+
+      -c, --conn string       connection profile to use
+      -h, --help              help for newtmgr
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
+
+Description
+^^^^^^^^^^^
+
+Reads or sets the datetime on a device. Specify a ``datetime-value`` in the command to set the datetime on the device.
+Newtmgr uses the ``conn_profile`` connection profile to connect to the device.
+
+**Note**: You must specify the ``datetime-value`` in the RFC 3339 format.
+
+Examples
+^^^^^^^^
+
++------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Usage                                                      | Explanation                                                                                                                                                         |
++============================================================+=====================================================================================================================================================================+
+| ``newtmgr datetime-c profile01``                           | Reads the datetime value from a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                         |
++------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| ``newtmgr datetime 2017-03-01T22:44:00-c profile01``       | Sets the datetime on a device to March 1st 2017 22:44:00 UTC. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.   |
++------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| ``newtmgr datetime 2017-03-01T22:44:00-08:00-c profile01`` | Sets the datetime on a device to March 1st 2017 22:44:00 PST. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.   |
++------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
diff --git a/docs/command_list/newtmgr_echo.rst b/docs/command_list/newtmgr_echo.rst
new file mode 100644
index 0000000..ea8a120
--- /dev/null
+++ b/docs/command_list/newtmgr_echo.rst
@@ -0,0 +1,38 @@
+newtmgr echo
+-------------
+
+Send data to a device and display the echoed back data.
+
+Usage:
+^^^^^^
+
+.. code-block:: console
+
+        newtmgr echo <text> -c <conn_profile> [flags]
+
+Global Flags:
+^^^^^^^^^^^^^
+
+.. code-block:: console
+
+      -c, --conn string       connection profile to use
+      -h, --help              help for newtmgr
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
+
+Description
+^^^^^^^^^^^
+
+Sends the ``text`` to a device and outputs the text response from the device. Newtmgr uses the ``conn_profile``
+connection profile to connect to the device.
+
+Examples
+^^^^^^^^
+
++------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Usage                              | Explanation                                                                                                                                                      |
++====================================+==================================================================================================================================================================+
+| ``newtmgr echo hello-c profile01`` | Sends the text 'hello' to a device and displays the echoed back data. Newtmgr connects to the device over a connection specified in the ``profile01`` profile.   |
++------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
diff --git a/docs/command_list/newtmgr_fs.rst b/docs/command_list/newtmgr_fs.rst
new file mode 100644
index 0000000..81d11be
--- /dev/null
+++ b/docs/command_list/newtmgr_fs.rst
@@ -0,0 +1,48 @@
+newtmgr fs
+----------
+
+Access files on a device.
+
+Usage:
+^^^^^^
+
+.. code-block:: console
+
+        newtmgr fs [command] -c <conn_profile> [flags]
+
+Global Flags:
+^^^^^^^^^^^^^
+
+.. code-block:: console
+
+      -c, --conn string       connection profile to use
+      -h, --help              help for newtmgr
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
+
+Description
+^^^^^^^^^^^
+
+The fs command provides the subcommands to download a file from and upload a file to a device. Newtmgr uses the
+``conn_profile`` connection profile to connect to the device.
+
++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Sub-command   | Explanation                                                                                                                                                       |
++===============+===================================================================================================================================================================+
+| ``download``  | The ``newtmgr download <src-filename> <dst-filename>`` command downloads the file named <src-filename> from a device and names it <dst-filename> on your host.    |
++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| ``upload``    | The ``newtmgr upload <src-filename> <dst-filename>`` command uploads the file named <src-filename> to a device and names the file <dst-filename> on the device.   |
++---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Examples
+^^^^^^^^
+
++-------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Usage                                                 | Explanation                                                                                                                                                                                           |
++=======================================================+=======================================================================================================================================================================================================+
+| ``newtmgr fs download /cfg/mfg mfg.txt -c profile01`` | Downloads the file name ``/cfg/mfg`` from a device and names the file ``mfg.txt`` on your host. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.   |
++-------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| ``newtmgr fs upload mymfg.txt /cfg/mfg -c profile01`` | Uploads the file name ``mymfg.txt`` to a device and names the file ``cfg/mfg`` on the device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.     |
++-------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
diff --git a/docs/command_list/newtmgr_image.rst b/docs/command_list/newtmgr_image.rst
new file mode 100644
index 0000000..11cb3e0
--- /dev/null
+++ b/docs/command_list/newtmgr_image.rst
@@ -0,0 +1,93 @@
+newtmgr image
+--------------
+
+Manage images on a device.
+
+Usage:
+^^^^^^
+
+.. code-block:: console
+
+        newtmgr image [command] -c <connection_profile> [flags]
+
+Flags:
+^^^^^^
+
+The coredownload subcommand uses the following local flags:
+
+.. code-block:: console
+
+        -n, --bytes uint32         Number of bytes of the core to download
+        -e, --elfify               Create an ELF file
+            --offset unint32       Offset of the core file to start the download
+
+Global Flags:
+^^^^^^^^^^^^^
+
+.. code-block:: console
+
+      -c, --conn string       connection profile to use
+      -h, --help              help for newtmgr
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
+
+Description
+^^^^^^^^^^^
+
+The image command provides subcommands to manage core and image files on a device. Newtmgr uses the ``conn_profile``
+connection profile to connect to the device.
+
++----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Sub-command    | Explanation                                                                                                                                                                                                                                                                                         |
++================+=====================================================================================================================================================================================================================================================================================================+
+| confirm        | The ``newtmgr image confirm [hex-image-hash]`` command makes an image setup permanent on a device. If a ``hex-image-hash`` hash value is specified, Mynewt permanently switches to the image identified by the hash value. If a hash value is not specified, the current image is made permanent.   |
++----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| coreconvert    | The ``newtmgr image coreconvert <core-filename> <elf-file>`` command converts the ``core-filename`` core file to an ELF format and names it ``elf-file``. **Note**: This command does not download the core file from a device. The core file must exist on your host.                              |
++----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| coredownload   | The ``newtmgr image coredownload <core-filename>`` command downloads the core file from a device and names the file ``core-filename`` on your host. Use the local flags under Flags to customize the command.                                                                                       |
++----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| coreerase      | The ``newtmgr image coreerase`` command erases the core file on a device.                                                                                                                                                                                                                           |
++----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| corelist       | The ``newtmgr image corelist`` command lists the core(s) on a device.                                                                                                                                                                                                                               |
++----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| erase          | The ``newtmgr image erase`` command erases an unused image from the secondary image slot on a device. The image cannot be erased if the image is a confirmed image, is marked for test on the next reboot, or is an active image for a split image setup.                                           |
++----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| list           | The ``newtmgr image list`` command displays information for the images on a device.                                                                                                                                                                                                                 |
++----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| test           | The ``newtmgr test <hex-image-hash>`` command tests the image, identified by the ``hex-image-hash`` hash value, on next reboot.                                                                                                                                                                     |
++----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| upload         | The ``newtmgr image upload <image-file>`` command uploads the ``image-file`` image file to a device.                                                                                                                                                                                                |
++----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Examples
+^^^^^^^^
+
++----------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Sub-command    | Usage                                                                 | Explanation                                                                                                                                                                                                              |
++================+=======================================================================+==========================================================================================================================================================================================================================+
+| confirm        | ``newtmgr confirm-c profile01``                                       | Makes the current image setup on a device permanent. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                                 |
++----------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| confirm        | ``newtmgr confirmbe9699809a049...73d77f-c profile01``                 | Makes the image, identified by the ``be9699809a049...73d77f`` hash value, setup on a device permanent. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.               |
++----------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| coreconvert    | ``newtmgr image coreconvert mycore mycore.elf``                       | Converts the ``mycore`` file to the ELF format and saves it in the ``mycore.elf`` file.                                                                                                                                  |
++----------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| coredownload   | ``newtmgr image coredownload mycore -c profile01``                    | Downloads the core from a device and saves it in the ``mycore`` file. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                |
++----------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| coredownload   | ``newtmgr image coredownload mycore -e -c profile01``                 | Downloads the core from a device, converts the core file into the ELF format, and saves it in the ``mycore`` file. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.   |
++----------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| coredownload   | ``newtmgr image coredownload mycore --offset 10 -n 30-c profile01``   | Downloads 30 bytes, starting at offset 10, of the core from a device and saves it in the ``mycore`` file. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.            |
++----------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| coreerase      | ``newtmgr image coreerase -c profile01``                              | Erases the core file on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                                                    |
++----------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| corelist       | ``newtmgr image corelist-c profile01``                                | Lists the core files on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                                                    |
++----------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| erase          | ``newtmgr image erase-c profile01``                                   | Erases the image, if unused, from the secondary image slot on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                              |
++----------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| list           | ``newtmgr image list-c profile01``                                    | Lists the images on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                                                        |
++----------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| test           | ``newtmgr image test be9699809a049...73d77f``                         | Tests the image, identified by the ``be9699809a049...73d77f`` hash value, during the next reboot on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.        |
++----------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| upload         | ``newtmgr image upload bletiny.img-c profile01``                      | Uploads the ``bletiny.img`` image to a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                                       |
++----------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
diff --git a/docs/command_list/newtmgr_logs.rst b/docs/command_list/newtmgr_logs.rst
new file mode 100644
index 0000000..6949280
--- /dev/null
+++ b/docs/command_list/newtmgr_logs.rst
@@ -0,0 +1,89 @@
+newtmgr log
+------------
+
+Manage logs on a device.
+
+Usage:
+^^^^^^
+
+.. code-block:: console
+
+        newtmgr log [command] -c <conn_profile> [flags]
+
+Global Flags:
+^^^^^^^^^^^^^
+
+.. code-block:: console
+
+      -c, --conn string       connection profile to use
+      -h, --help              help for newtmgr
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
+
+Description
+^^^^^^^^^^^
+
+The log command provides subcommands to manage logs on a device. Newtmgr uses the ``conn_profile`` connection profile
+to connect to the device.
+
+=============  =================================================================================
+Sub-command    Explanation
+=============  =================================================================================
+clear          The ``newtmgr log clear`` command clears the logs on a device.
+
+level_list     The ``newtmgr level_list`` command shows the log levels on a device.
+
+list           The ``newtmgr log list`` command shows the log names on a device.
+
+module_list    The ``newtmgr log module_list`` command shows the log module names on a device.
+
+show           The ``newtmgr log show`` command displays logs on a device. The command format
+               is: ``newtmgr log show [log_name [min-index [min-timestamp]]] -c <conn_profile>``
+
+               The following optional parameters can be used to filter the logs to display:
+
+               log_name:
+                 Name of log to display. If log_name is not specified, all logs are displayed.
+
+               min-index:
+                 Minimum index of the log entries to display. This
+                 value is only valid when a log_name is specified. The value can
+                 be ``last`` or a number. If the value is ``last``, only the last
+                 log entry is displayed. If the value is a number, log entries with
+                 an index equal to or higher than min-index are displayed.
+
+               min-timestamp:
+                 Minimum timestamp of log entries to display.
+                 The value is only valid if min-index is specified and is not the
+                 value ``last``. Only log entries with a timestamp equal to or later
+                 than min-timestamp are displayed. Log entries with a timestamp equal
+                 to min-timestamp are only displayed if the log entry index is equal
+                 to or higher than min-index.
+=============  =================================================================================
+
+Examples
+^^^^^^^^
+
++----------------+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Sub-command    | Usage                                                | Explanation                                                                                                                                                                                                                                                             |
++================+======================================================+=========================================================================================================================================================================================================================================================================+
+| clear          | ``newtmgr log clear-c profile01``                    | Clears the logs on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                                                                                                        |
++----------------+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| level_list     | ``newtmgr log level_list -c profile01``              | Shows the log levels on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                                                                                                   |
++----------------+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| list           | ``newtmgr log list-c profile01``                     | Shows the log names on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                                                                                                    |
++----------------+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| module_list    | ``newtmgr log module_list-c profile01``              | Shows the log module names on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                                                                                             |
++----------------+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| show           | ``newtmgr log show -c profile01``                    | Displays all logs on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                                                                                                      |
++----------------+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| show           | ``newtmgr log show reboot_log -c profile01``         | Displays all log entries for the reboot_log on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                                                                            |
++----------------+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| show           | ``newtmgr log show reboot_log last -c profile01``    | Displays the last entry from the reboot_log on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                                                                            |
++----------------+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| show           | ``newtmgr log show reboot_log 2 -c profile01``       | Displays the reboot_log log entries with an index 2 and higher on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                                                         |
++----------------+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| show           | ``newtmgr log show reboot_log 5 123456 -c profile01``| Displays the reboot_log log entries with a timestamp higher than 123456 and log entries with a timestamp equal to 123456 and an index equal to or higher than 5. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.    |
++----------------+------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
diff --git a/docs/command_list/newtmgr_mpstats.rst b/docs/command_list/newtmgr_mpstats.rst
new file mode 100644
index 0000000..3d1bb1e
--- /dev/null
+++ b/docs/command_list/newtmgr_mpstats.rst
@@ -0,0 +1,67 @@
+newtmgr mpstat
+---------------
+
+Read memory pool statistics from a device.
+
+Usage:
+^^^^^^
+
+.. code-block:: console
+
+        newtmgr mpstat -c <conn_profile> [flags]
+
+Global Flags:
+^^^^^^^^^^^^^
+
+.. code-block:: console
+
+      -c, --conn string       connection profile to use
+      -h, --help              help for newtmgr
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
+
+Description
+^^^^^^^^^^^
+
+Reads and displays the memory pool statistics from a device. Newtmgr uses the ``conn_profile`` connection profile to
+connect to the device. It lists the following statistics for each memory pool:
+
+-  **name**: Memory pool name
+-  **blksz**: Size (number of bytes) of each memory block
+-  **cnt**: Number of blocks allocated for the pool
+-  **free**: Number of free blocks
+-  **min**: The lowest number of free blocks that were available
+
+Examples
+^^^^^^^^
+
++-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Usage                             | Explanation                                                                                                                                                        |
++===================================+====================================================================================================================================================================+
+| ``newtmgr mpstat -c profile01``   | Reads and displays the memory pool statistics from a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.   |
++-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Here is an example output for the ``myble`` application from the
+:doc:`Enabling Newt Manager in any app <../../os/tutorials/add_newtmgr>` tutiorial:
+
+.. code-block:: console
+
+    $ newtmgr mpstat -c myserial
+                             name blksz  cnt free  min
+              ble_att_svr_entry_pool    20   75    0    0
+         ble_att_svr_prep_entry_pool    12   64   64   64
+                      ble_gap_update    24    1    1    1
+                 ble_gattc_proc_pool    56    4    4    4
+              ble_gatts_clt_cfg_pool    12    2    1    1
+             ble_hci_ram_evt_hi_pool    72    2    2    1
+             ble_hci_ram_evt_lo_pool    72    8    8    8
+                    ble_hs_conn_pool    92    1    1    1
+                  ble_hs_hci_ev_pool    16   10   10    9
+                 ble_l2cap_chan_pool    28    3    3    3
+             ble_l2cap_sig_proc_pool    20    1    1    1
+                    bletiny_chr_pool    36   64   64   64
+                    bletiny_dsc_pool    28   64   64   64
+                    bletiny_svc_pool    36   32   32   32
+                              msys_1   292   12    9    6
diff --git a/docs/command_list/newtmgr_reset.rst b/docs/command_list/newtmgr_reset.rst
new file mode 100644
index 0000000..1415011
--- /dev/null
+++ b/docs/command_list/newtmgr_reset.rst
@@ -0,0 +1,37 @@
+newtmgr reset
+--------------
+
+Send a reset request to a device.
+
+Usage:
+^^^^^^
+
+.. code-block:: console
+
+        newtmgr reset -c <conn_profile> [flags]
+
+Global Flags:
+^^^^^^^^^^^^^
+
+.. code-block:: console
+
+      -c, --conn string       connection profile to use
+      -h, --help              help for newtmgr
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
+
+Description
+^^^^^^^^^^^
+
+Resets a device. Newtmgr uses the ``conn_profile`` connection profile to connect to the device.
+
+Examples
+^^^^^^^^
+
++---------------------------------+------------------------------------------------------------------------------------------------------------------------+
+| Usage                           | Explanation                                                                                                            |
++=================================+========================================================================================================================+
+| ``newtmgr reset-c profile01``   | Resets a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.   |
++---------------------------------+------------------------------------------------------------------------------------------------------------------------+
diff --git a/docs/command_list/newtmgr_run.rst b/docs/command_list/newtmgr_run.rst
new file mode 100644
index 0000000..25edf32
--- /dev/null
+++ b/docs/command_list/newtmgr_run.rst
@@ -0,0 +1,50 @@
+newtmgr run
+------------
+
+Run test procedures on a device.
+
+Usage:
+^^^^^^
+
+.. code-block:: console
+
+        newtmgr run [command] -c <conn_profile> [flags]
+
+Global Flags:
+^^^^^^^^^^^^^
+
+.. code-block:: console
+
+      -c, --conn string       connection profile to use
+      -h, --help              help for newtmgr
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
+
+Description
+^^^^^^^^^^^
+
+The run command provides subcommands to run test procedures on a device. Newtmgr uses the ``conn_profile`` connection
+profile to connect to the device.
+
++---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Sub-command   | Explanation                                                                                                                                                                                                                                                         |
++===============+=====================================================================================================================================================================================================================================================================+
+| list          | The ``newtmgr run list`` command lists the registered tests on a device.                                                                                                                                                                                            |
++---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| test          | The ``newtmgr run test [all|testname] [token-value]`` command runs the ``testname`` test or all tests on a device. All tests are run if ``all`` or no ``testname`` is specified. If a ``token-value`` is specified the token value is output with the log messages. |
++---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Examples
+^^^^^^^^
+
++----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Usage                                              | Explanation                                                                                                                                                                                     |
++====================================================+=================================================================================================================================================================================================+
+| ``newtmgr run list -c profile01``                  | Lists all the registered tests on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                 |
++----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| ``newtmgr run test all201612161220-c profile01``   | Runs all the tests on a device. Outputs the ``201612161220`` token with the log messages. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.   |
++----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| ``newtmgr run test mynewtsanity-c profile01``      | Runs the ``mynewtsanity`` test on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.                                                 |
++----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
diff --git a/docs/command_list/newtmgr_stat.rst b/docs/command_list/newtmgr_stat.rst
new file mode 100644
index 0000000..52e3acc
--- /dev/null
+++ b/docs/command_list/newtmgr_stat.rst
@@ -0,0 +1,107 @@
+newtmgr stat
+------------
+
+Read statistics from a device.
+
+Usage:
+^^^^^^
+
+.. code-block:: console
+
+        newtmgr stat <stats_name> -c <conn_profile> [flags]
+        newtmgr stat [command] -c <conn_profile> [flags]
+
+Global Flags:
+^^^^^^^^^^^^^
+
+.. code-block:: console
+
+      -c, --conn string       connection profile to use
+      -h, --help              help for newtmgr
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
+
+Description
+^^^^^^^^^^^
+
+Displays statistic for the stats named ``<stats_name>`` from a device. You can use the ``list`` subcommand to get a
+list of the stats names from the device. Newtmgr uses the ``conn_profile`` connection profile to connect to the device.
+
++-------------+---------------------------------------------------------------------------------------------------+
+| Sub-command | Explanation                                                                                       |
++=============+===================================================================================================+
+| stat        | The `newtmgr stat command` displays the statistics for the ``stats_name`` Stats from a device.    |
++-------------+---------------------------------------------------------------------------------------------------+
+| list        | The newtmgr stat list command displays the list of Stats names from a device.                     |
++-------------+---------------------------------------------------------------------------------------------------+
+
+Examples
+^^^^^^^^
+
++---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Sub-command                           | Usage                                                                                                                                                  |
++=======================================+========================================================================================================================================================+
+| ``newtmgr stat ble_att -c profile01`` | Displays the ``ble_att`` statistics on a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.   |
++---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
+| ``newtmgr stat list -c profile01``    | Displays the list of Stats names from a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.    |
++---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Here are some example outputs for the ``myble`` application from the
+:doc:`Enabling Newt Manager in any app <../../os/tutorials/add_newtmgr>` tutiorial:
+
+The statistics for the ble_att Stats:
+
+.. code-block:: console
+
+
+    $ newtmgr stat ble_att -c myserial
+    stat group: ble_att
+             0 error_rsp_rx
+             0 error_rsp_tx
+             0 exec_write_req_rx
+             0 exec_write_req_tx
+             0 exec_write_rsp_rx
+             0 exec_write_rsp_tx
+             0 find_info_req_rx
+             0 find_info_req_tx
+             0 find_info_rsp_rx
+             0 find_info_rsp_tx
+             0 find_type_value_req_rx
+             0 find_type_value_req_tx
+             0 find_type_value_rsp_rx
+             0 find_type_value_rsp_tx
+
+                   ...
+
+             0 read_rsp_rx
+             0 read_rsp_tx
+             0 read_type_req_rx
+             0 read_type_req_tx
+             0 read_type_rsp_rx
+             0 read_type_rsp_tx
+             0 write_cmd_rx
+             0 write_cmd_tx
+             0 write_req_rx
+             0 write_req_tx
+             0 write_rsp_rx
+             0 write_rsp_tx
+
+ The list of Stats names using the list subcommand:
+
+.. code-block:: console
+
+
+    $ newtmgr stat list -c myserial
+    stat groups:
+        ble_att
+        ble_gap
+        ble_gattc
+        ble_gatts
+        ble_hs
+        ble_l2cap
+        ble_ll
+        ble_ll_conn
+        ble_phy
+        stat
diff --git a/docs/command_list/newtmgr_taskstats.rst b/docs/command_list/newtmgr_taskstats.rst
new file mode 100644
index 0000000..41639e1
--- /dev/null
+++ b/docs/command_list/newtmgr_taskstats.rst
@@ -0,0 +1,58 @@
+newtmgr taskstat
+-----------------
+
+Read task statistics from a device.
+
+Usage:
+^^^^^^
+
+.. code-block:: console
+
+        newtmgr taskstat -c <conn_profile> [flags]
+
+Global Flags:
+^^^^^^^^^^^^^
+
+.. code-block:: console
+
+      -c, --conn string       connection profile to use
+      -h, --help              help for newtmgr
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
+
+Description
+^^^^^^^^^^^
+
+Reads and displays the task statistics from a device. Newtmgr uses the ``conn_profile`` connection profile to connect
+to the device. It lists the following statistics for each task:
+
+-  **task**: Task name
+-  **pri**: Task priority
+-  **runtime**: The time (ms) that the task has been running for
+-  **csw**: Number of times the task has switched context
+-  **stksz**: Stack size allocated for the task
+-  **stkuse**: Actual stack size the task uses
+-  **last\_checkin**: Last sanity checkin with the :doc:`Sanity Task <../../os/core_os/sanity/sanity>`
+-  **next\_checkin**: Next sanity checkin
+
+Examples
+^^^^^^^^
+
++-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Usage                             | Explanation                                                                                                                                                 |
++===================================+=============================================================================================================================================================+
+| ``newtmgr taskstat-c profile0``   | Reads and displays the task statistics from a device. Newtmgr connects to the device over a connection specified in the ``profile01`` connection profile.   |
++-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Here is an example output for the ``myble`` application from the
+:doc:`Enabling Newt Manager in any app <../../os/tutorials/add_newtmgr>` tutorial:
+
+.. code-block:: console
+
+    $ newtmgr taskstat -c myserial
+          task pri tid  runtime      csw    stksz   stkuse last_checkin next_checkin
+        ble_ll   0   2        0       12       80       58        0        0
+          idle 255   0    16713       95       64       31        0        0
+          main 127   1        2       81      512      275        0        0
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644
index 0000000..a8b9dbc
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1,177 @@
+# -*- coding: utf-8 -*-
+#
+# Mynewt documentation build configuration file, created by
+# sphinx-quickstart on Tue Jan 10 11:33:44 2017.
+#
+# This file is execfile()d with the current directory set to its
+# containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#
+import os
+import sys
+sys.path.insert(0, os.path.abspath('_ext'))
+
+
+# -- General configuration ------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#
+# needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+    'sphinx.ext.autodoc', 'breathe', 'sphinx.ext.todo',
+    'sphinx.ext.extlinks'
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = []
+
+# The suffix(es) of source filenames.
+# You can specify multiple suffix as a list of string:
+#
+source_suffix = '.rst'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'Mynewt Newt Manager'
+copyright = u'Copyright ? 2017 The Apache Software Foundation, Licensed under the Apache License, Version 2.0 Apache and the Apache feather logo are trademarks of The Apache Software Foundation.'
+author = u'The Apache Software Foundation'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = u'1.0'
+# The full version, including alpha/beta/rc tags.
+release = u'1.0.0-b1'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#
+# This is also used if you do content translation via gettext catalogs.
+# Usually you set "language" from the command line for these cases.
+language = None
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This patterns also effect to html_static_path and html_extra_path
+exclude_patterns = ['_build', 'README.rst', 'Thumbs.db', '.DS_Store']
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+highlight_language = 'none'
+
+# If true, `todo` and `todoList` produce output, else they produce nothing.
+todo_include_todos = False
+
+
+# -- Options for HTML output ----------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+#
+
+html_theme = 'alabaster'
+html_theme_path = []
+html_sidebars = {
+    '**': [
+        'about.html',
+        'navigation.html',
+        'relations.html',
+        'searchbox.html',
+        'donate.html',
+    ]
+}
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further.  For a list of options available for each theme, see the
+# documentation.
+#
+html_theme_options = {
+}
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = []
+
+
+# -- Options for HTMLHelp output ------------------------------------------
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'Mynewtdoc'
+
+
+# -- Options for LaTeX output ---------------------------------------------
+
+latex_elements = {
+    # The paper size ('letterpaper' or 'a4paper').
+    #
+    # 'papersize': 'letterpaper',
+
+    # The font size ('10pt', '11pt' or '12pt').
+    #
+    # 'pointsize': '10pt',
+
+    # Additional stuff for the LaTeX preamble.
+    #
+    # 'preamble': '',
+
+    # Latex figure (float) alignment
+    #
+    # 'figure_align': 'htbp',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title,
+#  author, documentclass [howto, manual, or own class]).
+latex_documents = [
+    (master_doc, 'Mynewt.tex', u'Mynewt Newt Manager',
+     u'The Apache Software Foundation', 'manual'),
+]
+
+
+# -- Options for manual page output ---------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+    (master_doc, 'mynewt', u'Mynewt Documentation',
+     [author], 1)
+]
+
+
+# -- Options for Texinfo output -------------------------------------------
+
+# Grouping the document tree into Texinfo files. List of tuples
+# (source start file, target name, title, author,
+#  dir menu entry, description, category)
+texinfo_documents = [
+    (master_doc, 'Mynewt', u'Mynewt Newt Manager',
+     author, 'Mynewt', 'One line description of project.',
+     'Miscellaneous'),
+]
+
+breathe_projects = {
+    "mynewt": "_build/xml"
+}
+breathe_default_project = "mynewt"
+# breathe_domain_by_extension = {
+#     "h" : "c",
+# }
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 0000000..eacd78b
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,14 @@
+Newt Manager Guide
+------------------
+
+Newt Manager (newtmgr) is the application tool that enables a user to
+communicate with and manage remote devices running the Mynewt OS. It
+uses a connection profile to establish a connection with a device and
+sends command requests to the device. The tool follows the same command
+structure as the :doc:`newt tool <../newt/index>`.
+
+.. toctree::
+  :titlesonly:
+
+  command_list/index
+  install/index
diff --git a/docs/install/index.rst b/docs/install/index.rst
new file mode 100644
index 0000000..192ee55
--- /dev/null
+++ b/docs/install/index.rst
@@ -0,0 +1,10 @@
+Install
+-------
+
+.. toctree::
+   :maxdepth: 2
+
+   install_mac
+   install_linux
+   install_windows
+   prev_releases
diff --git a/docs/install/install_linux.rst b/docs/install/install_linux.rst
new file mode 100644
index 0000000..6707808
--- /dev/null
+++ b/docs/install/install_linux.rst
@@ -0,0 +1,241 @@
+Installing Newtmgr on Linux
+---------------------------
+
+You can install the latest release (1.3.0) of the newtmgr tool from a
+Debian binary package (amd64). You can also download and build the
+latest release version of newtmgr from source.
+
+This page shows you how to:
+
+-  Set up your computer to download Debian binary packages from the
+   runtimeco APT repository.
+
+   **Note:** The key for signing the repository has changed. If you set
+   up your computer before release 1.1.0, you will need to download and
+   import the public key again.
+
+-  Install the latest release version of newtmgr from a Debian binary
+   package. You can use apt-get to install the package or manually
+   download and install the Debian binary package.
+
+-  Download, build, and install the latest release version of newtmgr
+   from source.
+
+.. contents::
+   :local:
+   :depth: 2
+
+See :doc:`prev_releases` to install an earlier version of newtmgr.
+
+If you are installing on an amd64 platform, we recommend that you
+install from the binary package.
+
+**Note:** We have tested the newtmgr tool binary and apt-get install
+from the runtimeco APT repository for Ubuntu version 16. Earlier Ubuntu
+versions (for example: Ubuntu 14) may have incompatibility with the
+repository. You can manually download and install the Debian binary
+package.
+
+**Note:** See :doc:`../../misc/go_env` if you want to:
+
+-  Use the newtmgr tool with the latest updates from the master branch.
+   The master branch may be unstable and we recommend that you use the
+   latest stable release version.
+-  Contribute to the newtmgr tool.
+
+Setting Up Your Computer to use apt-get to Install the Package
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The newtmgr Debian packages are stored in a private APT repository on
+https://github/runtimeco/debian-mynewt. To use apt-get, you must set
+up the following on your computer to retrieve packages from the
+repository:
+
+**Note**: You only need to perform this setup once on your computer.
+However, if you previously downloaded and imported the public key for
+the runtimeco APT repository, you will need to perform step 2 again as
+the key has changed.
+
+#. Install the ``apt-transport-https`` package to use HTTPS to retrieve
+   packages.
+#. Download the public key for the runtimeco APT repository and import
+   the key into the apt keychain.
+#. Add the repository for the binary and source packages to the apt
+   source list.
+
+
+1. Install the apt-transport-https package:
+
+   .. code-block:: console
+
+        $ sudo apt-get update
+        $ sudo apt-get install apt-transport-https
+
+#. Download the public key for the runtimeco apt repo (**Note:** There
+   is a ``-`` after ``apt-key add``):
+
+   .. code-block:: console
+
+      $ wget -qO - https://raw.githubusercontent.com/runtimeco/debian-mynewt/master/mynewt.gpg.key | sudo apt-key add -
+
+#. Add the repository for the binary packages to the ``mynewt.list``
+   apt source list file.
+
+   .. code-block:: console
+
+        $ sudo -s
+        [sudo] password for <user>:
+        root$ cat > /etc/apt/sources.list.d/mynewt.list <<EOF
+        deb https://raw.githubusercontent.com/runtimeco/debian-mynewt/master latest main
+        EOF
+        root$ exit
+
+   **Note:** Do not forget to exit the root shell.
+
+#. Verify the content of the source list file:
+
+   .. code-block:: console
+
+        $ more /etc/apt/sources.list.d/mynewt.list
+        deb https://raw.githubusercontent.com/runtimeco/debian-mynewt/master latest main
+
+#. Update the available packages:
+
+    .. code-block:: console
+
+        $ sudo apt-get update
+
+    **Note:** If you are not using Ubuntu version 16, you may see the
+    following errors. We have provided instructions on how to manually
+    download and install the binary package.
+
+    .. code-block:: console
+
+        W: Failed to fetch https://raw.githubusercontent.com/runtimeco/debian-mynewt/master/dists/latest/main/source/Sources  HttpError404
+
+Installing the Latest Release of Newtmgr from a Binary Package
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+You can use either apt-get to install the package, or manually download
+and install the Debian binary package.
+
+Method 1: Using apt-get to Upgrade or to Install
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Run the following commands to upgrade or install the latest version of
+newtmgr:
+
+.. code-block:: console
+
+    $ sudo apt-get update
+    $ sudo apt-get install newtmgr
+
+Method 2: Downloading and Installing the Debian Package Manually
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Download and install the package manually.
+
+.. code-block:: console
+
+    $ wget https://raw.githubusercontent.com/runtimeco/debian-mynewt/master/pool/main/n/newtmgr/newtmgr_1.3.0-1_amd64.deb
+    $ sudo dpkg -i newtmgr_1.3.0-1_amd64.deb
+
+See :ref:`check` to verify
+that you are using the installed version of newtmgr.
+
+Installing the Latest Release Version of Newtmgr from Source
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you are running Linux on a different architecture, you can build and
+install the latest release version of newtmgr from source.
+
+1. Download and install the latest version of
+   `Go <https://golang.org/dl/>`__. Newtmgr requires Go version 1.7.6 or
+   higher.
+
+2. Create a Go workspace in the /tmp directory:
+
+   .. code-block:: console
+
+      $ cd /tmp
+      $ mkdir go
+      $ cd go
+      $ export GOPATH=/tmp/go
+
+3. Run ``go get`` to download the newtmgr source. Note that ``go get``
+   pulls down the HEAD from the master branch in git, builds, and installs
+   newtmgr.
+
+   .. code-block:: console
+
+      $ go get mynewt.apache.org/newtmgr/newtmgr
+      $ ls -l /tmp/go/bin/newtmgr
+      -rwxr-xr-x  1 user staff  17884488 Jul 29 16:25 /tmp/go/bin/newtmgr
+
+4. Check out the source from the latest release version:
+
+   .. code-block:: console
+
+      $ cd src/mynewt.apache.org/newtmgr
+      $ git checkout mynewt_1_3_0_tag
+      Note: checking out 'mynewt_1_3_0_tag'.
+
+5. Build newtmgr from the latest release version:
+
+   .. code-block:: console
+
+      $ cd newtmgr
+      $ go install
+      $ ls /tmp/go/bin/newtmgr
+      -rwxr-xr-x  1 user  staff  17888680 Jul 29 16:28 /tmp/go/bin/newtmgr
+
+6. If you have a Go workspace, remember to reset your GOPATH to your Go
+   workspace.
+
+7. Copy the newtmgr executable to a bin directory in your path. You can
+   put it in the /usr/bin or the $GOPATH/bin directory.
+
+.. _check:
+
+Checking the Latest Version of Newtmgr is Installed
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+1. Run ``which newtmgr`` to verify that you are using the installed
+   version of newtmgr.
+
+2. Get information about the newtmgr tool:
+
+   .. code-block:: console
+
+      $ newtmgr
+      Newtmgr helps you manage remote devices running the Mynewt OS
+
+      Usage:
+        newtmgr [flags]
+        newtmgr [command]
+
+      Available Commands:
+        config      Read or write a config value on a device
+        conn        Manage newtmgr connection profiles
+        crash       Send a crash command to a device
+        datetime    Manage datetime on a device
+        echo        Send data to a device and display the echoed back data
+        fs          Access files on a device
+        help        Help about any command
+        image       Manage images on a device
+        log         Manage logs on a device
+        mpstat      Read mempool statistics from a device
+        reset       Perform a soft reset of a device
+        run         Run test procedures on a device
+        stat        Read statistics from a device
+        taskstat    Read task statistics from a device
+
+      Flags:
+        -c, --conn string       connection profile to use
+        -h, --help              help for newtmgr
+        -l, --loglevel string   log level to use (default "info")
+            --name string       name of target BLE device; overrides profile setting
+        -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+        -r, --tries int         total number of tries in case of timeout (default 1)
+
+      Use "newtmgr [command] --help" for more information about a command.
diff --git a/docs/install/install_mac.rst b/docs/install/install_mac.rst
new file mode 100644
index 0000000..7956f8b
--- /dev/null
+++ b/docs/install/install_mac.rst
@@ -0,0 +1,173 @@
+Installing Newtmgr on Mac OS
+----------------------------
+
+Newtmgr is supported on Mac OS X 64 bit platforms and has been tested on
+Mac OS 10.11 and higher.
+
+This page shows you how to install the following versions of newtmgr:
+
+-  Upgrade to or install the latest release version (1.3.0).
+-  Install the latest from the master branch (unstable).
+
+.. contents::
+  :local:
+  :depth: 2
+
+See :doc:`prev_releases`
+to install an earlier version of newtmgr.
+
+**Note:** If you would like to contribute to the newtmgr tool, see
+:doc:`../../misc/go_env`.
+
+Adding the Mynewt Homebrew Tap
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+You should have added the **runtimeco/homebrew-mynewt** tap when you
+installed the **newt** tool. Run the following commands if you have not
+done so:
+
+.. code-block:: console
+
+    $ brew tap runtimeco/homebrew-mynewt
+    $ brew update
+
+Upgrading to or Installing the Latest Release Version
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Perform the following to upgrade or install the latest release version
+of newtmgr.
+
+Upgrading to the Latest Release Version of Newtmgr
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+If you have installed an earlier version of newtmgr using brew, run the
+following commands to upgrade to the latest version of newtmgr:
+
+.. code-block:: console
+
+    $ brew update
+    $ brew upgrade mynewt-newtmgr
+
+Installing the Latest Release Version of Newtmgr
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Run the following command to install the latest release version of
+newtmgr:
+
+.. code-block:: console
+
+    $ brew update
+    $ brew install mynewt-newtmgr
+    ==> Installing mynewt-newtmgr from runtimeco/mynewt
+    ==> Downloading https://github.com/runtimeco/binary-releases/raw/master/mynewt-newt-tools_1.3.0/mynewt-newtmgr-1.3.0.sierra.bottle.tar.gz
+    ==> Downloading from https://raw.githubusercontent.com/runtimeco/binary-releases/master/mynewt-newt-tools_1.3.0/mynewt-newtmgr-1.3.0.sierra.bottle.tar.gz
+    ######################################################################## 100.0%
+    ==> Pouring mynewt-newtmgr-1.3.0.sierra.bottle.tar.gz
+    ?  /usr/local/Cellar/mynewt-newtmgr/1.3.0: 3 files, 17.3MB
+
+**Notes:** Homebrew bottles for newtmgr 1.3.0 are available for Mac OS
+Sierra, El Captian. If you are running an earlier version of Mac OS, the
+installation will install the latest version of Go and compile newtmgr
+locally.
+
+Checking the Installed Version
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Check that you are using the installed version of newtmgr:
+
+.. code-block:: console
+
+    $ which newtmgr
+    /usr/local/bin/newtmgr
+    ls -l /usr/local/bin/newtmgr
+    lrwxr-xr-x  1 user  staff  42 Sep 11 21:15 /usr/local/bin/newtmgr -> ../Cellar/mynewt-newtmgr/1.3.0/bin/newtmgr
+
+**Note:** If you previously built newtmgr from source and the output of
+``which newtmgr`` shows
+"$GOPATH/bin/newtmgr", you will need to move "$GOPATH/bin" after
+"/usr/local/bin" for your PATH in ~/.bash_profile, and source
+~/.bash_profile.
+
+Get information about newtmgr:
+
+.. code-block:: console
+
+    $ newtmgr help
+    Usage:
+      newtmgr [flags]
+      newtmgr [command]
+
+    Available Commands:
+      config      Read or write a config value on a device
+      conn        Manage newtmgr connection profiles
+      crash       Send a crash command to a device
+      datetime    Manage datetime on a device
+      echo        Send data to a device and display the echoed back data
+      fs          Access files on a device
+      help        Help about any command
+      image       Manage images on a device
+      log         Manage logs on a device
+      mpstat      Read mempool statistics from a device
+      reset       Perform a soft reset of a device
+      run         Run test procedures on a device
+      stat        Read statistics from a device
+      taskstat    Read task statistics from a device
+
+    Flags:
+      -c, --conn string       connection profile to use
+      -h, --help              help for newtmgr
+      -l, --loglevel string   log level to use (default "info")
+          --name string       name of target BLE device; overrides profile setting
+      -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+      -r, --tries int         total number of tries in case of timeout (default 1)
+
+    Use "newtmgr [command] --help" for more information about a command.
+
+Installing Newtmgr from the Master Branch
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+We recommend that you use the latest release version of newtmgr. If you
+would like to use the master branch with the latest updates, you can
+install newtmgr from the HEAD of the master branch.
+
+**Notes:**
+
+-  The master branch may be unstable.
+-  This installation will install the latest version of Go on your
+   computer, if it is not installed, and compile newtmgr locally.
+
+If you already installed newtgmr, unlink the current version:
+
+.. code-block:: console
+
+    $ brew unlink mynewt-newtmgr
+
+Install the latest unstable version of newtmgr from the master branch:
+
+.. code-block:: console
+
+    $ brew install mynewt-newtmgr --HEAD
+    ==> Installing mynewt-newtmgr from runtimeco/mynewt
+    ==> Cloning https://github.com/apache/mynewt-newtmgr.git
+    Cloning into '/Users/wanda/Library/Caches/Homebrew/mynewt-newtmgr--git'...
+    remote: Counting objects: 2169, done.
+    remote: Compressing objects: 100% (1752/1752), done.
+    remote: Total 2169 (delta 379), reused 2042 (delta 342), pack-reused 0
+    Receiving objects: 100% (2169/2169), 8.13 MiB | 5.47 MiB/s, done.
+    Resolving deltas: 100% (379/379), done.
+    ==> Checking out branch master
+    ==> go get github.com/currantlabs/ble
+    ==> go get github.com/raff/goble
+    ==> go get github.com/mgutz/logxi/v1
+    ==> go install
+    ?  /usr/local/Cellar/mynewt-newtmgr/HEAD-2d5217f: 3 files, 17.3MB, built in 1 minute 10 seconds
+
+To switch back to the latest stable release version of newtmgr, you can
+run:
+
+.. code-block:: console
+
+    $ brew switch mynewt-newtmgr 1.3.0
+    Cleaning /usr/local/Cellar/mynewt-newtmgr/1.3.0
+    Cleaning /usr/local/Cellar/mynewt-newtmgr/HEAD-2d5217f
+    1 links created for /usr/local/Cellar/mynewt-newtmgr/1.3.0
diff --git a/docs/install/install_windows.rst b/docs/install/install_windows.rst
new file mode 100644
index 0000000..0cf5c2e
--- /dev/null
+++ b/docs/install/install_windows.rst
@@ -0,0 +1,162 @@
+Installing Newtmgr on Windows
+-----------------------------
+
+This guide shows you how to install the latest release of newtmgr from
+binary or from source. The tool is written in Go (golang).
+
+It assumes that you have already installed the :doc:`newt tool on
+Windows <../../newt/install/newt_windows>` and have the Windows
+development environment set up.
+
+This guide shows you how to perform the following:
+
+1. Install latest release of newtmgr from binary.
+2. Install latest release of newtmgr from source.
+
+.. contents::
+  :local:
+  :depth: 2
+
+See :doc:`prev_releases`
+to install an earlier version of newtgmr.
+
+**Note:** If you would like to contribute to the newtmgr tool, see
+:doc:`../../misc/go_env`.
+
+Installing the Latest Release of Newtmgr Tool from Binary
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+You can install the latest release of newtmgr from binary. It has been
+tested on Windows 10 64 bit platform.
+
+1. Start a MinGW terminal.
+
+2. Download the newtmgr binary tar file:
+
+   .. code-block:: console
+
+    $ wget -P /tmp https://raw.githubusercontent.com/runtimeco/binary-releases/master/mynewt-newt-tools_1.3.0/newtmgr_1_3_0_windows_amd64.tar.gz
+
+3. Extract the file:
+
+   - If you previously built newtmgr from the master branch, you can
+     extract the file into your $GOPATH/bin directory. Note: This
+     overwrites the current newtmgr.exe in the directory and assumes that
+     you are using $GOPATH/bin for your Go applications.
+
+     ::
+          tar -xzf /tmp/newtmgr_1_3_0_windows_amd64.tar.gz -C $GOPATH/bin
+
+   - If you are installing newtmgr for the first time and do not have Go
+     setup, you can extract into /usr/bin directory:
+
+     ::
+          tar -xzf /tmp/newtmgr_1_3_0_windows_amd64.tar.gz -C /usr/bin
+
+4. Verify the installed version of newtmgr. See `Checking the Installed
+   Version <#check_newtmgr>`__.
+
+Installing the Latest Release of Newtmgr from Source
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you have an older version of Windows or a 32 bit platform, you can
+build and install the latest release version of newtmgr from source.
+
+1. Download and install the latest version of
+   `Go <https://golang.org/dl/>`__. Newtmgr requires Go version 1.7.6 or
+   higher.
+
+2. Start MinGW terminal.
+
+3. Create a Go workspace in the /tmp directory:
+
+   .. code-block:: console
+
+      $ cd /tmp
+      $ mkdir go
+      $ cd go
+      $ export GOPATH=/tmp/go
+
+4. Run ``go get`` to download the newtmgr source. Note that ``go get``
+   pulls down the HEAD from the master branch in git, builds, and installs
+   newtmgr.
+
+   .. code-block:: console
+
+
+      $ go get mynewt.apache.org/newtmgr/newtmgr
+
+   **Note** If you get the following error, you may ignore it as we will
+   rebuild newtmgr from the latest release version of newtmgr in the next
+   step:
+
+   .. code-block:: console
+
+      # github.com/currantlabs/ble/examples/lib/dev
+      ..\..\..\github.com\currantlabs\ble\examples\lib\dev\dev.go:7: undefined: DefaultDevice
+
+5. Check out the source from the latest release version:
+
+   .. code-block:: console
+
+      $ cd src/mynewt.apache.org/newtmgr
+      $ git checkout mynewt_1_3_0_tag
+      Note: checking out 'mynewt_1_3_0_tag'.
+
+6. Build newtmgr from the latest release version:
+
+   .. code-block:: console
+
+      $ cd newtmgr
+      $ go install
+      $ ls /tmp/go/bin/newtmgr.exe
+      -rwxr-xr-x 1 user None 15457280 Sep 12 00:30 /tmp/go/bin/newtmgr.exe
+
+7. If you have a Go workspace, remember to reset your GOPATH to your Go
+   workspace.
+
+8. Copy the newtmgr executable to a bin directory in your path. You can
+   put it in the /usr/bin or the $GOPATH/bin directory.
+
+Checking the Installed Version
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+1. Run ``which newtmgr`` to verify that you are using the installed
+   version of newtmgr.
+
+2. Get information about the newtmgr tool:
+
+   .. code-block:: console
+
+      $ newtmgr
+      Newtmgr helps you manage remote devices running the Mynewt OS
+
+      Usage:
+        newtmgr [flags]
+        newtmgr [command]
+
+      Available Commands:
+        config      Read or write a config value on a device
+        conn        Manage newtmgr connection profiles
+        crash       Send a crash command to a device
+        datetime    Manage datetime on a device
+        echo        Send data to a device and display the echoed back data
+        fs          Access files on a device
+        help        Help about any command
+        image       Manage images on a device
+        log         Manage logs on a device
+        mpstat      Read mempool statistics from a device
+        reset       Perform a soft reset of a device
+        run         Run test procedures on a device
+        stat        Read statistics from a device
+        taskstat    Read task statistics from a device
+
+      Flags:
+        -c, --conn string       connection profile to use
+        -h, --help              help for newtmgr
+        -l, --loglevel string   log level to use (default "info")
+            --name string       name of target BLE device; overrides profile setting
+        -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+        -r, --tries int         total number of tries in case of timeout (default 1)
+
+      Use "newtmgr [command] --help" for more information about a command.
diff --git a/docs/install/prev_releases.rst b/docs/install/prev_releases.rst
new file mode 100644
index 0000000..2e79af6
--- /dev/null
+++ b/docs/install/prev_releases.rst
@@ -0,0 +1,97 @@
+Installing Previous Releases of Newtmgr
+---------------------------------------
+
+This page shows you how to install previous releases of newtmgr for Mac
+OS, Linux, and Windows.
+
+.. contents::
+  :local:
+  :depth: 2
+
+Mac OS
+~~~~~~
+
+You can install previous releases of newtmgr using
+``mynewt-newtmgr@X.Y`` Homebrew formulas, where X.Y is a version number.
+
+For example, if you want to install newtmgr 1.0, run the following
+commands:
+
+.. code-block:: console
+
+    $ brew update
+    $ brew install mynewt-newtmgr@1.0
+
+**Note:** This is a keg-only installation. newtgmr 1.0 is installed in
+/usr/local/Cellar/mynewt-newtmgr@1.0/1.0.0/bin but not symlinked into
+/usr/local/bin.
+
+If you need this version of newtmgr first in your PATH, run the
+following commands:
+
+.. code-block:: console
+
+    $ echo 'export PATH=/usr/local/Cellar/mynewt-newtmgr@1.0/1.0.0/bin:$PATH' >> ~/.bash_profile
+    $ source ~/.bash_profile
+
+You can also manually symlink into /usr/local/bin as follows:
+
+1. Unlink newtmgr if you have the latest version of newtmgr installed:
+
+   .. code-block:: console
+
+      $ brew unlink mynewt-newtmgr
+
+2. Link mynewt-newt@1.0 into /usr/local/bin:
+
+   .. code-block:: console
+
+      $ brew link -f mynewt-newtmgr@1.0
+
+Linux
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+#. Download the binary:
+
++-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Version   | Download                                                                                                                                                 |
++===========+==========================================================================================================================================================+
+| 1.0.0     | `newtmgr\_1.0.0-1\_amd64.deb <https://raw.githubusercontent.com/runtimeco/binary-releases/master/mynewt-newt-tools_1.0.0/newtmgr_1.0.0-1_amd64.deb>`__   |
++-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 1.1.0     | `newtmgr\_1.1.0-1\_amd64.deb <https://raw.githubusercontent.com/runtimeco/binary-releases/master/mynewt-newt-tools_1.1.0/newtmgr_1.1.0-1_amd64.deb>`__   |
++-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+#. Run the ``sudo apt-get remove newtmgr`` command to remove the the
+   current installation.
+
+#. Install the package. For example, run
+   ``sudo dpkg -i newtmgr_1.0.0-1_amd64.deb`` to install newtmgr 1.0.0
+
+Windows
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+#. Download the binary:
+
++-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Version   | Download                                                                                                                                                             |
++===========+======================================================================================================================================================================+
+| 1.1.0     | `newtmgr\_1\_1\_0\_windows\_amd64.tar.gz <https://raw.githubusercontent.com/runtimeco/binary-releases/master/mynewt-newt-tools_1.1.0/newtmgr_1.1.0-1_amd64.deb>`__   |
++-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+#. Extract the file:
+
+   -  If you previously built newtmgr from the master branch, you can
+      extract the file into your $GOPATH/bin directory. Note: This
+      overwrites the current newtmgr.exe in the directory and assumes that
+      you are using $GOPATH/bin for your Go applications.
+
+      ::
+
+         tar -xzf newtmgr_1_1_0_windows_amd64.tar.gz -C $GOPATH/bin
+
+   -  If you are installing newtmgr for the first time and do not have a Go
+      workspace setup, you can extract into /usr/bin directory:
+
+      ::
+
+         tar -xzf newtmgr_1_1_0_windows_amd64.tar.gz -C /usr/bin


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services