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/03/02 01:26:56 UTC

[GitHub] aditihilbert closed pull request #404: automated asf-site build

aditihilbert closed pull request #404: automated asf-site build
URL: https://github.com/apache/mynewt-site/pull/404
 
 
   

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/develop/_images/device-mgmt.png b/develop/_images/device-mgmt.png
new file mode 100644
index 000000000..534d97f5c
Binary files /dev/null and b/develop/_images/device-mgmt.png differ
diff --git a/develop/_images/mkr1000-jlink.jpg b/develop/_images/mkr1000-jlink.jpg
new file mode 100644
index 000000000..cfa09ca7a
Binary files /dev/null and b/develop/_images/mkr1000-jlink.jpg differ
diff --git a/develop/_images/mkr1000-serial.jpg b/develop/_images/mkr1000-serial.jpg
new file mode 100644
index 000000000..f4e381900
Binary files /dev/null and b/develop/_images/mkr1000-serial.jpg differ
diff --git a/develop/_images/sensor_framework.png b/develop/_images/sensor_framework.png
new file mode 100644
index 000000000..8114e0676
Binary files /dev/null and b/develop/_images/sensor_framework.png differ
diff --git a/develop/_sources/misc/faq.rst.txt b/develop/_sources/misc/faq.rst.txt
index 449d4ff4f..be4131524 100644
--- a/develop/_sources/misc/faq.rst.txt
+++ b/develop/_sources/misc/faq.rst.txt
@@ -6,9 +6,33 @@ questions.
 
 Mynewt software questions:
 ^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. contents::
+  :local:
+  :depth: 1
+
+How do I reduce the code size for my Mynewt image?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Please refer to the tutorial documentation on `reducing application code size <https://github.com/apache/mynewt-site/blob/master/docs/os/tutorials/codesize.md>`_.
+
+I'm having issues using Newt Manager with the Adafruit nRF52DK. What do I do?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+There are two things you will need to do to fix any issues you encounter when working with the Adafruit nRF52DK and Newt Manager:
+
+1) Specify a reduced MTU:
+
+   You can specify the reduced MTU by adding ``mtu=128`` to your connection string. The reason for this change is that MTU is the serial boot loader used to have a smaller receive buffer (128 bytes). The newtmgr tool sends larger image chunks by default, so specifying the MTU will reduce the image size. 
+\
 
-- :doc:`How do I reduce the code size for my Mynewt image? <../tutorials/codesize>`
+2) Indicate that the existing image should not be erased:
 
+   This is accomplished with the ``-e`` command line option. Your command line should look similar to the following:
+   
+   ``$ newtmgr --conntype serial --connextra 'dev=/dev/ttyUSB0,mtu=128' image upload -e <image-path>``
+   
+   This change is needed because the serial boot loader doesn't support the standalone "erase image" command - as a result, it drops the request. The newtmgr image upload command starts by sending an erase command, then times out when it doesn't receive a response. The older version of newtmgr would use smaller chunk size for images, and it did not send the standalone erase command. When newtmgr was changed in versions 1.2 and 1.3, the serial boot loader changed along with it. The latest newtmgr is not compatible with an older version of the boot loader (which your board will probably ship with) without the above workarounds.
+   
 Administrative questions:
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 
diff --git a/develop/_sources/os/core_os/callout/callout.rst.txt b/develop/_sources/os/core_os/callout/callout.rst.txt
new file mode 100644
index 000000000..ad8f51d29
--- /dev/null
+++ b/develop/_sources/os/core_os/callout/callout.rst.txt
@@ -0,0 +1,82 @@
+Callout
+=======
+
+Callouts are MyNewt OS timers.
+
+Description
+~~~~~~~~~~~
+
+Callout is a way of setting up an OS timer. When the timer fires, it is
+delivered as an event to task's event queue.
+
+User would initialize their callout structure using
+*os\_callout\_init()*, or *os\_callout\_func\_init()* and then arm it
+with *os\_callout\_reset()*.
+
+If user wants to cancel the timer before it expires, they can either use
+*os\_callout\_reset()* to arm it for later expiry, or stop it altogether
+by calling *os\_callout\_stop()*.
+
+There are 2 different options for data structure to use. First is
+*struct os\_callout*, which is a bare-bones version. You would
+initialize this with *os\_callout\_init()*.
+
+Second option is *struct os\_callout\_func*. This you can use if you
+expect to have multiple different types of timers in your task, running
+concurrently. The structure contains a function pointer, and you would
+call that function from your task's event processing loop.
+
+Time unit when arming the timer is OS ticks. This rate of this ticker
+depends on the platform this is running on. You should use OS define
+*OS\_TICKS\_PER\_SEC* to convert wallclock time to OS ticks.
+
+Callout timer fires out just once. For periodic timer type of operation
+you need to rearm it once it fires.
+
+Data structures
+~~~~~~~~~~~~~~~
+
+::
+
+    struct os_callout {
+        struct os_event c_ev;
+        struct os_eventq *c_evq;
+        uint32_t c_ticks;
+        TAILQ_ENTRY(os_callout) c_next;
+    };
+
++------------+------------------------------------------------------------+
+| Element    | Description                                                |
++============+============================================================+
+| c\_ev      | Event structure of this callout                            |
++------------+------------------------------------------------------------+
+| c\_evq     | Event queue where this callout is placed on timer expiry   |
++------------+------------------------------------------------------------+
+| c\_ticks   | OS tick amount when timer fires                            |
++------------+------------------------------------------------------------+
+| c\_next    | Linkage to other unexpired callouts                        |
++------------+------------------------------------------------------------+
+
+::
+
+    struct os_callout_func {
+        struct os_callout cf_c;
+        os_callout_func_t cf_func;
+        void *cf_arg;
+    };
+
++------------+---------------------------------------------------------------------+
+| Element    | Description                                                         |
++============+=====================================================================+
+| cf\_c      | struct os\_callout. See above                                       |
++------------+---------------------------------------------------------------------+
+| cf\_func   | Function pointer which should be called by event queue processing   |
++------------+---------------------------------------------------------------------+
+| cf\_arg    | Generic void \* argument to that function                           |
++------------+---------------------------------------------------------------------+
+
+API
+-----------------
+
+.. doxygengroup:: OSCallouts
+    :content-only:
diff --git a/develop/_sources/os/core_os/event_queue/event_queue.rst.txt b/develop/_sources/os/core_os/event_queue/event_queue.rst.txt
new file mode 100644
index 000000000..b8f2f7606
--- /dev/null
+++ b/develop/_sources/os/core_os/event_queue/event_queue.rst.txt
@@ -0,0 +1,145 @@
+Event Queues
+============
+
+An event queue allows a task to serialize incoming events and simplify
+event processing. Events are stored in a queue and a task removes and
+processes an event from the queue. An event is processed in the context
+of this task. Events may be generated by `OS
+callouts <../callout/callout.html>`__, interrupt handlers, and other
+tasks.
+
+Description
+---------------
+
+Mynewt's event queue model uses callback functions to process events.
+Each event is associated with a callback function that is called to
+process the event. This model enables a library package, that uses
+events in its implementation but does not have real-time timing
+requirements, to use an application event queue instead of creating a
+dedicated event queue and task to process its events. The callback
+function executes in the context of the task that the application
+creates to manage the event queue. This model reduces an application's
+memory requirement because memory must be allocated for the task's stack
+when a task is created. A package that has real-time timing requirements
+and must run at a specific task priority should create a dedicated event
+queue and task to process its events.
+
+In the Mynewt model, a package defines its events and implements the
+callback functions for the events. A package that does not have
+real-time timing requirements should use Mynewt's default event queue
+for its events. The callback function for an event from the Mynewt
+default event queue is executed in the context of the application main
+task. A package can, optionally, export a function that allows an
+application to specify the event queue for the package to use. (See the
+example in the ``os_eventq_designate()`` function description on how to
+write such a function.) The application task handler that manages the
+event queue simply pulls events from the event queue and executes the
+event's callback function in its context.
+
+A common way that Mynewt applications or packages process events from an
+event queue is to have a task that executes in an infinite loop and
+calls the ``os_eventq_get()`` function to dequeue and return the event
+from the head of the event queue. The task then calls the event callback
+function to process the event. The ``os_eventq_get()`` function puts the
+task in to the ``sleeping`` state when there are no events on the queue.
+(See `Scheduler <../context_switch/context_switch.html>`__ for more
+information on task execution states.) Other tasks (or interrupts) call
+the ``os_eventq_put()`` function to add an event to the queue. The
+``os_eventq_put()`` function determines whether a task is blocked
+waiting for an event on the queue and puts the task into the
+``ready-to-run`` state.
+
+A task can use the ``os_eventq_run()`` wrapper function that calls the
+``os_eventq_get()`` function to dequeue an event from the queue and then
+calls the event callback function to process the event.
+
+Note:
+
+-  Only one task should consume or block waiting for events from an
+   event queue.
+-  The `os\_callout <../callout/callout.html>`__ subsystem uses events for
+   timer expiration notification.
+
+Data structures
+---------------
+
+The ``os_event`` structure defines an event and has the following
+fields:
+
+.. code:: c
+
+    struct os_event {
+        uint8_t ev_queued;
+        os_event_fn *ev_cb;
+        void *ev_arg;
+        STAILQ_ENTRY(os_event) ev_next;
+    };
+
++-----------------+--------------------------------------------------------------------------------------------+
+| Element         | Description                                                                                |
++=================+============================================================================================+
+| ``ev_queued``   | Internal field that indicates whether this event is currently linked to an event queue     |
++-----------------+--------------------------------------------------------------------------------------------+
+| ``ev_cb``       | Pointer to the callback function to call to process this event                             |
++-----------------+--------------------------------------------------------------------------------------------+
+| ``ev_arg``      | Pointer to an optional opaque data that the callback function uses to process this event   |
++-----------------+--------------------------------------------------------------------------------------------+
+| ``ev_next``     | Linkage attaching this event to an event queue                                             |
++-----------------+--------------------------------------------------------------------------------------------+
+
+An event callback function has the following function prototype:
+
+.. code:: c
+
+    typedef void os_event_fn(struct os_event *ev);
+
+A pointer to the ``os_event`` structure for the event is passed as an
+argument to the callback function.
+
+Notes: If the memory for the ``os_event`` structure is dynamically
+allocated:
+
+-  You must not free the memory for an event that is currently on an
+   event queue.
+-  You must free the memory in the callback function after it completes
+   processing the event.
+
+You must set the callback function for an event when you initialize the
+event. For example, here is an example of a statically-initialized event
+in the NimBLE host:
+
+.. code:: c
+
+    static void ble_hs_event_tx_notify(struct os_event *ev);
+
+    /** OS event - triggers tx of pending notifications and indications. */
+    static struct os_event ble_hs_ev_tx_notifications = {
+        .ev_cb = ble_hs_event_tx_notify,
+    };
+
+The ``os_eventq`` structure defines an event queue and has the following fields:
+
+.. code:: c
+
+    struct os_eventq {
+        struct os_task *evq_task;
+        STAILQ_HEAD(, os_event) evq_list;
+    };
+
++----------------+------------------------------------------------------------------------------------------------------------------------------------+
+| Element        | Description                                                                                                                        |
++================+====================================================================================================================================+
+| ``evq_task``   | Pointer to the task, if any, that is waiting (in the ``sleeping`` state) for the ``os_eventq_get()`` function to return an event   |
++----------------+------------------------------------------------------------------------------------------------------------------------------------+
+| ``evq_list``   | Head of the list of events in this queue                                                                                           |
++----------------+------------------------------------------------------------------------------------------------------------------------------------+
+
+
+You must call the ``os_eventq_init()`` function to initialize an event
+queue before you can add events to the queue.
+
+API
+----
+
+.. doxygengroup:: OSEvent
+    :content-only:
diff --git a/develop/_sources/os/core_os/heap/heap.rst.txt b/develop/_sources/os/core_os/heap/heap.rst.txt
new file mode 100644
index 000000000..c4e30b2ab
--- /dev/null
+++ b/develop/_sources/os/core_os/heap/heap.rst.txt
@@ -0,0 +1,25 @@
+Heap
+====
+
+API for doing dynamic memory allocation.
+
+Description
+------------
+
+This provides malloc()/free() functionality with locking. The shared
+resource heap needs to be protected from concurrent access when OS has
+been started. *os\_malloc()* function grabs a mutex before calling
+*malloc()*.
+
+Data structures
+-----------------
+
+N/A
+
+API
+----
+
+See the API for OS level function calls.
+
+-  `Mynewt Core OS <../mynewt_os.html>`__
+
diff --git a/develop/_sources/os/core_os/mbuf/mbuf.rst.txt b/develop/_sources/os/core_os/mbuf/mbuf.rst.txt
new file mode 100644
index 000000000..e5df9f573
--- /dev/null
+++ b/develop/_sources/os/core_os/mbuf/mbuf.rst.txt
@@ -0,0 +1,472 @@
+Mbufs
+=====
+
+The mbuf (short for memory buffer) is a common concept in networking
+stacks. The mbuf is used to hold packet data as it traverses the stack.
+The mbuf also generally stores header information or other networking
+stack information that is carried around with the packet. The mbuf and
+its associated library of functions were developed to make common
+networking stack operations (like stripping and adding protocol headers)
+efficient and as copy-free as possible.
+
+In its simplest form, an mbuf is a memory block with some space reserved
+for internal information and a pointer which is used to "chain" memory
+blocks together in order to create a "packet". This is a very important
+aspect of the mbuf: the ability to chain mbufs together to create larger
+"packets" (chains of mbufs).
+
+Why use mbufs?
+----------------
+
+The main reason is to conserve memory. Consider a networking protocol
+that generally sends small packets but occasionally sends large ones.
+The Bluetooth Low Energy (BLE) protocol is one such example. A flat
+buffer would need to be sized so that the maximum packet size could be
+contained by the buffer. With the mbuf, a number of mbufs can be chained
+together so that the occasional large packet can be handled while
+leaving more packet buffers available to the networking stack for
+smaller packets.
+
+Packet Header mbuf
+--------------------
+
+Not all mbufs are created equal. The first mbuf in a chain of mbufs is a
+special mbuf called a "packet header mbuf". The reason that this mbuf is
+special is that it contains the length of all the data contained by the
+chain of mbufs (the packet length, in other words). The packet header
+mbuf may also contain a user defined structure (called a "user header")
+so that networking protocol specific information can be conveyed to
+various layers of the networking stack. Any mbufs that are part of the
+packet (i.e. in the mbuf chain but not the first one) are "normal" (i.e.
+non-packet header) mbufs. A normal mbuf does not have any packet header
+or user packet header structures in them; they only contain the basic
+mbuf header (``struct os_mbuf``). Figure 1 illustrates these two types
+of mbufs. Note that the numbers/text in parentheses denote the size of
+the structures/elements (in bytes) and that MBLEN is the memory block
+length of the memory pool used by the mbuf pool.
+
+.. figure:: pics/mbuf_fig1.png
+   :alt: Packet header mbuf
+
+   Packet header mbuf
+
+Normal mbuf
+--------------
+
+Now let's take a deeper dive into the mbuf structure. Figure 2
+illustrates a normal mbuf and breaks out the various fields in the
+``os_mbuf`` structure.
+
+-  The *om\_data* field is a pointer to where the data starts inside the
+   data buffer. Typically, mbufs that are allocated from the mbuf pool
+   (discussed later) have their om\_data pointer set to the start of the
+   data buffer but there are cases where this may not be desirable
+   (added a protocol header to a packet, for example).
+-  The *om\_flags* field is a set of flags used internally by the mbuf
+   library. Currently, no flags have been defined.
+-  The *om\_pkthdr\_len* field is the total length of all packet headers
+   in the mbuf. For normal mbufs this is set to 0 as there is no packet
+   or user packet headers. For packet header mbufs, this would be set to
+   the length of the packet header structure (16) plus the size of the
+   user packet header (if any). Note that it is this field which
+   differentiates packet header mbufs from normal mbufs (i.e. if
+   *om\_pkthdr\_len* is zero, this is a normal mbuf; otherwise it is a
+   packet header mbuf).
+-  The *om\_len* field contains the amount of user data in the data
+   buffer. When initially allocated, this field is 0 as there is no user
+   data in the mbuf.
+-  The *omp\_pool* field is a pointer to the pool from which this mbuf
+   has been allocated. This is used internally by the mbuf library.
+-  The *omp\_next* field is a linked list element which is used to chain
+   mbufs.
+
+Figure 2 also shows a normal mbuf with actual values in the ``os_mbuf``
+structure. This mbuf starts at address 0x1000 and is 256 bytes in total
+length. In this example, the user has copied 33 bytes into the data
+buffer starting at address 0x1010 (this is where om\_data points). Note
+that the packet header length in this mbuf is 0 as it is not a packet
+header mbuf.
+
+.. figure:: pics/mbuf_fig2.png
+   :alt: OS mbuf structure
+
+   OS mbuf structure
+
+Figure 3 illustrates the packet header mbuf along with some chained
+mbufs (i.e a "packet"). In this example, the user header structure is
+defined to be 8 bytes. Note that in figure 3 we show a number of
+different mbufs with varying *om\_data* pointers and lengths since we
+want to show various examples of valid mbufs. For all the mbufs (both
+packet header and normal ones) the total length of the memory block is
+128 bytes.
+
+.. figure:: pics/mbuf_fig3.png
+   :alt: Packet
+
+   Packet
+
+Mbuf pools
+---------------
+
+Mbufs are collected into "mbuf pools" much like memory blocks. The mbuf
+pool itself contains a pointer to a memory pool. The memory blocks in
+this memory pool are the actual mbufs; both normal and packet header
+mbufs. Thus, the memory block (and corresponding memory pool) must be
+sized correctly. In other words, the memory blocks which make up the
+memory pool used by the mbuf pool must be at least: sizeof(struct
+os\_mbuf) + sizeof(struct os\_mbuf\_pkthdr) + sizeof(struct
+user\_defined\_header) + desired minimum data buffer length. For
+example, if the developer wants mbufs to contain at least 64 bytes of
+user data and they have a user header of 12 bytes, the size of the
+memory block would be (at least): 64 + 12 + 16 + 8, or 100 bytes. Yes,
+this is a fair amount of overhead. However, the flexibility provided by
+the mbuf library usually outweighs overhead concerns.
+
+Create mbuf pool
+-----------------
+
+Creating an mbuf pool is fairly simple: create a memory pool and then
+create the mbuf pool using that memory pool. Once the developer has
+determined the size of the user data needed per mbuf (this is based on
+the application/networking stack and is outside the scope of this
+discussion) and the size of the user header (if any), the memory blocks
+can be sized. In the example shown below, the application requires 64
+bytes of user data per mbuf and also allocates a user header (called
+struct user\_hdr). Note that we do not show the user header data
+structure as there really is no need; all we need to do is to account
+for it when creating the memory pool. In the example, we use the macro
+*MBUF\_PKTHDR\_OVERHEAD* to denote the amount of packet header overhead
+per mbuf and *MBUF\_MEMBLOCK\_OVERHEAD* to denote the total amount of
+overhead required per memory block. The macro *MBUF\_BUF\_SIZE* is used
+to denote the amount of payload that the application requires (aligned
+on a 32-bit boundary in this case). All this leads to the total memory
+block size required, denoted by the macro *MBUF\_MEMBLOCK\_OVERHEAD*.
+
+.. code:: c
+
+
+    #define MBUF_PKTHDR_OVERHEAD    sizeof(struct os_mbuf_pkthdr) + sizeof(struct user_hdr)
+    #define MBUF_MEMBLOCK_OVERHEAD  sizeof(struct os_mbuf) + MBUF_PKTHDR_OVERHEAD
+
+    #define MBUF_NUM_MBUFS      (32)
+    #define MBUF_PAYLOAD_SIZE   (64)
+    #define MBUF_BUF_SIZE       OS_ALIGN(MBUF_PAYLOAD_SIZE, 4)
+    #define MBUF_MEMBLOCK_SIZE  (MBUF_BUF_SIZE + MBUF_MEMBLOCK_OVERHEAD)
+    #define MBUF_MEMPOOL_SIZE   OS_MEMPOOL_SIZE(MBUF_NUM_MBUFS, MBUF_MEMBLOCK_SIZE)
+
+    struct os_mbuf_pool g_mbuf_pool; 
+    struct os_mempool g_mbuf_mempool;
+    os_membuf_t g_mbuf_buffer[MBUF_MEMPOOL_SIZE];
+
+    void
+    create_mbuf_pool(void)
+    {
+        int rc;
+        
+        rc = os_mempool_init(&g_mbuf_mempool, MBUF_NUM_MBUFS, 
+                              MBUF_MEMBLOCK_SIZE, &g_mbuf_buffer[0], "mbuf_pool");
+        assert(rc == 0);
+
+        rc = os_mbuf_pool_init(&g_mbuf_pool, &g_mbuf_mempool, MBUF_MEMBLOCK_SIZE, 
+                               MBUF_NUM_MBUFS);
+        assert(rc == 0);
+    }
+
+Using mbufs
+--------------
+
+The following examples illustrate typical mbuf usage. There are two
+basic mbuf allocation API: ``os_mbuf_get()`` and
+``os_mbuf_get_pkthdr()``. The first API obtains a normal mbuf whereas
+the latter obtains a packet header mbuf. Typically, application
+developers use ``os_mbuf_get_pkthdr()`` and rarely, if ever, need to
+call ``os_mbuf_get()`` as the rest of the mbuf API (e.g.
+``os_mbuf_append()``, ``os_mbuf_copyinto()``, etc.) typically deal with
+allocating and chaining mbufs. It is recommended to use the provided API
+to copy data into/out of mbuf chains and/or manipulate mbufs.
+
+In ``example1``, the developer creates a packet and then sends the
+packet to a networking interface. The code sample also provides an
+example of copying data out of an mbuf as well as use of the "pullup"
+api (another very common mbuf api).
+
+.. code:: c
+
+
+    void
+    mbuf_usage_example1(uint8_t *mydata, int mydata_length)
+    {
+        int rc;
+        struct os_mbuf *om;
+
+        /* get a packet header mbuf */
+        om = os_mbuf_get_pkthdr(&g_mbuf_pool, sizeof(struct user_hdr));
+        if (om) {
+            /* 
+             * Copy user data into mbuf. NOTE: if mydata_length is greater than the
+             * mbuf payload size (64 bytes using above example), mbufs are allocated
+             * and chained together to accommodate the total packet length.
+             */
+            rc = os_mbuf_copyinto(om, 0, mydata, len);
+            if (rc) {
+                /* Error! Could not allocate enough mbufs for total packet length */
+                return -1;
+            }
+            
+            /* Send packet to networking interface */
+            send_pkt(om);
+        }
+    }
+
+In ``example2`` we show use of the pullup api as this illustrates some
+of the typical pitfalls developers encounter when using mbufs. The first
+pitfall is one of alignment/padding. Depending on the processor and/or
+compiler, the sizeof() a structure may vary. Thus, the size of
+*my\_protocol\_header* may be different inside the packet data of the
+mbuf than the size of the structure on the stack or as a global
+variable, for instance. While some networking protcols may align
+protocol information on convenient processor boundaries many others try
+to conserve bytes "on the air" (i.e inside the packet data). Typical
+methods used to deal with this are "packing" the structure (i.e. force
+compiler to not pad) or creating protocol headers that do not require
+padding. ``example2`` assumes that one of these methods was used when
+defining the *my\_protocol\_header* structure.
+
+Another common pitfall occurs around endianness. A network protocol may
+be little endian or big endian; it all depends on the protocol
+specification. Processors also have an endianness; this means that the
+developer has to be careful that the processor endianness and the
+protocol endianness are handled correctly. In ``example2``, some common
+networking functions are used: ``ntohs()`` and ``ntohl()``. These are
+shorthand for "network order to host order, short" and "network order to
+host order, long". Basically, these functions convert data of a certain
+size (i.e. 16 bits, 32 bits, etc) to the endianness of the host. Network
+byte order is big-endian (most significant byte first), so these
+functions convert big-endian byte order to host order (thus, the
+implementation of these functions is host dependent). Note that the BLE
+networking stack "on the air" format is least signigicant byte first
+(i.e. little endian), so a "bletoh" function would have to take little
+endian format and convert to host format.
+
+A long story short: the developer must take care when copying structure
+data to/from mbufs and flat buffers!
+
+A final note: these examples assume the same mbuf struture and
+definitions used in the first example.
+
+.. code:: c
+
+    void
+    mbuf_usage_example2(struct mbuf *rxpkt)
+    {
+        int rc;
+        uint8_t packet_data[16];
+        struct mbuf *om;
+        struct my_protocol_header *phdr;
+
+        /* Make sure that "my_protocol_header" bytes are contiguous in mbuf */
+        om = os_mbuf_pullup(&g_mbuf_pool, sizeof(struct my_protocol_header));
+        if (!om) {
+            /* Not able to pull up data into contiguous area */
+            return -1;
+        }
+        
+        /* 
+         * Get the protocol information from the packet. In this example we presume that we
+         * are interested in protocol types that are equal to MY_PROTOCOL_TYPE, are not zero
+         * length, and have had some time in flight.
+         */
+        phdr = OS_MBUF_DATA(om, struct my_protocol_header *);
+        type = ntohs(phdr->prot_type);
+        length = ntohs(phdr->prot_length);
+        time_in_flight = ntohl(phdr->prot_tif);
+        
+        if ((type == MY_PROTOCOL_TYPE) && (length > 0) && (time_in_flight > 0)) {
+            rc = os_mbuf_copydata(rxpkt, sizeof(struct my_protocol_header), 16, packet_data);
+            if (!rc) {
+                /* Success! Perform operations on packet data */
+                <... user code here ...>
+            }
+        }
+        
+        /* Free passed in packet (mbuf chain) since we don't need it anymore */
+        os_mbuf_free_chain(om);
+    }
+
+Data Structures
+-----------------
+
+.. code:: c
+
+    struct os_mbuf_pool {
+        uint16_t omp_databuf_len;
+        uint16_t omp_mbuf_count;
+        struct os_mempool *omp_pool;
+        STAILQ_ENTRY(os_mbuf_pool) omp_next;
+    };
+
++--------------+----------------+
+| **Element**  | **Description* |
+|              | *              |
++==============+================+
+| omp\_databuf | The length, in |
+| \_len        | bytes, of the  |
+|              | "data buffer"  |
+|              | of the mbuf.   |
+|              | The data       |
+|              | buffer of the  |
+|              | mbuf is        |
+|              | everything     |
+|              | except the     |
+|              | os\_mbuf       |
+|              | structure      |
+|              | (which is      |
+|              | present in all |
+|              | types of       |
+|              | mbufs)         |
++--------------+----------------+
+| omp\_mbuf\_c | Total number   |
+| ount         | of mbufs in    |
+|              | the pool when  |
+|              | allocated.     |
+|              | This is NOT    |
+|              | the number of  |
+|              | free mbufs in  |
+|              | the pool!      |
++--------------+----------------+
+| omp\_pool    | The memory     |
+|              | pool from      |
+|              | which the      |
+|              | mbufs are      |
+|              | allocated      |
++--------------+----------------+
+| omp\_next    | This is a      |
+|              | linked list    |
+|              | pointer which  |
+|              | chains memory  |
+|              | pools. It is   |
+|              | used by the    |
+|              | system memory  |
+|              | pool library   |
++--------------+----------------+
+
+.. code:: c
+
+    struct os_mbuf_pkthdr {
+        uint16_t omp_len;
+        uint16_t omp_flags;
+        STAILQ_ENTRY(os_mbuf_pkthdr) omp_next;
+    };
+
++--------------+----------------+
+| **Element**  | **Description* |
+|              | *              |
++==============+================+
+| omp\_len     | Length, in     |
+|              | bytes, of the  |
+|              | "packet". This |
+|              | is the sum of  |
+|              | the user data  |
+|              | in all the     |
+|              | mbufs chained  |
+|              | to the packet  |
+|              | header mbuf    |
+|              | (including the |
+|              | packet header  |
+|              | mbuf)          |
++--------------+----------------+
+| omp\_flags   | Packet header  |
+|              | flags.         |
++--------------+----------------+
+| omp\_next    | Linked list    |
+|              | pointer to     |
+|              | chain          |
+|              | "packets".     |
+|              | This can be    |
+|              | used to add    |
+|              | mbuf chains to |
+|              | a queue or     |
+|              | linked list    |
+|              | and is there   |
+|              | for            |
+|              | convenience.   |
++--------------+----------------+
+
+.. code:: c
+
+    struct os_mbuf {
+        uint8_t *om_data;
+        uint8_t om_flags;
+        uint8_t om_pkthdr_len;
+        uint16_t om_len;
+        struct os_mbuf_pool *om_omp;
+        SLIST_ENTRY(os_mbuf) om_next;
+        uint8_t om_databuf[0];
+    };
+
++--------------+----------------+
+| **Element**  | **Description* |
+|              | *              |
++==============+================+
+| om\_data     | Pointer to     |
+|              | start of user  |
+|              | data in mbuf   |
+|              | data buffer    |
++--------------+----------------+
+| om\_flags    | mbuf flags     |
+|              | field.         |
+|              | Currently all  |
+|              | flags unused.  |
++--------------+----------------+
+| om\_pkthdr\_ | The total      |
+| len          | length of all  |
+|              | packet headers |
+|              | in the mbuf    |
+|              | (mbuf packet   |
+|              | header plus    |
+|              | user packet    |
+|              | header), in    |
+|              | bytes          |
++--------------+----------------+
+| om\_len      | The length of  |
+|              | the user data  |
+|              | contained in   |
+|              | this mbuf, in  |
+|              | bytes          |
++--------------+----------------+
+| om\_omp      | Memory pool    |
+|              | pointer. This  |
+|              | is the mbuf    |
+|              | pool from      |
+|              | which this     |
+|              | mbuf was       |
+|              | allocated.     |
++--------------+----------------+
+| om\_next     | Pointer to     |
+|              | next mbuf in   |
+|              | packet chain   |
++--------------+----------------+
+| om\_databuf  | mbuf data      |
+|              | buffer         |
+|              | (accessor to   |
+|              | start of mbuf  |
+|              | data buffer).  |
+|              | Note that the  |
+|              | mbuf data      |
+|              | buffer refers  |
+|              | to the start   |
+|              | of either the  |
+|              | user data in   |
+|              | normal mbufs   |
+|              | or the start   |
+|              | of the os mbuf |
+|              | packet header  |
+|              | for packet     |
+|              | header mbufs   |
++--------------+----------------+
+
+API
+-----------------
+
+.. doxygengroup:: OSMbuf
+    :content-only:
diff --git a/develop/_sources/os/core_os/memory_pool/memory_pool.rst.txt b/develop/_sources/os/core_os/memory_pool/memory_pool.rst.txt
new file mode 100644
index 000000000..43f20b183
--- /dev/null
+++ b/develop/_sources/os/core_os/memory_pool/memory_pool.rst.txt
@@ -0,0 +1,157 @@
+Memory Pools
+============
+
+A memory pool is a collection of fixed sized elements called memory
+blocks. Generally, memory pools are used when the developer wants to
+allocate a certain amount of memory to a given feature. Unlike the heap,
+where a code module is at the mercy of other code modules to insure
+there is sufficient memory, memory pools can insure sufficient memory
+allocation.
+
+Description
+------------
+
+In order to create a memory pool the developer needs to do a few things.
+The first task is to define the memory pool itself. This is a data
+structure which contains information about the pool itself (i.e. number
+of blocks, size of the blocks, etc).
+
+.. code:: c
+
+    struct os_mempool my_pool;
+
+The next order of business is to allocate the memory used by the memory
+pool. This memory can either be statically allocated (i.e. a global
+variable) or dynamically allocated (i.e. from the heap). When
+determining the amount of memory required for the memory pool, simply
+multiplying the number of blocks by the size of each block is not
+sufficient as the OS may have alignment requirements. The alignment size
+definition is named ``OS_ALIGNMENT`` and can be found in os\_arch.h as
+it is architecture specific. The memory block alignment is usually for
+efficiency but may be due to other reasons. Generally, blocks are
+aligned on 32-bit boundaries. Note that memory blocks must also be of
+sufficient size to hold a list pointer as this is needed to chain memory
+blocks on the free list.
+
+In order to simplify this for the user two macros have been provided:
+``OS_MEMPOOL_BYTES(n, blksize)`` and ``OS_MEMPOOL_SIZE(n, blksize)``.
+The first macro returns the number of bytes needed for the memory pool
+while the second returns the number of ``os_membuf_t`` elements required
+by the memory pool. The ``os_membuf_t`` type is used to guarantee that
+the memory buffer used by the memory pool is aligned on the correct
+boundary.
+
+Here are some examples. Note that if a custom malloc implementation is
+used it must guarantee that the memory buffer used by the pool is
+allocated on the correct boundary (i.e. OS\_ALIGNMENT).
+
+.. code:: c
+
+    void *my_memory_buffer;
+    my_memory_buffer = malloc(OS_MEMPOOL_BYTES(NUM_BLOCKS, BLOCK_SIZE));
+
+.. code:: c
+
+    os_membuf_t my_memory_buffer[OS_MEMPOOL_SIZE(NUM_BLOCKS, BLOCK_SIZE)];
+
+Now that the memory pool has been defined as well as the memory
+required for the memory blocks which make up the pool the user needs to
+initialize the memory pool by calling ``os_mempool_init``.
+
+.. code:: c
+
+    os_mempool_init(&my_pool, NUM_BLOCKS, BLOCK_SIZE, my_memory_buffer,
+                             "MyPool");
+
+Once the memory pool has been initialized the developer can allocate
+memory blocks from the pool by calling ``os_memblock_get``. When the
+memory block is no longer needed the memory can be freed by calling
+``os_memblock_put``.
+
+Data structures
+----------------
+
+.. code:: c
+
+    struct os_mempool {
+        int mp_block_size;
+        int mp_num_blocks;
+        int mp_num_free;
+        int mp_min_free;
+        uint32_t mp_membuf_addr;
+        STAILQ_ENTRY(os_mempool) mp_list;    
+        SLIST_HEAD(,os_memblock);
+        char *name;
+    };
+
+    struct os_mempool_info {
+        int omi_block_size;
+        int omi_num_blocks;
+        int omi_num_free;
+        int omi_min_free;
+        char omi_name[OS_MEMPOOL_INFO_NAME_LEN];
+    };
+
++--------------+----------------+
+| **Element**  | **Description* |
+|              | *              |
++==============+================+
+| mp\_block\_s | Size of the    |
+| ize          | memory blocks, |
+|              | in bytes. This |
+|              | is not the     |
+|              | actual number  |
+|              | of bytes used  |
+|              | by each block; |
+|              | it is the      |
+|              | requested size |
+|              | of each block. |
+|              | The actual     |
+|              | memory block   |
+|              | size will be   |
+|              | aligned to     |
+|              | OS\_ALIGNMENT  |
+|              | bytes          |
++--------------+----------------+
+| mp\_num\_blo | Number of      |
+| cks          | memory blocks  |
+|              | in the pool    |
++--------------+----------------+
+| mp\_num\_fre | Number of free |
+| e            | blocks left    |
++--------------+----------------+
+| mp\_min\_fre | Lowest number  |
+| e            | of free blocks |
+|              | seen           |
++--------------+----------------+
+| mp\_membuf\_ | The address of |
+| addr         | the memory     |
+|              | block. This is |
+|              | used to check  |
+|              | that a valid   |
+|              | memory block   |
+|              | is being       |
+|              | freed.         |
++--------------+----------------+
+| mp\_list     | List pointer   |
+|              | to chain       |
+|              | memory pools   |
+|              | so they can be |
+|              | displayed by   |
+|              | newt tools     |
++--------------+----------------+
+| SLIST\_HEAD( | List pointer   |
+| ,os\_membloc | to chain free  |
+| k)           | memory blocks  |
++--------------+----------------+
+| name         | Name for the   |
+|              | memory block   |
++--------------+----------------+
+
+API
+-----
+
+.. doxygengroup:: OSMempool
+    :content-only:
+
+
diff --git a/develop/_sources/os/core_os/mqueue/mqueue.rst.txt b/develop/_sources/os/core_os/mqueue/mqueue.rst.txt
new file mode 100644
index 000000000..b7c13b858
--- /dev/null
+++ b/develop/_sources/os/core_os/mqueue/mqueue.rst.txt
@@ -0,0 +1,95 @@
+Mqueue
+======
+
+The mqueue construct allows a task to wake up when it receives data.
+Typically, this data is in the form of packets received over a network.
+A common networking stack operation is to put a packet on a queue and
+post an event to the task monitoring that queue. When the task handles
+the event, it processes each packet on the packet queue.
+
+Using Mqueue
+--------------
+
+The following code sample demonstrates how to use an mqueue. In this
+example:
+
+-  packets are put on a receive queue
+-  a task processes each packet on the queue (increments a receive
+   counter)
+
+Not shown in the code example is a call ``my_task_rx_data_func``.
+Presumably, some other code will call this API.
+
+.. code:: c
+
+    uint32_t pkts_rxd;
+    struct os_mqueue rxpkt_q;
+    struct os_eventq my_task_evq;
+
+    /**
+     * Removes each packet from the receive queue and processes it.
+     */
+    void
+    process_rx_data_queue(void)
+    {
+        struct os_mbuf *om;
+
+        while ((om = os_mqueue_get(&rxpkt_q)) != NULL) {
+            ++pkts_rxd;
+            os_mbuf_free_chain(om);
+        }
+    }
+
+    /**
+     * Called when a packet is received.
+     */
+    int
+    my_task_rx_data_func(struct os_mbuf *om)
+    {
+        int rc;
+
+        /* Enqueue the received packet and wake up the listening task. */
+        rc = os_mqueue_put(&rxpkt_q, &my_task_evq, om);
+        if (rc != 0) {
+            return -1;
+        }
+
+        return 0;
+    }
+
+    void
+    my_task_handler(void *arg)
+    {
+        struct os_event *ev;
+        struct os_callout_func *cf;
+        int rc;
+
+        /* Initialize eventq */
+        os_eventq_init(&my_task_evq);
+
+        /* Initialize mqueue */
+        os_mqueue_init(&rxpkt_q, NULL);
+
+        /* Process each event posted to our eventq.  When there are no events to
+         * process, sleep until one arrives.
+         */
+        while (1) {
+            os_eventq_run(&my_task_evq);
+        }
+    }
+
+Data Structures
+----------------
+
+.. code:: c
+
+    struct os_mqueue {
+        STAILQ_HEAD(, os_mbuf_pkthdr) mq_head;
+        struct os_event mq_ev;
+    };
+
+API
+-----------------
+
+.. doxygengroup:: OSMqueue
+    :content-only:
diff --git a/develop/_sources/os/core_os/msys/msys.rst.txt b/develop/_sources/os/core_os/msys/msys.rst.txt
new file mode 100644
index 000000000..8f8420b39
--- /dev/null
+++ b/develop/_sources/os/core_os/msys/msys.rst.txt
@@ -0,0 +1,40 @@
+Msys
+====
+
+Msys stands for "system mbufs" and is a set of API built on top of the
+mbuf code. The basic idea behind msys is the following. The developer
+can create different size mbuf pools and register them with msys. The
+application then allocates mbufs using the msys API (as opposed to the
+mbuf API). The msys code will choose the mbuf pool with the smallest
+mbufs that can accommodate the requested size.
+
+Let us walk through an example where the user registers three mbuf pools
+with msys: one with 32 byte mbufs, one with 256 and one with 2048. If
+the user requests an mbuf with 10 bytes, the 32-byte mbuf pool is used.
+If the request is for 33 bytes the 256 byte mbuf pool is used. If an
+mbuf data size is requested that is larger than any of the pools (say,
+4000 bytes) the largest pool is used. While this behaviour may not be
+optimal in all cases that is the currently implemented behaviour. All
+this means is that the user is not guaranteed that a single mbuf can
+hold the requested data.
+
+The msys code will not allocate an mbuf from a larger pool if the chosen
+mbuf pool is empty. Similarly, the msys code will not chain together a
+number of smaller mbufs to accommodate the requested size. While this
+behaviour may change in future implementations the current code will
+simply return NULL. Using the above example, say the user requests 250
+bytes. The msys code chooses the appropriate pool (i.e. the 256 byte
+mbuf pool) and attempts to allocate an mbuf from that pool. If that pool
+is empty, NULL is returned even though the 32 and 2048 byte pools are
+not empty.
+
+Note that no added descriptions on how to use the msys API are presented
+here (other than in the API descriptions themselves) as the msys API is
+used in exactly the same manner as the mbuf API. The only difference is
+that mbuf pools are added to msys by calling ``os_msys_register().``
+
+API
+-----------------
+
+.. doxygengroup:: OSMsys
+    :content-only:
diff --git a/develop/_sources/os/core_os/mutex/mutex.rst.txt b/develop/_sources/os/core_os/mutex/mutex.rst.txt
new file mode 100644
index 000000000..4d56acd46
--- /dev/null
+++ b/develop/_sources/os/core_os/mutex/mutex.rst.txt
@@ -0,0 +1,97 @@
+Mutex
+=====
+
+Mutex is short for "mutual exclusion"; a mutex provides mutually
+exclusive access to a shared resource. A mutex provides *priority
+inheritance* in order to prevent *priority inversion*. Priority
+inversion occurs when a higher priority task is waiting on a resource
+owned by a lower priority task. Using a mutex, the lower priority task
+will inherit the highest priority of any task waiting on the mutex.
+
+Description
+-------------
+
+The first order of business when using a mutex is to declare the mutex
+globally. The mutex needs to be initialized before it is used (see the
+examples). It is generally a good idea to initialize the mutex before
+tasks start running in order to avoid a task possibly using the mutex
+before it is initialized.
+
+When a task wants exclusive access to a shared resource it needs to
+obtain the mutex by calling *os\_mutex\_pend*. If the mutex is currently
+owned by a different task (a lower priority task), the requesting task
+will be put to sleep and the owners priority will be elevated to the
+priority of the requesting task. Note that multiple tasks can request
+ownership and the current owner is elevated to the highest priority of
+any task waitin on the mutex. When the task is done using the shared
+resource, it needs to release the mutex by called *os\_mutex\_release*.
+There needs to be one release per call to pend. Note that nested calls
+to *os\_mutex\_pend* are allowed but there needs to be one release per
+pend.
+
+The following example will illustrate how priority inheritance works. In
+this example, the task number is the same as its priority. Remember that
+the lower the number, the higher the priority (i.e. priority 0 is higher
+priority than priority 1). Suppose that task 5 gets ownership of a mutex
+but is preempted by task 4. Task 4 attempts to gain ownership of the
+mutex but cannot as it is owned by task 5. Task 4 is put to sleep and
+task 5 is temporarily raised to priority 4. Before task 5 can release
+the mutex, task 3 runs and attempts to acquire the mutex. At this point,
+both task 3 and task 4 are waiting on the mutex (sleeping). Task 5 now
+runs at priority 3 (the highest priority of all the tasks waiting on the
+mutex). When task 5 finally releases the mutex it will be preempted as
+two higher priority tasks are waiting for it.
+
+Note that when multiple tasks are waiting on a mutex owned by another
+task, once the mutex is released the highest priority task waiting on
+the mutex is run.
+
+Data structures
+----------------
+
+.. code:: c
+
+    struct os_mutex
+    {
+        SLIST_HEAD(, os_task) mu_head;
+        uint8_t     _pad;
+        uint8_t     mu_prio;
+        uint16_t    mu_level;
+        struct os_task *mu_owner;
+    };
+
++--------------+----------------+
+| Element      | Description    |
++==============+================+
+| mu\_head     | Queue head for |
+|              | list of tasks  |
+|              | waiting on     |
+|              | mutex          |
++--------------+----------------+
+| \_pad        | Padding        |
++--------------+----------------+
+| mu\_prio     | Default        |
+|              | priority of    |
+|              | owner of       |
+|              | mutex. Used to |
+|              | reset priority |
+|              | of task when   |
+|              | mutex released |
++--------------+----------------+
+| mu\_level    | Call nesting   |
+|              | level (for     |
+|              | nested calls)  |
++--------------+----------------+
+| mu\_owner    | Pointer to     |
+|              | task structure |
+|              | which owns     |
+|              | mutex          |
++--------------+----------------+
+
+API
+----
+
+.. doxygengroup:: OSMutex
+    :content-only:
+
+
diff --git a/develop/_sources/os/core_os/os_init.rst.txt b/develop/_sources/os/core_os/os_init.rst.txt
new file mode 100644
index 000000000..628e3f871
--- /dev/null
+++ b/develop/_sources/os/core_os/os_init.rst.txt
@@ -0,0 +1,28 @@
+os\_init
+--------
+
+.. code-block:: console
+
+    void os_init(void)
+
+Initializes the OS. Must be called before the OS is started (i.e.
+os\_start() is called).
+
+Arguments
+^^^^^^^^^
+
+None
+
+Returned values
+^^^^^^^^^^^^^^^
+
+None
+
+Notes
+^^^^^
+
+The call to os\_init performs architecture and bsp initializations and
+initializes the idle task.
+
+This function does not start the OS, the OS time tick interrupt, or the
+scheduler.
diff --git a/develop/_sources/os/core_os/os_start.rst.txt b/develop/_sources/os/core_os/os_start.rst.txt
new file mode 100644
index 000000000..fd2fa2691
--- /dev/null
+++ b/develop/_sources/os/core_os/os_start.rst.txt
@@ -0,0 +1,27 @@
+os\_start
+---------
+
+.. code-block:: console
+
+    void os_start(void)
+
+Starts the OS by initializing and enabling the OS time tick and starting
+the scheduler.
+
+This function does not return.
+
+Arguments
+^^^^^^^^^
+
+None
+
+Returned values
+^^^^^^^^^^^^^^^
+
+None (does not return).
+
+Notes
+^^^^^
+
+Once os\_start has been called, context is switched to the highest
+priority task that was initialized prior to calling os\_start.
diff --git a/develop/_sources/os/core_os/os_started.rst.txt b/develop/_sources/os/core_os/os_started.rst.txt
new file mode 100644
index 000000000..486a3d86e
--- /dev/null
+++ b/develop/_sources/os/core_os/os_started.rst.txt
@@ -0,0 +1,19 @@
+os\_started
+-----------
+
+.. code-block:: console
+
+    int os_started(void)
+
+Returns 'true' (1) if the os has been started; 0 otherwise.
+
+Arguments
+^^^^^^^^^
+
+None
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Integer value with 0 meaning the OS has not been started and 1
+indicating the OS has been started (i.e. os\_start() has been called).
diff --git a/develop/_sources/os/core_os/sanity/sanity.rst.txt b/develop/_sources/os/core_os/sanity/sanity.rst.txt
new file mode 100644
index 000000000..8e4216935
--- /dev/null
+++ b/develop/_sources/os/core_os/sanity/sanity.rst.txt
@@ -0,0 +1,232 @@
+Sanity
+======
+
+The Sanity task is a software watchdog task, which runs periodically to
+check system state, and ensure that everything is still operating
+properly.
+
+In a typical system design, there are multiple stages of watchdog:
+
+-  Internal Watchdog
+
+-  External Watchdog
+
+-  Sanity Watchdog
+
+The *Internal Watchdog* is typically an MCU watchdog, which is tickled
+in the core of the OS. The internal watchdog is tickled frequently, and
+is meant to be an indicator the OS is running.
+
+The *External Watchdog* is a watchdog that's typically run slower. The
+purpose of an external watchdog is to provide the system with a hard
+reset when it has lost its mind.
+
+The *Sanity Watchdog* is the least frequently run watchdog, and is meant
+as an application watchdog.
+
+This document is about the operation of the Mynewt Sanity Watchdog.
+
+Description
+-----------
+
+Sanity Task
+-----------
+
+Mynewt OS uses the OS Idle task to check sanity. The ``SANITY_INTERVAL``
+syscfg setting specifies the interval in seconds to perform the sanity
+checks.
+
+By default, every operating system task provides the frequency it will
+check in with the sanity task, with the ``sanity_itvl`` parameter in the
+``os_task_init()`` function:
+
+.. code:: c
+
+    int os_task_init(struct os_task *t, char *name, os_task_func_t func, 
+        void *arg, uint8_t prio, os_time_t sanity_itvl, os_stack_t *bottom,
+        uint16_t stack_size);
+
+``sanity_itvl`` is the time in OS time ticks that the task being created
+must register in with the sanity task.
+
+Checking in with Sanity Task
+-----------------------------
+
+The task must then register in with the sanity task every
+``sanity_itvl`` seconds. In order to do that, the task should call the
+``os_sanity_task_checkin`` function, which will reset the sanity check
+associated with this task. Here is an example of a task that uses a
+callout to checkin with the sanity task every 50 seconds:
+
+.. code:: c
+
+    #define TASK1_SANITY_CHECKIN_ITVL (50 * OS_TICKS_PER_SEC) 
+    struct os_eventq task1_evq;
+
+    static void
+    task1(void *arg)
+    {
+        struct os_task *t;
+        struct os_event *ev;
+        struct os_callout c;
+        
+        /* Get current OS task */
+        t = os_sched_get_current_task();
+
+        /* Initialize the event queue. */
+        os_eventq_init(&task1_evq);
+
+        /* Initialize the callout */
+        os_callout_init(&c, &task1_evq, NULL);
+
+        /* reset the callout to checkin with the sanity task 
+         * in 50 seconds to kick off timing.
+         */
+        os_callout_reset(&c, TASK1_SANITY_CHECKIN_ITVL);
+
+        while (1) {
+            ev = os_eventq_get(&task1_evq);
+
+            /* The sanity timer has reset */
+            if (ev->ev_arg == &c) {
+                os_sanity_task_checkin(t);
+            } else {
+                /* not expecting any other events */
+                assert(0);
+            }
+        }
+        
+        /* Should never reach */
+        assert(0);
+    }
+
+Registering a Custom Sanity Check
+-----------------------------------
+
+If a particular task wants to further hook into the sanity framework to
+perform other checks during the sanity task's operation, it can do so by
+registering a ``struct os_sanity_check`` using the
+``os_sanity_check_register`` function.
+
+.. code:: c
+
+    static int 
+    mymodule_perform_sanity_check(struct os_sanity_check *sc, void *arg)
+    {
+        /* Perform your checking here.  In this case, we check if there 
+         * are available buffers in mymodule, and return 0 (all good)
+         * if true, and -1 (error) if not.
+         */
+        if (mymodule_has_buffers()) {
+            return (0);
+        } else {
+            return (-1);
+        }
+    }
+
+    static int 
+    mymodule_register_sanity_check(void)
+    {
+        struct os_sanity_check sc;
+
+        os_sanity_check_init(&sc);
+        /* Only assert() if mymodule_perform_sanity_check() fails 50 
+         * times.  SANITY_TASK_INTERVAL is defined by the user, and 
+         * is the frequency at which the sanity_task runs in seconds.
+         */
+        OS_SANITY_CHECK_SETFUNC(&sc, mymodule_perform_sanity_check, NULL, 
+            50 * SANITY_TASK_INTERVAL);
+
+        rc = os_sanity_check_register(&sc);
+        if (rc != 0) {
+            goto err;
+        } 
+
+        return (0);
+    err:
+        return (rc);
+    }
+
+In the above example, every time the custom sanity check
+``mymodule_perform_sanity_check`` returns successfully (0), the sanity
+check is reset. In the ``OS_SANITY_CHECK_SETFUNC`` macro, the sanity
+checkin interval is specified as 50 \* SANITY\_TASK\_INTERVAL (which is
+the interval at which the sanity task runs.) This means that the
+``mymodule_perform_sanity_check()`` function needs to fail 50 times
+consecutively before the sanity task will crash the system.
+
+**TIP:** When checking things like memory buffers, which can be
+temporarily be exhausted, it's a good idea to have the sanity check fail
+multiple consecutive times before crashing the system. This will avoid
+crashing for temporary failures.
+
+Data structures
+---------------
+
+OS Sanity Check
+----------------
+
+.. code:: c
+
+    struct os_sanity_check {
+        os_time_t sc_checkin_last;
+        os_time_t sc_checkin_itvl;
+        os_sanity_check_func_t sc_func;
+        void *sc_arg; 
+
+        SLIST_ENTRY(os_sanity_check) sc_next;
+    };
+
++--------------+----------------+
+| **Element**  | **Description* |
+|              | *              |
++==============+================+
+| ``sc_checkin | The last time  |
+| _last``      | this sanity    |
+|              | check checked  |
+|              | in with the    |
+|              | sanity task,   |
+|              | in OS time     |
+|              | ticks.         |
++--------------+----------------+
+| ``sc_checkin | How frequently |
+| _itvl``      | the sanity     |
+|              | check is       |
+|              | supposed to    |
+|              | check in with  |
+|              | the sanity     |
+|              | task, in OS    |
+|              | time ticks.    |
++--------------+----------------+
+| ``sc_func``  | If not         |
+|              | ``NULL``, call |
+|              | this function  |
+|              | when running   |
+|              | the sanity     |
+|              | task. If the   |
+|              | function       |
+|              | returns 0,     |
+|              | reset the      |
+|              | sanity check.  |
++--------------+----------------+
+| ``sc_arg``   | Argument to    |
+|              | pass to        |
+|              | ``sc_func``    |
+|              | when calling   |
+|              | it.            |
++--------------+----------------+
+| ``sc_next``  | Sanity checks  |
+|              | are chained in |
+|              | the sanity     |
+|              | task when      |
+|              | ``os_sanity_ch |
+|              | eck_register() |
+|              | ``             |
+|              | is called.     |
++--------------+----------------+
+
+API
+-----------------
+
+.. doxygengroup:: OSSanity
+    :content-only:
diff --git a/develop/_sources/os/core_os/semaphore/semaphore.rst.txt b/develop/_sources/os/core_os/semaphore/semaphore.rst.txt
new file mode 100644
index 000000000..8c8b4a24d
--- /dev/null
+++ b/develop/_sources/os/core_os/semaphore/semaphore.rst.txt
@@ -0,0 +1,92 @@
+Semaphore
+=========
+
+A semaphore is a structure used for gaining exclusive access (much like
+a mutex), synchronizing task operations and/or use in a
+"producer/consumer" roles. Semaphores like the ones used by the myNewt
+OS are called "counting" semaphores as they are allowed to have more
+than one token (explained below).
+
+Description
+------------
+
+A semaphore is a fairly simple construct consisting of a queue for
+waiting tasks and the number of tokens currently owned by the semaphore.
+A semaphore can be obtained as long as there are tokens in the
+semaphore. Any task can add tokens to the semaphore and any task can
+request the semaphore, thereby removing tokens. When creating the
+semaphore, the initial number of tokens can be set as well.
+
+When used for exclusive access to a shared resource the semaphore only
+needs a single token. In this case, a single task "creates" the
+semaphore by calling *os\_sem\_init* with a value of one (1) for the
+token. When a task desires exclusive access to the shared resource it
+requests the semaphore by calling *os\_sem\_pend*. If there is a token
+the requesting task will acquire the semaphore and continue operation.
+If no tokens are available the task will be put to sleep until there is
+a token. A common "problem" with using a semaphore for exclusive access
+is called *priority inversion*. Consider the following scenario: a high
+and low priority task both share a resource which is locked using a
+semaphore. If the low priority task obtains the semaphore and then the
+high priority task requests the semaphore, the high priority task is now
+blocked until the low priority task releases the semaphore. Now suppose
+that there are tasks between the low priority task and the high priority
+task that want to run. These tasks will preempt the low priority task
+which owns the semaphore. Thus, the high priority task is blocked
+waiting for the low priority task to finish using the semaphore but the
+low priority task cannot run since other tasks are running. Thus, the
+high priority tasks is "inverted" in priority; in effect running at a
+much lower priority as normally it would preempt the other (lower
+priority) tasks. If this is an issue a mutex should be used instead of a
+semaphore.
+
+Semaphores can also be used for task synchronization. A simple example
+of this would be the following. A task creates a semaphore and
+initializes it with no tokens. The task then waits on the semaphore, and
+since there are no tokens, the task is put to sleep. When other tasks
+want to wake up the sleeping task they simply add a token by calling
+*os\_sem\_release*. This will cause the sleeping task to wake up
+(instantly if no other higher priority tasks want to run).
+
+The other common use of a counting semaphore is in what is commonly
+called a "producer/consumer" relationship. The producer adds tokens (by
+calling *os\_sem\_release*) and the consumer consumes them by calling
+*os\_sem\_pend*. In this relationship, the producer has work for the
+consumer to do. Each token added to the semaphore will cause the
+consumer to do whatever work is required. A simple example could be the
+following: every time a button is pressed there is some work to do (ring
+a bell). Each button press causes the producer to add a token. Each
+token consumed rings the bell. There will exactly the same number of
+bell rings as there are button presses. In other words, each call to
+*os\_sem\_pend* subtracts exactly one token and each call to
+*os\_sem\_release* adds exactly one token.
+
+Data structures
+----------------
+
+.. code:: c
+
+    struct os_sem
+    {
+        SLIST_HEAD(, os_task) sem_head;     /* chain of waiting tasks */
+        uint16_t    _pad;
+        uint16_t    sem_tokens;             /* # of tokens */
+    };
+
++---------------+-----------------------------------------------------+
+| Element       | Description                                         |
++===============+=====================================================+
+| sem\_head     | Queue head for list of tasks waiting on semaphore   |
++---------------+-----------------------------------------------------+
+| \_pad         | Padding for alignment                               |
++---------------+-----------------------------------------------------+
+| sem\_tokens   | Current number of tokens                            |
++---------------+-----------------------------------------------------+
+
+API
+----
+
+.. doxygengroup:: OSSem
+    :content-only:
+
+
diff --git a/develop/_sources/os/modules/baselibc.rst.txt b/develop/_sources/os/modules/baselibc.rst.txt
new file mode 100644
index 000000000..696566b49
--- /dev/null
+++ b/develop/_sources/os/modules/baselibc.rst.txt
@@ -0,0 +1,46 @@
+Baselibc
+========
+
+Baselibc is a very simple libc for embedded systems geared primarily for
+32-bit microcontrollers in the 10-100kB memory range. The library of
+basic system calls and facilities compiles to less than 5kB total on
+Cortex-M3, and much less if some functions aren't used.
+
+The code is based on klibc and tinyprintf modules, and licensed under
+the BSD license.
+
+Baselibc comes from https://github.com/PetteriAimonen/Baselibc.git
+
+Description
+~~~~~~~~~~~
+
+Mynewt OS can utilize libc which comes with compiler (e.g. newlib
+bundled with some binary distributions of arm-none-eabi-gcc). However,
+you may choose to replace the libc with baselibc for a reduced image
+size. Baselibc optimizes for size rather than performance, which is
+usually a more important goal in embedded environments.
+
+How to switch to baselibc
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In order to switch from using libc to using baselibc you have to add the
+baselibc pkg as a dependency in the project pkg. Specifying this
+dependency ensures that the linker first looks for the functions in
+baselibc before falling back to libc while creating the executable. For
+example, project ``boot`` uses baselibc. Its project description file
+``boot.yml`` looks like the following:
+
+``no-highlight    project.name: boot    project.identities: bootloader    project.pkgs:        - libs/os        - libs/bootutil        - libs/nffs        - libs/console/stub        - libs/util        - libs/baselibc``
+
+List of Functions
+~~~~~~~~~~~~~~~~~
+
+Documentation for libc functions is available from multiple places. One
+example are the on-line manual pages at
+`https://www.freebsd.org/cgi/man.cgi <#https://www.freebsd.org/cgi/man.cgi>`__.
+
+baselibc supports most libc functionality; malloc(), printf-family,
+string handling, and conversion routines.
+
+There is some functionality which is not available, e.g. support for
+floating point numbers, and limited support for 'long long'.
diff --git a/develop/_sources/os/modules/bootloader/boot_build_status.rst.txt b/develop/_sources/os/modules/bootloader/boot_build_status.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_build_status.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_build_status_one.rst.txt b/develop/_sources/os/modules/bootloader/boot_build_status_one.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_build_status_one.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_clear_status.rst.txt b/develop/_sources/os/modules/bootloader/boot_clear_status.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_clear_status.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_copy_area.rst.txt b/develop/_sources/os/modules/bootloader/boot_copy_area.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_copy_area.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_copy_image.rst.txt b/develop/_sources/os/modules/bootloader/boot_copy_image.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_copy_image.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_erase_area.rst.txt b/develop/_sources/os/modules/bootloader/boot_erase_area.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_erase_area.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_fill_slot.rst.txt b/develop/_sources/os/modules/bootloader/boot_fill_slot.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_fill_slot.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_find_image_area_idx.rst.txt b/develop/_sources/os/modules/bootloader/boot_find_image_area_idx.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_find_image_area_idx.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_find_image_part.rst.txt b/develop/_sources/os/modules/bootloader/boot_find_image_part.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_find_image_part.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_find_image_slot.rst.txt b/develop/_sources/os/modules/bootloader/boot_find_image_slot.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_find_image_slot.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_go.rst.txt b/develop/_sources/os/modules/bootloader/boot_go.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_go.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_init_flash.rst.txt b/develop/_sources/os/modules/bootloader/boot_init_flash.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_init_flash.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_move_area.rst.txt b/develop/_sources/os/modules/bootloader/boot_move_area.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_move_area.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_read_image_header.rst.txt b/develop/_sources/os/modules/bootloader/boot_read_image_header.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_read_image_header.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_read_image_headers.rst.txt b/develop/_sources/os/modules/bootloader/boot_read_image_headers.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_read_image_headers.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_read_status.rst.txt b/develop/_sources/os/modules/bootloader/boot_read_status.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_read_status.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_select_image_slot.rst.txt b/develop/_sources/os/modules/bootloader/boot_select_image_slot.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_select_image_slot.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_slot_addr.rst.txt b/develop/_sources/os/modules/bootloader/boot_slot_addr.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_slot_addr.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_slot_to_area_idx.rst.txt b/develop/_sources/os/modules/bootloader/boot_slot_to_area_idx.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_slot_to_area_idx.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_swap_areas.rst.txt b/develop/_sources/os/modules/bootloader/boot_swap_areas.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_swap_areas.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_vect_delete_main.rst.txt b/develop/_sources/os/modules/bootloader/boot_vect_delete_main.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_vect_delete_main.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_vect_delete_test.rst.txt b/develop/_sources/os/modules/bootloader/boot_vect_delete_test.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_vect_delete_test.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_vect_read_main.rst.txt b/develop/_sources/os/modules/bootloader/boot_vect_read_main.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_vect_read_main.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_vect_read_one.rst.txt b/develop/_sources/os/modules/bootloader/boot_vect_read_one.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_vect_read_one.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_vect_read_test.rst.txt b/develop/_sources/os/modules/bootloader/boot_vect_read_test.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_vect_read_test.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/boot_write_status.rst.txt b/develop/_sources/os/modules/bootloader/boot_write_status.rst.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/boot_write_status.rst.txt
@@ -0,0 +1 @@
+
diff --git a/develop/_sources/os/modules/bootloader/bootloader.rst.txt b/develop/_sources/os/modules/bootloader/bootloader.rst.txt
new file mode 100644
index 000000000..ccfcc046b
--- /dev/null
+++ b/develop/_sources/os/modules/bootloader/bootloader.rst.txt
@@ -0,0 +1,622 @@
+Bootloader
+==========
+
+The "bootloader" is the code that loads the Mynewt OS image into memory
+and conducts some checks before allowing the OS to be run. It manages
+images for the embedded system and upgrades of those images using
+protocols over various interfaces (e.g. serial, BLE, etc.). Typically,
+systems with bootloaders have at least two program images coexisting on
+the same microcontroller, and hence must include branch code that
+performs a check to see if an attempt to update software is already
+underway and manage the progress of the process.
+
+The bootloader in the Apache Mynewt project verifies the cryptographic
+signature of the firmware image before running it. It maintains a
+detailed status log for each stage of the boot process. For verification
+of the authenticity of the OS image, it:
+
+The "secure bootloader" should be placed in protected memory on a given
+microcontroller.
+
+The Mynewt bootloader comprises two packages:
+
+-  The bootutil library (boot/bootutil)
+-  The boot application (apps/boot)
+
+The Mynewt code is thus structured so that the generic bootutil library
+performs most of the functions of a boot loader. The final step of
+actually jumping to the main image is kept out of the bootutil library.
+This last step should instead be implemented in an architecture-specific
+project. Boot loader functionality is separated in this manner for the
+following two reasons:
+
+1. By keeping architecture-dependent code separate, the bootutil library
+   can be reused among several boot loaders.
+2. By excluding the last boot step from the library, the bootloader can
+   be unit tested since a library can be unit tested but an applicant
+   can't.
+
+Limitations
+~~~~~~~~~~~
+
+The boot loader currently only supports images with the following
+characteristics:
+
+-  Built to run from flash.
+-  Build to run from a fixed location (i.e., position-independent).
+
+Image Format
+~~~~~~~~~~~~
+
+The following definitions describe the image header format.
+
+.. code:: c
+
+    #define IMAGE_MAGIC                 0x96f3b83c
+    #define IMAGE_MAGIC_NONE            0xffffffff
+
+    struct image_version {
+        uint8_t iv_major;
+        uint8_t iv_minor;
+        uint16_t iv_revision;
+        uint32_t iv_build_num;
+    };
+
+    /** Image header.  All fields are in little endian byte order. */
+    struct image_header {
+        uint32_t ih_magic;
+        uint16_t ih_tlv_size; /* Trailing TLVs */
+        uint8_t  ih_key_id;
+        uint8_t  _pad1;
+        uint16_t ih_hdr_size;
+        uint16_t _pad2;
+        uint32_t ih_img_size; /* Does not include header. */
+        uint32_t ih_flags;
+        struct image_version ih_ver;
+        uint32_t _pad3;
+    };
+
+The ``ih_hdr_size`` field indicates the length of the header, and
+therefore the offset of the image itself. This field provides for
+backwards compatibility in case of changes to the format of the image
+header.
+
+The following are the image header flags available.
+
+.. code:: c
+
+    #define IMAGE_F_PIC                    0x00000001
+    #define IMAGE_F_SHA256                 0x00000002 /* Image contains hash TLV */
+    #define IMAGE_F_PKCS15_RSA2048_SHA256  0x00000004 /* PKCS15 w/RSA and SHA */
+    #define IMAGE_F_ECDSA224_SHA256        0x00000008 /* ECDSA256 over SHA256 */
+    #define IMAGE_F_NON_BOOTABLE           0x00000010
+    #define IMAGE_HEADER_SIZE              32
+
+Optional type-length-value records (TLVs) containing image metadata are
+placed after the end of the image. For example, security data gets added
+as a footer at the end of the image.
+
+.. code:: c
+
+    /** Image trailer TLV format. All fields in little endian. */
+    struct image_tlv {
+        uint8_t  it_type;   /* IMAGE_TLV_[...]. */
+        uint8_t  _pad;
+        uint16_t it_len     /* Data length (not including TLV header). */
+    };
+
+    /*
+     * Image trailer TLV types.
+     */
+    #define IMAGE_TLV_SHA256            1   /* SHA256 of image hdr and body */
+    #define IMAGE_TLV_RSA2048           2   /* RSA2048 of hash output */
+    #define IMAGE_TLV_ECDSA224          3   /* ECDSA of hash output */
+
+Flash Map
+~~~~~~~~~
+
+A Mynewt device's flash is partitioned according to its *flash map*. At
+a high level, the flash map maps numeric IDs to *flash areas*. A flash
+area is a region of disk with the following properties:
+
+1. An area can be fully erased without affecting any other areas.
+2. A write to one area does not restrict writes to other areas.
+
+The boot loader uses the following flash areas:
+
+.. code:: c
+
+    #define FLASH_AREA_BOOTLOADER                    0
+    #define FLASH_AREA_IMAGE_0                       1
+    #define FLASH_AREA_IMAGE_1                       2
+    #define FLASH_AREA_IMAGE_SCRATCH                 3
+
+Image Slots
+~~~~~~~~~~~
+
+A portion of the flash memory is partitioned into two image slots: a
+primary slot and a secondary slot. The boot loader will only run an
+image from the primary slot, so images must be built such that they can
+run from that fixed location in flash. If the boot loader needs to run
+the image resident in the secondary slot, it must swap the two images in
+flash prior to booting.
+
+In addition to the two image slots, the boot loader requires a scratch
+area to allow for reliable image swapping.
+
+Boot States
+~~~~~~~~~~~
+
+Logically, you can think of a pair of flags associated with each image
+slot: pending and confirmed. On startup, the boot loader determines the
+state of the device by inspecting each pair of flags. These flags have
+the following meanings:
+
+-  pending: image gets tested on next reboot; absent subsequent confirm
+   command, revert to original image on second reboot.
+-  confirmed: always use image unless excluded by a test image.
+
+In English, when the user wants to run the secondary image, they set the
+pending flag for the second slot and reboot the device. On startup, the
+boot loader will swap the two images in flash, clear the secondary
+slot's pending flag, and run the newly-copied image in slot 0. This is a
+temporary state; if the device reboots again, the boot loader swaps the
+images back to their original slots and boots into the original image.
+If the user doesn't want to revert to the original state, they can make
+the current state permanent by setting the confirmed flag in slot 0.
+
+Switching to an alternate image is a two-step process (set + confirm) to
+prevent a device from becoming "bricked" by bad firmware. If the device
+crashes immediately upon booting the second image, the boot loader
+reverts to the working image, rather than repeatedly rebooting into the
+bad image.
+
+The following set of tables illustrate the three possible states that
+the device can be in:
+
+::
+
+                   | slot-0 | slot-1 |
+    ---------------+--------+--------|
+           pending |        |        |
+         confirmed |   X    |        |
+    ---------------+--------+--------'
+    Image 0 confirmed;               |
+    No change on reboot              |
+    ---------------------------------'
+
+                   | slot-0 | slot-1 |
+    ---------------+--------+--------|
+           pending |        |   X    |
+         confirmed |   X    |        |
+    ---------------+--------+--------'
+    Image 0 confirmed;               |
+    Test image 1 on next reboot      |
+    ---------------------------------'
+
+                   | slot-0 | slot-1 |
+    ---------------+--------+--------|
+           pending |        |        |
+         confirmed |        |   X    |
+    ---------------+--------+--------'
+    Testing image 0;                 |
+    Revert to image 1 on next reboot |
+    ---------------------------------'
+
+Boot Vector
+~~~~~~~~~~~
+
+At startup, the boot loader determines which of the above three boot
+states a device is in by inspecting the boot vector. The boot vector
+consists of two records (called "image trailers"), one written at the
+end of each image slot. An image trailer has the following structure:
+
+::
+
+     0                   1                   2                   3
+     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+    ~                       MAGIC (16 octets)                       ~
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+    ~                                                               ~
+    ~             Swap status (128 * min-write-size * 3)            ~
+    ~                                                               ~
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+    |   Copy done   |     0xff padding (up to min-write-sz - 1)     ~
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+    |   Image OK    |     0xff padding (up to min-write-sz - 1)     ~
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+These records are at the end of each image slot. The offset immediately
+following such a record represents the start of the next flash area.
+
+Note: ``min-write-size`` is a property of the flash hardware. If the
+hardware allows individual bytes to be written at arbitrary addresses,
+then ``min-write-size`` is 1. If the hardware only allows writes at even
+addresses, then ``min-write-size`` is 2, and so on.
+
+The fields are defined as follows:
+
+1. MAGIC: The following 16 bytes, written in host-byte-order:
+
+   ::
+
+       const uint32_t boot_img_magic[4] = {
+           0xf395c277,
+           0x7fefd260,
+           0x0f505235,
+           0x8079b62c,
+       };
+
+2. Swap status: A series of single-byte records. Each record corresponds
+   to a flash sector in an image slot. A swap status byte indicate the
+   location of the corresponding sector data. During an image swap,
+   image data is moved one sector at a time. The swap status is
+   necessary for resuming a swap operation if the device rebooted before
+   a swap operation completed.
+
+3. Copy done: A single byte indicating whether the image in this slot is
+   complete (``0x01=done, 0xff=not done``).
+
+4. Image OK: A single byte indicating whether the image in this slot has
+   been confirmed as good by the user
+   (``0x01=confirmed; 0xff=not confirmed``).
+
+The boot vector records are structured around the limitations imposed by
+flash hardware. As a consequence, they do not have a very intuitive
+design, and it is difficult to get a sense of the state of the device
+just by looking at the boot vector. It is better to map all the possible
+vector states to the swap types (None, Test, Revert) via a set of
+tables. These tables are reproduced below. In these tables, the
+"pending" and "confirmed" flags are shown for illustrative purposes;
+they are not actually present in the boot vector.
+
+::
+
+    State I
+                     | slot-0 | slot-1 |
+    -----------------+--------+--------|
+               magic | Unset  | Unset  |
+            image-ok | Any    | N/A    |
+    -----------------+--------+--------'
+             pending |        |        |
+          confirmed  |   X    |        |
+    -----------------+--------+--------'
+     swap: none                        |
+    -----------------------------------'
+
+
+    State II
+                     | slot-0 | slot-1 |
+    -----------------+--------+--------|
+               magic | Any    | Good   |
+            image-ok | Any    | N/A    |
+    -----------------+--------+--------'
+             pending |        |   X    |
+          confirmed  |   X    |        |
+    -----------------+--------+--------'
+     swap: test                        |
+    -----------------------------------'
+
+
+    State III
+                     | slot-0 | slot-1 |
+    -----------------+--------+--------|
+               magic | Good   | Unset  |
+            image-ok | 0xff   | N/A    |
+    -----------------+--------+--------'
+             pending |        |        |
+          confirmed  |        |   X    |
+    -----------------+--------+--------'
+     swap: revert (test image running) |
+    -----------------------------------'
+
+
+    State IV
+                     | slot-0 | slot-1 |
+    -----------------+--------+--------|
+               magic | Good   | Unset  |
+            image-ok | 0x01   | N/A    |
+    -----------------+--------+--------'
+             pending |        |        |
+          confirmed  |   X    |        |
+    -----------------+--------+--------'
+     swap: none (confirmed test image) |
+    -----------------------------------'
+
+High-level Operation
+~~~~~~~~~~~~~~~~~~~~
+
+With the terms defined, we can now explore the boot loader's operation.
+First, a high-level overview of the boot process is presented. Then, the
+following sections describe each step of the process in more detail.
+
+Procedure:
+
+::
+
+    A. Inspect swap status region; is an interrupted swap is being resumed?
+        Yes: Complete the partial swap operation; skip to step C.
+        No: Proceed to step B.
+
+    B. Inspect boot vector; is a swap requested?
+        Yes.
+            1. Is the requested image valid (integrity and security check)?
+                Yes.
+                    a. Perform swap operation.
+                    b. Persist completion of swap procedure to boot vector.
+                    c. Proceed to step C.
+                No.
+                    a. Erase invalid image.
+                    b. Persist failure of swap procedure to boot vector.
+                    c. Proceed to step C.
+        No: Proceed to step C.
+
+    C. Boot into image in slot 0.
+
+Image Swapping
+~~~~~~~~~~~~~~
+
+The boot loader swaps the contents of the two image slots for two
+reasons:
+
+-  User has issued an "image test" operation; the image in slot-1 should
+   be run once (state II).
+-  Test image rebooted without being confirmed; the boot loader should
+   revert to the original image currently in slot-1 (state III).
+
+If the boot vector indicates that the image in the secondary slot should
+be run, the boot loader needs to copy it to the primary slot. The image
+currently in the primary slot also needs to be retained in flash so that
+it can be used later. Furthermore, both images need to be recoverable if
+the boot loader resets in the middle of the swap operation. The two
+images are swapped according to the following procedure:
+
+::
+
+    1. Determine how many flash sectors each image slot consists of.  This
+       number must be the same for both slots.
+    2. Iterate the list of sector indices in descending order (i.e., starting
+       with the greatest index); current element = "index".
+        b. Erase scratch area.
+        c. Copy slot0[index] to scratch area.
+        d. Write updated swap status (i).
+
+        e. Erase slot1[index]
+        f. Copy slot0[index] to slot1[index]
+            - If these are the last sectors (i.e., first swap being perfomed),
+              copy the full sector *except* the image trailer.
+            - Else, copy entire sector contents.
+        g. Write updated swap status (ii).
+
+        h. Erase slot0[index].
+        i. Copy scratch area slot0[index].
+        j. Write updated swap status (iii).
+
+    3. Persist completion of swap procedure to slot 0 image trailer.
+
+The additional caveats in step 2f are necessary so that the slot 1 image
+trailer can be written by the user at a later time. With the image
+trailer unwritten, the user can test the image in slot 1 (i.e.,
+transition to state II).
+
+The particulars of step 3 vary depending on whether an image is being
+tested or reverted:
+
+::
+
+    * test:
+        o Write slot0.copy_done = 1
+        (should now be in state III)
+
+    * revert:
+        o Write slot0.magic = BOOT_MAGIC
+        o Write slot0.copy_done = 1
+        o Write slot0.image_ok = 1
+        (should now be in state IV)
+
+Swap Status
+~~~~~~~~~~~
+
+The swap status region allows the boot loader to recover in case it
+restarts in the middle of an image swap operation. The swap status
+region consists of a series of single-byte records. These records are
+written independently, and therefore must be padded according to the
+minimum write size imposed by the flash hardware. In the below figure, a
+``min-write-size`` of 1 is assumed for simplicity. The structure of the
+swap status region is illustrated below. In this figure, a
+``min-write-size`` of 1 is assumed for simplicity.
+
+::
+
+     0                   1                   2                   3
+     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+    |sec127,state 0 |sec127,state 1 |sec127,state 2 |sec126,state 0 |
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+    |sec126,state 1 |sec126,state 2 |sec125,state 0 |sec125,state 1 |
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+    |sec125,state 2 |                                               |
+    +-+-+-+-+-+-+-+-+                                               +
+    ~                                                               ~
+    ~               [Records for indices 124 through 1              ~
+    ~                                                               ~
+    ~               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+    ~               |sec000,state 0 |sec000,state 1 |sec000,state 2 |
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+And now, in English...
+
+Each image slot is partitioned into a sequence of flash sectors. If we
+were to enumerate the sectors in a single slot, starting at 0, we would
+have a list of sector indices. Since there are two image slots, each
+sector index would correspond to a pair of sectors. For example, sector
+index 0 corresponds to the first sector in slot 0 and the first sector
+in slot 1. Furthermore, we impose a limit of 128 indices. If an image
+slot consists of more than 128 sectors, the flash layout is not
+compatible with this boot loader. Finally, reverse the list of indices
+such that the list starts with index 127 and ends with 0. The swap
+status region is a representation of this reversed list.
+
+During a swap operation, each sector index transitions through four
+separate states:
+
+::
+
+    0. slot 0: image 0,   slot 1: image 1,   scratch: N/A
+    1. slot 0: image 0,   slot 1: N/A,       scratch: image 1 (1->s, erase 1)
+    2. slot 0: N/A,       slot 1: image 0,   scratch: image 1 (0->1, erase 0)
+    3. slot 0: image 1,   slot 1: image 0,   scratch: N/A     (s->0)
+
+Each time a sector index transitions to a new state, the boot loader
+writes a record to the swap status region. Logically, the boot loader
+only needs one record per sector index to keep track of the current swap
+state. However, due to limitations imposed by flash hardware, a record
+cannot be overwritten when an index's state changes. To solve this
+problem, the boot loader uses three records per sector index rather than
+just one.
+
+Each sector-state pair is represented as a set of three records. The
+record values map to the above four states as follows
+
+::
+
+            | rec0 | rec1 | rec2
+    --------+------+------+------
+    state 0 | 0xff | 0xff | 0xff
+    state 1 | 0x01 | 0xff | 0xff
+    state 2 | 0x01 | 0x02 | 0xff
+    state 3 | 0x01 | 0x02 | 0x03
+
+The swap status region can accommodate 128 sector indices. Hence, the
+size of the region, in bytes, is ``128 * min-write-size * 3``. The
+number 128 is chosen somewhat arbitrarily and will likely be made
+configurable. The only requirement for the index count is that is is
+great enough to account for a maximum-sized image (i.e., at least as
+great as the total sector count in an image slot). If a device's image
+slots use less than 128 sectors, the first record that gets written will
+be somewhere in the middle of the region. For example, if a slot uses 64
+sectors, the first sector index that gets swapped is 63, which
+corresponds to the exact halfway point within the region.
+
+Reset Recovery
+~~~~~~~~~~~~~~
+
+If the boot loader resets in the middle of a swap operation, the two
+images may be discontiguous in flash. Bootutil recovers from this
+condition by using the boot vector to determine how the image parts are
+distributed in flash.
+
+The first step is determine where the relevant swap status region is
+located. Because this region is embedded within the image slots, its
+location in flash changes during a swap operation. The below set of
+tables map boot vector contents to swap status location. In these
+tables, the "source" field indicates where the swap status region is
+located.
+
+::
+
+              | slot-0     | scratch    |
+    ----------+------------+------------|
+        magic | Good       | Any        |
+    copy-done | 0x01       | N/A        |
+    ----------+------------+------------'
+    source: none                        |
+    ------------------------------------'
+
+              | slot-0     | scratch    |
+    ----------+------------+------------|
+        magic | Good       | Any        |
+    copy-done | 0xff       | N/A        |
+    ----------+------------+------------'
+    source: slot 0                      |
+    ------------------------------------'
+
+              | slot-0     | scratch    |
+    ----------+------------+------------|
+        magic | Any        | Good       |
+    copy-done | Any        | N/A        |
+    ----------+------------+------------'
+    source: scratch                     |
+    ------------------------------------'
+
+              | slot-0     | scratch    |
+    ----------+------------+------------|
+        magic | Unset      | Any        |
+    copy-done | 0xff       | N/A        |
+    ----------+------------+------------|
+    source: varies                      |
+    ------------------------------------+------------------------------+
+    This represents one of two cases:                                  |
+    o No swaps ever (no status to read, so no harm in checking).       |
+    o Mid-revert; status in slot 0.                                    |
+    -------------------------------------------------------------------'
+
+If the swap status region indicates that the images are not contiguous,
+bootutil completes the swap operation that was in progress when the
+system was reset. In other words, it applies the procedure defined in
+the previous section, moving image 1 into slot 0 and image 0 into slot
+1. If the boot status file indicates that an image part is present in
+the scratch area, this part is copied into the correct location by
+starting at step e or step h in the area-swap procedure, depending on
+whether the part belongs to image 0 or image 1.
+
+After the swap operation has been completed, the boot loader proceeds as
+though it had just been started.
+
+Integrity Check
+~~~~~~~~~~~~~~~
+
+An image is checked for integrity immediately before it gets copied into
+the primary slot. If the boot loader doesn't perform an image swap, then
+it doesn't perform an integrity check.
+
+During the integrity check, the boot loader verifies the following
+aspects of an image:
+
+-  32-bit magic number must be correct (0x96f3b83c).
+-  Image must contain a SHA256 TLV.
+-  Calculated SHA256 must matche SHA256 TLV contents.
+-  Image *may* contain a signature TLV. If it does, its contents must be
+   verifiable using a key embedded in the boot loader.
+
+Image Signing and Verification
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+As indicated above, the final step of the integrity check is signature
+verification. The boot loader can have one or more public keys embedded
+in it at build time. During signature verification, the boot loader
+verifies that an image was signed with a private key that corresponds to
+one of its public keys. The image signature TLV indicates the index of
+the key that is has been signed with. The boot loader uses this index to
+identify the corresponding public key.
+
+For information on embedding public keys in the boot loader, as well as
+producing signed images, see: boot/bootutil/signed\_images.md
+
+-  `boot\_build\_status <boot_build_status.html>`__
+-  `boot\_build\_status\_one <boot_build_status_one.html>`__
+-  `boot\_clear\_status <boot_clear_status.html>`__
+-  `boot\_copy\_area <boot_copy_area.html>`__
+-  `boot\_copy\_image <boot_copy_image.html>`__
+-  `boot\_erase\_area <boot_erase_area.html>`__
+-  `boot\_fill\_slot <boot_fill_slot.html>`__
+-  `boot\_find\_image\_area\_idx <boot_find_image_area_idx.html>`__
+-  `boot\_find\_image\_part <boot_find_image_part.html>`__
+-  `boot\_find\_image\_slot <boot_find_image_slot.html>`__
+-  `boot\_go <boot_go.html>`__
+-  `boot\_init\_flash <boot_init_flash.html>`__
+-  `boot\_move\_area <boot_move_area.html>`__
+-  `boot\_read\_image\_header <boot_read_image_header.html>`__
+-  `boot\_read\_image\_headers <boot_read_image_headers.html>`__
+-  `boot\_read\_status <boot_read_status.html>`__
+-  `boot\_select\_image\_slot <boot_select_image_slot.html>`__
+-  `boot\_slot\_addr <boot_slot_addr.html>`__
+-  `boot\_slot\_to\_area\_idx <boot_slot_to_area_idx.html>`__
+-  `boot\_swap\_areas <boot_swap_areas.html>`__
+-  `boot\_vect\_delete\_main <boot_vect_delete_main.html>`__
+-  `boot\_vect\_delete\_test <boot_vect_delete_test.html>`__
+-  `boot\_vect\_read\_main <boot_vect_read_main.html>`__
+-  `boot\_vect\_read\_one <boot_vect_read_one.html>`__
+-  `boot\_vect\_read\_test <boot_vect_read_test.html>`__
+-  `boot\_write\_status <boot_write_status.html>`__
diff --git a/develop/_sources/os/modules/config/config.rst.txt b/develop/_sources/os/modules/config/config.rst.txt
new file mode 100644
index 000000000..0fca99f81
--- /dev/null
+++ b/develop/_sources/os/modules/config/config.rst.txt
@@ -0,0 +1,173 @@
+Config
+======
+
+Config subsystem is meant for persisting per-device configuration
+and runtime state for packages.
+
+Configuration items are stored as key-value pairs, where both the key and
+the value are expected to be strings. Keys are divided into component
+elements, where packages register their subtree using the first element.
+E.g key ``id/serial`` consists of 2 components, ``id`` and ``serial``.
+Package sys/id registered it's subtree of configuration elements to be
+under ``id``.
+
+There are convenience routines for converting value back and forth
+from string.
+
+Handlers
+~~~~~~~~
+Config handlers for subtree implement a set of handler functions.
+These are registered using a call to ``conf_register()``.
+
+- ch_get
+    This gets called when somebody asks for a config element value
+    by it's name using ``conf_get_value()``.
+
+- ch_set
+    This is called when value is being set using ``conf_set_value()``, and
+    also when configuration is loaded from persisted storage with
+    ``conf_load()``.
+
+- ch_commit
+    This gets called after configuration has been loaded in full.
+    Sometimes you don't want individual configuration value to take
+    effect right away, for example if there are multiple settings
+    which are interdependent.
+
+- ch_export
+    This gets called to dump all current configuration. This happens
+    when ``conf_save()`` tries to save the settings, or when CLI is
+    dumping current system configuration to console.
+
+Persistence
+~~~~~~~~~~~
+Backend storage for the config can be either FCB, a file in filesystem,
+or both.
+
+You can declare multiple sources for configuration; settings from
+all of these are restored when ``conf_load()`` is called.
+
+There can be only one target for writing configuration; this is where
+data is stored when you call ``conf_save()``, or conf_save_one().
+
+FCB read target is registered using ``conf_fcb_src()``, and write target
+using ``conf_fcb_dst()``. ``conf_fcb_src()`` as side-effect initializes the
+FCB area, so it must be called when calling ``conf_fcb_dst()``.
+File read target is registered using ``conf_file_src()``, and write target
+``conf_file_dst()``.
+
+Convenience initialization of one config area can be enabled by
+setting either syscfg variable CONFIG_FCB or CONFIG_NFFS. These
+use other syscfg variables to figure which flash_map entry of BSP
+defines flash area, or which file to use. Check the syscfg.yml in
+sys/config package for more detailed description.
+
+CLI
+~~~
+This can be enabled when shell package is enabled by setting syscfg
+variable CONFIG_CLI to 1.
+
+Here you can set config variables, inspect their values and print
+both saved configuration as well as running configuration.
+
+- config dump
+    Dump the current running configuration
+
+- config dump saved
+    Dump the saved configuration. The values are printed in the ordered
+    they're restored.
+
+- config <key>
+    Print the value of config variable identified by <key>
+
+- config <key> <value>
+    Set the value of config variable <key> to be <value>
+
+Example: Device Configuration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This is a simple example, config handler only implements ``ch_set`` and
+``ch_export``. ``ch_set`` is called when value is restored from storage (or
+when set initially), and ``ch_export`` is used to write the value to
+storage (or dump to console).
+
+.. code:: c
+
+    static int8 foo_val;
+
+    struct conf_handler my_conf = {
+	.ch_name = "foo",
+	.ch_set = foo_conf_set,
+	.ch_export = foo_conf_export
+    }
+
+    static int
+    foo_conf_set(int argc, char **argv, char *val)
+    {
+         if (argc == 1) {
+	      if (!strcmp(argv[0], "bar")) {
+	             return CONF_VALUE_SET(val, CONF_INT8, foo_val);
+	      }
+	 }
+	 return OS_ENOENT;
+    }
+
+    static int
+    foo_conf_export(void (*func)(char *name, char *val), enum conf_export_tgt tgt)
+    {
+        char buf[4];
+
+        conf_str_from_value(CONF_INT8, &foo_val, buf, sizeof(buf));
+	func("foo/bar", buf)
+	return 0;
+    }
+
+Example: Persist Runtime State
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This is a simple example showing how to persist runtime state. Here
+there is only ``ch_set`` defined, which is used when restoring value from
+persisted storage.
+
+There's a os_callout function which increments foo_val, and then
+persists the latest number. When system restarts, and calls ``conf_load()``,
+foo_val will continue counting up from where it was before restart.
+
+.. code:: c
+
+    static int8 foo_val;
+
+    struct conf_handler my_conf = {
+	.ch_name = "foo",
+	.ch_set = foo_conf_set
+    }
+
+    static int
+    foo_conf_set(int argc, char **argv, char *val)
+    {
+         if (argc == 1) {
+	      if (!strcmp(argv[0], "bar")) {
+	             return CONF_VALUE_SET(val, CONF_INT8, foo_val);
+	      }
+	 }
+	 return OS_ENOENT;
+    }
+
+    static void
+    foo_callout(struct os_event *ev)
+    {
+        struct os_callout *c = (struct os_callout *)ev;
+        char buf[4];
+
+	foo_val++;
+        conf_str_from_value(CONF_INT8, &foo_val, buf, sizeof(buf));
+	conf_save_one("foo/bar", bar);
+
+	callout_reset(c, OS_TICKS_PER_SEC * 120);
+    }
+
+API
+~~~
+
+.. doxygengroup:: sys_config
+    :content-only:
diff --git a/develop/_sources/os/modules/devmgmt/customize_newtmgr.rst.txt b/develop/_sources/os/modules/devmgmt/customize_newtmgr.rst.txt
new file mode 100644
index 000000000..cb0900c5f
--- /dev/null
+++ b/develop/_sources/os/modules/devmgmt/customize_newtmgr.rst.txt
@@ -0,0 +1,322 @@
+Customizing Newt Manager Usage with mgmt
+----------------------------------------
+
+The **mgmt** package enables you to customize Newt Manager (in either
+the newtmgr or oicmgr framerwork) to only process the commands that your
+application uses. The newtmgr commands are divided into management
+groups. A manager package implements the commands for a group. It
+implements the handlers that process the commands for the group and
+registers the handlers with mgmt. When newtmgr or oicmgr receives a
+newtmgr command, it looks up the handler for the command (by management
+group id and command id) from mgmt and calls the handler to process the
+command.
+
+The system level management groups are listed in following table:
+
+.. raw:: html
+
+   <table style="width:90%" align="center">
+
+.. raw:: html
+
+   <td>
+
+Management Group
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+newtmgr Commands
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+Package
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <tr>
+
+.. raw:: html
+
+   <td>
+
+MGMT\_GROUP\_ID\_DEFAULT
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+``echo`` ``taskstat`` ``mpstat`` ``datetime`` ``reset``
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+mgmt/newtmgr/nmgr\_os
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   </tr>
+
+.. raw:: html
+
+   <tr>
+
+.. raw:: html
+
+   <td>
+
+MGMT\_GROUP\_ID\_IMAGE
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+``image``
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+mgmt/imgmgr
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   </tr>
+
+.. raw:: html
+
+   <tr>
+
+.. raw:: html
+
+   <td>
+
+MGMT\_GROUP\_ID\_STATS
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+``stat``
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+sys/stats
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   </tr>
+
+.. raw:: html
+
+   <tr>
+
+.. raw:: html
+
+   <td>
+
+MGMT\_GROUP\_ID\_CONFIG
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+``config``
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+sys/config
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   </tr>
+
+.. raw:: html
+
+   <tr>
+
+.. raw:: html
+
+   <td>
+
+MGMT\_GROUP\_ID\_LOGS
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+``log``
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+sys/log
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   </tr>
+
+.. raw:: html
+
+   <tr>
+
+.. raw:: html
+
+   <td>
+
+MGMT\_GROUP\_ID\_CRASH
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+``crash``
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+test/crash\_test
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   </tr>
+
+.. raw:: html
+
+   <tr>
+
+.. raw:: html
+
+   <td>
+
+MGMT\_GROUP\_ID\_RUNTEST
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+``run``
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+test/runtest
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   </tr>
+
+.. raw:: html
+
+   </table>
+
+Both newtmgr and ocimgr process the MGMT\_GROUP\_ID\_DEFAULT commands by
+default. You can also use mgmt to add user defined management group
+commands.
diff --git a/develop/_sources/os/modules/devmgmt/newtmgr.rst.txt b/develop/_sources/os/modules/devmgmt/newtmgr.rst.txt
new file mode 100644
index 000000000..4b955242d
--- /dev/null
+++ b/develop/_sources/os/modules/devmgmt/newtmgr.rst.txt
@@ -0,0 +1,45 @@
+Newt Manager
+------------
+
+Newt Manager is the protocol that enables your Mynewt application to
+communicate remotely with your device running the Mynewt OS in order to
+configure, manage, conduct maintenance, and monitor it. The core device
+management module is called ``mgmt`` and offers multiple options for
+invoking the appropriate newt manager commands for various operations on
+the device e.g. enabling and collecting logs, configuring and retrieving
+stats, resetting the device etc.
+
+1. Use the ``newtmgr`` package if reduced code footprint is your primary
+   requirement and you do not have interoperability requirements
+   upstream for device information, discovery, and connectivity.
+2. Use the ``oicmgr`` package if interoperability and standards-based
+   connectivity for device interaction is your primary requirement. This
+   package supports the OIC (Open Interconnect Consortium) Specification
+   1.1.0 framework from Open Connectivity Foundation (OCF).
+
+Invoking Newt Manager commands
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The diagram below indicates the two options available to the application
+developer to issue Newt Manager (``newtmgr``) commands on a Mynewt
+device. The application may leverage the ``newtmgr`` framework or the
+``oicmgr`` framework to call the newtmgr commands. The latter is
+described in the next chapter.
+
+.. figure:: ./device-mgmt.png
+   :alt: Device Management
+
+   Device Management
+
+newtmgr
+~~~~~~~
+
+The newtmgr framework uses a simple request and response message format
+to send commands to the device. A message consists of an eight byte
+header and the message payload. The message header specifies the newtmgr
+command. The message payload contains the newtmgr request/response data
+and is encoded in CBOR (Concise Binary Object Representation) format.
+newtmgr supports BLE and serial connections.
+
+The newtmgr framework has a smaller code size and memory footprint than
+oicmgr but does not support open connectivity.
diff --git a/develop/_sources/os/modules/devmgmt/oicmgr.rst.txt b/develop/_sources/os/modules/devmgmt/oicmgr.rst.txt
new file mode 100644
index 000000000..e8e5ffda0
--- /dev/null
+++ b/develop/_sources/os/modules/devmgmt/oicmgr.rst.txt
@@ -0,0 +1,135 @@
+Using the OIC Framework
+-----------------------
+
+Apache Mynewt includes support for the OIC interoperability standard
+through the ``oicmgr`` framework. Mynewt defines and exposes oicmgr as
+an OIC Server resource with the following identity and properties:
+
+.. raw:: html
+
+   <table style="width:50%" align="center">
+
+.. raw:: html
+
+   <tr>
+
+.. raw:: html
+
+   <td>
+
+**URI**
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+/omgr
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   </tr>
+
+.. raw:: html
+
+   <tr>
+
+.. raw:: html
+
+   <td>
+
+**Resource Type**\ (rt)
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+x.mynewt.nmgr
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   </tr>
+
+.. raw:: html
+
+   <td>
+
+**Interface**\ (if)
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+oic.if\_rw (default), oic.if.baseline
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   </tr>
+
+.. raw:: html
+
+   <td>
+
+**Discoverable**
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   <td>
+
+Yes
+
+.. raw:: html
+
+   </td>
+
+.. raw:: html
+
+   </tr>
+
+.. raw:: html
+
+   </table>
+
+| The newtmgr application tool uses CoAP (Constrained Application
+  Protocol) requests to send commands to oicmgr.
+| It sends a CoAP request for **/omgr** as follows:
+
+-  Specifies the newtmgr command to execute in the URI query string.
+-  Uses a GET method for newtmgr commands that retreive information from
+   your application, for example, the ``taskstat`` and ``mpstat``
+   commands.
+-  Uses a PUT method for newtmgr commands that send data to or modify
+   the state of your application, for example, the ``echo`` or
+   ``datetime`` commands.
+-  Sends the CBOR-encoded command request data in the CoAP message
+   payload.
+
+The ``oicmgr`` framework supports transport over BLE, serial, and IP
+connections to the device.
diff --git a/develop/_sources/os/modules/drivers/driver.rst.txt b/develop/_sources/os/modules/drivers/driver.rst.txt
new file mode 100644
index 000000000..9a179ca86
--- /dev/null
+++ b/develop/_sources/os/modules/drivers/driver.rst.txt
@@ -0,0 +1,151 @@
+Drivers
+=======
+
+Description
+~~~~~~~~~~~
+
+Device drivers in the Mynewt context includes libraries that interface
+with devices external to the CPU. These devices are connected to the CPU
+via standard peripherals such as SPI, GPIO, I2C etc. Device drivers
+leverage the base HAL services in Mynewt to provide friendly
+abstractions to application developers.
+
+.. code-block:: console
+
+
+    +???????????????????????????+
+    |            app            |
+    +???????????????????????????+
+    |          (n)drivers       |
+    +???????????????????????????+
+    |     HAL     |     BSP     |
+    +?????????????+?????????????+
+
+-  The Board Support Package (BSP) abstracts board specific
+   configurations e.g. CPU frequency, input voltage, LED pins, on-chip
+   flash map etc.
+
+-  The Hardware Abstraction Layer (HAL) abstracts architecture-specific
+   functionality. It initializes and enables components within a master
+   processor. It is designed to be portable across all the various MCUs
+   supported in Mynewt (e.g. Nordic's nRF51, Nordic's nRF52, NXP's
+   MK64F12 etc.). It includes code that initializes and manages access
+   to components of the board such as board buses (I2C, PCI, PCMCIA,
+   etc.), off-chip memory (controllers, level 2+ cache, Flash, etc.),
+   and off-chip I/O (Ethernet, RS-232, display, mouse, etc.)
+
+-  The driver sits atop the BSP and HAL. It abstracts the common modes
+   of operation for each peripheral device connected via the standard
+   interfaces to the processor. There may be multiple driver
+   implementations of differing complexities for a particular peripheral
+   device. For example, for an Analog to Digital Converter (ADC)
+   peripheral you might have a simple driver that does blocking ADC
+   reads and uses the HAL only. You might have a more complex driver
+   that can deal with both internal and external ADCs, and has chip
+   specific support for doing things like DMA?ing ADC reads into a
+   buffer and posting an event to a task every ?n? samples. The drivers
+   are the ones that register with the kernel?s power management APIs,
+   and manage turning on and off peripherals and external chipsets, etc.
+   The Mynewt core repository comes with a base set of drivers to help
+   the user get started.
+
+General design principles
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  Device drivers should have a consistent structure and unified
+   interface whenever possible. For example, we have a top-level
+   package, ?adc?, which contains the interface for all ADC drivers, and
+   then we have the individual implementation of the driver itself. The
+   following source files point to this:
+
+   -  high-level ADC API: ``hw/drivers/adc/include/adc/adc.h``
+   -  implementation of ADC for STM32F4:
+      ``hw/drivers/adc/adc_stm32f4/src/adc_stm32f4.c`` (As of the
+      1.0.0-beta release, ADC for nRF51 and nRF52 are available at an
+      external
+      `repo <https://github.com/runtimeco/mynewt_nordic/tree/master/hw/drivers/adc>`__.
+      They are expected to be pulled into the core repo on Apache Mynewt
+      after the license terms are clarified.). The only exported call in
+      this example is
+      ``int stm32f4_adc_dev_init(struct os_dev *, void *)`` which is
+      passed as a function pointer to ``os_dev_create()`` in
+      ``hal_bsp.c``, when the adc device is created.
+
+-  Device drivers should be easy to use. In Mynewt, creating a device
+   initializes it as well, making it readily available for the user to
+   open, use (e.g. read, configure etc.) and close. Creating a device is
+   simple using
+   ``os_dev_create(struct os_dev *dev, char *name, uint8_t stage, uint8_t priority, os_dev_init_func_t od_init, void *arg)``.
+   The ``od_init`` function is defined within the appropriate driver
+   directory e.g. ``stm32f4_adc_dev_init`` in
+   ``hw/drivers/adc/adc_stm32f4/src/adc_stm32f4.c`` for the ADC device
+   initialization function.
+
+-  The implementation should allow for builds optimized for minimal
+   memory usage. Additional functionality can be enabled by writing a
+   more complex driver (usually based on the simple implementation
+   included by default in the core repository) and optionally compiling
+   the relevant packages in. Typically, only a basic driver that
+   addresses a device?s core functionality (covering ~90% of use cases)
+   is included in the Mynewt core repository, thus keeping the footprint
+   small.
+
+-  The implementation should allow a user to be able to instantiate
+   multiple devices of a certain kind. In the Mynewt environment the
+   user can, for example, maintain separate contexts for multiple ADCs
+   over different peripheral connections such as SPI, I2C etc. It is
+   also possible for a user to use a single peripheral interface (e.g.
+   SPI) to drive multiple devices (e.g. ADC), and in that case the
+   device driver has to handle the proper synchronization of the various
+   tasks.
+
+-  Device drivers should be MCU independent. In Mynewt, device creation
+   and operation functions are independent of the underlying MCU.
+-  Device drivers should be able to offer high-level interfaces for
+   generic operations common to a particular device group. An example of
+   such a class or group of devices is a group for sensors with generic
+   operations such as channel discovery, configure, and read values. The
+   organization of the driver directory is work in progress - so we
+   encourage you to hop on the dev@ mailing list and offer your
+   insights!
+
+-  Device drivers should be searchable. The plan is to have the newt
+   tool offer a ``newt pkg search`` capability. This is work in
+   progress. You are welcome to join the conversation on the dev@
+   mailing list!
+
+Example
+~~~~~~~
+
+The Mynewt core repo includes an example of a driver using the HAL to
+provide extra functionality - the UART driver. It uses HAL GPIO and UART
+to provide multiple serial ports on the NRF52 (but allowed on other
+platforms too.)
+
+The gist of the driver design is that there is an API for the driver
+(for use by applications), and then sub-packages to that driver that
+implement that driver API using the HAL and BSP APIs.
+
+Implemented drivers
+~~~~~~~~~~~~~~~~~~~
+
+Drivers live under ``hw/drivers``. The current list of supported drivers
+includes:
+
++----------------------------------------+--------------------------+
+| Driver                                 | Description              |
++========================================+==========================+
+| `adc <adc.html>`__                       | TODO: ADC driver.        |
++----------------------------------------+--------------------------+
+| `flash <flash.html>`__                   | SPI/I2C flash drivers.   |
++----------------------------------------+--------------------------+
+| `lwip <lwip.html>`__                     | TODO: LWIP.              |
++----------------------------------------+--------------------------+
+| `mmc <mmc.html>`__                       | MMC/SD card driver.      |
++----------------------------------------+--------------------------+
+| `nimble </network/ble/ble_intro/>`__   | NIMBLE.                  |
++----------------------------------------+--------------------------+
+| `sensors <sensors.html>`__               | TODO: sensors.           |
++----------------------------------------+--------------------------+
+| `uart <uart.html>`__                     | TODO: UART driver.       |
++----------------------------------------+--------------------------+
diff --git a/develop/_sources/os/modules/drivers/flash.rst.txt b/develop/_sources/os/modules/drivers/flash.rst.txt
new file mode 100644
index 000000000..c9d84653c
--- /dev/null
+++ b/develop/_sources/os/modules/drivers/flash.rst.txt
@@ -0,0 +1,130 @@
+flash
+-----
+
+The flash driver subsystem is a work in progress which aims at
+supporting common external SPI/I2C flash/eeprom memory chips. This is
+equivalent to what Linux calls ``MTD`` for
+``Memory Technology Devices``.
+
+At the moment the only ``flash`` device that is already supported is the
+AT45DBxxx SPI flash family with the ``at45db`` driver.
+
+The flash driver aims for full compatibility with the ``hal_flash`` API,
+which means initialization and usage can be performed by any ``fs`` that
+supports the ``hal_flash`` interface.
+
+Initialization
+^^^^^^^^^^^^^^
+
+To be compatible with the standard ``hal_flash`` interface, the
+``at45db`` driver embeds a ``struct hal_flash`` to its own
+``struct at45db_dev``. The whole ``at45db_dev`` struct is shown below.
+
+.. code:: c
+
+    struct at45db_dev {
+        struct hal_flash hal;
+        struct hal_spi_settings *settings;
+        int spi_num;
+        void *spi_cfg;                  /** Low-level MCU SPI config */
+        int ss_pin;
+        uint32_t baudrate;
+        uint16_t page_size;             /** Page size to be used, valid: 512 and 528 */
+        uint8_t disable_auto_erase;     /** Reads and writes auto-erase by default */
+    };
+
+To ease with initialization a helper function ``at45db_default_config``
+was added. It returns an already initialized ``struct at45db_dev``
+leaving the user with just having to provide the SPI related config.
+
+To initialize the device, pass the ``at45db_dev`` struct to
+``at45db_init``.
+
+.. code:: c
+
+    int at45db_init(const struct hal_flash *dev);
+
+For low-level access to the device the following functions are provided:
+
+.. code:: c
+
+    int at45db_read(const struct hal_flash *dev, uint32_t addr, void *buf,
+                    uint32_t len);
+    int at45db_write(const struct hal_flash *dev, uint32_t addr, const void *buf,
+                     uint32_t len);
+    int at45db_erase_sector(const struct hal_flash *dev, uint32_t sector_address);
+    int at45db_sector_info(const struct hal_flash *dev, int idx, uint32_t *address,
+                           uint32_t *sz);
+
+Also, ``nffs`` is able to run on the device due to the fact that
+standard ``hal_flash`` interface compatibility is provided. Due to
+current limitations of ``nffs``, it can only run on ``at45db`` if the
+internal flash of the MCU is not being used.
+
+Dependencies
+^^^^^^^^^^^^
+
+To include the ``at45db`` driver on a project, just include it as a
+dependency in your pkg.yml:
+
+::
+
+    pkg.deps:
+        - hw/drivers/flash/at45db
+
+Header file
+^^^^^^^^^^^
+
+The ``at45db`` SPI flash follows the standard ``hal_flash`` interface
+but requires that a special struct
+
+.. code:: c
+
+    #include <at45db/at45db.h>
+
+Example
+^^^^^^^
+
+This following examples assume that the ``at45db`` is being used on a
+STM32F4 MCU.
+
+.. code:: c
+
+    static const int SPI_SS_PIN   = MCU_GPIO_PORTA(4);
+    static const int SPI_SCK_PIN  = MCU_GPIO_PORTA(5);
+    static const int SPI_MISO_PIN = MCU_GPIO_PORTA(6);
+    static const int SPI_MOSI_PIN = MCU_GPIO_PORTA(7);
+
+    struct stm32f4_hal_spi_cfg spi_cfg = {
+        .ss_pin   = SPI_SS_PIN,
+        .sck_pin  = SPI_SCK_PIN,
+        .miso_pin = SPI_MISO_PIN,
+        .mosi_pin = SPI_MOSI_PIN,
+        .irq_prio = 2
+    };
+
+    struct at45db_dev *my_at45db_dev = NULL;
+
+    my_at45db_dev = at45db_default_config();
+    my_at45db_dev->spi_num = 0;
+    my_at45db_dev->spi_cfg = &spi_cfg;
+    my_at45db_dev->ss_pin = spi_cfg.ss_pin;
+
+    rc = at45db_init((struct hal_flash *) my_at45db_dev);
+    if (rc) {
+        /* XXX: error handling */
+    }
+
+The enable ``nffs`` to run on the ``at45db``, the ``flash_id`` 0 needs
+to map to provide a mapping from 0 to this struct.
+
+.. code:: c
+
+    const struct hal_flash *
+    hal_bsp_flash_dev(uint8_t id)
+    {
+        if (id != 0) {
+            return NULL;
+        }
+        return &my_at45db_dev;
+    }
diff --git a/develop/_sources/os/modules/drivers/mmc.rst.txt b/develop/_sources/os/modules/drivers/mmc.rst.txt
new file mode 100644
index 000000000..664406ecb
--- /dev/null
+++ b/develop/_sources/os/modules/drivers/mmc.rst.txt
@@ -0,0 +1,108 @@
+mmc
+---
+
+The MMC driver provides support for SPI based MMC/SDcard interfaces. It
+exports a ``disk_ops`` struct that can be used by any FS. Currently only
+``fatfs`` can run over MMC.
+
+Initialization
+^^^^^^^^^^^^^^
+
+.. code:: c
+
+    int mmc_init(int spi_num, void *spi_cfg, int ss_pin)
+
+Initializes the mmc driver to be used by a FS.
+
+MMC uses the ``hal_gpio`` interface to access the SPI ``ss_pin`` and the
+``hal_spi`` interface for the communication with the card. ``spi_cfg``
+must be a hw dependent structure used by ``hal_spi_init`` to initialize
+the SPI subsystem.
+
+Dependencies
+^^^^^^^^^^^^
+
+To include the ``mmc`` driver on a project, just include it as a
+dependency in your pkg.yml:
+
+::
+
+    pkg.deps:
+        - hw/drivers/mmc
+
+Returned values
+^^^^^^^^^^^^^^^
+
+MMC functions return one of the following status codes:
+
++-------------------------+--------------------------------------------------------+
+| Return code             | Description                                            |
++=========================+========================================================+
+| MMC\_OK                 | Success.                                               |
++-------------------------+--------------------------------------------------------+
+| MMC\_CARD\_ERROR        | General failure on the card.                           |
++-------------------------+--------------------------------------------------------+
+| MMC\_READ\_ERROR        | Error reading from the card.                           |
++-------------------------+--------------------------------------------------------+
+| MMC\_WRITE\_ERROR       | Error writing to the card.                             |
++-------------------------+--------------------------------------------------------+
+| MMC\_TIMEOUT            | Timed out waiting for the execution of a command.      |
++-------------------------+--------------------------------------------------------+
+| MMC\_PARAM\_ERROR       | An invalid parameter was given to a function.          |
++-------------------------+--------------------------------------------------------+
+| MMC\_CRC\_ERROR         | CRC error reading card.                                |
++-------------------------+--------------------------------------------------------+
+| MMC\_DEVICE\_ERROR      | Tried to use an invalid device.                        |
++-------------------------+--------------------------------------------------------+
+| MMC\_RESPONSE\_ERROR    | A command received an invalid response.                |
++-------------------------+--------------------------------------------------------+
+| MMC\_VOLTAGE\_ERROR     | The interface doesn't support the requested voltage.   |
++-------------------------+--------------------------------------------------------+
+| MMC\_INVALID\_COMMAND   | The interface haven't accepted some command.           |
++-------------------------+--------------------------------------------------------+
+| MMC\_ERASE\_ERROR       | Error erasing the current card.                        |
++-------------------------+--------------------------------------------------------+
+| MMC\_ADDR\_ERROR        | Tried to access an invalid address.                    |
++-------------------------+--------------------------------------------------------+
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "mmc/mmc.h"
+
+Example
+^^^^^^^
+
+This example runs on the STM32F4-Discovery and prints out a listing of
+the root directory on the currently installed card.
+
+.. code:: c
+
+    // NOTE: error handling removed for clarity!
+
+    struct stm32f4_hal_spi_cfg spi_cfg = {
+        .ss_pin   = SPI_SS_PIN,
+        .sck_pin  = SPI_SCK_PIN,
+        .miso_pin = SPI_MISO_PIN,
+        .mosi_pin = SPI_MOSI_PIN,
+        .irq_prio = 2
+    };
+
+    mmc_init(0, &spi_cfg, spi_cfg.ss_pin);
+    disk_register("mmc0", "fatfs", &mmc_ops);
+
+    fs_opendir("mmc0:/", &dir);
+
+    while (1) {
+        rc = fs_readdir(dir, &dirent);
+        if (rc == FS_ENOENT) {
+            break;
+        }
+
+        fs_dirent_name(dirent, sizeof(out_name), out_name, &u8_len);
+        printf("%s\n", out_name);
+    }
+
+    fs_closedir(dir);
diff --git a/develop/_sources/os/modules/elua/elua.rst.txt b/develop/_sources/os/modules/elua/elua.rst.txt
new file mode 100644
index 000000000..84ec7e0bb
--- /dev/null
+++ b/develop/_sources/os/modules/elua/elua.rst.txt
@@ -0,0 +1,42 @@
+elua
+====
+
+Description
+~~~~~~~~~~~
+
+This package contains a Lua interpreter. See http://lua.org for
+documentation of the language.
+
+You can execute lua scripts either from console with shell or start the
+execution programmatically.
+
+Data structures
+~~~~~~~~~~~~~~~
+
+Notes
+~~~~~
+
+Currently we don't have language extension modules which would go
+together with this one, but those should be added.
+
+List of Functions
+~~~~~~~~~~~~~~~~~
+
++------------+----------------+
+| Function   | Description    |
++============+================+
+| `lua\_init | Registers      |
+|  <lua_init | 'lua' command  |
+| .html>`__    | with shell.    |
++------------+----------------+
+| `lua\_main | Executes lua   |
+|  <lua_main | script in      |
+| .html>`__    | current task's |
+|            | context.       |
+|            | Arguments      |
+|            | given are      |
+|            | passed to lua  |
+|            | interpreter.   |
++------------+----------------+
+
+
diff --git a/develop/_sources/os/modules/elua/lua_init.rst.txt b/develop/_sources/os/modules/elua/lua_init.rst.txt
new file mode 100644
index 000000000..2895332a9
--- /dev/null
+++ b/develop/_sources/os/modules/elua/lua_init.rst.txt
@@ -0,0 +1,42 @@
+lua\_init 
+-----------
+
+.. code-block:: console
+
+       int
+       lua_init(void)
+
+Registers 'lua' command with shell. This function should be called while
+initializing the project, preferably after shell itself has been
+initialized.
+
+Arguments
+^^^^^^^^^
+
+N/A
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns
+
+Notes
+^^^^^
+
+Calling this is meaningful only if you include the shell package in your
+project.
+
+Example
+^^^^^^^
+
+.. code-block:: console
+
+    int main(int argc, char **argv)
+    {
+        ...
+        shell_task_init(SHELL_TASK_PRIO, shell_stack, SHELL_TASK_STACK_SIZE,
+                             SHELL_MAX_INPUT_LEN);
+        ...
+        lua_init();
+        ...
+    }
diff --git a/develop/_sources/os/modules/elua/lua_main.rst.txt b/develop/_sources/os/modules/elua/lua_main.rst.txt
new file mode 100644
index 000000000..191f7b28b
--- /dev/null
+++ b/develop/_sources/os/modules/elua/lua_main.rst.txt
@@ -0,0 +1,41 @@
+lua\_main 
+-----------
+
+.. code-block:: console
+
+       int
+       lua_main(int argc, char **argv)
+
+Executes lua script in current task's context. Arguments given are
+passed to lua interpreter.
+
+Arguments
+^^^^^^^^^
+
++-------------+------------------------------------+
+| Arguments   | Description                        |
++=============+====================================+
+| argc        | Number of elements in argv array   |
++-------------+------------------------------------+
+| argv        | Array of character strings         |
++-------------+------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns the return code from the lua interpreter.
+
+Notes
+^^^^^
+
+Example
+^^^^^^^
+
+.. code-block:: console
+
+    static int
+    lua_cmd(int argc, char **argv)
+    {
+        lua_main(argc, argv);
+        return 0;
+    }
diff --git a/develop/_sources/os/modules/fcb/fcb.rst.txt b/develop/_sources/os/modules/fcb/fcb.rst.txt
new file mode 100644
index 000000000..e6fd902d7
--- /dev/null
+++ b/develop/_sources/os/modules/fcb/fcb.rst.txt
@@ -0,0 +1,287 @@
+Flash Circular Buffer (FCB)
+===========================
+
+Flash circular buffer provides an abstration through which you can treat
+flash like a FIFO. You append entries to the end, and read data from the
+beginning.
+
+Description
+~~~~~~~~~~~
+
+Elements in the flash contain the length of the element, the data within
+the element, and checksum over the element contents.
+
+Storage of elements in flash is done in a FIFO fashion. When user
+requests space for the next element, space is located at the end of the
+used area. When user starts reading, the first element served is the
+oldest element in flash.
+
+Elements can be appended to the end of the area until storage space is
+exhausted. User has control over what happens next; either erase oldest
+block of data, thereby freeing up some space, or stop writing new data
+until existing data has been collected. FCB treats underlying storage as
+an array of flash sectors; when it erases old data, it does this a
+sector at a time.
+
+Elements in the flash are checksummed. That is how FCB detects whether
+writing element to flash completed ok. It will skip over entries which
+don't have a valid checksum.
+
+Usage
+~~~~~
+
+To add an element to circular buffer:
+
+-  Call fcb\_append() to get the location where data can be written. If
+   this fails due to lack of space, you can call fcb\_rotate() to make
+   some. And then call fcb\_append() again.
+-  Use flash\_area\_write() to write element contents.
+-  Call fcb\_append\_finish() when done. This completes the entry by
+   calculating the checksum.
+
+To read contents of the circular buffer: \* Call fcb\_walk() with a
+pointer to your callback function. \* Within callback function copy in
+data from the element using flash\_area\_read(). You can tell when all
+data from within a sector has been read by monitoring returned element's
+area pointer. Then you can call fcb\_rotate(), if you're done with that
+data.
+
+Alternatively: \* Call fcb\_getnext() with 0 in element offset to get
+the pointer to oldest element. \* Use flash\_area\_read() to read
+element contents. \* Call fcb\_getnext() with pointer to current element
+to get the next one. And so on.
+
+Data structures
+~~~~~~~~~~~~~~~
+
+This data structure describes the element location in the flash. You
+would use it figure out what parameters to pass to flash\_area\_read()
+to read element contents. Or to flash\_area\_write() when adding a new
+element.
+
+.. code:: c
+
+    struct fcb_entry {
+        struct flash_area *fe_area;
+        uint32_t fe_elem_off;
+        uint32_t fe_data_off;
+        uint16_t fe_data_len;
+    };
+
++------------+----------------+
+| Element    | Description    |
++============+================+
+| fe\_area   | Pointer to     |
+|            | info about the |
+|            | flash sector.  |
+|            | Pass this to   |
+|            | flash\_area\_x |
+|            | x()            |
+|            | routines.      |
++------------+----------------+
+| fe\_elem\_ | Byte offset    |
+| off        | from the start |
+|            | of the sector  |
+|            | to beginning   |
+|            | of element.    |
++------------+----------------+
+| fe\_data\_ | Byte offset    |
+| off        | from start of  |
+|            | the sector to  |
+|            | beginning of   |
+|            | element data.  |
+|            | Pass this to   |
+|            | to             |
+|            | flash\_area\_x |
+|            | x()            |
+|            | routines.      |
++------------+----------------+
+| fe\_data\_ | Number of      |
+| len        | bytes in the   |
+|            | element.       |
++------------+----------------+
+
+The following data structure describes the FCB itself. First part should
+be filled in by the user before calling fcb\_init(). The second part is
+used by FCB for its internal bookkeeping.
+
+.. code:: c
+
+    struct fcb {
+        /* Caller of fcb_init fills this in */
+        uint32_t f_magic;           /* As placed on the disk */
+        uint8_t f_version;          /* Current version number of the data */
+        uint8_t f_sector_cnt;       /* Number of elements in sector array */
+        uint8_t f_scratch_cnt;      /* How many sectors should be kept empty */
+        struct flash_area *f_sectors; /* Array of sectors, must be contiguous */
+
+        /* Flash circular buffer internal state */
+        struct os_mutex f_mtx;      /* Locking for accessing the FCB data */
+        struct flash_area *f_oldest;
+        struct fcb_entry f_active;
+        uint16_t f_active_id;
+        uint8_t f_align;            /* writes to flash have to aligned to this */
+    };
+
++------------+----------------+
+| Element    | Description    |
++============+================+
+| f\_magic   | Magic number   |
+|            | in the         |
+|            | beginning of   |
+|            | FCB flash      |
+|            | sector. FCB    |
+|            | uses this when |
+|            | determining    |
+|            | whether sector |
+|            | contains valid |
+|            | data or not.   |
++------------+----------------+
+| f\_version | Current        |
+|            | version number |
+|            | of the data.   |
+|            | Also stored in |
+|            | flash sector   |
+|            | header.        |
++------------+----------------+
+| f\_sector\ | Number of      |
+| _cnt       | elements in    |
+|            | the f\_sectors |
+|            | array.         |
++------------+----------------+
+| f\_scratch | Number of      |
+| \_cnt      | sectors to     |
+|            | keep empty.    |
+|            | This can be    |
+|            | used if you    |
+|            | need to have   |
+|            | scratch space  |
+|            | for garbage    |
+|            | collecting     |
+|            | when FCB fills |
+|            | up.            |
++------------+----------------+
+| f\_sectors | Array of       |
+|            | entries        |
+|            | describing     |
+|            | flash sectors  |
+|            | to use.        |
++------------+----------------+
+| f\_mtx     | Lock           |
+|            | protecting     |
+|            | access to FCBs |
+|            | internal data. |
++------------+----------------+
+| f\_oldest  | Pointer to     |
+|            | flash sector   |
+|            | containing the |
+|            | oldest data.   |
+|            | This is where  |
+|            | data is served |
+|            | when read is   |
+|            | started.       |
++------------+----------------+
+| f\_active  | Flash location |
+|            | where the      |
+|            | newest data    |
+|            | is. This is    |
+|            | used by        |
+|            | fcb\_append()  |
+|            | to figure out  |
+|            | where the data |
+|            | should go to.  |
++------------+----------------+
+| f\_active\ | Flash sectors  |
+| _id        | are assigned   |
+|            | ever-increasin |
+|            | g              |
+|            | serial         |
+|            | numbers. This  |
+|            | is how FCB     |
+|            | figures out    |
+|            | where oldest   |
+|            | data is on     |
+|            | system         |
+|            | restart.       |
++------------+----------------+
+| f\_align   | Some flashes   |
+|            | have           |
+|            | restrictions   |
+|            | on alignment   |
+|            | for writes.    |
+|            | FCB keeps a    |
+|            | copy of this   |
+|            | number for the |
+|            | flash here.    |
++------------+----------------+
+
+List of Functions
+~~~~~~~~~~~~~~~~~
+
+The functions available in this OS feature are:
+
++------------+----------------+
+| Function   | Description    |
++============+================+
+| `fcb\_init | Initializes    |
+|  <fcb_init | the FCB. After |
+| .html>`__    | calling this,  |
+|            | you can start  |
+|            | reading/writin |
+|            | g              |
+|            | data from FCB. |
++------------+----------------+
+| `fcb\_appe | Start writing  |
+| nd <fcb_ap | a new element  |
+| pend.html>`_ | to flash.      |
+| _          |                |
++------------+----------------+
+| `fcb\_appe | Finalizes the  |
+| nd\_finish | write of new   |
+|  <fcb_appe | element. FCB   |
+| nd_finish. | computes the   |
+| md>`__     | checksum over  |
+|            | the element    |
+|            | and updates it |
+|            | in flash.      |
++------------+----------------+
+| `fcb\_walk | Walks over all |
+|  <fcb_walk | log entries in |
+| .html>`__    | FCB.           |
++------------+----------------+
+| `fcb\_getn | Fills given    |
+| ext <fcb_g | FCB location   |
+| etnext.html> | with           |
+| `__        | information    |
+|            | about next     |
+|            | element.       |
++------------+----------------+
+| `fcb\_rota | Erase the      |
+| te <fcb_ro | oldest sector  |
+| tate.html>`_ | in FCB.        |
+| _          |                |
++------------+----------------+
+| `fcb\_appe | If FCB uses    |
+| nd\_to\_sc | scratch        |
+| ratch <fcb | blocks, use    |
+| _append_to | reserve blocks |
+| _scratch.m | when FCB is    |
+| d>`__      | filled.        |
++------------+----------------+
+| `fcb\_is\_ | Returns 1 if   |
+| empty <fcb | there are no   |
+| _is_empty. | elements       |
+| md>`__     | stored in FCB, |
+|            | otherwise      |
+|            | returns 0.     |
++------------+----------------+
+| `fcb\_offs | Returns the    |
+| et\_last\_ | offset of n-th |
+| n <fcb_off | last element.  |
+| set_last_n |                |
+| .html>`__    |                |
++------------+----------------+
+| `fcb\_clea | Wipes out all  |
+| r <fcb_cle | data in FCB.   |
+| ar.html>`__  |                |
++------------+----------------+
diff --git a/develop/_sources/os/modules/fcb/fcb_append.rst.txt b/develop/_sources/os/modules/fcb/fcb_append.rst.txt
new file mode 100644
index 000000000..fe52521f0
--- /dev/null
+++ b/develop/_sources/os/modules/fcb/fcb_append.rst.txt
@@ -0,0 +1,55 @@
+fcb\_append
+-----------
+
+.. code-block:: console
+
+    int fcb_append(struct fcb *fcb, uint16_t len, struct fcb_entry *append_loc);
+
+Start writing a new element to flash. This routine reserves the space in
+the flash by writing out the element header.
+
+When writing the contents for the entry, use append\_loc->fl\_area and
+append\_loc->fl\_data\_off as arguments to flash\_area\_write(). When
+finished, call fcb\_append\_finish() with append\_loc as argument.
+
+Arguments
+^^^^^^^^^
+
++--------------+----------------+
+| Arguments    | Description    |
++==============+================+
+| fcb          | Points to FCB  |
+|              | where data is  |
+|              | written to.    |
++--------------+----------------+
+| len          | Number of      |
+|              | bytes to       |
+|              | reserve for    |
+|              | the element.   |
++--------------+----------------+
+| loc          | Pointer to     |
+|              | fcb\_entry.    |
+|              | fcb\_append()  |
+|              | will fill this |
+|              | with info      |
+|              | about where    |
+|              | the element    |
+|              | can be written |
+|              | to.            |
++--------------+----------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns 0 on success; nonzero on failure. FCB\_ERR\_NOSPACE is returned
+if FCB is full.
+
+Notes
+^^^^^
+
+If FCB is full, you need to make more space. This can be done by calling
+fcb\_rotate(). Or if you've reserved scratch sectors, you can take those
+into use by calling fcb\_append\_to\_scratch().
+
+Example
+^^^^^^^
diff --git a/develop/_sources/os/modules/fcb/fcb_append_finish.rst.txt b/develop/_sources/os/modules/fcb/fcb_append_finish.rst.txt
new file mode 100644
index 000000000..57a5025c5
--- /dev/null
+++ b/develop/_sources/os/modules/fcb/fcb_append_finish.rst.txt
@@ -0,0 +1,42 @@
+fcb\_append\_finish
+-------------------
+
+.. code-block:: console
+
+    int fcb_append_finish(struct fcb *fcb, struct fcb_entry *append_loc);
+
+Finalizes the write of new element. FCB computes the checksum over the
+element and updates it in flash.
+
+Arguments
+^^^^^^^^^
+
++--------------+----------------+
+| Arguments    | Description    |
++==============+================+
+| fcb          | Points to FCB  |
+|              | where data is  |
+|              | written to.    |
++--------------+----------------+
+| append\_loc  | Pointer to     |
+|              | fcb\_entry.    |
+|              | Use the        |
+|              | fcb\_entry     |
+|              | returned by    |
+|              | fcb\_append(). |
++--------------+----------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns 0 on success; nonzero on failure.
+
+Notes
+^^^^^
+
+You need to call fcb\_append\_finish() after writing the element
+contents. Otherwise FCB will consider this entry to be invalid, and
+skips over it when reading.
+
+Example
+^^^^^^^
diff --git a/develop/_sources/os/modules/fcb/fcb_append_to_scratch.rst.txt b/develop/_sources/os/modules/fcb/fcb_append_to_scratch.rst.txt
new file mode 100644
index 000000000..f166f72ed
--- /dev/null
+++ b/develop/_sources/os/modules/fcb/fcb_append_to_scratch.rst.txt
@@ -0,0 +1,30 @@
+fcb\_append\_to\_scratch
+------------------------
+
+.. code-block:: console
+
+    int fcb_append_to_scratch(struct fcb *fcb);
+
+This can be used if FCB created to have scratch block(s). Once FCB fills
+up with data, fcb\_append() will fail. This routine can be called to
+start using the reserve block.
+
+Arguments
+^^^^^^^^^
+
++-------------+------------------+
+| Arguments   | Description      |
++=============+==================+
+| fcb         | Points to FCB.   |
++-------------+------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns 0 on success; nonzero on failure.
+
+Notes
+^^^^^
+
+Example
+^^^^^^^
diff --git a/develop/_sources/os/modules/fcb/fcb_clear.rst.txt b/develop/_sources/os/modules/fcb/fcb_clear.rst.txt
new file mode 100644
index 000000000..79e124ce9
--- /dev/null
+++ b/develop/_sources/os/modules/fcb/fcb_clear.rst.txt
@@ -0,0 +1,28 @@
+fcb\_clear
+----------
+
+.. code-block:: console
+
+    int fcb_clear(struct fcb *fcb);
+
+Wipes out all data in FCB.
+
+Arguments
+^^^^^^^^^
+
++-------------+------------------+
+| Arguments   | Description      |
++=============+==================+
+| fcb         | Points to FCB.   |
++-------------+------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns 0 on success; non-zero otherwise.
+
+Notes
+^^^^^
+
+Example
+^^^^^^^
diff --git a/develop/_sources/os/modules/fcb/fcb_getnext.rst.txt b/develop/_sources/os/modules/fcb/fcb_getnext.rst.txt
new file mode 100644
index 000000000..231b3c01c
--- /dev/null
+++ b/develop/_sources/os/modules/fcb/fcb_getnext.rst.txt
@@ -0,0 +1,39 @@
+fcb\_getnext
+------------
+
+.. code-block:: console
+
+    int fcb_getnext(struct fcb *, struct fcb_entry *loc);
+
+Given element in location in loc, return with loc filled in with
+information about next element.
+
+If loc->le\_elem\_off is set to 0, fcb\_getnext() will return info about
+the oldest element in FCB.
+
+Entry data can be read within the callback using flash\_area\_read(),
+using loc->fe\_area, loc->fe\_data\_off, and loc->fe\_data\_len as
+arguments.
+
+Arguments
+^^^^^^^^^
+
++-------------+-------------------------------------------+
+| Arguments   | Description                               |
++=============+===========================================+
+| fcb         | Points to FCB where data is written to.   |
++-------------+-------------------------------------------+
+| loc         | Info about element. On successful call    |
++-------------+-------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns 0 on success; nonzero on failure. Returns FCB\_ERR\_NOVAR when
+there are no more elements left.
+
+Notes
+^^^^^
+
+Example
+^^^^^^^
diff --git a/develop/_sources/os/modules/fcb/fcb_init.rst.txt b/develop/_sources/os/modules/fcb/fcb_init.rst.txt
new file mode 100644
index 000000000..0d8433a29
--- /dev/null
+++ b/develop/_sources/os/modules/fcb/fcb_init.rst.txt
@@ -0,0 +1,32 @@
+fcb\_init
+---------
+
+.. code-block:: console
+
+    int fcb_init(struct fcb *);
+
+Initializes FCB. This function walks through the given sectors, finding
+out how much data already exists in the flash. After calling this, you
+can start reading/writing data from FCB.
+
+Arguments
+^^^^^^^^^
+
++-------------+---------------------------------+
+| Arguments   | Description                     |
++=============+=================================+
+| fcb         | Structure describing the FCB.   |
++-------------+---------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns 0 on success; nonzero on failure.
+
+Notes
+^^^^^
+
+User should fill in their portion of fcb before calling this function.
+
+Example
+^^^^^^^
diff --git a/develop/_sources/os/modules/fcb/fcb_is_empty.rst.txt b/develop/_sources/os/modules/fcb/fcb_is_empty.rst.txt
new file mode 100644
index 000000000..f9676dc54
--- /dev/null
+++ b/develop/_sources/os/modules/fcb/fcb_is_empty.rst.txt
@@ -0,0 +1,28 @@
+fcb\_is\_empty
+--------------
+
+.. code-block:: console
+
+    int fcb_is_empty(struct fcb *fcb);
+
+Returns 1 if there are no elements stored in FCB, otherwise returns 0.
+
+Arguments
+^^^^^^^^^
+
++-------------+------------------+
+| Arguments   | Description      |
++=============+==================+
+| fcb         | Points to FCB.   |
++-------------+------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+See description.
+
+Notes
+^^^^^
+
+Example
+^^^^^^^
diff --git a/develop/_sources/os/modules/fcb/fcb_offset_last_n.rst.txt b/develop/_sources/os/modules/fcb/fcb_offset_last_n.rst.txt
new file mode 100644
index 000000000..3024d73fa
--- /dev/null
+++ b/develop/_sources/os/modules/fcb/fcb_offset_last_n.rst.txt
@@ -0,0 +1,36 @@
+fcb\_offset\_last\_n
+--------------------
+
+.. code-block:: console
+
+    int fcb_offset_last_n(struct fcb *fcb, uint8_t entries, uint32_t *last_n_off);
+
+Returns the offset of n-th last element.
+
+Arguments
+^^^^^^^^^
+
++----------------+------------------------------+
+| Arguments      | Description                  |
++================+==============================+
+| fcb            | Points to FCB.               |
++----------------+------------------------------+
+| entries        | How many entries to leave.   |
++----------------+------------------------------+
+| last\_n\_off   | Returned offset.             |
++----------------+------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+0 on success; non-zero on failure.
+
+Notes
+^^^^^
+
+Returned offset is relative to beginning of the sector where the element
+is. Therefore, n-th last element must be found within the last sector of
+FCB.
+
+Example
+^^^^^^^
diff --git a/develop/_sources/os/modules/fcb/fcb_rotate.rst.txt b/develop/_sources/os/modules/fcb/fcb_rotate.rst.txt
new file mode 100644
index 000000000..be21abdea
--- /dev/null
+++ b/develop/_sources/os/modules/fcb/fcb_rotate.rst.txt
@@ -0,0 +1,28 @@
+fcb\_rotate
+-----------
+
+.. code-block:: console
+
+    int fcb_rotate(struct fcb *fcb);
+
+Erase the oldest sector in FCB.
+
+Arguments
+^^^^^^^^^
+
++-------------+------------------+
+| Arguments   | Description      |
++=============+==================+
+| fcb         | Points to FCB.   |
++-------------+------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns 0 on success; nonzero on failure.
+
+Notes
+^^^^^
+
+Example
+^^^^^^^
diff --git a/develop/_sources/os/modules/fcb/fcb_walk.rst.txt b/develop/_sources/os/modules/fcb/fcb_walk.rst.txt
new file mode 100644
index 000000000..a07d3bb50
--- /dev/null
+++ b/develop/_sources/os/modules/fcb/fcb_walk.rst.txt
@@ -0,0 +1,63 @@
+fcb\_walk
+---------
+
+.. code-block:: console
+
+    typedef int (*fcb_walk_cb)(struct fcb_entry *loc, void *arg);
+
+    int fcb_walk(struct fcb *fcb, struct flash_area *area, fcb_walk_cb cb,
+        void *cb_arg);
+
+Walks over all log entries in FCB. Callback function cb gets called for
+every entry. If cb wants to stop the walk, it should return a non-zero
+value.
+
+If specific flash\_area is specified, only entries within that sector
+are walked over.
+
+Entry data can be read within the callback using flash\_area\_read(),
+using loc->fe\_area, loc->fe\_data\_off, and loc->fe\_data\_len as
+arguments.
+
+Arguments
+^^^^^^^^^
+
++--------------+----------------+
+| Arguments    | Description    |
++==============+================+
+| fcb          | Points to FCB  |
+|              | where data is  |
+|              | written to.    |
++--------------+----------------+
+| area         | Optional.      |
+|              | Pointer to     |
+|              | specific entry |
+|              | in fcb's array |
+|              | of sectors.    |
++--------------+----------------+
+| cb           | Callback       |
+|              | function which |
+|              | gets called    |
+|              | for every      |
+|              | valid entry    |
+|              | fcb\_walk      |
+|              | encounters.    |
++--------------+----------------+
+| cb\_arg      | Optional.      |
+|              | Parameter      |
+|              | which gets     |
+|              | passed to      |
+|              | callback       |
+|              | function.      |
++--------------+----------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns 0 on success; nonzero on failure.
+
+Notes
+^^^^^
+
+Example
+^^^^^^^
diff --git a/develop/_sources/os/modules/fs/fatfs.rst.txt b/develop/_sources/os/modules/fs/fatfs.rst.txt
new file mode 100644
index 000000000..c81e335d1
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fatfs.rst.txt
@@ -0,0 +1,52 @@
+The FAT File System
+===================
+
+Mynewt provides an implementation of the FAT filesystem which is
+currently supported on MMC/SD cards.
+
+Description
+~~~~~~~~~~~
+
+    File Allocation Table (FAT) is a computer file system architecture
+    and a family of industry-standard file systems utilizing it. The FAT
+    file system is a legacy file system which is simple and robust. It
+    offers good performance even in lightweight implementations, but
+    cannot deliver the same performance, reliability and scalability as
+    some modern file systems.
+
+Configuration
+~~~~~~~~~~~~~
+
+``fatfs`` configuration can be tweaked by editing
+``fs/fatfs/include/fatfs/ffconf.h``. The current configuraton was chosen
+to minimize memory use and some options address limitations existing in
+the OS:
+
+-  Write support is enabled by default (can be disabled to minimize
+   memory use).
+-  Long filename (up to 255) support is disabled.
+-  When writing files, time/dates are not persisted due to current lack
+   of a standard ``hal_rtc`` interface.
+-  No unicode support. Vanilla config uses standard US codepage 437.
+-  Formatting of new volumes is disabled.
+-  Default number of volumes is configured to 1.
+
+API
+~~~
+
+To include ``fatfs`` on a project just include it as a dependency in
+your project:
+
+::
+
+    pkg.deps:
+        - fs/fatfs
+
+It can now be used through the standard file system abstraction
+functions as described in `FS API </os/modules/fs/fs/fs#API>`__.
+
+Example
+^^^^^^^
+
+An example of using ``fatfs`` on a MMC card is provided on the
+`MMC </os/modules/drivers/mmc#Example>`__ documentation.
diff --git a/develop/_sources/os/modules/fs/fs/fs.rst.txt b/develop/_sources/os/modules/fs/fs/fs.rst.txt
new file mode 100644
index 000000000..cebfeebe1
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs.rst.txt
@@ -0,0 +1,284 @@
+File System Abstraction
+=======================
+
+Mynewt provides a file system abstraction layer (``fs/fs``) to allow
+client code to be file system agnostic. By accessing the file system via
+the ``fs/fs`` API, client code can perform file system operations
+without being tied to a particular implementation. When possible,
+library code should use the ``fs/fs`` API rather than accessing the
+underlying file system directly.
+
+Description
+~~~~~~~~~~~
+
+Applications should aim to minimize the amount of code which depends on
+a particular file system implementation. When possible, only depend on
+the ``fs/fs`` package. In terms of the Mynewt hierarchy, an **app**
+package must depend on a specific file system package, while **library**
+packages should only depend on ``fs/fs``.
+
+Applications wanting to access a filesystem are required to include the
+necessary packages in their applications pkg.yml file. In the following
+example, the ```Newtron Flash File System`` <../nffs/nffs.html>`__ is
+used.
+
+.. code-block:: console
+
+    # repos/apache-mynewt-core/apps/slinky/pkg.yml
+
+    pkg.name: repos/apache-mynewt-core/apps/slinky
+    pkg.deps:
+        - fs/fs         # include the file operations interfaces
+        - fs/nffs       # include the NFFS filesystem implementation
+
+::
+
+    # repos/apache-mynewt-core/apps/slinky/syscfg.yml
+    # [...]
+     # Package: apps/<example app>
+    # [...]
+        CONFIG_NFFS: 1  # initialize and configure NFFS into the system
+    #   NFFS_DETECT_FAIL: 1   # Ignore NFFS detection issues 
+    #   NFFS_DETECT_FAIL: 2   # Format a new NFFS file system on failure to detect
+
+    # [...]
+
+Consult the documentation for ```nffs`` <../nffs/nffs.html>`__ for a more
+detailed explanation of NFFS\_DETECT\_FAIL
+
+Code which uses the file system after the system has been initialized
+need only depend on ``fs/fs``. For example, the ``libs/imgmgr`` package
+is a library which provides firmware upload and download functionality
+via the use of a file system. This library is only used after the system
+has been initialized, and therefore only depends on the ``fs/fs``
+package.
+
+.. code-block:: console
+
+    # repos/apache-mynewt-core/libs/imgmgr/pkg.yml
+    pkg.name: libs/imgmgr
+    pkg.deps:
+        - fs/fs
+
+    # [...]
+
+The ``libs/imgmgr`` package uses the ``fs/fs`` API for all file system
+operations.
+
+Support for multiple filesystems
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When using a single filesystem/disk, it is valid to provide paths in the
+standard unix way, eg, ``/<dir-name>/<file-name>``. When trying to run
+more than one filesystem or a single filesystem in multiple devices
+simultaneosly, an extra name has to be given to the disk that is being
+used. The abstraction for that was added as the ``fs/disk`` package
+which is a dependency of ``fs/fs``. It adds the following extra user
+function:
+
+.. code:: c
+
+    int disk_register(const char *disk_name, const char *fs_name, struct disk_ops *dops)
+
+As an example os usage:
+
+.. code:: c
+
+    disk_register("mmc0", "fatfs", &mmc_ops);
+    disk_register("flash0", "nffs", NULL);
+
+This registers the name ``mmc0`` to use ``fatfs`` as the filesystem and
+``mmc_ops`` for the low-level disk driver and also registers ``flash0``
+to use ``nffs``. ``nffs`` is currently strongly bound to the
+``hal_flash`` interface, ignoring any other possible ``disk_ops`` given.
+
+struct disk\_ops
+^^^^^^^^^^^^^^^^
+
+To support a new low-level disk interface, the ``struct disk_ops``
+interface must be implemented by the low-level driver. Currently only
+``read`` and ``write`` are effectively used (by ``fatfs``).
+
+.. code:: c
+
+    struct disk_ops {
+        int (*read)(uint8_t, uint32_t, void *, uint32_t);
+        int (*write)(uint8_t, uint32_t, const void *, uint32_t);
+        int (*ioctl)(uint8_t, uint32_t, void *);
+        SLIST_ENTRY(disk_ops) sc_next;
+    }
+
+Thread Safety
+~~~~~~~~~~~~~
+
+All ``fs/fs`` functions are thread safe.
+
+Header Files
+~~~~~~~~~~~~
+
+All code which uses the ``fs/fs`` package needs to include the following
+header:
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Data Structures
+~~~~~~~~~~~~~~~
+
+All ``fs/fs`` data structures are opaque to client code.
+
+.. code:: c
+
+    struct fs_file;
+    struct fs_dir;
+    struct fs_dirent;
+
+API
+~~~
+
+Functions in ``fs/fs`` that indicate success or failure do so with the
+following set of return codes:
+
+-  `Return Codes <fs_return_codes.html>`__
+
+The functions available in this OS feature are:
+
++------------+----------------+
+| Function   | Description    |
++============+================+
+| `fs\_close | Closes the     |
+|  <fs_close | specified file |
+| .html>`__    | and            |
+|            | invalidates    |
+|            | the file       |
+|            | handle.        |
++------------+----------------+
+| `fs\_close | Closes the     |
+| dir <fs_cl | specified      |
+| osedir.html> | directory      |
+| `__        | handle.        |
++------------+----------------+
+| `fs\_diren | Tells you      |
+| t\_is\_dir | whether the    |
+|  <fs_diren | specified      |
+| t_is_dir.m | directory      |
+| d>`__      | entry is a     |
+|            | sub-directory  |
+|            | or a regular   |
+|            | file.          |
++------------+----------------+
+| `fs\_diren | Retrieves the  |
+| t\_name <f | filename of    |
+| s_dirent_n | the specified  |
+| ame.html>`__ | directory      |
+|            | entry.         |
++------------+----------------+
+| `fs\_filel | Retrieves the  |
+| en <fs_fil | current length |
+| elen.html>`_ | of the         |
+| _          | specified open |
+|            | file.          |
++------------+----------------+
+| `fs\_getpo | Retrieves the  |
+| s <fs_getp | current read   |
+| os.html>`__  | and write      |
+|            | position of    |
+|            | the specified  |
+|            | open file.     |
++------------+----------------+
+| `fs\_mkdir | Creates the    |
+|  <fs_mkdir | directory      |
+| .html>`__    | represented by |
+|            | the specified  |
+|            | path.          |
++------------+----------------+
+| `fs\_open  | Opens a file   |
+| <fs_open.m | at the         |
+| d>`__      | specified      |
+|            | path.          |
++------------+----------------+
+| `fs\_opend | Opens the      |
+| ir <fs_ope | directory at   |
+| ndir.html>`_ | the specified  |
+| _          | path.          |
++------------+----------------+
+| `fs\_read  | Reads data     |
+| <fs_read.m | from the       |
+| d>`__      | specified      |
+|            | file.          |
++------------+----------------+
+| `fs\_readd | Reads the next |
+| ir <fs_rea | entry in an    |
+| ddir.html>`_ | open           |
+| _          | directory.     |
++------------+----------------+
+| `fs\_regis | Registers a    |
+| ter <fs_re | file system    |
+| gister.html> | with the       |
+| `__        | abstraction    |
+|            | layer.         |
++------------+----------------+
+| `fs\_renam | Performs a     |
+| e <fs_rena | rename and/or  |
+| me.html>`__  | move of the    |
+|            | specified      |
+|            | source path to |
+|            | the specified  |
+|            | destination.   |
++------------+----------------+
+| `fs\_seek  | Positions a    |
+| <fs_seek.m | file's read    |
+| d>`__      | and write      |
+|            | pointer at the |
+|            | specified      |
+|            | offset.        |
++------------+----------------+
+| `fs\_unlin | Unlinks the    |
+| k <fs_unli | file or        |
+| nk.html>`__  | directory at   |
+|            | the specified  |
+|            | path.          |
++------------+----------------+
+| `fs\_write | Writes the     |
+|  <fs_write | supplied data  |
+| .html>`__    | to the current |
+|            | offset of the  |
+|            | specified file |
+|            | handle.        |
++------------+----------------+
+
+Additional file system utilities that bundle some of the basic functions
+above are:
+
++------------+----------------+
+| Function   | Description    |
++============+================+
+| `fsutil\_r | Opens a file   |
+| ead\_file  | at the         |
+| <fsutil_re | specified      |
+| ad_file.md | path, retrieve |
+| >`__       | data from the  |
+|            | file starting  |
+|            | from the       |
+|            | specified      |
+|            | offset, and    |
+|            | close the file |
+|            | and invalidate |
+|            | the file       |
+|            | handle.        |
++------------+----------------+
+| `fsutil\_w | Open a file at |
+| rite\_file | the specified  |
+|  <fsutil_w | path, write    |
+| rite_file. | the supplied   |
+| md>`__     | data to the    |
+|            | current offset |
+|            | of the         |
+|            | specified file |
+|            | handle, and    |
+|            | close the file |
+|            | and invalidate |
+|            | the file       |
+|            | handle.        |
++------------+----------------+
diff --git a/develop/_sources/os/modules/fs/fs/fs_close.rst.txt b/develop/_sources/os/modules/fs/fs/fs_close.rst.txt
new file mode 100644
index 000000000..814fe73c8
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_close.rst.txt
@@ -0,0 +1,72 @@
+fs\_close
+---------
+
+.. code:: c
+
+    int fs_close(struct fs_file *file)
+
+Closes the specified file and invalidates the file handle.
+
+Arguments
+^^^^^^^^^
+
++--------------+--------------------------------+
+| *Argument*   | *Description*                  |
++==============+================================+
+| file         | Pointer to the file to close   |
++--------------+--------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <fs_return_codes.html>`__ on failure
+
+Notes
+^^^^^
+
+If the file has already been unlinked, and the file has no other open
+handles, the ``fs_close()`` function causes the file to be deleted from
+the disk.
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+The below code opens the file ``/settings/config.txt`` for reading,
+reads some data, and then closes the file.
+
+.. code:: c
+
+    int
+    read_config(void)
+    {
+        struct fs_file *file;
+        uint32_t bytes_read;
+        uint8_t buf[16];
+        int rc;
+
+        /* Open the file for reading. */
+        rc = fs_open("/settings/config.txt", FS_ACCESS_READ, &file);
+        if (rc != 0) {
+            return -1;
+        }
+
+        /* Read up to 16 bytes from the file. */
+        rc = fs_read(file, sizeof buf, buf, &bytes_read);
+        if (rc == 0) {
+            /* buf now contains up to 16 bytes of file data. */
+            console_printf("read %u bytes\n", bytes_read)
+        }
+
+        /* Close the file. */
+        fs_close(file);
+
+        return rc == 0 ? 0 : -1;
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fs_closedir.rst.txt b/develop/_sources/os/modules/fs/fs/fs_closedir.rst.txt
new file mode 100644
index 000000000..67a6ebb72
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_closedir.rst.txt
@@ -0,0 +1,83 @@
+fs\_closedir
+------------
+
+.. code:: c
+
+    int fs_closedir(struct fs_dir *dir)
+
+Closes the specified directory handle.
+
+Arguments
+^^^^^^^^^
+
++--------------+--------------------------------------+
+| *Argument*   | *Description*                        |
++==============+======================================+
+| dir          | The name of the directory to close   |
++--------------+--------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <fs_return_codes.html>`__ on failure
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+This example iterates through the contents of a directory, printing the
+name of each child node. When the traversal is complete, the code closes
+the directory handle.
+
+.. code:: c
+
+    int
+    traverse_dir(const char *dirname)
+    {
+        struct fs_dirent *dirent;
+        struct fs_dir *dir;
+        char buf[64];
+        uint8_t name_len;
+        int rc;
+
+        rc = fs_opendir(dirname, &dir);
+        if (rc != 0) {
+            return -1;
+        }
+
+        /* Iterate through the parent directory, printing the name of each child
+         * entry.  The loop only terminates via a function return.
+         */
+        while (1) {
+            /* Retrieve the next child node. */
+            rc = fs_readdir(dir, &dirent); 
+            if (rc == FS_ENOENT) {
+                /* Traversal complete. */
+                return 0;
+            } else if (rc != 0) {
+                /* Unexpected error. */
+                return -1;
+            }
+
+            /* Read the child node's name from the file system. */
+            rc = fs_dirent_name(dirent, sizeof buf, buf, &name_len);
+            if (rc != 0) {
+                return -1;
+            }
+
+            /* Print the child node's name to the console. */
+            if (fs_dirent_is_dir(dirent)) {
+                console_printf(" dir: ");
+            } else {
+                console_printf("file: ");
+            }
+            console_printf("%s\n", buf);
+        }
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fs_dirent_is_dir.rst.txt b/develop/_sources/os/modules/fs/fs/fs_dirent_is_dir.rst.txt
new file mode 100644
index 000000000..81682e757
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_dirent_is_dir.rst.txt
@@ -0,0 +1,84 @@
+fs\_dirent\_is\_dir
+-------------------
+
+.. code:: c
+
+    int fs_dirent_is_dir(const struct fs_dirent *dirent)
+
+Tells you whether the specified directory entry is a sub-directory or a
+regular file.
+
+Arguments
+^^^^^^^^^
+
++--------------+-------------------------------------------+
+| *Argument*   | *Description*                             |
++==============+===========================================+
+| dirent       | Pointer to the directory entry to query   |
++--------------+-------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  1: The entry is a directory
+-  0: The entry is a regular file.
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+This example iterates through the contents of a directory, printing the
+name of each child node. When the traversal is complete, the code closes
+the directory handle.
+
+.. code:: c
+
+    int
+    traverse_dir(const char *dirname)
+    {
+        struct fs_dirent *dirent;
+        struct fs_dir *dir;
+        char buf[64];
+        uint8_t name_len;
+        int rc;
+
+        rc = fs_opendir(dirname, &dir);
+        if (rc != 0) {
+            return -1;
+        }
+
+        /* Iterate through the parent directory, printing the name of each child
+         * entry.  The loop only terminates via a function return.
+         */
+        while (1) {
+            /* Retrieve the next child node. */
+            rc = fs_readdir(dir, &dirent); 
+            if (rc == FS_ENOENT) {
+                /* Traversal complete. */
+                return 0;
+            } else if (rc != 0) {
+                /* Unexpected error. */
+                return -1;
+            }
+
+            /* Read the child node's name from the file system. */
+            rc = fs_dirent_name(dirent, sizeof buf, buf, &name_len);
+            if (rc != 0) {
+                return -1;
+            }
+
+            /* Print the child node's name to the console. */
+            if (fs_dirent_is_dir(dirent)) {
+                console_printf(" dir: ");
+            } else {
+                console_printf("file: ");
+            }
+            console_printf("%s\n", buf);
+        }
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fs_dirent_name.rst.txt b/develop/_sources/os/modules/fs/fs/fs_dirent_name.rst.txt
new file mode 100644
index 000000000..10350e386
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_dirent_name.rst.txt
@@ -0,0 +1,115 @@
+fs\_dirent\_name
+----------------
+
+.. code:: c
+
+    int fs_dirent_name(const struct fs_dirent *dirent, size_t max_len,
+                       char *out_name, uint8_t *out_name_len)
+
+Retrieves the filename of the specified directory entry.
+
+Arguments
+^^^^^^^^^
+
++--------------+----------------+
+| *Argument*   | *Description*  |
++==============+================+
+| dirent       | Pointer to the |
+|              | directory      |
+|              | entry to query |
++--------------+----------------+
+| max\_len     | Size of the    |
+|              | "out\_name"    |
+|              | character      |
+|              | buffer         |
++--------------+----------------+
+| out\_name    | On success,    |
+|              | the entry's    |
+|              | filename is    |
+|              | written here;  |
+|              | always         |
+|              | null-terminate |
+|              | d              |
++--------------+----------------+
+| out\_name\_l | On success,    |
+| en           | contains the   |
+|              | actual length  |
+|              | of the         |
+|              | filename, NOT  |
+|              | including the  |
+|              | null-terminato |
+|              | r              |
++--------------+----------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <fs_return_codes.html>`__ on failure
+
+Notes
+^^^^^
+
+The retrieved filename is always null-terminated. To ensure enough space
+to hold the full filename plus a null-termintor, a destination buffer of
+size *filename-max-length + 1* should be used.
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+This example iterates through the contents of a directory, printing the
+name of each child node. When the traversal is complete, the code closes
+the directory handle.
+
+.. code:: c
+
+    int
+    traverse_dir(const char *dirname)
+    {
+        struct fs_dirent *dirent;
+        struct fs_dir *dir;
+        char buf[64];
+        uint8_t name_len;
+        int rc;
+
+        rc = fs_opendir(dirname, &dir);
+        if (rc != 0) {
+            return -1;
+        }
+
+        /* Iterate through the parent directory, printing the name of each child
+         * entry.  The loop only terminates via a function return.
+         */
+        while (1) {
+            /* Retrieve the next child node. */
+            rc = fs_readdir(dir, &dirent); 
+            if (rc == FS_ENOENT) {
+                /* Traversal complete. */
+                return 0;
+            } else if (rc != 0) {
+                /* Unexpected error. */
+                return -1;
+            }
+
+            /* Read the child node's name from the file system. */
+            rc = fs_dirent_name(dirent, sizeof buf, buf, &name_len);
+            if (rc != 0) {
+                return -1;
+            }
+
+            /* Print the child node's name to the console. */
+            if (fs_dirent_is_dir(dirent)) {
+                console_printf(" dir: ");
+            } else {
+                console_printf("file: ");
+            }
+            console_printf("%s\n", buf);
+        }
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fs_filelen.rst.txt b/develop/_sources/os/modules/fs/fs/fs_filelen.rst.txt
new file mode 100644
index 000000000..c50fb51e0
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_filelen.rst.txt
@@ -0,0 +1,63 @@
+fs\_filelen
+-----------
+
+.. code:: c
+
+    int fs_filelen(const struct fs_file *file, uint32_t *out_len)
+
+Retrieves the current length of the specified open file.
+
+Arguments
+^^^^^^^^^
+
++--------------+-----------------------------------------------------------------+
+| *Argument*   | *Description*                                                   |
++==============+=================================================================+
+| file         | Pointer to the file to query                                    |
++--------------+-----------------------------------------------------------------+
+| out\_len     | On success, the number of bytes in the file gets written here   |
++--------------+-----------------------------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <fs_return_codes.html>`__ on failure
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+.. code:: c
+
+    int
+    write_config(void)
+    {
+        struct fs_file *file;
+        int rc;
+
+        /* If the file doesn't exist, create it.  If it does exist, truncate it to
+         * zero bytes.
+         */
+        rc = fs_open("/settings/config.txt", FS_ACCESS_WRITE | FS_ACCESS_TRUNCATE,
+                     &file);
+        if (rc == 0) {
+            /* Write 5 bytes of data to the file. */
+            rc = fs_write(file, "hello", 5);
+            if (rc == 0) {
+                /* The file should now contain exactly five bytes. */
+                assert(fs_filelen(file) == 5);
+            }
+
+            /* Close the file. */
+            fs_close(file);
+        }
+
+        return rc == 0 ? 0 : -1;
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fs_getpos.rst.txt b/develop/_sources/os/modules/fs/fs/fs_getpos.rst.txt
new file mode 100644
index 000000000..7116b70a4
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_getpos.rst.txt
@@ -0,0 +1,37 @@
+fs\_getpos
+----------
+
+.. code:: c
+
+    uint32_t fs_getpos(const struct fs_file *file)
+
+Retrieves the current read and write position of the specified open
+file.
+
+Arguments
+^^^^^^^^^
+
++--------------+--------------------------------+
+| *Argument*   | *Description*                  |
++==============+================================+
+| file         | Pointer to the file to query   |
++--------------+--------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  The file offset, in bytes
+
+Notes
+^^^^^
+
+If a file is opened in append mode, its write pointer is always
+positioned at the end of the file. Calling this function on such a file
+only indicates the read position.
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
diff --git a/develop/_sources/os/modules/fs/fs/fs_mkdir.rst.txt b/develop/_sources/os/modules/fs/fs/fs_mkdir.rst.txt
new file mode 100644
index 000000000..1c75d5376
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_mkdir.rst.txt
@@ -0,0 +1,68 @@
+fs\_mkdir
+---------
+
+.. code:: c
+
+    int fs_mkdir(const char *path)
+
+Creates the directory represented by the specified path.
+
+Arguments
+^^^^^^^^^
+
++--------------+---------------------------------------+
+| *Argument*   | *Description*                         |
++==============+=======================================+
+| path         | The name of the directory to create   |
++--------------+---------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <fs_return_codes.html>`__ on failure.
+
+Notes
+^^^^^
+
+All intermediate directories must already exist. The specified path must
+start with a '/' character.
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+This example demonstrates creating a series of nested directories.
+
+.. code:: c
+
+    int
+    create_path(void)
+    {
+        int rc;
+
+        rc = fs_mkdir("/data");
+        if (rc != 0) goto err;
+
+        rc = fs_mkdir("/data/logs");
+        if (rc != 0) goto err;
+
+        rc = fs_mkdir("/data/logs/temperature");
+        if (rc != 0) goto err;
+
+        rc = fs_mkdir("/data/logs/temperature/current");
+        if (rc != 0) goto err;
+
+        return 0;
+
+    err:
+        /* Clean up the incomplete directory tree, if any. */
+        fs_unlink("/data");
+        return -1;
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fs_open.rst.txt b/develop/_sources/os/modules/fs/fs/fs_open.rst.txt
new file mode 100644
index 000000000..d7bc0d290
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_open.rst.txt
@@ -0,0 +1,113 @@
+fs\_open
+--------
+
+.. code:: c
+
+    int fs_open(const char *filename, uint8_t access_flags,
+                struct fs_file **out_file)
+
+Opens a file at the specified path. The result of opening a nonexistent
+file depends on the access flags specified. All intermediate directories
+must already exist.
+
+The access flags are best understood by comparing them to their
+equivalent mode strings accepted by the C standard library function
+``fopen()``. The mode strings passed to ``fopen()`` map to
+``fs_open()``'s access flags as follows:
+
+.. code-block:: console
+
+    "r"  -  FS_ACCESS_READ
+    "r+" -  FS_ACCESS_READ  | FS_ACCESS_WRITE
+    "w"  -  FS_ACCESS_WRITE | FS_ACCESS_TRUNCATE
+    "w+" -  FS_ACCESS_READ  | FS_ACCESS_WRITE    | FS_ACCESS_TRUNCATE
+    "a"  -  FS_ACCESS_WRITE | FS_ACCESS_APPEND
+    "a+" -  FS_ACCESS_READ  | FS_ACCESS_WRITE    | FS_ACCESS_APPEND
+
+Arguments
+^^^^^^^^^
+
++-------------+----------------+
+| *Argument*  | *Description*  |
++=============+================+
+| filename    | Null-terminate |
+|             | d              |
+|             | string         |
+|             | indicating the |
+|             | full path of   |
+|             | the file to    |
+|             | open           |
++-------------+----------------+
+| access\_fla | Flags          |
+| gs          | controlling    |
+|             | file access;   |
+|             | see above      |
+|             | table          |
++-------------+----------------+
+| out\_file   | On success, a  |
+|             | pointer to the |
+|             | newly-created  |
+|             | file handle    |
+|             | gets written   |
+|             | here           |
++-------------+----------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <fs_return_codes.html>`__ on failure
+
+Notes
+^^^^^
+
+-  There is no concept of current working directory. Therefore all file
+   names should start with '/'.
+
+-  Always close files when you are done using them. If you forget to
+   close a file, the file stays open forever. Do this too many times,
+   and the underlying file system will run out of file handles, causing
+   subsequent open operations to fail. This type of bug is known as a
+   file handle leak or a file descriptor leak.
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+The below code opens the file ``/settings/config.txt`` for reading,
+reads some data, and then closes the file.
+
+.. code:: c
+
+    int
+    read_config(void)
+    {
+        struct fs_file *file;
+        uint32_t bytes_read;
+        uint8_t buf[16];
+        int rc;
+
+        /* Open the file for reading. */
+        rc = fs_open("/settings/config.txt", FS_ACCESS_READ, &file);
+        if (rc != 0) {
+            return -1;
+        }
+
+        /* Read up to 16 bytes from the file. */
+        rc = fs_read(file, sizeof buf, buf, &bytes_read);
+        if (rc == 0) {
+            /* buf now contains up to 16 bytes of file data. */
+            console_printf("read %u bytes\n", bytes_read)
+        }
+
+        /* Close the file. */
+        fs_close(file);
+
+        return rc == 0 ? 0 : -1;
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fs_opendir.rst.txt b/develop/_sources/os/modules/fs/fs/fs_opendir.rst.txt
new file mode 100644
index 000000000..600c18b44
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_opendir.rst.txt
@@ -0,0 +1,102 @@
+fs\_opendir
+-----------
+
+.. code:: c
+
+    int fs_opendir(const char *path, struct fs_dir **out_dir)
+
+Opens the directory at the specified path. The directory's contents can
+be read with subsequent calls to fs\_readdir(). When you are done with
+the directory handle, close it with fs\_closedir().
+
+Arguments
+^^^^^^^^^
+
++--------------+----------------------------------------------+
+| *Argument*   | *Description*                                |
++==============+==============================================+
+| path         | The name of the directory to open            |
++--------------+----------------------------------------------+
+| out\_dir     | On success, points to the directory handle   |
++--------------+----------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  FS\_ENOENT if the specified directory does not exist
+-  Other `FS error code <fs_return_codes.html>`__ on error.
+
+Notes
+^^^^^
+
+-  Unlinking files from the directory while it is open may result in
+   unpredictable behavior during subsequent calls to ``fs_readdir()``.
+   New files can be created inside the directory without causing
+   problems.
+
+-  Always close a directory when you are done reading from it. If you
+   forget to close a directory, the directory stays open forever. Do
+   this too many times, and the underlying file system will run out of
+   directory handles, causing subsequent open operations to fail. This
+   type of bug is known as a file handle leak or a file descriptor leak.
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+This example iterates through the contents of a directory, printing the
+name of each child node. When the traversal is complete, the code closes
+the directory handle.
+
+.. code:: c
+
+    int
+    traverse_dir(const char *dirname)
+    {
+        struct fs_dirent *dirent;
+        struct fs_dir *dir;
+        char buf[64];
+        uint8_t name_len;
+        int rc;
+
+        rc = fs_opendir(dirname, &dir);
+        if (rc != 0) {
+            return -1;
+        }
+
+        /* Iterate through the parent directory, printing the name of each child
+         * entry.  The loop only terminates via a function return.
+         */
+        while (1) {
+            /* Retrieve the next child node. */
+            rc = fs_readdir(dir, &dirent); 
+            if (rc == FS_ENOENT) {
+                /* Traversal complete. */
+                return 0;
+            } else if (rc != 0) {
+                /* Unexpected error. */
+                return -1;
+            }
+
+            /* Read the child node's name from the file system. */
+            rc = fs_dirent_name(dirent, sizeof buf, buf, &name_len);
+            if (rc != 0) {
+                return -1;
+            }
+
+            /* Print the child node's name to the console. */
+            if (fs_dirent_is_dir(dirent)) {
+                console_printf(" dir: ");
+            } else {
+                console_printf("file: ");
+            }
+            console_printf("%s\n", buf);
+        }
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fs_ops.rst.txt b/develop/_sources/os/modules/fs/fs/fs_ops.rst.txt
new file mode 100644
index 000000000..15846b767
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_ops.rst.txt
@@ -0,0 +1,47 @@
+struct fs\_ops
+--------------
+
+.. code:: c
+
+    struct fs_ops {
+        int (*f_open)(const char *filename, uint8_t access_flags,
+                  struct fs_file **out_file);
+        int (*f_close)(struct fs_file *file);
+        int (*f_read)(struct fs_file *file, uint32_t len, void *out_data,
+          uint32_t *out_len);
+        int (*f_write)(struct fs_file *file, const void *data, int len);
+
+        int (*f_seek)(struct fs_file *file, uint32_t offset);
+        uint32_t (*f_getpos)(const struct fs_file *file);
+        int (*f_filelen)(const struct fs_file *file, uint32_t *out_len);
+
+        int (*f_unlink)(const char *filename);
+        int (*f_rename)(const char *from, const char *to);
+        int (*f_mkdir)(const char *path);
+
+        int (*f_opendir)(const char *path, struct fs_dir **out_dir);
+        int (*f_readdir)(struct fs_dir *dir, struct fs_dirent **out_dirent);
+        int (*f_closedir)(struct fs_dir *dir);
+
+        int (*f_dirent_name)(const struct fs_dirent *dirent, size_t max_len,
+          char *out_name, uint8_t *out_name_len);
+        int (*f_dirent_is_dir)(const struct fs_dirent *dirent);
+
+        const char *f_name;
+    };
+
+This data structure consists of a set of function pointers. Each
+function pointer corresponds to a file system operation. When
+registering a file system with the abstraction layer, each function
+pointer must be pointed at the corresponding routine in the custom file
+system package.
+
+The required behavior of each corresponding function is documented in
+the `file system abstraction layer API <fs.md#api>`__.
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs_if.h"
diff --git a/develop/_sources/os/modules/fs/fs/fs_read.rst.txt b/develop/_sources/os/modules/fs/fs/fs_read.rst.txt
new file mode 100644
index 000000000..aa483bea1
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_read.rst.txt
@@ -0,0 +1,88 @@
+fs\_read
+--------
+
+.. code:: c
+
+    int fs_read(struct fs_file *file, uint32_t len, void *out_data, uint32_t *out_len)
+
+Reads data from the specified file. If more data is requested than
+remains in the file, all available data is retrieved and a success code
+is returned.
+
+Arguments
+^^^^^^^^^
+
++--------------+----------------+
+| *Argument*   | *Description*  |
++==============+================+
+| file         | Pointer to the |
+|              | the file to    |
+|              | read from      |
++--------------+----------------+
+| len          | The number of  |
+|              | bytes to       |
+|              | attempt to     |
+|              | read           |
++--------------+----------------+
+| out\_data    | The            |
+|              | destination    |
+|              | buffer to read |
+|              | into           |
++--------------+----------------+
+| out\_len     | On success,    |
+|              | the number of  |
+|              | bytes actually |
+|              | read gets      |
+|              | written here.  |
+|              | Pass null if   |
+|              | you don't      |
+|              | care.          |
++--------------+----------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <fs_return_codes.html>`__ on failure
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+The below code opens the file ``/settings/config.txt`` for reading,
+reads some data, and then closes the file.
+
+.. code:: c
+
+    int
+    read_config(void)
+    {
+        struct fs_file *file;
+        uint32_t bytes_read;
+        uint8_t buf[16];
+        int rc;
+
+        /* Open the file for reading. */
+        rc = fs_open("/settings/config.txt", FS_ACCESS_READ, &file);
+        if (rc != 0) {
+            return -1;
+        }
+
+        /* Read up to 16 bytes from the file. */
+        rc = fs_read(file, sizeof buf, buf, &bytes_read);
+        if (rc == 0) {
+            /* buf now contains up to 16 bytes of file data. */
+            console_printf("read %u bytes\n", bytes_read)
+        }
+
+        /* Close the file. */
+        fs_close(file);
+
+        return rc == 0 ? 0 : -1;
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fs_readdir.rst.txt b/develop/_sources/os/modules/fs/fs/fs_readdir.rst.txt
new file mode 100644
index 000000000..57243ef6f
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_readdir.rst.txt
@@ -0,0 +1,93 @@
+fs\_readdir
+-----------
+
+.. code:: c
+
+    int fs_readdir(struct fs_dir *dir, struct fs_dirent **out_dirent);
+
+Reads the next entry in an open directory.
+
+Arguments
+^^^^^^^^^
+
++--------------+----------------+
+| *Argument*   | *Description*  |
++==============+================+
+| dir          | The directory  |
+|              | handle to read |
+|              | from           |
++--------------+----------------+
+| out\_dirent  | On success,    |
+|              | points to the  |
+|              | next child     |
+|              | entry in the   |
+|              | specified      |
+|              | directory      |
++--------------+----------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  FS\_ENOENT if there are no more entries in the parent directory
+-  Other `FS error code <fs_return_codes.html>`__ on error.
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+This example iterates through the contents of a directory, printing the
+name of each child node. When the traversal is complete, the code closes
+the directory handle.
+
+.. code:: c
+
+    int
+    traverse_dir(const char *dirname)
+    {
+        struct fs_dirent *dirent;
+        struct fs_dir *dir;
+        char buf[64];
+        uint8_t name_len;
+        int rc;
+
+        rc = fs_opendir(dirname, &dir);
+        if (rc != 0) {
+            return -1;
+        }
+
+        /* Iterate through the parent directory, printing the name of each child
+         * entry.  The loop only terminates via a function return.
+         */
+        while (1) {
+            /* Retrieve the next child node. */
+            rc = fs_readdir(dir, &dirent); 
+            if (rc == FS_ENOENT) {
+                /* Traversal complete. */
+                return 0;
+            } else if (rc != 0) {
+                /* Unexpected error. */
+                return -1;
+            }
+
+            /* Read the child node's name from the file system. */
+            rc = fs_dirent_name(dirent, sizeof buf, buf, &name_len);
+            if (rc != 0) {
+                return -1;
+            }
+
+            /* Print the child node's name to the console. */
+            if (fs_dirent_is_dir(dirent)) {
+                console_printf(" dir: ");
+            } else {
+                console_printf("file: ");
+            }
+            console_printf("%s\n", buf);
+        }
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fs_register.rst.txt b/develop/_sources/os/modules/fs/fs/fs_register.rst.txt
new file mode 100644
index 000000000..b3510a8d5
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_register.rst.txt
@@ -0,0 +1,49 @@
+fs\_register
+------------
+
+.. code:: c
+
+    int fs_register(const struct fs_ops *fops)
+
+Registers a file system with the abstraction layer. On success, all
+calls into ``fs/fs`` will use the registered file system.
+
+Arguments
+^^^^^^^^^
+
++-------------+----------------+
+| *Argument*  | *Description*  |
++=============+================+
+| fops        | A pointer to   |
+|             | const `struct  |
+|             | fs\_ops <fs_op |
+|             | s.html>`__.      |
+|             | Specifies      |
+|             | which file     |
+|             | system         |
+|             | routines get   |
+|             | mapped to the  |
+|             | ``fs/fs`` API. |
+|             | All function   |
+|             | pointers must  |
+|             | be filled in.  |
++-------------+----------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  *FS\_EEXIST* if a file system has already been registered
+
+Notes
+^^^^^
+
+Only one file system can be registered. The registered file system is
+mounted in the root directory (*/*).
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
diff --git a/develop/_sources/os/modules/fs/fs/fs_rename.rst.txt b/develop/_sources/os/modules/fs/fs/fs_rename.rst.txt
new file mode 100644
index 000000000..8ef9edf68
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_rename.rst.txt
@@ -0,0 +1,85 @@
+fs\_rename
+----------
+
+.. code:: c
+
+    int fs_rename(const char *from, const char *to)
+
+Performs a rename and / or move of the specified source path to the
+specified destination. The source path can refer to a file or a
+directory.
+
+Arguments
+^^^^^^^^^
+
++--------------+------------------------+
+| *Argument*   | *Description*          |
++==============+========================+
+| from         | The source path        |
++--------------+------------------------+
+| to           | The destination path   |
++--------------+------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <fs_return_codes.html>`__ on failure
+
+Notes
+^^^^^
+
+The source path can refer to either a file or a directory. All
+intermediate directories in the destination path must already exist. If
+the source path refers to a file, the destination path must contain a
+full filename path, rather than just the new parent directory. If an
+object already exists at the specified destination path, this function
+causes it to be unlinked prior to the rename (i.e., the destination gets
+clobbered).
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+This example demonstrates how to use fs\_rename() to perform a log
+rotation. In this example, there is one primary log and three archived
+logs. ``FS_ENOENT`` errors returned by ``fs_rename()`` are ignored; it
+is not an error if an archived log was never created.
+
+.. code:: c
+
+    int
+    rotate_logs(void)
+    {
+        struct fs_file *file;
+        int rc;
+
+        /* Rotate each of the log files. */
+        rc = fs_rename("/var/log/messages.2", "/var/log/messages.3")
+        if (rc != 0 && rc != FS_ENOENT) return -1;
+
+        rc = fs_rename("/var/log/messages.1", "/var/log/messages.2")
+        if (rc != 0 && rc != FS_ENOENT) return -1;
+
+        rc = fs_rename("/var/log/messages.0", "/var/log/messages.1")
+        if (rc != 0 && rc != FS_ENOENT) return -1;
+
+        rc = fs_rename("/var/log/messages", "/var/log/messages.0")
+        if (rc != 0 && rc != FS_ENOENT) return -1;
+
+        /* Now create the new log file. */
+        rc = fs_open("/var/log/messages", FS_ACCESS_WRITE | FS_ACCESS_TRUNCATE,
+                     &file);
+        if (rc != 0) return -1;
+
+        rc = fs_write(file, "Creating new log file.\n", 23);
+        fs_close(file);
+
+        return rc == 0 ? 0 : -1;
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fs_return_codes.rst.txt b/develop/_sources/os/modules/fs/fs/fs_return_codes.rst.txt
new file mode 100644
index 000000000..e3c15aa92
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_return_codes.rst.txt
@@ -0,0 +1,44 @@
+fs/fs Return Codes
+------------------
+
+Functions in ``fs/fs`` that indicate success or failure do so with the
+following set of return codes:
+
++----------------+---------------------------------------------+
+| Return code    | Description                                 |
++================+=============================================+
+| FS\_EOK        | Success                                     |
++----------------+---------------------------------------------+
+| FS\_ECORRUPT   | File system corrupt                         |
++----------------+---------------------------------------------+
+| FS\_EHW        | Error accessing storage medium              |
++----------------+---------------------------------------------+
+| FS\_EOFFSET    | Invalid offset                              |
++----------------+---------------------------------------------+
+| FS\_EINVAL     | Invalid argument                            |
++----------------+---------------------------------------------+
+| FS\_ENOMEM     | Insufficient memory                         |
++----------------+---------------------------------------------+
+| FS\_ENOENT     | No such file or directory                   |
++----------------+---------------------------------------------+
+| FS\_EEMPTY     | Specified region is empty (internal only)   |
++----------------+---------------------------------------------+
+| FS\_EFULL      | Disk full                                   |
++----------------+---------------------------------------------+
+| FS\_EUNEXP     | Disk contains unexpected metadata           |
++----------------+---------------------------------------------+
+| FS\_EOS        | OS error                                    |
++----------------+---------------------------------------------+
+| FS\_EEXIST     | File or directory already exists            |
++----------------+---------------------------------------------+
+| FS\_EACCESS    | Operation prohibited by file open mode      |
++----------------+---------------------------------------------+
+| FS\_EUNINIT    | File system not initialized                 |
++----------------+---------------------------------------------+
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
diff --git a/develop/_sources/os/modules/fs/fs/fs_seek.rst.txt b/develop/_sources/os/modules/fs/fs/fs_seek.rst.txt
new file mode 100644
index 000000000..33f1eb359
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_seek.rst.txt
@@ -0,0 +1,78 @@
+fs\_seek
+--------
+
+.. code:: c
+
+    int fs_seek(struct fs_file *file, uint32_t offset)
+
+Positions a file's read and write pointer at the specified offset. The
+offset is expressed as the number of bytes from the start of the file
+(i.e., seeking to offset 0 places the pointer at the first byte in the
+file).
+
+Arguments
+^^^^^^^^^
+
++--------------+--------------------------------------+
+| *Argument*   | *Description*                        |
++==============+======================================+
+| file         | Pointer to the file to reposition    |
++--------------+--------------------------------------+
+| offset       | The 0-based file offset to seek to   |
++--------------+--------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <fs_return_codes.html>`__ on failure
+
+Notes
+^^^^^
+
+If a file is opened in append mode, its write pointer is always
+positioned at the end of the file. Calling this function on such a file
+only affects the read pointer.
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+The following example reads four bytes from a file, starting at an
+offset of eight.
+
+.. code:: c
+
+    int
+    read_part1_middle(void)
+    {
+        struct fs_file *file;
+        uint32_t bytes_read;
+        uint8_t buf[4];
+        int rc;
+
+        rc = fs_open("/data/parts/1.bin", FS_ACCESS_READ, &file);
+        if (rc == 0) {
+            /* Advance to offset 8. */
+            rc = fs_seek(file, 8);
+            if (rc == 0) {
+                /* Read bytes 8, 9, 10, and 11. */
+                rc = fs_read(file, 4, buf, &bytes_read);
+                if (rc == 0) {
+                    /* buf now contains up to 4 bytes of file data. */
+                    console_printf("read %u bytes\n", bytes_read)
+                }
+            }
+
+            /* Close the file. */
+            fs_close(file);
+        }
+
+        return rc == 0 ? 0 : -1;
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fs_unlink.rst.txt b/develop/_sources/os/modules/fs/fs/fs_unlink.rst.txt
new file mode 100644
index 000000000..831d4229f
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_unlink.rst.txt
@@ -0,0 +1,70 @@
+fs\_unlink
+----------
+
+.. code:: c
+
+    int fs_unlink(const char *filename)
+
+Unlinks the file or directory at the specified path. This is the
+function to use if you want to delete a file or directory from the disk.
+If the path refers to a directory, all the directory's descendants are
+recursively unlinked. Any open file handles referring to an unlinked
+file remain valid, and can be read from and written to as long as they
+remain open.
+
+Arguments
+^^^^^^^^^
+
++--------------+-----------------------------------------------+
+| *Argument*   | *Description*                                 |
++==============+===============================================+
+| filename     | The path of the file or directory to unlink   |
++--------------+-----------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <fs_return_codes.html>`__ on failure
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+The following example creates a file and then immediately unlinks it. By
+unlinking the file, this function prevents other OS tasks from accessing
+it. When the function closes the file, it is deleted from the disk.
+
+.. code:: c
+
+    int
+    process_data(void)
+    {
+        struct fs_file *file;
+        int rc;
+
+        /* If the file doesn't exist, create it.  If it does exist, truncate it to
+         * zero bytes.
+         */
+        rc = fs_open("/tmp/buffer.bin", FS_ACCESS_WRITE | FS_ACCESS_TRUNCATE, &file);
+        if (rc == 0) {
+            /* Unlink the file so that other tasks cannot access it. */
+            fs_unlink("/tmp/buffer.bin")
+
+            /* <use the file as a data buffer> */
+
+            /* Close the file.  This operation causes the file to be deleted from
+             * the disk because it was unlinked earlier (and it has no other open
+             * file handles).
+             */
+            fs_close(file);
+        }
+
+        return rc == 0 ? 0 : -1;
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fs_write.rst.txt b/develop/_sources/os/modules/fs/fs/fs_write.rst.txt
new file mode 100644
index 000000000..036267cf3
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fs_write.rst.txt
@@ -0,0 +1,72 @@
+fs\_write
+---------
+
+.. code:: c
+
+    int fs_write(struct fs_file *file, const void *data, int len)
+
+Writes the supplied data to the current offset of the specified file
+handle.
+
+Arguments
+^^^^^^^^^
+
++--------------+-----------------------------------+
+| *Argument*   | *Description*                     |
++==============+===================================+
+| file         | Pointer to the file to write to   |
++--------------+-----------------------------------+
+| data         | The data to write                 |
++--------------+-----------------------------------+
+| len          | The number of bytes to write      |
++--------------+-----------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <fs_return_codes.html>`__ on failure
+
+Notes
+^^^^^
+
+For files opened in append mode, the specified data is always written to
+the end.
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+.. code:: c
+
+    int
+    write_config(void)
+    {
+        struct fs_file *file;
+        int rc;
+
+        /* If the file doesn't exist, create it.  If it does exist, truncate it to
+         * zero bytes.
+         */
+        rc = fs_open("/settings/config.txt", FS_ACCESS_WRITE | FS_ACCESS_TRUNCATE,
+                     &file);
+        if (rc == 0) {
+            /* Write 5 bytes of data to the file. */
+            rc = fs_write(file, "hello", 5);
+            if (rc == 0) {
+                /* The file should now contain exactly five bytes. */
+                assert(fs_filelen(file) == 5);
+            }
+
+            /* Close the file. */
+            fs_close(file);
+        }
+
+        return rc == 0 ? 0 : -1;
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fsutil_read_file.rst.txt b/develop/_sources/os/modules/fs/fs/fsutil_read_file.rst.txt
new file mode 100644
index 000000000..f38b89859
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fsutil_read_file.rst.txt
@@ -0,0 +1,93 @@
+fsutil\_read\_file
+------------------
+
+.. code:: c
+
+    int fsutil_read_file(const char *path, uint32_t offset, uint32_t len,
+                         void *dst, uint32_t *out_len)
+
+Calls fs\_open(), fs\_read(), and fs\_close() to open a file at the
+specified path, retrieve data from the file starting from the specified
+offset, and close the file and invalidate the file handle.
+
+Arguments
+^^^^^^^^^
+
++--------------+----------------+
+| *Argument*   | *Description*  |
++==============+================+
+| path         | Pointer to the |
+|              | directory      |
+|              | entry to query |
++--------------+----------------+
+| offset       | Position of    |
+|              | the file's     |
+|              | read pointer   |
++--------------+----------------+
+| len          | Number of      |
+|              | bytes to       |
+|              | attempt to     |
+|              | read           |
++--------------+----------------+
+| dst          | Destination    |
+|              | buffer to read |
+|              | into           |
++--------------+----------------+
+| out\_len     | On success,    |
+|              | the number of  |
+|              | bytes actually |
+|              | read gets      |
+|              | written here.  |
+|              | Pass null if   |
+|              | you don't      |
+|              | care.          |
++--------------+----------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <fs_return_codes.html>`__ on failure
+
+Notes
+^^^^^
+
+This is a convenience function. It is useful when the amount of data to
+be read from the file is small (i.e., all the data read can easily fit
+in a single buffer).
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+This example demonstrates reading a small text file in its entirety and
+printing its contents to the console.
+
+.. code:: c
+
+    int
+    print_status(void)
+    {
+        uint32_t bytes_read;
+        uint8_t buf[16];
+        int rc;
+
+        /* Read up to 15 bytes from the start of the file. */
+        rc = fsutil_read_file("/cfg/status.txt", 0, sizeof buf - 1, buf,
+                              &bytes_read);
+        if (rc != 0) return -1;
+
+        /* Null-terminate the string just read. */
+        buf[bytes_read] = '\0';
+
+        /* Print the file contents to the console. */
+        console_printf("%s\n", buf);
+
+        return 0;
+    }
diff --git a/develop/_sources/os/modules/fs/fs/fsutil_write_file.rst.txt b/develop/_sources/os/modules/fs/fs/fsutil_write_file.rst.txt
new file mode 100644
index 000000000..500fe374b
--- /dev/null
+++ b/develop/_sources/os/modules/fs/fs/fsutil_write_file.rst.txt
@@ -0,0 +1,65 @@
+fsutil\_write\_file
+-------------------
+
+.. code:: c
+
+    int fsutil_write_file(const char *path, const void *data, uint32_t len)
+
+Calls fs\_open(), fs\_write(), and fs\_close() to open a file at the
+specified path, write the supplied data to the current offset of the
+specified file handle, and close the file and invalidate the file
+handle. If the specified file already exists, it is truncated and
+overwritten with the specified data.
+
+Arguments
+^^^^^^^^^
+
++--------------+-----------------------------------+
+| *Argument*   | *Description*                     |
++==============+===================================+
+| path         | Pointer to the file to write to   |
++--------------+-----------------------------------+
+| data         | The data to write                 |
++--------------+-----------------------------------+
+| len          | The number of bytes to write      |
++--------------+-----------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <fs_return_codes.html>`__ on failure
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "fs/fs.h"
+
+Example
+^^^^^^^
+
+This example creates a 4-byte file.
+
+.. code:: c
+
+    int
+    write_id(void)
+    {
+        int rc;
+
+        /* Create the parent directory. */
+        rc = fs_mkdir("/cfg");
+        if (rc != 0 && rc != FS_EALREADY) {
+            return -1;
+        }
+
+        /* Create a file and write four bytes to it. */
+        rc = fsutil_write_file("/cfg/id.txt", "1234", 4);
+        if (rc != 0) {
+            return -1;
+        }
+
+        return 0;
+    }
diff --git a/develop/_sources/os/modules/fs/nffs/nffs.rst.txt b/develop/_sources/os/modules/fs/nffs/nffs.rst.txt
new file mode 100644
index 000000000..b82d517ee
--- /dev/null
+++ b/develop/_sources/os/modules/fs/nffs/nffs.rst.txt
@@ -0,0 +1,137 @@
+Newtron Flash Filesystem (nffs)
+===============================
+
+Mynewt includes the Newtron Flash File System (nffs). This file system
+is designed with two priorities that makes it suitable for embedded use:
+
+-  Minimal RAM usage
+-  Reliability
+
+Mynewt also provides an abstraction layer API (fs) to allow you to swap
+out nffs with a different file system of your choice.
+
+Description
+~~~~~~~~~~~
+
+Areas
+^^^^^
+
+At the top level, an nffs disk is partitioned into *areas*. An area is a
+region of disk with the following properties:
+
+1. An area can be fully erased without affecting any other areas.
+2. Writing to one area does not restrict writes to other areas.
+
+**Regarding property 1:** Generally, flash hardware divides its memory
+space into "blocks." When erasing flash, entire blocks must be erased in
+a single operation; partial erases are not possible.
+
+**Regarding property 2:** Furthermore, some flash hardware imposes a
+restriction with regards to writes: writes within a block must be
+strictly sequential. For example, if you wish to write to the first 16
+bytes of a block, you must write bytes 1 through 15 before writing byte
+16. This restriction only applies at the block level; writes to one
+block have no effect on what parts of other blocks can be written.
+
+Thus, each area must comprise a discrete number of blocks.
+
+Initialization
+^^^^^^^^^^^^^^
+
+As part of overall system initialization, mynewt re-initialized the
+filesystem as follows:
+
+1. Restores an existing file system via detection.
+2. Creates a new file system via formatting.
+
+A typical initialization sequence is the following:
+
+1. Detect an nffs file system in a specific region of flash.
+2. If no file system was detected, if configured to do so, format a new
+   file system in the same flash region.
+
+Note that in the latter case, the behavior is controlled with a variable
+in the syscfg.yml file. If NFFS\_DETECT\_FAIL is set to 1, the system
+ignores NFFS filesystem detection issues, but unless a new filesystem is
+formatted manually, all filesystem access will fail. If
+NFFS\_DETECT\_FAIL is set to 2, the system will format a new filesystem
+- note however this effectively deletes all existing data in the NFFS
+flash areas.
+
+Both methods require the user to describe how the flash memory should be
+divided into nffs areas. This is accomplished with an array of `struct
+nffs\_area\_desc <nffs_area_desc.html>`__ configured as part of the BSP
+configureation.
+
+After nffs has been initialized, the application can access the file
+system via the `file system abstraction layer <../fs/fs.html>`__.
+
+Data Structures
+~~~~~~~~~~~~~~~
+
+The ``fs/nffs`` package exposes the following data structures:
+
++---------------------------------------------------+--------------------------------------+
+| Struct                                            | Description                          |
++===================================================+======================================+
+| `struct nffs\_area\_desc <nffs_area_desc.html>`__   | Descriptor for a single nffs area.   |
++---------------------------------------------------+--------------------------------------+
+| `struct nffs\_config <nffs_config.html>`__          | Configuration struct for nffs.       |
++---------------------------------------------------+--------------------------------------+
+
+API
+~~~
+
+The functions available in this OS feature are:
+
++------------+----------------+
+| Function   | Description    |
++============+================+
+| `nffs\_det | Searches for a |
+| ect <nffs_ | valid nffs     |
+| detect.html> | file system    |
+| `__        | among the      |
+|            | specified      |
+|            | areas.         |
++------------+----------------+
+| `nffs\_for | Erases all the |
+| mat <nffs_ | specified      |
+| format.html> | areas and      |
+| `__        | initializes    |
+|            | them with a    |
+|            | clean nffs     |
+|            | file system.   |
++------------+----------------+
+| `nffs\_ini | Initializes    |
+| t <nffs_in | internal nffs  |
+| it.html>`__  | memory and     |
+|            | data           |
+|            | structures.    |
++------------+----------------+
+
+Miscellaneous measures
+~~~~~~~~~~~~~~~~~~~~~~
+
+-  RAM usage:
+
+   -  24 bytes per inode
+   -  12 bytes per data block
+   -  36 bytes per inode cache entry
+   -  32 bytes per data block cache entry
+
+-  Maximum filename size: 256 characters (no null terminator required)
+-  Disallowed filename characters: '/' and ':raw-latex:`\0`'
+
+Internals
+~~~~~~~~~
+
+nffs implementation details can be found here:
+
+-  `nffs\_internals <nffs_internals.html>`__
+
+Future enhancements
+~~~~~~~~~~~~~~~~~~~
+
+-  Error correction.
+-  Encryption.
+-  Compression.
diff --git a/develop/_sources/os/modules/fs/nffs/nffs_area_desc.rst.txt b/develop/_sources/os/modules/fs/nffs/nffs_area_desc.rst.txt
new file mode 100644
index 000000000..b13aee97e
--- /dev/null
+++ b/develop/_sources/os/modules/fs/nffs/nffs_area_desc.rst.txt
@@ -0,0 +1,48 @@
+struct nffs\_area\_desc
+-----------------------
+
+.. code:: c
+
+    struct nffs_area_desc {
+        uint32_t nad_offset;    /* Flash offset of start of area. */
+        uint32_t nad_length;    /* Size of area, in bytes. */
+        uint8_t nad_flash_id;   /* Logical flash id */
+    };
+
+Descriptor for a single nffs area. An area is a region of disk with the
+following properties:
+
+1. An area can be fully erased without affecting any other areas.
+2. Writing to one area does not restrict writes to other areas.
+
+**Regarding property 1:** Generally, flash hardware divides its memory
+space into "blocks." When erasing flash, entire blocks must be erased in
+a single operation; partial erases are not possible.
+
+**Regarding property 2:** Furthermore, some flash hardware imposes a
+restriction with regards to writes: writes within a block must be
+strictly sequential. For example, if you wish to write to the first 16
+bytes of a block, you must write bytes 1 through 15 before writing byte
+16. This restriction only applies at the block level; writes to one
+block have no effect on what parts of other blocks can be written.
+
+Thus, each area must comprise a discrete number of blocks.
+
+An array of area descriptors is terminated by an entry with a
+*nad\_length* value of 0.
+
+Notes
+^^^^^
+
+Typically, a product's flash layout is exposed via its BSP-specific
+``bsp_flash_dev()`` function. This function retrieves the layout of the
+specified flash device resident in the BSP. The result of this function
+can then be converted into the ``struct nffs_area_desc[]`` that nffs
+requires.
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "nffs/nffs.h"
diff --git a/develop/_sources/os/modules/fs/nffs/nffs_config.rst.txt b/develop/_sources/os/modules/fs/nffs/nffs_config.rst.txt
new file mode 100644
index 000000000..2476e30fd
--- /dev/null
+++ b/develop/_sources/os/modules/fs/nffs/nffs_config.rst.txt
@@ -0,0 +1,47 @@
+struct nffs\_config
+-------------------
+
+.. code:: c
+
+    struct nffs_config {
+        /** Maximum number of inodes; default=1024. */
+        uint32_t nc_num_inodes;
+
+        /** Maximum number of data blocks; default=4096. */
+        uint32_t nc_num_blocks;
+
+        /** Maximum number of open files; default=4. */
+        uint32_t nc_num_files;
+
+        /** Inode cache size; default=4. */
+        uint32_t nc_num_cache_inodes;
+
+        /** Data block cache size; default=64. */
+        uint32_t nc_num_cache_blocks;
+    };
+
+The file system is configured by populating fields in a global
+``struct nffs_config`` instance. Each field in the structure corresponds
+to a setting. All configuration must be done prior to calling
+nffs\_init().
+
+Any fields that are set to 0 (or not set at all) inherit the
+corresponding default value. This means that it is impossible to
+configure any setting with a value of zero.
+
+Notes
+^^^^^
+
+The global ``struct nffs_config`` instance is exposed in ``nffs/nffs.h``
+as follows:
+
+.. code:: c
+
+    extern struct nffs_config nffs_config;
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "nffs/nffs.h"
diff --git a/develop/_sources/os/modules/fs/nffs/nffs_detect.rst.txt b/develop/_sources/os/modules/fs/nffs/nffs_detect.rst.txt
new file mode 100644
index 000000000..a96ed0e3c
--- /dev/null
+++ b/develop/_sources/os/modules/fs/nffs/nffs_detect.rst.txt
@@ -0,0 +1,85 @@
+nffs\_detect
+------------
+
+.. code:: c
+
+    int nffs_detect(const struct nffs_area_desc *area_descs)
+
+Searches for a valid nffs file system among the specified areas. This
+function succeeds if a file system is detected among any subset of the
+supplied areas. If the area set does not contain a valid file system, a
+new one can be created via a separate call to nffs\_format().
+
+Arguments
+^^^^^^^^^
+
++------------------+----------------------------------+
+| *Argument*       | *Description*                    |
++==================+==================================+
+| area\_descs      | The set of areas to search. This |
+|                  | array must be terminated with a  |
+|                  | 0-length area.                   |
++------------------+----------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  FS\_ECORRUPT if no valid file system was detected
+-  Other `FS error code <../fs/fs_return_codes.html>`__ on failure
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "nffs/nffs.h"
+
+Example
+^^^^^^^
+
+.. code:: c
+
+    /*** hw/hal/include/hal/flash_map.h */
+
+    /*
+     * Flash area types
+     */
+    #define FLASH_AREA_BOOTLOADER           0
+    #define FLASH_AREA_IMAGE_0              1
+    #define FLASH_AREA_IMAGE_1              2
+    #define FLASH_AREA_IMAGE_SCRATCH        3
+    #define FLASH_AREA_NFFS                 4
+
+.. code:: c
+
+    /*** project/slinky/src/main.c */
+
+    int
+    main(int argc, char **argv)
+    {
+        int rc;
+        int cnt;
+
+        /* NFFS_AREA_MAX is defined in the BSP-specified bsp.h header file. */
+        struct nffs_area_desc descs[NFFS_AREA_MAX];
+
+        /* Initialize nffs's internal state. */
+        rc = nffs_init();
+        assert(rc == 0);
+
+        /* Convert the set of flash blocks we intend to use for nffs into an array
+         * of nffs area descriptors.
+         */
+        cnt = NFFS_AREA_MAX;
+        rc = flash_area_to_nffs_desc(FLASH_AREA_NFFS, &cnt, descs);
+        assert(rc == 0);
+
+        /* Attempt to restore an existing nffs file system from flash. */
+        if (nffs_detect(descs) == FS_ECORRUPT) {
+            /* No valid nffs instance detected; format a new one. */
+            rc = nffs_format(descs);
+            assert(rc == 0);
+        }
+        /* [ ... ] */
+    }
diff --git a/develop/_sources/os/modules/fs/nffs/nffs_format.rst.txt b/develop/_sources/os/modules/fs/nffs/nffs_format.rst.txt
new file mode 100644
index 000000000..2fe16a57f
--- /dev/null
+++ b/develop/_sources/os/modules/fs/nffs/nffs_format.rst.txt
@@ -0,0 +1,80 @@
+nffs\_format
+------------
+
+.. code:: c
+
+    int nffs_format(const struct nffs_area_desc *area_descs)
+
+Erases all the specified areas and initializes them with a clean nffs
+file system.
+
+Arguments
+^^^^^^^^^
+
++---------------+------------------------------+
+| *Argument*    | *Description*                |
++===============+==============================+
+| area\_descs   | The set of areas to format   |
++---------------+------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <../fs/fs_return_codes.html>`__ on failure.
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "nffs/nffs.h"
+
+Example
+^^^^^^^
+
+.. code:: c
+
+    /*** hw/hal/include/hal/flash_map.h */
+
+    /*
+     * Flash area types
+     */
+    #define FLASH_AREA_BOOTLOADER           0
+    #define FLASH_AREA_IMAGE_0              1
+    #define FLASH_AREA_IMAGE_1              2
+    #define FLASH_AREA_IMAGE_SCRATCH        3
+    #define FLASH_AREA_NFFS                 4
+
+.. code:: c
+
+    /*** project/slinky/src/main.c */
+
+    int
+    main(int argc, char **argv)
+    {
+        int rc;
+        int cnt;
+
+        /* NFFS_AREA_MAX is defined in the BSP-specified bsp.h header file. */
+        struct nffs_area_desc descs[NFFS_AREA_MAX];
+
+        /* Initialize nffs's internal state. */
+        rc = nffs_init();
+        assert(rc == 0);
+
+        /* Convert the set of flash blocks we intend to use for nffs into an array
+         * of nffs area descriptors.
+         */
+        cnt = NFFS_AREA_MAX;
+        rc = flash_area_to_nffs_desc(FLASH_AREA_NFFS, &cnt, descs);
+        assert(rc == 0);
+
+        /* Attempt to restore an existing nffs file system from flash. */
+        if (nffs_detect(descs) == FS_ECORRUPT) {
+            /* No valid nffs instance detected; format a new one. */
+            rc = nffs_format(descs);
+            assert(rc == 0);
+        }
+        /* [ ... ] */
+    }
diff --git a/develop/_sources/os/modules/fs/nffs/nffs_init.rst.txt b/develop/_sources/os/modules/fs/nffs/nffs_init.rst.txt
new file mode 100644
index 000000000..623d2b190
--- /dev/null
+++ b/develop/_sources/os/modules/fs/nffs/nffs_init.rst.txt
@@ -0,0 +1,22 @@
+nffs\_init
+----------
+
+.. code:: c
+
+    int nffs_init(void)
+
+Initializes internal nffs memory and data structures. This must be
+called before any nffs operations are attempted.
+
+Returned values
+^^^^^^^^^^^^^^^
+
+-  0 on success
+-  `FS error code <../fs/fs_return_codes.html>`__ on failure
+
+Header file
+^^^^^^^^^^^
+
+.. code:: c
+
+    #include "nffs/nffs.h"
diff --git a/develop/_sources/os/modules/fs/nffs/nffs_internals.rst.txt b/develop/_sources/os/modules/fs/nffs/nffs_internals.rst.txt
new file mode 100644
index 000000000..f10e1ea5b
--- /dev/null
+++ b/develop/_sources/os/modules/fs/nffs/nffs_internals.rst.txt
@@ -0,0 +1,509 @@
+Internals of nffs
+=================
+
+Disk structure
+~~~~~~~~~~~~~~
+
+On disk, each area is prefixed with the following header:
+
+.. code:: c
+
+    /** On-disk representation of an area header. */
+    struct nffs_disk_area {
+        uint32_t nda_magic[4];  /* NFFS_AREA_MAGIC{0,1,2,3} */
+        uint32_t nda_length;    /* Total size of area, in bytes. */
+        uint8_t nda_ver;        /* Current nffs version: 0 */
+        uint8_t nda_gc_seq;     /* Garbage collection count. */
+        uint8_t reserved8;
+        uint8_t nda_id;         /* 0xff if scratch area. */
+    };
+
+Beyond its header, an area contains a sequence of disk objects,
+representing the contents of the file system. There are two types of
+objects: *inodes* and *data blocks*. An inode represents a file or
+directory; a data block represents part of a file's contents.
+
+.. code:: c
+
+    /** On-disk representation of an inode (file or directory). */
+    struct nffs_disk_inode {
+        uint32_t ndi_magic;         /* NFFS_INODE_MAGIC */
+        uint32_t ndi_id;            /* Unique object ID. */
+        uint32_t ndi_seq;           /* Sequence number; greater supersedes
+                                       lesser. */
+        uint32_t ndi_parent_id;     /* Object ID of parent directory inode. */
+        uint8_t reserved8;
+        uint8_t ndi_filename_len;   /* Length of filename, in bytes. */
+        uint16_t ndi_crc16;         /* Covers rest of header and filename. */
+        /* Followed by filename. */
+    };
+
+An inode filename's length cannot exceed 256 bytes. The filename is not
+null-terminated. The following ASCII characters are not allowed in a
+filename:
+
+-  / (slash character)
+-  :raw-latex:`\0` (NUL character)
+
+.. code:: c
+
+    /** On-disk representation of a data block. */
+    struct nffs_disk_block {
+        uint32_t ndb_magic;     /* NFFS_BLOCK_MAGIC */
+        uint32_t ndb_id;        /* Unique object ID. */
+        uint32_t ndb_seq;       /* Sequence number; greater supersedes lesser. */
+        uint32_t ndb_inode_id;  /* Object ID of owning inode. */
+        uint32_t ndb_prev_id;   /* Object ID of previous block in file;
+                                   NFFS_ID_NONE if this is the first block. */
+        uint16_t ndb_data_len;  /* Length of data contents, in bytes. */
+        uint16_t ndb_crc16;     /* Covers rest of header and data. */
+        /* Followed by 'ndb_data_len' bytes of data. */
+    };
+
+Each data block contains the ID of the previous data block in the file.
+Together, the set of blocks in a file form a reverse singly-linked list.
+
+The maximum number of data bytes that a block can contain is determined
+at initialization-time. The result is the greatest number which
+satisfies all of the following restrictions:
+
+-  No more than 2048.
+-  At least two maximum-sized blocks can fit in the smallest area.
+
+The 2048 number was chosen somewhat arbitrarily, and may change in the
+future.
+
+ID space
+~~~~~~~~
+
+All disk objects have a unique 32-bit ID. The ID space is partitioned as
+follows:
+
++---------------------------+-----------------------------+
+| ID range                  | Node type                   |
++===========================+=============================+
+| 0x00000000 - 0x0fffffff   | Directory inodes            |
++---------------------------+-----------------------------+
+| 0x10000000 - 0x7fffffff   | File inodes                 |
++---------------------------+-----------------------------+
+| 0x80000000 - 0xfffffffe   | Data blocks                 |
++---------------------------+-----------------------------+
+| 0xffffffff                | Reserved (NFFS\_ID\_NONE)   |
++---------------------------+-----------------------------+
+
+Scratch area
+~~~~~~~~~~~~
+
+A valid nffs file system must contain a single "scratch area." The
+scratch area does not contain any objects of its own, and is only used
+during garbage collection. The scratch area must have a size greater
+than or equal to each of the other areas in flash.
+
+RAM representation
+~~~~~~~~~~~~~~~~~~
+
+Every object in the file system is stored in a 256-entry hash table. An
+object's hash key is derived from its 32-bit ID. Each list in the hash
+table is sorted by time of use; most-recently-used is at the front of
+the list. All objects are represented by the following structure:
+
+.. code:: c
+
+    /**
+     * What gets stored in the hash table.  Each entry represents a data block or
+     * an inode.
+     */
+    struct nffs_hash_entry {
+        SLIST_ENTRY(nffs_hash_entry) nhe_next;
+        uint32_t nhe_id;        /* 0 - 0x7fffffff if inode; else if block. */
+        uint32_t nhe_flash_loc; /* Upper-byte = area idx; rest = area offset. */
+    };
+
+For each data block, the above structure is all that is stored in RAM.
+To acquire more information about a data block, the block header must be
+read from flash.
+
+Inodes require a fuller RAM representation to capture the structure of
+the file system. There are two types of inodes: *files* and
+*directories*. Each inode hash entry is actually an instance of the
+following structure:
+
+.. code:: c
+
+    /** Each inode hash entry is actually one of these. */
+    struct nffs_inode_entry {
+        struct nffs_hash_entry nie_hash_entry;
+        SLIST_ENTRY(nffs_inode_entry) nie_sibling_next;
+        union {
+            struct nffs_inode_list nie_child_list;           /* If directory */
+            struct nffs_hash_entry *nie_last_block_entry;    /* If file */
+        };
+        uint8_t nie_refcnt;
+    };
+
+A directory inode contains a list of its child files and directories
+(*fie\_child\_list*). These entries are sorted alphabetically using the
+ASCII character set.
+
+A file inode contains a pointer to the last data block in the file
+(*nie\_last\_block\_entry*). For most file operations, the reversed
+block list must be walked backwards. This introduces a number of speed
+inefficiencies:
+
+-  All data blocks must be read to determine the length of the file.
+-  Data blocks often need to be processed sequentially. The reversed
+   nature of the block list transforms this from linear time to an
+   O(n^2) operation.
+
+Furthermore, obtaining information about any constituent data block
+requires a separate flash read.
+
+Inode cache and Data Block cache
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The speed issues are addressed by a pair of caches. Cached inodes
+entries contain the file length and a much more convenient doubly-linked
+list of cached data blocks. The benefit of using caches is that the size
+of the caches need not be proportional to the size of the file system.
+In other words, caches can address speed efficiency concerns without
+negatively impacting the file system's scalability.
+
+nffs requires both caches during normal operation, so it is not possible
+to disable them. However, the cache sizes are configurable, and both
+caches can be configured with a size of one if RAM usage must be
+minimized.
+
+The following data structures are used in the inode and data block
+caches.
+
+.. code:: c
+
+    /** Full data block representation; not stored permanently in RAM. */
+    struct nffs_block {
+        struct nffs_hash_entry *nb_hash_entry;   /* Points to real block entry. */
+        uint32_t nb_seq;                         /* Sequence number; greater
+                                                    supersedes lesser. */
+        struct nffs_inode_entry *nb_inode_entry; /* Owning inode. */
+        struct nffs_hash_entry *nb_prev;         /* Previous block in file. */
+        uint16_t nb_data_len;                    /* # of data bytes in block. */
+        uint16_t reserved16;
+    };
+
+.. code:: c
+
+    /** Represents a single cached data block. */
+    struct nffs_cache_block {
+        TAILQ_ENTRY(nffs_cache_block) ncb_link; /* Next / prev cached block. */
+        struct nffs_block ncb_block;            /* Full data block. */
+        uint32_t ncb_file_offset;               /* File offset of this block. */
+    };
+
+.. code:: c
+
+    /** Full inode representation; not stored permanently in RAM. */
+    struct nffs_inode {
+        struct nffs_inode_entry *ni_inode_entry; /* Points to real inode entry. */
+        uint32_t ni_seq;                         /* Sequence number; greater
+                                                    supersedes lesser. */
+        struct nffs_inode_entry *ni_parent;      /* Points to parent directory. */
+        uint8_t ni_filename_len;                 /* # chars in filename. */
+        uint8_t ni_filename[NFFS_SHORT_FILENAME_LEN]; /* First 3 bytes. */
+    };
+
+.. code:: c
+
+    /** Doubly-linked tail queue of cached blocks; contained in cached inodes. */
+    TAILQ_HEAD(nffs_block_cache_list, nffs_block_cache_entry);
+
+    /** Represents a single cached file inode. */
+    struct nffs_cache_inode {
+        TAILQ_ENTRY(nffs_cache_inode) nci_link;        /* Sorted; LRU at tail. */
+        struct nffs_inode nci_inode;                   /* Full inode. */
+        struct nffs_cache_block_list nci_block_list;   /* List of cached blocks. */
+        uint32_t nci_file_size;                        /* Total file size. */
+    };
+
+Only file inodes are cached; directory inodes are never cached.
+
+Within a cached inode, all cached data blocks are contiguous. E.g., if
+the start and end of a file are cached, then the middle must also be
+cached. A data block is only cached if its owning file is also cached.
+
+Internally, cached inodes are stored in a singly-linked list, ordered by
+time of use. The most-recently-used entry is the first element in the
+list. If a new inode needs to be cached, but the inode cache is full,
+the least-recently-used entry is freed to make room for the new one. The
+following operations cause an inode to be cached:
+
+-  Querying a file's length.
+-  Seeking within a file.
+-  Reading from a file.
+-  Writing to a file.
+
+The following operations cause a data block to be cached:
+
+-  Reading from the block.
+-  Writing to the block.
+
+If one of the above operations is applied to a data block that is not
+currently cached, nffs uses the following procedure to cache the
+necessary block:
+
+1. If none of the owning inode's blocks are currently cached, allocate a
+   cached block entry corresponding to the requested block and insert it
+   into the inode's list.
+2. Else if the requested file offset is less than that of the first
+   cached block, bridge the gap between the inode's sequence of cached
+   blocks and the block that now needs to be cached. This is
+   accomplished by caching each block in the gap, finishing with the
+   requested block.
+3. Else (the requested offset is beyond the end of the cache),
+
+   1. If the requested offset belongs to the block that immediately
+      follows the end of the cache, cache the block and append it to the
+      list.
+   2. Else, clear the cache, and populate it with the single entry
+      corresponding to the requested block.
+
+If the system is unable to allocate a cached block entry at any point
+during the above procedure, the system frees up other blocks currently
+in the cache. This is accomplished as follows:
+
+-  Iterate the inode cache in reverse (i.e., start with the
+   least-recently-used entry). For each entry:
+
+   1. If the entry's cached block list is empty, advance to the next
+      entry.
+   2. Else, free all the cached blocks in the entry's list.
+
+Because the system imposes a minimum block cache size of one, the above
+procedure will always reclaim at least one cache block entry. The above
+procedure may result in the freeing of the block list that belongs to
+the very inode being operated on. This is OK, as the final block to get
+cached is always the block being requested.
+
+Detection
+~~~~~~~~~
+
+The file system detection process consists of scanning a specified set
+of flash regions for valid nffs areas, and then populating the RAM
+representation of the file system with the detected objects. Detection
+is initiated with the `nffs\_detect() <nffs_detect.html>`__ function.
+
+Not every area descriptor passed to ``nffs_detect()`` needs to reference
+a valid nffs area. Detection is successful as long as a complete file
+system is detected somewhere in the specified regions of flash. If an
+application is unsure where a file system might be located, it can
+initiate detection across the entire flash region.
+
+A detected file system is valid if:
+
+1. At least one non-scratch area is present.
+2. At least one scratch area is present (only the first gets used if
+   there is more than one).
+3. The root directory inode is present.
+
+During detection, each indicated region of flash is checked for a valid
+area header. The contents of each valid non-scratch area are then
+restored into the nffs RAM representation. The following procedure is
+applied to each object in the area:
+
+1. Verify the object's integrity via a crc16 check. If invalid, the
+   object is discarded and the procedure restarts on the next object in
+   the area.
+2. Convert the disk object into its corresponding RAM representation and
+   insert it into the hash table. If the object is an inode, its
+   reference count is initialized to 1, indicating ownership by its
+   parent directory.
+3. If an object with the same ID is already present, then one supersedes
+   the other. Accept the object with the greater sequence number and
+   discard the other.
+4. If the object references a nonexistent inode (parent directory in the
+   case of an inode; owning file in the case of a data block), insert a
+   temporary "dummy" inode into the hash table so that inter-object
+   links can be maintained until the absent inode is eventually
+   restored. Dummy inodes are identified by a reference count of 0.
+5. If a delete record for an inode is encountered, the inode's parent
+   pointer is set to null to indicate that it should be removed from
+   RAM.
+
+If nffs encounters an object that cannot be identified (i.e., its magic
+number is not valid), it scans the remainder of the flash area for the
+next valid magic number. Upon encountering a valid object, nffs resumes
+the procedure described above.
+
+After all areas have been restored, a sweep is performed across the
+entire RAM representation so that invalid inodes can be deleted from
+memory.
+
+For each directory inode:
+
+-  If its reference count is 0 (i.e., it is a dummy), migrate its
+   children to the */lost+found* directory, and delete it from the RAM
+   representation. This should only happen in the case of file system
+   corruption.
+-  If its parent reference is null (i.e., it was deleted), delete it and
+   all its children from the RAM representation.
+
+For each file inode:
+
+-  If its reference count is 0 (i.e., it is a dummy), delete it from the
+   RAM representation. This should only happen in the case of file
+   system corruption. (We should try to migrate the file to the
+   lost+found directory in this case, as mentioned in the todo section).
+
+When an object is deleted during this sweep, it is only deleted from the
+RAM representation; nothing is written to disk.
+
+When objects are migrated to the lost+found directory, their parent
+inode reference is permanently updated on the disk.
+
+In addition, a single scratch area is identified during the detection
+process. The first area whose *fda\_id* value is set to 0xff is
+designated as the file system scratch area. If no valid scratch area is
+found, the cause could be that the system was restarted while a garbage
+collection cycle was in progress. Such a condition is identified by the
+presence of two areas with the same ID. In such a case, the shorter of
+the two areas is erased and designated as the scratch area.
+
+Formatting
+~~~~~~~~~~
+
+A new nffs file system is created via formatting. Formatting is achieved
+via the `nffs\_format() <nffs_format.html>`__ function.
+
+During a successful format, an area header is written to each of the
+specified locations. One of the areas in the set is designated as the
+initial scratch area.
+
+Flash writes
+~~~~~~~~~~~~
+
+The nffs implementation always writes in a strictly sequential fashion
+within an area. For each area, the system keeps track of the current
+offset. Whenever an object gets written to an area, it gets written to
+that area's current offset, and the offset is increased by the object's
+disk size.
+
+When a write needs to be performed, the nffs implementation selects the
+appropriate destination area by iterating though each area until one
+with sufficient free space is encountered.
+
+There is no write buffering. Each call to a write function results in a
+write operation being sent to the flash hardware.
+
+New objects
+~~~~~~~~~~~
+
+Whenever a new object is written to disk, it is assigned the following
+properties:
+
+-  *ID:* A unique value is selected from the 32-bit ID space, as
+   appropriate for the object's type.
+-  *Sequence number:* 0
+
+When a new file or directory is created, a corresponding inode is
+written to flash. Likewise, a new data block also results in the writing
+of a corresponding disk object.
+
+Moving/Renaming files and directories
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When a file or directory is moved or renamed, its corresponding inode is
+rewritten to flash with the following properties:
+
+-  *ID:* Unchanged
+-  *Sequence number:* Previous value plus one.
+-  *Parent inode:* As specified by the move / rename operation.
+-  *Filename:* As specified by the move / rename operation.
+
+Because the inode's ID is unchanged, all dependent objects remain valid.
+
+Unlinking files and directories
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When a file or directory is unlinked from its parent directory, a
+deletion record for the unlinked inode gets written to flash. The
+deletion record is an inode with the following properties:
+
+-  *ID:* Unchanged
+-  *Sequence number:* Previous value plus one.
+-  *Parent inode ID:* NFFS\_ID\_NONE
+
+When an inode is unlinked, no deletion records need to be written for
+the inode's dependent objects (constituent data blocks or child inodes).
+During the next file system detection, it is recognized that the objects
+belong to a deleted inode, so they are not restored into the RAM
+representation.
+
+If a file has an open handle at the time it gets unlinked, application
+code can continued to use the file handle to read and write data. All
+files retain a reference count, and a file isn't deleted from the RAM
+representation until its reference code drops to 0. Any attempt to open
+an unlinked file fails, even if the file is referenced by other file
+handles.
+
+Writing to a file
+~~~~~~~~~~~~~~~~~
+
+The following procedure is used whenever the application code writes to
+a file. First, if the write operation specifies too much data to fit
+into a single block, the operation is split into several separate write
+operations. Then, for each write operation:
+
+1. Determine which existing blocks the write operation overlaps (n =
+   number of overwritten blocks).
+2. If *n = 0*, this is an append operation. Write a data block with the
+   following properties:
+
+   -  *ID:* New unique value.
+   -  *Sequence number:* 0.
+
+3. Else *(n > 1)*, this write overlaps existing data.
+
+   1. For each block in *[1, 2, ... n-1]*, write a new block containing
+      the updated contents. Each new block supersedes the block it
+      overwrites. That is, each block has the following properties:
+
+      -  *ID:* Unchanged
+      -  *Sequence number:* Previous value plus one.
+
+   2. Write the nth block. The nth block includes all appended data, if
+      any. As with the other blocks, its ID is unchanged and its
+      sequence number is incremented.
+
+Appended data can only be written to the end of the file. That is,
+"holes" are not supported.
+
+Garbage collection
+~~~~~~~~~~~~~~~~~~
+
+When the file system is too full to accommodate a write operation, the
+system must perform garbage collection to make room. The garbage
+collection procedure is described below:
+
+-  The non-scratch area with the lowest garbage collection sequence
+   number is selected as the "source area." If there are other areas
+   with the same sequence number, the one with the smallest flash offset
+   is selected.
+-  The source area's ID is written to the scratch area's header,
+   transforming it into a non-scratch ID. This former scratch area is
+   now known as the "destination area."
+-  The RAM representation is exhaustively searched for collectible
+   objects. The following procedure is applied to each inode in the
+   system:
+
+   -  If the inode is resident in the source area, copy the inode record
+      to the destination area.
+   -  If the inode is a file inode, walk the inode's list of data
+      blocks, starting with the last block in the file. Each block that
+      is resident in the source area is copied to the destination area.
+      If there is a run of two or more blocks that are resident in the
+      source area, they are consolidated and copied to the destination
+      area as a single new block (subject to the maximum block size
+      restriction).
+
+-  The source area is reformatted as a scratch sector (i.e., is is fully
+   erased, and its header is rewritten with an ID of 0xff). The area's
+   garbage collection sequence number is incremented prior to rewriting
+   the header. This area is now the new scratch sector.
diff --git a/develop/_sources/os/modules/fs/otherfs.rst.txt b/develop/_sources/os/modules/fs/otherfs.rst.txt
new file mode 100644
index 000000000..970f92dd0
--- /dev/null
+++ b/develop/_sources/os/modules/fs/otherfs.rst.txt
@@ -0,0 +1,80 @@
+Other File Systems
+==================
+
+Libraries use Mynewt's file system abstraction layer (``fs/fs``) for all
+file operations. Because clients use an abstraction layer, the
+underlying file system can be swapped out without affecting client code.
+This page documents the procedure for plugging a custom file system into
+the Mynewt file system abstraction layer.
+
+1. Specify ``fs/fs`` as a dependency of your file system package.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The file system package must register itself with the ``fs/fs`` package,
+so it must specify ``fs/fs`` as a dependency. As an example, part of the
+Newtron Flash File System (nffs) ``pkg.yml`` is reproduced below. Notice
+the first item in the ``pkg.deps`` list.
+
+.. code-block:: console
+
+    pkg.name: fs/nffs
+    pkg.deps:
+        - fs/fs
+        - hw/hal
+        - libs/os
+        - libs/testutil
+        - sys/log
+
+2. Register your package's API with the ``fs/fs`` interface.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The ``fs/fs`` package calls into the underlying file system via a
+collection of function pointers. To plug your file system into the
+``fs/fs`` API, you must assign these function pointers to the
+corresponding routines in your file system package.
+
+For example, ``nffs`` registers itself with ``fs/fs`` as follows (from
+``fs/nffs/src/nffs.c``):
+
+.. code:: c
+
+    static const struct fs_ops nffs_ops = {
+        .f_open = nffs_open,
+        .f_close = nffs_close,
+        .f_read = nffs_read,
+        .f_write = nffs_write,
+
+        .f_seek = nffs_seek,
+        .f_getpos = nffs_getpos,
+        .f_filelen = nffs_file_len,
+
+        .f_unlink = nffs_unlink,
+        .f_rename = nffs_rename,
+        .f_mkdir = nffs_mkdir,
+
+        .f_opendir = nffs_opendir,
+        .f_readdir = nffs_readdir,
+        .f_closedir = nffs_closedir,
+
+        .f_dirent_name = nffs_dirent_name,
+        .f_dirent_is_dir = nffs_dirent_is_dir,
+
+        .f_name = "nffs"
+    };
+
+    int
+    nffs_init(void)
+    {
+        /* [...] */
+        fs_register(&nffs_ops);
+    }
+
+Header Files
+~~~~~~~~~~~~
+
+To gain access to ``fs/fs``'s registration interface, include the
+following header:
+
+.. code:: c
+
+    #include "fs/fs_if.h"
diff --git a/develop/_sources/os/modules/hal/hal.rst.txt b/develop/_sources/os/modules/hal/hal.rst.txt
new file mode 100644
index 000000000..a1cb41940
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal.rst.txt
@@ -0,0 +1,93 @@
+Hardware Abstraction Layer
+==========================
+
+Description
+~~~~~~~~~~~
+
+The Hardware Abstraction Layer (HAL) in Mynewt is a low-level, base
+peripheral abstraction. HAL provides a core set of services that is
+implemented for each MCU supported by Mynewt. Device drivers are
+typically the software libraries that initialize the hardware and manage
+access to the hardware by higher layers of software. In the Mynewt OS,
+the layers can be depicted in the following manner.
+
+::
+
+    +???????????????????????????+
+    |            app            |
+    +???????????????????????????+
+    |          (n)drivers       |
+    +???????????????????????????+
+    |     HAL     |     BSP     |
+    +?????????????+?????????????+
+
+-  The Board Support Package (BSP) abstracts board specific
+   configurations e.g. CPU frequency, input voltage, LED pins, on-chip
+   flash map etc.
+
+-  The Hardware Abstraction Layer (HAL) abstracts architecture-specific
+   functionality. It initializes and enables components within a master
+   processor. It is designed to be portable across all the various MCUs
+   supported in Mynewt (e.g. Nordic's nRF51, Nordic's nRF52, NXP's
+   MK64F12 etc.). It includes code that initializes and manages access
+   to components of the board such as board buses (I2C, PCI, PCMCIA,
+   etc.), off-chip memory (controllers, level 2+ cache, Flash, etc.),
+   and off-chip I/O (Ethernet, RS-232, display, mouse, etc.)
+
+-  The driver sits atop the BSP and HAL. It abstracts the common modes
+   of operation for each peripheral device connected via the standard
+   interfaces to the processor. There may be multiple driver
+   implementations of differing complexities for a particular peripheral
+   device. The drivers are the ones that register with the kernel?s
+   power management APIs, and manage turning on and off peripherals and
+   external chipsets, etc.
+
+General design principles
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  The HAL API should be simple. It should be as easy to implement for
+   hardware as possible. A simple HAL API makes it easy to bring up new
+   MCUs quickly.
+
+-  The HAL API should portable across all the various MCUs supported in
+   Mynewt (e.g. Nordic's nRF51, Nordic's nRF52, NXP's MK64F12 etc.).
+
+Example
+~~~~~~~
+
+A Mynewt contributor might write a light-switch driver that provides the
+functionality of an intelligent light switch. This might involve using a
+timer, a General Purpose Output (GPO) to set the light to the on or off
+state, and flash memory to log the times the lights were turned on or
+off. The contributor would like this package to work with as many
+different hardware platforms as possible, but can't possibly test across
+the complete set of hardware supported by Mynewt.
+
+**Solution**: The contributor uses the HAL APIs to control the
+peripherals. The Mynewt team ensures that the underlying HAL devices all
+work equivalently through the HAL APIs. The contributors library is
+independent of the specifics of the hardware.
+
+Dependency
+~~~~~~~~~~
+
+To include the HAL within your project, simply add it to your package
+dependencies as follows:
+
+.. code-block:: console
+
+    pkg.deps:
+        . . .
+        hw/hal
+
+Platform Support
+~~~~~~~~~~~~~~~~
+
+Not all platforms (MCU and BSP) support all HAL devices. Consult your
+MCU or BSP documentation to find out if you have hardware support for
+the peripherals you are interested in using. Once you verify support,
+then consult the MCU implementation and see if the specific HAL
+interface (xxxx) you are using is in the
+``mcu/<mcu-name>/src/hal_xxxx.c`` implementation. Finally, you can build
+your project and ensure that there are no unresolved hal\_xxxx
+externals.
diff --git a/develop/_sources/os/modules/hal/hal_api.rst.txt b/develop/_sources/os/modules/hal/hal_api.rst.txt
new file mode 100644
index 000000000..1214f6e0e
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal_api.rst.txt
@@ -0,0 +1,77 @@
+HAL Interfaces
+==============
+
+The HAL supports separate interfaces for many peripherals. A brief
+description of the interfaces are shown below.
+
++-----------------+-------------------------+---------------------+
+| **Hal Name**    | \*\* Interface File     | **Description **    |
+|                 | \*\*                    |                     |
++=================+=========================+=====================+
+| `bsp <hal_bsp/h | `hal\_bsp.h <https://gi | An hardware         |
+| al_bsp.html>`__   | thub.com/apache/incubat | independent         |
+|                 | or-mynewt-core/blob/dev | interface to        |
+|                 | elop/hw/hal/include/hal | identify and access |
+|                 | /hal_bsp.h>`__          | underlying BSP.     |
++-----------------+-------------------------+---------------------+
+| `flash api for  | `hal\_flash.h <https:// | A blocking          |
+| apps to         | github.com/apache/incub | interface to access |
+| use <hal_flash/ | ator-mynewt-core/blob/d | flash memory.       |
+| hal_flash.html>`_ | evelop/hw/hal/include/h |                     |
+| _               | al/hal_flash.h>`__      |                     |
++-----------------+-------------------------+---------------------+
+| `flash api for  | `flash\_map.h <https:// | An interface to     |
+| drivers to      | github.com/apache/incub | query information   |
+| implement <hal_ | ator-mynewt-core/blob/d | about the flash map |
+| flash/hal_flash | evelop/hw/hal/include/h | (regions and        |
+| _int.html>`__     | al/hal_flash_int.h>`__  | sectors)            |
++-----------------+-------------------------+---------------------+
+| `gpio <hal_gpio | `hal\_gpio.h <https://g | An interface for    |
+| /hal_gpio.html>`_ | ithub.com/apache/incuba | manipulating        |
+| _               | tor-mynewt-core/blob/de | General Purpose     |
+|                 | velop/hw/hal/include/ha | Inputs and Outputs. |
+|                 | l/hal_gpio.h>`__        |                     |
++-----------------+-------------------------+---------------------+
+| `i2c <hal_i2c/h | `hal\_i2c.h <https://gi | An interface for    |
+| al_i2c.html>`__   | thub.com/apache/incubat | controlling         |
+|                 | or-mynewt-core/blob/dev | Inter-Integrated-Ci |
+|                 | elop/hw/hal/include/hal | rcuit               |
+|                 | /hal_i2c.h>`__          | (i2c) devices.      |
++-----------------+-------------------------+---------------------+
+| `OS             | `hal\_os\_tick.h <https | An interface to set |
+| tick <hal_os_ti | ://github.com/apache/in | up interrupt timers |
+| ck/hal_os_tick. | cubator-mynewt-core/blo | or halt CPU in      |
+| md>`__          | b/develop/hw/hal/includ | terms of OS ticks.  |
+|                 | e/hal/hal_os_tick.h>`__ |                     |
++-----------------+-------------------------+---------------------+
+| `spi <hal_spi/h | `hal\_spi.h <https://gi | An interface for    |
+| al_spi.html>`__   | thub.com/apache/incubat | controlling Serial  |
+|                 | or-mynewt-core/blob/dev | Peripheral          |
+|                 | elop/hw/hal/include/hal | Interface (SPI)     |
+|                 | /hal_spi.h>`__          | devices.            |
++-----------------+-------------------------+---------------------+
+| `system <hal_sy | `hal\_system.h <https:/ | An interface for    |
+| stem/hal_sys.md | /github.com/apache/incu | starting and        |
+| >`__            | bator-mynewt-core/blob/ | resetting the       |
+|                 | develop/hw/hal/include/ | system.             |
+|                 | hal/hal_system.h>`__    |                     |
++-----------------+-------------------------+---------------------+
+| `timer <hal_tim | `hal\_cputime.h <https: | An interface for    |
+| er/hal_timer.md | //github.com/apache/inc | configuring and     |
+| >`__            | ubator-mynewt-core/tree | running HW timers   |
+|                 | /develop/hw/hal/include |                     |
+|                 | /hal/hal_timer.h>`__    |                     |
++-----------------+-------------------------+---------------------+
+| `uart <hal_uart | `hal\_uart.h <https://g | An interface for    |
+| /hal_uart.html>`_ | ithub.com/apache/incuba | communicating via   |
+| _               | tor-mynewt-core/blob/de | asynchronous serial |
+|                 | velop/hw/hal/include/ha | interface.          |
+|                 | l/hal_uart.h>`__        |                     |
++-----------------+-------------------------+---------------------+
+| `watchdog <hal_ | `hal\_watchdog.h <https | An interface for    |
+| watchdog/hal_wa | ://github.com/apache/in | enabling internal   |
+| tchdog.html>`__   | cubator-mynewt-core/blo | hardware watchdogs. |
+|                 | b/develop/hw/hal/includ |                     |
+|                 | e/hal/hal_watchdog.h>`_ |                     |
+|                 | _                       |                     |
++-----------------+-------------------------+---------------------+
diff --git a/develop/_sources/os/modules/hal/hal_bsp/hal_bsp.rst.txt b/develop/_sources/os/modules/hal/hal_bsp/hal_bsp.rst.txt
new file mode 100644
index 000000000..ae9872bf2
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal_bsp/hal_bsp.rst.txt
@@ -0,0 +1,21 @@
+hal\_bsp
+========
+
+This is the hardware independent BSP (Board Support Package) Interface
+for Mynewt.
+
+Description
+~~~~~~~~~~~
+
+Contains the basic operations to initialize, specify memory to include
+in coredump, configure interrupt priority etc.
+
+Definition
+~~~~~~~~~~
+
+`hal\_bsp.h <https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_bsp.h>`__
+
+Examples
+~~~~~~~~
+
+--------------
diff --git a/develop/_sources/os/modules/hal/hal_creation.rst.txt b/develop/_sources/os/modules/hal/hal_creation.rst.txt
new file mode 100644
index 000000000..ecb498100
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal_creation.rst.txt
@@ -0,0 +1,24 @@
+Creating New HAL Interfaces
+===========================
+
+HAL API
+-------
+
+A HAL always includes header file with function declarations for the HAL
+functionality in ``/hw/hal/include/hal``. The first argument of all
+functions in the interface typically include the virtual device\_id of
+the device you are controlling.
+
+For example, in
+```hal_gpio.h`` <https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_gpio.h>`__
+the device enumeration is the first argument to most methods and called
+``pin``.
+
+.. code-block:: console
+
+        void hal_gpio_write(int pin, int val);
+
+The device\_id (in this case called ``pin``) is not a physical device
+(actual hardware pin), but a virtual pin which is defined by the
+implementation of the HAL (and documented in the implementation of the
+HAL).
diff --git a/develop/_sources/os/modules/hal/hal_flash/hal_flash.rst.txt b/develop/_sources/os/modules/hal/hal_flash/hal_flash.rst.txt
new file mode 100644
index 000000000..0ca447472
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal_flash/hal_flash.rst.txt
@@ -0,0 +1,19 @@
+hal\_flash
+==========
+
+The hardware independent interface to flash memory that is used by
+applications.
+
+Description
+~~~~~~~~~~~
+
+The API offers basic initialization, read, write, erase, sector erase,
+and other operations.
+
+Definition
+~~~~~~~~~~
+
+`hal\_flash.h <https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_flash.h>`__
+
+Examples
+~~~~~~~~
diff --git a/develop/_sources/os/modules/hal/hal_flash/hal_flash_int.rst.txt b/develop/_sources/os/modules/hal/hal_flash/hal_flash_int.rst.txt
new file mode 100644
index 000000000..bc40b543b
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal_flash/hal_flash_int.rst.txt
@@ -0,0 +1,35 @@
+hal\_flash\_int
+===============
+
+The API that flash drivers have to implement.
+
+Description
+~~~~~~~~~~~
+
+The BSP for the hardware will implement the structs defined in this API.
+
+Definition
+~~~~~~~~~~
+
+`hal\_flash\_int.h <https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_flash_int.h>`__
+
+Examples
+~~~~~~~~
+
+The Nordic nRF52 bsp implements the hal\_flash\_int API as seen in
+`hal\_bsp.c <https://github.com/apache/incubator-mynewt-core/blob/master/hw/bsp/stm32f4discovery/src/hal_bsp.c>`__
+
+::
+
+    const struct hal_flash *
+    hal_bsp_flash_dev(uint8_t id)
+    {
+        /*
+         * Internal flash mapped to id 0.
+         */
+        if (id != 0) {
+            return NULL;
+        }
+        return &nrf52k_flash_dev;
+    }
+
diff --git a/develop/_sources/os/modules/hal/hal_gpio/hal_gpio.rst.txt b/develop/_sources/os/modules/hal/hal_gpio/hal_gpio.rst.txt
new file mode 100644
index 000000000..b3d000906
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal_gpio/hal_gpio.rst.txt
@@ -0,0 +1,74 @@
+hal\_gpio
+=========
+
+This is the hardware independent GPIO (General Purpose Input Output)
+Interface for Mynewt.
+
+Description
+~~~~~~~~~~~
+
+Contains the basic operations to set and read General Purpose Digital
+I/O Pins within a Mynewt system.
+
+Individual GPIOs are referenced in the APIs as ``pins``. However, in
+this interface the ``pins`` are virtual GPIO pins. The MCU header file
+maps these virtual ``pins`` to the physical GPIO ports and pins.
+
+Typically, the BSP code may define named I/O pins in terms of these
+virtual ``pins`` to describe the devices attached to the physical pins.
+
+Here's a brief example so you can get the gist of the translation.
+
+Suppose my product uses the stm32F4xx processor. There already exists
+support for this processor within Mynewt. The processor has N ports
+(A,B,C..) of 16 GPIO pins per port. The MCU hal\_gpio driver maps these
+to a set of virtual pins 0-N where port A maps to 0-15, Port B maps to
+16-31, Port C maps to 32-47 and so on. The exact number of physical port
+(and virtual port pins) depends on the specific variant of the
+stm32F4xx.
+
+So if I want to turn on port B pin 3, that would be virtual pin 1\*16 +
+3 = 19. This translation is defined in the MCU implementation of
+`hal\_gpio.c <https://github.com/apache/incubator-mynewt-core/blob/master/hw/mcu/stm/stm32f4xx/src/hal_gpio.c>`__
+for the stmf32F4xx. Each MCU will typically have a different translation
+method depending on its GPIO architecture.
+
+Now, when writing a BSP, it's common to give names to the relevant port
+pins that you are using. Thus, the BSP may define a mapping between a
+function and a virtual port pin in the ``bsp.h`` header file for the
+BSP. For example,
+
+.. code-block:: console
+
+    #define SYSTEM_LED              (37)
+    #define FLASH_SPI_CHIP_SELECT   (3)
+
+would map the system indicator LED to virtual pin 37 which on the
+stm32F4xx would be Port C pin 5 and the chip select line for the
+external SPI flash to virtual pin 3 which on the stm32F4xxis port A pin
+3.
+
+Said another way, in this specific system we get
+
+.. code-block:: console
+
+    SYSTEM_LED --> hal_gpio virtual pin 37 --> port C pin 5 on the stm34F4xx
+
+Definition
+~~~~~~~~~~
+
+`hal\_gpio.h <https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_gpio.h>`__
+
+Examples
+~~~~~~~~
+
+Blinky
+^^^^^^
+
+Blinky uses the hal\_gpio to blink the system LED. The blinky source
+code is available in the `blinky
+repo <https://github.com/apache/incubator-mynewt-blinky/blob/master/apps/blinky/src/main.c>`__.
+Examine how ``blinky_task_handler`` initializes and toggles the GPIO to
+control the LED.
+
+--------------
diff --git a/develop/_sources/os/modules/hal/hal_i2c/hal_i2c.rst.txt b/develop/_sources/os/modules/hal/hal_i2c/hal_i2c.rst.txt
new file mode 100644
index 000000000..2635195ef
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal_i2c/hal_i2c.rst.txt
@@ -0,0 +1,96 @@
+hal\_i2c
+========
+
+The hardware independent interface to I2C Devices.
+
+Description
+~~~~~~~~~~~
+
+An Inter-Integrated Circuit (I?C ] I-squared-C) bus is a multi-master,
+multi-save serial interface used to connect components on a circuit
+board and often peripherals devices located off the circuit board.
+
+I2C is often though of as a 2-wire protocol because it uses two wires
+(SDA, SCL) to send data between devices.
+
+For a detailed description of I2C, see the `I?C wikipedia
+page <https://en.wikipedia.org/wiki/I?C>`__
+
+Definition
+~~~~~~~~~~
+
+`hal\_i2c.h <https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_i2c.h>`__
+
+HAL\_I2C Theory Of Operation
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+An I?C transaction typically involves acquiring the bus, sending and/or
+receiving data and release the bus. The bus acquisition portion is
+important because the bus is typically multi-master so other devices may
+be trying to read/write the same peripheral.
+
+HAL\_I2C implements a master interface to the I?C bus. Typical usage of
+the interface would involve the following steps.
+
+Initialize an i2c device with: hal\_i2c\_init()
+
+When you wish to perform an i2c transaction, you call one or both of:
+hal\_i2c\_master\_write(); hal\_i2c\_master\_read();
+
+These functions will issue a START condition, followed by the device's
+7-bit I2C address, and then send or receive the payload based on the
+data provided. This will cause a repeated start on the bus, which is
+valid in I2C specification, and the decision to use repeated starts was
+made to simplify the I2C HAL. To set the STOP condition at an
+appropriate moment, you set the ``last_op`` field to a ``1`` in either
+function.
+
+For example, in an I2C memory access you might write a register address
+and then read data back via: hal\_i2c\_write(); -- write to a specific
+register on the device hal\_i2c\_read(); --- read back data, setting
+'last\_op' to '1'
+
+An addition API was added called ``hal_i2c_probe``. This command
+combines ``hal_i2c_begin()``, ``hal_i2c_read``, and ``hal_i2c_end()`` to
+try to read 0-bytes from a specific bus address. its intended to provide
+an easy way to probe the bus for a specific device. NOTE: if the device
+is write-only, it will not appear with this command.
+
+A slave API is pending for further release.
+
+HAL\_I2C Data
+~~~~~~~~~~~~~
+
+Data to read/write is passed to the hal\_i2c APIs via the
+
+::
+
+    struct hal_i2c_master_data {
+        uint8_t  address;   /* destination address */
+        uint16_t len;       /* number of bytes to transmit or receive */
+        uint8_t *buffer;    /* data buffer for transmit or receive */
+    };
+
+``buffer`` is a pointer to the data to send. ``len`` is the number of
+bytes to send over the bus. ``address`` is a 7-bit bus address of the
+device.
+
+When I?C builds its address, it uses the 7-bit address plus a 1-bit R/W
+(read/write) indicator to identify the device and direction of the
+transaction. Thus when using this API, you should use a 7-bit address in
+the data structure and ensure that address is a value between 0-127.
+
+As an example, consider an I?C device address that looks like this:
+
++-------+------+------+------+------+------+------+-------+
+| B7    | B6   | B5   | B4   | B3   | B2   | B1   | B0    |
++=======+======+======+======+======+======+======+=======+
+| 1     | 0    | 0    | 0    | 1    | 1    | 0    | R/W   |
++-------+------+------+------+------+------+------+-------+
+| MSB   |      |      |      |      |      |      | LSB   |
++-------+------+------+------+------+------+------+-------+
+
+In the HAL\_I2C API you would communicate with this device with address
+``0b1000110``, which is hex 0x46 or decimal 70. The I?C drive would add
+the R/W bit and transmit it as hex 0x8C (binary 10001100) or 0x8D
+(binary 10001101) depending whether it was a read or write command.
diff --git a/develop/_sources/os/modules/hal/hal_in_libraries.rst.txt b/develop/_sources/os/modules/hal/hal_in_libraries.rst.txt
new file mode 100644
index 000000000..850d5b251
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal_in_libraries.rst.txt
@@ -0,0 +1,12 @@
+Using HAL in Your Libraries
+===========================
+
+This page describes the recommended way to implement libraries that
+utilize HAL functionality.
+
+An example of the GPIO HAL being used by a driver for a UART bitbanger
+that programs the start bit, data bits, and stop bit can be seen in
+`hw/drivers/uart/uart\_bitbang/src/uart\_bitbang.c <https://github.com/apache/incubator-mynewt-core/blob/master/hw/drivers/uart/uart_bitbang/src/uart_bitbang.c>`__
+
+An example of the flash HAL being used by a file sytem can be seen in
+`fs/nffs/src/nffs\_flash.c <https://github.com/apache/incubator-mynewt-core/blob/master/fs/nffs/src/nffs_flash.c>`__.
diff --git a/develop/_sources/os/modules/hal/hal_os_tick/hal_os_tick.rst.txt b/develop/_sources/os/modules/hal/hal_os_tick/hal_os_tick.rst.txt
new file mode 100644
index 000000000..343b9b88e
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal_os_tick/hal_os_tick.rst.txt
@@ -0,0 +1,38 @@
+hal\_os\_tick
+=============
+
+The hardware independent interface to set up interrupt timers or halt
+CPU in terms of OS ticks.
+
+Description
+~~~~~~~~~~~
+
+Set up the periodic timer to interrupt at a frequency of
+'os\_ticks\_per\_sec' using the following function call where 'prio' is
+the cpu-specific priority of the periodic timer interrupt.
+
+.. code:: c
+
+    void os_tick_init(uint32_t os_ticks_per_sec, int prio);
+
+You can halt CPU for up to ``n`` ticks:
+
+.. code:: c
+
+    void os_tick_idle(os_time_t n);
+
+The function implementations are in the mcu-specific directories such as
+``hw/mcu/nordic/nrf51xxx/src/hal_os_tick.c``.
+
+Definition
+~~~~~~~~~~
+
+`hal\_os\_tick.h <https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_os_tick.h>`__
+
+Examples
+~~~~~~~~
+
+An example of the API being used by the OS kernel for the Cortex M0
+architecture to initialize and start the system clock timer can be seen
+in
+`kernel/os/src/arch/cortex\_m0/os\_arch\_arm.c <https://github.com/apache/incubator-mynewt-core/blob/master/kernel/os/src/arch/cortex_m0/os_arch_arm.c>`__.
diff --git a/develop/_sources/os/modules/hal/hal_spi/hal_spi.rst.txt b/develop/_sources/os/modules/hal/hal_spi/hal_spi.rst.txt
new file mode 100644
index 000000000..f17bd6b0c
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal_spi/hal_spi.rst.txt
@@ -0,0 +1,65 @@
+hal\_spi
+========
+
+SPI (Serial Peripheral Interface) is a synchronous 4-wire serial
+interface commonly used to connect components in embedded systems.
+
+For a detailed description of SPI, see
+`Wikipedia <https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus>`__.
+
+Description
+~~~~~~~~~~~
+
+The Mynewt HAL interface supports the SPI master functionality with both
+blocking and non-blocking interface. SPI slave functionality is
+supported in non-blocking mode.
+
+Definition
+~~~~~~~~~~
+
+`hal\_spi.h <https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_spi.h>`__
+
+HAL\_SPI Theory Of Operation
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+SPI is called a 4-wire interface because of the 4 signals, MISO, MOSI,
+CLK, and SS. The SS signal (slave select) is an active low signal that
+activates a SPI slave device. This is how a master "addresses" a
+particular slave device. Often this signal is also referred to as "chip
+select" as it selects particular slave device for communications.
+
+The Mynewt SPI HAL has blocking and non-blocking transfers. Blocking
+means that the API call to transfer a byte will wait until the byte
+completes transmissions before the function returns. Blocking interface
+can be used for only the master slave SPI type. Non-blocking means he
+function returns control to the execution environment immediately after
+the API call and a callback function is executed at the completion of
+the transmission. Non-blocking interface can be used for both master and
+slave SPI types.
+
+The ``hal_spi_config`` method in the API above allows the SPI to be
+configured with appropriate settings for master or slave. It Must be
+called after the spi is initialized (i.e. after hal\_spi\_init is
+called) and when the spi is disabled (i.e. user must call
+hal\_spi\_disable if the spi has been enabled through hal\_spi\_enable
+prior to calling this function). It can also be used to reconfigure an
+initialized SPI (assuming it is disabled as described previously).
+
+.. code:: c
+
+    int hal_spi_config(int spi_num, struct hal_spi_settings *psettings);
+
+The SPI settings consist of the following:
+
+.. code:: c
+
+    struct hal_spi_settings {
+        uint8_t         data_mode;
+        uint8_t         data_order;
+        uint8_t         word_size;
+        uint32_t        baudrate;           /* baudrate in kHz */
+    };
+
+The Mynewt SPI HAL does not include built-in SS (Slave Select)
+signaling. It's up to the hal\_spi user to control their own SS pins.
+Typically applications will do this with GPIO.
diff --git a/develop/_sources/os/modules/hal/hal_system/hal_sys.rst.txt b/develop/_sources/os/modules/hal/hal_system/hal_sys.rst.txt
new file mode 100644
index 000000000..d0f7d2ad0
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal_system/hal_sys.rst.txt
@@ -0,0 +1,22 @@
+hal\_system
+===========
+
+A hardware independent interface for starting and resetting the system.
+
+Description
+~~~~~~~~~~~
+
+The API allows the user to detect whether a debugger is connected,
+sissue a soft reset, and enumerate the reset causes. The functions are
+implemented in the MCU specific directories e.g. ``hal_reset_cause.c``,
+``hal_system.c``, and ``hal_system_start.c`` in
+``/hw/mcu/nordic/nrf52xxx/src/`` directory for Nordic nRF52 series of
+chips.
+
+Definition
+~~~~~~~~~~
+
+`hal\_system.h <https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_system.h>`__
+
+Examples
+~~~~~~~~
diff --git a/develop/_sources/os/modules/hal/hal_timer/hal_timer.rst.txt b/develop/_sources/os/modules/hal/hal_timer/hal_timer.rst.txt
new file mode 100644
index 000000000..a3b7a0fb9
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal_timer/hal_timer.rst.txt
@@ -0,0 +1,36 @@
+hal\_timer
+==========
+
+The hardware independent timer structure and API to configure,
+initialize, and run timers.
+
+Description
+~~~~~~~~~~~
+
+The HAL timer structure is shown below. The user can declare as many of
+these structures as required. They are enqueued on a particular HW timer
+queue when the user calls the hal\_timer\_start or hal\_timer\_start\_at
+API. The user must have called hal\_timer\_set\_cb before starting a
+timer.
+
+NOTE: the user should not have to modify/examine the contents of this
+structure; the hal timer API should be used.
+
+.. code:: c
+
+    struct hal_timer
+    {
+        void                *bsp_timer; /* Internal platform specific pointer */
+        hal_timer_cb        cb_func;    /* Callback function */
+        void                *cb_arg;    /* Callback argument */
+        uint32_t            expiry;     /* Tick at which timer should expire */
+        TAILQ_ENTRY(hal_timer) link;    /* Queue linked list structure */
+    };
+
+Definition
+~~~~~~~~~~
+
+`hal\_timer.h <https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_timer.h>`__
+
+Examples
+~~~~~~~~
diff --git a/develop/_sources/os/modules/hal/hal_uart/hal_uart.rst.txt b/develop/_sources/os/modules/hal/hal_uart/hal_uart.rst.txt
new file mode 100644
index 000000000..1f490d8a7
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal_uart/hal_uart.rst.txt
@@ -0,0 +1,36 @@
+hal\_uart
+=========
+
+The hardware independent UART interface for Mynewt.
+
+Description
+~~~~~~~~~~~
+
+Contains the basic operations to send and receive data over a UART
+(Universal Asynchronous Receiver Transmitter). It also includes the API
+to apply settings such as speed, parity etc. to the UART. The UART port
+should be closed before any reconfiguring.
+
+Definition
+~~~~~~~~~~
+
+`hal\_uart.h <https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_uart.h>`__
+
+Examples
+~~~~~~~~
+
+This example shows a user writing a character to the uart in blocking
+mode where the UART has to block until character has been sent.
+
+.. code-block:: console
+
+    /* write to the console with blocking */
+    {
+        char *str = "Hello World!";
+        char *ptr = str;
+
+        while(*ptr) {
+            hal_uart_blocking_tx(MY_UART, *ptr++);
+        }
+        hal_uart_blocking_tx(MY_UART, '\n');
+    }
diff --git a/develop/_sources/os/modules/hal/hal_watchdog/hal_watchdog.rst.txt b/develop/_sources/os/modules/hal/hal_watchdog/hal_watchdog.rst.txt
new file mode 100644
index 000000000..d96359c75
--- /dev/null
+++ b/develop/_sources/os/modules/hal/hal_watchdog/hal_watchdog.rst.txt
@@ -0,0 +1,32 @@
+hal\_watchdog
+=============
+
+The hardware independent interface to enable internal hardware
+watchdogs.
+
+Description
+~~~~~~~~~~~
+
+The ``hal_watchdog_init`` interface can be used to set a recurring
+watchdog timer to fire no sooner than in 'expire\_secs' seconds.
+
+.. code:: c
+
+    int hal_watchdog_init(uint32_t expire_msecs);
+
+Watchdog needs to be then started with a call to
+``hal_watchdog_enable()``. Watchdog should be tickled periodically with
+a frequency smaller than 'expire\_secs' using ``hal_watchdog_tickle()``.
+
+Definition
+~~~~~~~~~~
+
+`hal\_watchdog <https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_watchdog.h>`__
+
+Examples
+~~~~~~~~
+
+The OS initializes and starts a watchdog timer and tickles it
+periodically to check that the OS is running properly. This can be seen
+in
+`/kernel/os/src/os.c <https://github.com/apache/incubator-mynewt-core/blob/master/kernel/os/src/os.c>`__.
diff --git a/develop/_sources/os/modules/imgmgr/imgmgr.rst.txt b/develop/_sources/os/modules/imgmgr/imgmgr.rst.txt
new file mode 100644
index 000000000..8de1007f8
--- /dev/null
+++ b/develop/_sources/os/modules/imgmgr/imgmgr.rst.txt
@@ -0,0 +1,65 @@
+Image Manager
+=============
+
+Description
+~~~~~~~~~~~
+
+This library accepts incoming image management commands from newtmgr and
+acts on them.
+
+Images can be uploaded, present images listed, and system can be told to
+switch to another image.
+
+Currently the package assumes that there are 2 image slots, one active
+one and another one in standby. When new image is uploaded, it replaces
+the one in standby slot. This is the model for scenario when MCU has
+internal flash only, it executes the code from that flash, and there is
+enough space to store 2 full images.
+
+Image manager interacts with bootloader by telling it to boot to a
+specific image. At the moment this has to be done by writing a file
+which contains a version number of the image to boot. Note that image
+manager itself does not replace the active image.
+
+Image manager also can upload files to filesystem as well as download
+them.
+
+Note that commands accessing filesystems (next boot target, file
+upload/download) will not be available unless project includes
+filesystem implementation.
+
+Data structures
+~~~~~~~~~~~~~~~
+
+N/A.
+
+List of Functions
+~~~~~~~~~~~~~~~~~
+
+The functions available in imgmgr are:
+
++------------+----------------+
+| Function   | Description    |
++============+================+
+| `imgr\_ver | Parses         |
+| \_parse <i | character      |
+| mgr_ver_pa | string         |
+| rse.html>`__ | containing     |
+|            | specified      |
+|            | image version  |
+|            | number and     |
+|            | writes that to |
+|            | given          |
+|            | image\_version |
+|            | struct.        |
++------------+----------------+
+| `imgr\_ver | Takes version  |
+| \_str <img | string from    |
+| r_ver_str. | specified      |
+| md>`__     | image\_version |
+|            | struct and     |
+|            | formats it     |
+|            | into a         |
+|            | printable      |
+|            | string.        |
++------------+----------------+
diff --git a/develop/_sources/os/modules/imgmgr/imgmgr_module_init.rst.txt b/develop/_sources/os/modules/imgmgr/imgmgr_module_init.rst.txt
new file mode 100644
index 000000000..a626ab585
--- /dev/null
+++ b/develop/_sources/os/modules/imgmgr/imgmgr_module_init.rst.txt
@@ -0,0 +1,24 @@
+imgmgr\_module\_init 
+----------------------
+
+.. code-block:: console
+
+       void 
+       imgmgr_module_init(void)
+
+Registers the image manager commands with the ``mgmt`` package.
+``sysinit()`` automatically calls this function during system
+initialization.
+
+Arguments
+^^^^^^^^^
+
+N/A
+
+Returned values
+^^^^^^^^^^^^^^^
+
+N/A
+
+Notes
+^^^^^
diff --git a/develop/_sources/os/modules/imgmgr/imgr_ver_parse.rst.txt b/develop/_sources/os/modules/imgmgr/imgr_ver_parse.rst.txt
new file mode 100644
index 000000000..93c1f3864
--- /dev/null
+++ b/develop/_sources/os/modules/imgmgr/imgr_ver_parse.rst.txt
@@ -0,0 +1,54 @@
+imgr\_ver\_parse 
+------------------
+
+.. code-block:: console
+
+       int
+       imgr_ver_parse(char *src, struct image_version *ver)
+
+Parses character string containing image version number ``src`` and
+writes that to ``ver``. Version number string should be in format ....
+Major and minor numbers should be within range 0-255, revision between
+0-65535 and build\_number 0-4294967295.
+
+Arguments
+^^^^^^^^^
+
++-------------+-----------------------------------------------------------------+
+| Arguments   | Description                                                     |
++=============+=================================================================+
+| src         | Pointer to C string that contains version number being parsed   |
++-------------+-----------------------------------------------------------------+
+| ver         | Image version number structure containing the returned value    |
++-------------+-----------------------------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+0 on success and <0 if version number string could not be parsed.
+
+Notes
+^^^^^
+
+Numbers within the string are separated by ``.``. The first number is
+the major number, and must be provided. Rest of the numbers (minor etc.)
+are optional.
+
+Example
+^^^^^^^
+
+.. code-block:: console
+
+    int main(int argc, char **argv)
+    {
+        struct image_version hdr_ver;
+        int rc;
+        ...
+        
+        rc = imgr_ver_parse(argv[3], &hdr_ver);
+        if (rc != 0) {
+            print_usage(stderr);
+            return 1;
+        }
+        ...
+    }
diff --git a/develop/_sources/os/modules/imgmgr/imgr_ver_str.rst.txt b/develop/_sources/os/modules/imgmgr/imgr_ver_str.rst.txt
new file mode 100644
index 000000000..3aca24719
--- /dev/null
+++ b/develop/_sources/os/modules/imgmgr/imgr_ver_str.rst.txt
@@ -0,0 +1,52 @@
+imgr\_ver\_str 
+----------------
+
+.. code-block:: console
+
+       int
+       imgr_ver_str(struct image_version *ver, char *dst)
+
+Takes the version string from ``ver`` and formats that into a printable
+string to ``dst``. Caller must make sure that ``dst`` contains enough
+space to hold maximum length version string. The convenience
+defininition for max length version string is named
+``IMGMGR_MAX_VER_STR``.
+
+Arguments
+^^^^^^^^^
+
++-------------+-----------------------------------------------------------------------+
+| Arguments   | Description                                                           |
++=============+=======================================================================+
+| ver         | Image version number structure containing the value being formatted   |
++-------------+-----------------------------------------------------------------------+
+| dst         | Pointer to C string where results will be stored                      |
++-------------+-----------------------------------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Function returns the number of characters filled into the destination
+string.
+
+Notes
+^^^^^
+
+If build number is ``0`` in image version structure, it will be left out
+of the string.
+
+Example
+^^^^^^^
+
+.. code-block:: console
+
+    static void
+    imgr_ver_jsonstr(struct json_encoder *enc, char *key,
+      struct image_version *ver)
+    {
+        char ver_str[IMGMGR_MAX_VER_STR];
+        int ver_len;
+        ...
+        ver_len = imgr_ver_str(ver, ver_str)
+        ...
+    }
diff --git a/develop/_sources/os/modules/json/json.rst.txt b/develop/_sources/os/modules/json/json.rst.txt
new file mode 100644
index 000000000..e65ce0c99
--- /dev/null
+++ b/develop/_sources/os/modules/json/json.rst.txt
@@ -0,0 +1,193 @@
+JSON
+====
+
+JSON is a data interchange format. The description of this format can be
+found from IETF RFC 4627.
+
+Description
+-----------
+
+This package helps in converting between C data types and JSON data
+objects. It supports both encoding and decoding.
+
+Data structures
+---------------
+
+Encoding
+~~~~~~~~
+
+.. code:: c
+
+    /* Encoding functions */
+    typedef int (*json_write_func_t)(void *buf, char *data,
+            int len);
+
+    struct json_encoder {
+        json_write_func_t je_write;
+        void *je_arg;
+        int je_wr_commas:1;
+        char je_encode_buf[64];
+    };
+
+Here's the data structure encoder funtions use, and it must be
+initialized by the caller. The key element is *je\_write*, which is a
+function pointer which gets called whenever encoding routine is ready
+with encoded data. The element *je\_arg* is passed to *je\_write* as the
+first argument. The rest of the structure contents are for internal
+state management. This function should collect all the data encoder
+function generates. It can collect this data to a flat buffer, chain of
+mbufs or even stream through.
+
+.. code:: c
+
+    /**
+     * For encode.  The contents of a JSON value to encode.
+     */
+    struct json_value {
+        uint8_t jv_pad1;
+        uint8_t jv_type;
+        uint16_t jv_len;
+
+        union {
+            uint64_t u;
+            float fl;
+            char *str;
+            struct {
+                char **keys;
+                struct json_value **values;
+            } composite;
+        } jv_val;
+    };
+
+This data structure is filled with data to be encoded. It is best to
+fill this using the macros *JSON\_VALUE\_STRING()* or
+*JSON\_VALUE\_STRINGN()* when value is string, *JSON\_VALUE\_INT()* when
+value is an integer, and so forth.
+
+Decoding
+~~~~~~~~
+
+.. code:: c
+
+    /* when you implement a json buffer, you must implement these functions */
+
+    /* returns the next character in the buffer or '\0'*/
+    typedef char (*json_buffer_read_next_byte_t)(struct json_buffer *);
+    /* returns the previous character in the buffer or '\0' */
+    typedef char (*json_buffer_read_prev_byte_t)(struct json_buffer *);
+    /* returns the number of characters read or zero */
+    typedef int (*json_buffer_readn_t)(struct json_buffer *, char *buf, int n);
+
+    struct json_buffer {
+        json_buffer_readn_t jb_readn;
+        json_buffer_read_next_byte_t jb_read_next;
+        json_buffer_read_prev_byte_t jb_read_prev;
+    };
+
+Function pointers within this structure are used by decoder when it is
+reading in more data to decode.
+
+.. code:: c
+
+    struct json_attr_t {
+        char *attribute;
+        json_type type;
+        union {
+            int *integer;
+            unsigned int *uinteger;
+            double *real;
+            char *string;
+            bool *boolean;
+            char *character;
+            struct json_array_t array;
+            size_t offset;
+        } addr;
+        union {
+            int integer;
+            unsigned int uinteger;
+            double real;
+            bool boolean;
+            char character;
+            char *check;
+        } dflt;
+        size_t len;
+        const struct json_enum_t *map;
+        bool nodefault;
+    };
+
+This structure tells the decoder about a particular name/value pair.
+Structure must be filled in before calling the decoder routine
+*json\_read\_object()*.
+
++-------------+-------------------------------------------------------+
+| Element     | Description                                           |
++=============+=======================================================+
+| attribute   | Name of the value                                     |
++-------------+-------------------------------------------------------+
+| type        | The type of the variable; see enum json\_type         |
++-------------+-------------------------------------------------------+
+| addr        | Contains the address where value should be stored     |
++-------------+-------------------------------------------------------+
+| dflt        | Default value to fill in, if this name is not found   |
++-------------+-------------------------------------------------------+
+| len         | Max number of bytes to read in for value              |
++-------------+-------------------------------------------------------+
+| nodefault   | If set, default value is not copied name              |
++-------------+-------------------------------------------------------+
+
+List of Functions
+-----------------
+
+Functions for encoding:
+
++------------+----------------+
+| Function   | Description    |
++============+================+
+| `json\_enc | This function  |
+| ode\_objec | starts the     |
+| t\_start < | encoded JSON   |
+| json_encod | object.        |
+| e_object_s |                |
+| tart.html>`_ |                |
+| _          |                |
++------------+----------------+
+| `json\_enc | This function  |
+| ode\_objec | writes out a   |
+| t\_key <js | name for a     |
+| on_encode_ | field,         |
+| object_key | followed by    |
+| .html>`__    | ":" character. |
++------------+----------------+
+| `json\_enc | This function  |
+| ode\_objec | writes out a   |
+| t\_entry < | name for a     |
+| json_encod | field,         |
+| e_object_e | followed by    |
+| ntry.html>`_ | ":" character, |
+| _          | and the value  |
+|            | itself.        |
++------------+----------------+
+| `json\_enc | This function  |
+| ode\_objec | finalizes the  |
+| t\_finish  | encoded JSON   |
+| <json_enco | object.        |
+| de_object_ |                |
+| finish.html> |                |
+| `__        |                |
++------------+----------------+
+
+Functions for decoding:
+
++------------+----------------+
+| Function   | Description    |
++============+================+
+| `json\_rea | This function  |
+| d\_object  | reads in JSON  |
+| <json_read | data stream,   |
+| _object.md | while looking  |
+| >`__       | for name/value |
+|            | pairs          |
+|            | described in   |
+|            | given          |
+|            | attribites.    |
++------------+----------------+
diff --git a/develop/_sources/os/modules/json/json_encode_object_entry.rst.txt b/develop/_sources/os/modules/json/json_encode_object_entry.rst.txt
new file mode 100644
index 000000000..a8e7f606d
--- /dev/null
+++ b/develop/_sources/os/modules/json/json_encode_object_entry.rst.txt
@@ -0,0 +1,49 @@
+json\_encode\_object\_entry 
+-----------------------------
+
+.. code-block:: console
+
+       int json_encode_object_entry(struct json_encoder *encoder, char *key, struct json_value *val)
+
+This function writes out a name for a field, followed by ":" character,
+and the value itself. How value is treated depends on the type of the
+value.
+
+Arguments
+^^^^^^^^^
+
++-------------+------------------------+
+| Arguments   | Description            |
++=============+========================+
+| encoder     | json\_encoder to use   |
++-------------+------------------------+
+| key         | name to write out      |
++-------------+------------------------+
+| val         | value to write out     |
++-------------+------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+0 on success.
+
+Example
+^^^^^^^
+
+.. code:: c
+
+    static int
+    imgr_list(struct nmgr_jbuf *njb)
+    {
+        struct json_encoder *enc;
+        struct json_value array;
+
+        ...
+
+        json_encode_object_start(enc);
+        json_encode_object_entry(enc, "images", &array);
+        json_encode_object_finish(enc);
+
+        return 0;
+    }
+
diff --git a/develop/_sources/os/modules/json/json_encode_object_finish.rst.txt b/develop/_sources/os/modules/json/json_encode_object_finish.rst.txt
new file mode 100644
index 000000000..0d98c82c1
--- /dev/null
+++ b/develop/_sources/os/modules/json/json_encode_object_finish.rst.txt
@@ -0,0 +1,44 @@
+json\_encode\_object\_finish 
+------------------------------
+
+.. code-block:: console
+
+       int json_encode_object_finish(struct json_encoder *encoder)
+
+This function finalizes the encoded JSON object. This means writing out
+the last "}" character.
+
+Arguments
+^^^^^^^^^
+
++-------------+------------------------+
+| Arguments   | Description            |
++=============+========================+
+| encoder     | json\_encoder to use   |
++-------------+------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+0 on success.
+
+Example
+^^^^^^^
+
+.. code:: c
+
+    static int
+    imgr_list(struct nmgr_jbuf *njb)
+    {
+        struct json_encoder *enc;
+        struct json_value array;
+
+        ...
+
+        json_encode_object_start(enc);
+        json_encode_object_entry(enc, "images", &array);
+        json_encode_object_finish(enc);
+
+        return 0;
+    }
+
diff --git a/develop/_sources/os/modules/json/json_encode_object_key.rst.txt b/develop/_sources/os/modules/json/json_encode_object_key.rst.txt
new file mode 100644
index 000000000..5e83f76c5
--- /dev/null
+++ b/develop/_sources/os/modules/json/json_encode_object_key.rst.txt
@@ -0,0 +1,46 @@
+json\_encode\_object\_key
+---------------------------
+
+.. code-block:: console
+
+       int json_encode_object_key(struct json_encoder *encoder, char *key)
+
+This function writes out a name for a field, followed by ":" character.
+You would use this e.g. when the value that follows is a JSON object.
+
+Arguments
+^^^^^^^^^
+
++-------------+------------------------+
+| Arguments   | Description            |
++=============+========================+
+| encoder     | json\_encoder to use   |
++-------------+------------------------+
+| key         | name to write out      |
++-------------+------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+0 on success.
+
+Example
+^^^^^^^
+
+.. code:: c
+
+    int
+    nmgr_def_taskstat_read(struct nmgr_jbuf *njb)
+    {
+        ...
+
+        struct json_value jv;
+
+        json_encode_object_start(&njb->njb_enc);
+        JSON_VALUE_INT(&jv, NMGR_ERR_EOK);
+        json_encode_object_entry(&njb->njb_enc, "rc", &jv);
+
+        json_encode_object_key(&njb->njb_enc, "tasks");
+        json_encode_object_start(&njb->njb_enc);
+        ...
+    }
diff --git a/develop/_sources/os/modules/json/json_encode_object_start.rst.txt b/develop/_sources/os/modules/json/json_encode_object_start.rst.txt
new file mode 100644
index 000000000..800354cac
--- /dev/null
+++ b/develop/_sources/os/modules/json/json_encode_object_start.rst.txt
@@ -0,0 +1,44 @@
+json\_encode\_object\_start 
+-----------------------------
+
+.. code-block:: console
+
+       int json_encode_object_start(struct json_encoder *encoder)
+
+This function starts the encoded JSON object. Usually this means writing
+out the initial "{" character.
+
+Arguments
+^^^^^^^^^
+
++-------------+------------------------+
+| Arguments   | Description            |
++=============+========================+
+| encoder     | json\_encoder to use   |
++-------------+------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+0 on success.
+
+Example
+^^^^^^^
+
+.. code:: c
+
+    static int
+    imgr_list(struct nmgr_jbuf *njb)
+    {
+        struct json_encoder *enc;
+        struct json_value array;
+
+        ...
+
+        json_encode_object_start(enc);
+        json_encode_object_entry(enc, "images", &array);
+        json_encode_object_finish(enc);
+
+        return 0;
+    }
+
diff --git a/develop/_sources/os/modules/json/json_read_object.rst.txt b/develop/_sources/os/modules/json/json_read_object.rst.txt
new file mode 100644
index 000000000..379dc9fff
--- /dev/null
+++ b/develop/_sources/os/modules/json/json_read_object.rst.txt
@@ -0,0 +1,67 @@
+json\_read\_object 
+--------------------
+
+.. code-block:: console
+
+       int json_read_object(struct json_buffer *jb, const struct json_attr_t *attrs)
+
+This function reads in JSON data stream, while looking for name/value
+pairs described in *attrs*. *attrs* is an array; end of the array is
+indicated by an entry with *NULL* as the name.
+
+Arguments
+^^^^^^^^^
+
++-------------+-----------------------------------+
+| Arguments   | Description                       |
++=============+===================================+
+| jb          | json\_decoder to use              |
++-------------+-----------------------------------+
+| attrs       | array of attributes to look for   |
++-------------+-----------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+0 on success.
+
+Example
+^^^^^^^
+
+.. code:: c
+
+
+    static int
+    imgr_upload(struct nmgr_jbuf *njb)
+    {
+        ...
+        const struct json_attr_t off_attr[4] = {
+            [0] = {
+                .attribute = "off",
+                .type = t_uinteger,
+                .addr.uinteger = &off,
+                .nodefault = true
+            },
+            [1] = {
+                .attribute = "data",
+                .type = t_string,
+                .addr.string = img_data,
+                .len = sizeof(img_data)
+            },
+            [2] = {
+                .attribute = "len",
+                .type = t_uinteger,
+                .addr.uinteger = &size,
+                .nodefault = true
+            }
+        };
+        ...
+
+        rc = json_read_object(&njb->njb_buf, off_attr);
+        if (rc || off == UINT_MAX) {
+            rc = OS_EINVAL;
+            goto err;
+        }
+        ...
+    }
+
diff --git a/develop/_sources/os/modules/logs/logs.rst.txt b/develop/_sources/os/modules/logs/logs.rst.txt
new file mode 100644
index 000000000..7d98e2fd8
--- /dev/null
+++ b/develop/_sources/os/modules/logs/logs.rst.txt
@@ -0,0 +1,209 @@
+Logging
+-------
+
+Mynewt log package supports logging of information within a Mynewt
+application. It allows packages to define their own log streams with
+separate names. It also allows an application to control the output
+destination of logs. ### Description
+
+In the Mynewt OS, the log package comes in two versions:
+
+-  The ``sys/log/full`` package implements the complete log
+   functionality and API.
+
+-  The ``sys/log/stub`` package implements stubs for the API.
+
+Both packages export the ``log`` API, and any package that uses the log
+API must list ``log`` as a requirement in its ``pkg.yml`` file as
+follows:
+
+.. code-block:: console
+
+    pkg.req_apis:
+        - log
+
+The application's ``pkg.yml`` file specifies the version of the log
+package to use. A project that requires the full logging capability must
+list the ``sys/log/full`` package as a dependency in its ``pkg.yml``
+file:
+
+.. code-block:: console
+
+    pkg.deps:
+        - sys/log/full
+
+You can use the ``sys/log/stub`` package if you want to build your
+application without logging to reduce code size.
+
+Syscfg Settings
+^^^^^^^^^^^^^^^
+
+The ``LOG_LEVEL`` syscfg setting allows you to specify the level of logs
+to enable in your application. Only logs for levels higher or equal to
+the value of ``LOG_LEVEL`` are enabled. The amount of logs you include
+affects your application code size. ``LOG_LEVEL: 0`` specifies
+LOG\_LEVEL\_DEBUG and includes all logs. You set ``LOG_LEVEL: 255`` to
+disable all logging. The ``#defines`` for the log levels are specified
+in the ``sys/log/full/include/log/log.h`` file. For example the
+following setting corresponds to LOG\_LEVEL\_ERROR:
+
+.. code-block:: console
+
+    syscfg.vals:
+        LOG_LEVEL: 3   
+
+The ``LOG_LEVEL`` setting applies to all modules registered with the log
+package.
+
+Log
+~~~~~~~~~~~~~~~
+
+
+Each log stream requires a ``log`` structure to define its logging
+properties.
+
+Log Handler
+~~~~~~~~~~~
+
+To use logs, a log handler that handles the I/O from the log is
+required. The log package comes with three pre-built log handlers:
+
+-  console -- streams log events directly to the console port. Does not
+   support walking and reading.
+-  cbmem -- writes/reads log events to a circular buffer. Supports
+   walking and reading for access by newtmgr and shell commands.
+-  fcb -- writes/reads log events to a `flash circular
+   buffer </os/modules/fcb/fcb.html>`__. Supports walking and reading for
+   access by newtmgr and shell commands.
+
+In addition, it is possible to create custom log handlers for other
+methods. Examples may include
+
+-  Flash file system
+-  Flat flash buffer
+-  Streamed over some other interface
+
+To use logging, you typically do not need to create your own log
+handler. You can use one of the pre-built ones.
+
+A package or an application must define a variable of type
+``struct log`` and register a log handler for it with the log package.
+It must call the ``log_register()`` function to specify the log handler
+to use:
+
+.. code:: c
+
+    log_register(char *name, struct log *log, const struct log_handler *lh, void *arg, uint8_t level)
+
+The parameters are:
+
+-  ``name``- Name of the log stream.
+-  ``log`` - Log instance to register,
+-  ``lh`` - Pointer to the log handler. You can specify one of the
+   pre-built ones:
+
+   -  ``&log_console_handler`` for console
+   -  ``&log_cbm_handler`` for circular buffer
+   -  ``&log_fcb_handler`` for flash circular buffer
+
+-  ``arg`` - Opaque argument that the specified log handler uses. The
+   value of this argument depends on the log handler you specify:
+
+   -  NULL for the ``log_console_handler``.
+   -  Pointer to an initialized ``cbmem`` structure (see ``util/cbmem``
+      package) for the ``log_cbm_handler``.
+   -  Pointer to an initialized ``fcb_log`` structure (see ``fs/fcb``
+      package) for the ``log_fcb_handler``.
+
+Typically, a package that uses logging defines a global variable, such
+as ``my_package_log``, of type ``struct log``. The package can call the
+``log_register()`` function with default values, but usually an
+application will override the logging properties and where to log to.
+There are two ways a package can allow an application to override the
+values:
+
+-  Define system configuration settings that an application can set and
+   the package can then call the ``log_register()`` function with the
+   configuration values.
+-  Make the ``my_package_log`` variable external and let the application
+   call the ``log_register()`` function to specify a log handler for its
+   specific purpose.
+
+Configuring Logging for Packages that an Application Uses
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Here is an example of how an application can set the log handlers for
+the logs of the packages that the application includes.
+
+In this example, the ``package1`` package defines the variable
+``package1_log`` of type ``struct log`` and externs the variable.
+Similarly, the ``package2`` package defines the variable
+``package2_log`` and externs the variable. The application sets logs for
+``package1`` to use console and sets logs for ``package2`` to use a
+circular buffer.
+
+.. code:: c
+
+    #include <package1/package1.h>
+    #include <package2/package2.h>
+    #include <util/cbmem.h>
+
+    #include <log/log.h>
+
+    static uint32_t cbmem_buf[MAX_CBMEM_BUF];
+    static struct cbmem cbmem;
+
+
+    void app_log_init(void)
+    {
+
+
+       
+        log_register("package1_log", &package1_log, &log_console_handler, NULL, LOG_SYSLEVEL);
+
+        cbmem_init(&cbmem, cbmem_buf, MAX_CBMEM_BUF);
+        log_register("package2_log", &package2_log, &log_cbmem_handler, &cbmem, LOG_SYSLEVEL);
+
+    }
+
+Implementing a Package that Uses Logging
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This example shows how a package logs to console. The package registers
+default logging properties to use the console, but allows an application
+to override the values. It defines the ``my_package_log`` variable and
+makes it external so an application can override log handler.
+
+Make the ``my_package_log`` variable external:
+
+.. code:: c
+
+    /* my_package.h*/
+
+    /* pick a unique name here */
+    extern struct log my_package_log;
+
+Define the ``my_package_log`` variable and register the console log
+handler:
+
+.. code:: c
+
+    /* my_package.c */
+
+    struct log my_package_log;
+
+    {
+        ...
+
+        /* register my log with a name to the system */
+        log_register("log", &my_package_log, &log_console_handler, NULL, LOG_LEVEL_DEBUG);
+
+        LOG_DEBUG(&my_package_log, LOG_MODULE_DEFAULT, "bla");
+        LOG_DEBUG(&my_package_log, LOG_MODULE_DEFAULT, "bab");
+    }
+
+Log API and Log Levels
+~~~~~~~~~~~~~~~~~~~~~~
+
+For more information on the ``log`` API and log levels, see the
+``sys/log/full/include/log/log.h`` header file.
diff --git a/develop/_sources/os/modules/sensor_framework/sensor_api.rst.txt b/develop/_sources/os/modules/sensor_framework/sensor_api.rst.txt
new file mode 100644
index 000000000..956f5ebc5
--- /dev/null
+++ b/develop/_sources/os/modules/sensor_framework/sensor_api.rst.txt
@@ -0,0 +1,402 @@
+Sensor API
+----------
+
+The sensor API implements the sensor abstraction and the functions:
+
+-  For a sensor device driver package to initialize a sensor object with
+   the device specific information.
+
+-  For an application to read sensor data from a sensor and to configure
+   a sensor for polling.
+
+A sensor is represented by the ``struct sensor`` object.
+
+Sensor API Functions Used by a Sensor Device Driver Package
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A sensor device driver package must use the sensor API to initialize
+device specific information for a sensor object and to change sensor
+configuration types.
+
+Initializing a Sensor Object
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When the BSP or the sensor creator package creates an OS device for a
+sensor named ``SENSORNAME``, it specifies the ``<sensorname>_init()``
+callback function, that the device driver exports, for the
+``os_dev_create()`` function to call to initialize the device. The
+``<sensorname>_init()`` function must use the following sensor API
+functions to set the driver and interface information in the sensor
+object:
+
+-  The ``sensor_init()`` function to initialize the ``struct sensor``
+   object for the device.
+
+-  The ``sensor_set_driver()`` function to set the types that the sensor
+   device supports and the sensor driver functions to read the sensor
+   data from the device and to retrieve the value type for a given
+   sensor type.
+
+-  The ``sensor_set_interface()`` function to set the interface to use
+   to communicate with the sensor device.
+
+**Notes**:
+
+-  See the `Sensor Device
+   Driver </os/modules/sensor_framework/sensor_driver.html>`__ page for
+   the functions and data structures that a sensor driver package
+   exports.
+
+-  The ``<sensorname>_init()`` function must also call the
+   ``sensor_mgr_register()`` function to register the sensor with the
+   sensor manager. See the `Sensor Manager
+   API </os/modules/sensor_framework/sensor_manager_api.html>`__ for
+   details.
+
+Setting the Configured Sensor Types
+^^^^^^^^^^^^^^^^^^^
+
+
+The BSP, or the sensor creator package, also calls the
+``<sensorname>_config()`` function to configure the sensor device with
+default values. The ``<sensorname>_config()`` function is exported by
+the sensor device driver and must call the sensor API
+``sensor_set_type_mask()`` function to set the configured sensor types
+in the sensor object. The configured sensor types are a subset of the
+sensor types that the device supports. The sensor framework must know
+the sensor types that a sensor device is configured for because it only
+reads sensor data for the configured sensor types.
+
+**Note:** An application may also call the ``<sensorname>_config()``
+function to configure the sensor device.
+
+Sensor API Functions Used By an Application
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The sensor API provides the functions for an application to read sensor
+data from a sensor and to configure a sensor for polling.
+
+Reading Sensor Data
+^^^^^^^^^^^^^^^^^^^
+
+An application calls the ``sensor_read()`` function to read sensor data
+from a sensor device. You specify a bit mask of the configured sensor
+types to read from a sensor device and a callback function to call when
+the sensor data is read. The callback is called for each specified
+configured type and the data read for that sensor type is passed to the
+callback.
+
+Setting a Poll Rate for A Sensor
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The sensor manager implements a poller that reads sensor data from a
+sensor at specified poll intervals. An application must call the
+``sensor_set_poll_rate_ms()`` function to set the poll rate for a sensor
+in order for poller to poll the sensor.
+
+**Note:** An application needs to register a `sensor
+listener </os/modules/sensor_framework/sensor_listener_api.html>`__ to
+receive the sensor data that the sensor manager poller reads from a
+sensor.
+
+Data Structures
+~~~~~~~~~~~~~~~
+
+We list the main data structures that the sensor API uses and mention
+things to note. For more details, see the
+`sensor.h <https://github.com/apache/mynewt-core/blob/master/hw/sensor/include/sensor/sensor.h>`__
+include file.
+
+Sensor Object
+^^^^^^^^^^^^^
+
+The ``struct sensor`` data structure represents the sensor device. The
+sensor API, the `sensor manager
+API </os/modules/sensor_framework/sensor_mgr_api.html>`__, and the `sensor
+listener API </os/modules/sensor_framework/sensor_listener_api.html>`__
+all operate on the ``sensor`` object abstraction. A sensor is maintained
+in the sensor manager global sensors list.
+
+.. code:: c
+
+    struct sensor {
+        /* The OS device this sensor inherits from, this is typically a sensor
+         * specific driver.
+         */
+        struct os_dev *s_dev;
+
+        /* The lock for this sensor object */
+        struct os_mutex s_lock;
+
+
+        /* A bit mask describing the types of sensor objects available from this
+         * sensor. If the bit corresponding to the sensor_type_t is set, then this
+         * sensor supports that variable.
+         */
+        sensor_type_t s_types;
+
+        /* Sensor mask of the configured sensor type s*/
+        sensor_type_t s_mask;
+        /**
+         * Poll rate in MS for this sensor.
+         */
+        uint32_t s_poll_rate;
+
+        /* The next time at which we want to poll data from this sensor */
+        os_time_t s_next_run;
+
+        /* Sensor driver specific functions, created by the device registering the
+         * sensor.
+         */
+        struct sensor_driver *s_funcs;
+
+        /* Sensor last reading timestamp */
+        struct sensor_timestamp s_sts;
+
+        /* Sensor interface structure */
+        struct sensor_itf s_itf;
+
+        /* A list of listeners that are registered to receive data off of this
+         * sensor
+         */
+        SLIST_HEAD(, sensor_listener) s_listener_list;
+        /* The next sensor in the global sensor list. */
+        SLIST_ENTRY(sensor) s_next;
+    };
+
+**Note:** There are two fields, ``s_types`` and ``s_mask``, of type
+``sensor_type_t``. The ``s_types`` field is a bit mask that specifies
+the sensor types that the sensor device supports. The ``s_mask`` field
+is a bit mask that specifies the sensor types that the sensor device is
+configured for. Only sensor data for a configured sensor type can be
+read.
+
+Sensor Types
+^^^^^^^^^^^^^^^^^^^
+
+
+The ``sensor_type_t`` type is an enumeration of a bit mask of sensor
+types, with each bit representing one sensor type. Here is an excerpt of
+the enumeration values. See the
+`sensor.h <https://github.com/apache/mynewt-core/blob/master/hw/sensor/include/sensor/sensor.h>`__
+for details:
+
+.. code:: c
+
+
+    typedef enum {
+     /* No sensor type, used for queries */
+        SENSOR_TYPE_NONE                 = 0,
+        /* Accelerometer functionality supported */
+        SENSOR_TYPE_ACCELEROMETER        = (1 << 0),
+        /* Magnetic field supported */
+        SENSOR_TYPE_MAGNETIC_FIELD       = (1 << 1),
+        /* Gyroscope supported */
+        SENSOR_TYPE_GYROSCOPE            = (1 << 2),
+        /* Light supported */
+        SENSOR_TYPE_LIGHT                = (1 << 3),
+        /* Temperature supported */
+        SENSOR_TYPE_TEMPERATURE          = (1 << 4),
+
+                    ....
+
+         SENSOR_TYPE_USER_DEFINED_6       = (1 << 31),
+        /* A selector, describes all sensors */
+        SENSOR_TYPE_ALL                  = 0xFFFFFFFF
+
+    } sensor_type_t;
+
+Sensor Interface
+^^^^^^^^^^^^^^^^
+
+The ``struct sensor_itf`` data structure represents the interface the
+sensor device driver uses to communicate with the sensor device.
+
+.. code:: c
+
+    struct sensor_itf {
+
+        /* Sensor interface type */
+        uint8_t si_type;
+
+        /* Sensor interface number */
+        uint8_t si_num;
+
+        /* Sensor CS pin */
+        uint8_t si_cs_pin;
+
+        /* Sensor address */
+        uint16_t si_addr;
+    };
+
+The ``si_cs_pin`` specifies the chip select pin and is optional. The
+``si_type`` field must be of the following types:
+
+.. code:: c
+
+
+    #define SENSOR_ITF_SPI    (0)
+    #define SENSOR_ITF_I2C    (1)
+    #define SENSOR_ITF_UART   (2) 
+
+Sensor Value Type
+^^^^^^^^^^^^^^^^^^^
+
+
+The ``struct sensor_cfg`` data structure represents the configuration
+sensor type:
+
+.. code:: c
+
+    /**
+     * Configuration structure, describing a specific sensor type off of
+     * an existing sensor.
+     */
+    struct sensor_cfg {
+        /* The value type for this sensor (e.g. SENSOR_VALUE_TYPE_INT32).
+         * Used to describe the result format for the value corresponding
+         * to a specific sensor type.
+         */
+        uint8_t sc_valtype;
+        /* Reserved for future usage */
+        uint8_t _reserved[3];
+    };
+
+Only the ``sc_valtype`` field is currently used and specifies the data
+value type of the sensor data. The valid value types are:
+
+.. code:: c
+
+
+    /**
+     * Opaque 32-bit value, must understand underlying sensor type
+     * format in order to interpret.
+     */
+    #define SENSOR_VALUE_TYPE_OPAQUE (0)
+    /**
+     * 32-bit signed integer
+     */
+    #define SENSOR_VALUE_TYPE_INT32  (1)
+    /**
+     * 32-bit floating point
+     */
+    #define SENSOR_VALUE_TYPE_FLOAT  (2)
+    /**
+     * 32-bit integer triplet.
+     */
+    #define SENSOR_VALUE_TYPE_INT32_TRIPLET (3)
+    /**
+     * 32-bit floating point number triplet.
+     */
+    #define SENSOR_VALUE_TYPE_FLOAT_TRIPLET (4)
+
+Sensor Driver Functions
+^^^^^^^^^^^^^^^^^^^
+
+
+The ``struct sensor_device`` data structure represents the device driver
+functions. The sensor device driver must implement the functions and set
+up the function pointers.
+
+::
+
+    struct sensor_driver {
+        sensor_read_func_t sd_read;
+        sensor_get_config_func_t sd_get_config;
+    };
+
+List of Functions:
+~~~~~~~~~~~~~~~
+
+
+These are the functions defined by the sensor API. Please see the
+`sensor.h <https://github.com/apache/mynewt-core/blob/master/hw/sensor/include/sensor/sensor.h>`__
+include file for details.
+
++------------+----------------+
+| Function   | Description    |
++============+================+
+| sensor\_in | Initializes a  |
+| it         | sensor. A      |
+|            | sensor device  |
+|            | driver uses    |
+|            | this function. |
++------------+----------------+
+| sensor\_se | Sets the       |
+| t\_driver  | sensor types   |
+|            | that the       |
+|            | sensor device  |
+|            | supports, and  |
+|            | the driver     |
+|            | functions to   |
+|            | read data and  |
+|            | to get value   |
+|            | type for a     |
+|            | sensor type. A |
+|            | sensor device  |
+|            | driver uses    |
+|            | this function. |
++------------+----------------+
+| sensor\_se | Sets the       |
+| t\_interfa | sensor         |
+| ce         | interface to   |
+|            | use to         |
+|            | communicate    |
+|            | with the       |
+|            | sensor device. |
+|            | A sensor       |
+|            | device driver  |
+|            | uses this      |
+|            | function.      |
++------------+----------------+
+| sensor\_se | Specifies the  |
+| t\_type\_m | sensor types   |
+| ask        | that a sensor  |
+|            | device is      |
+|            | configured     |
+|            | for. A sensor  |
+|            | device driver  |
+|            | uses this      |
+|            | function.      |
++------------+----------------+
+| sensor\_re | Reads sensor   |
+| ad         | data for the   |
+|            | specified      |
+|            | sensor types.  |
+|            | An application |
+|            | uses this      |
+|            | function.      |
++------------+----------------+
+| sensor\_se | Sets poll rate |
+| t\_poll\_r | for the sensor |
+| ate\_ms    | manager to     |
+|            | poll the       |
+|            | sensor device. |
+|            | An application |
+|            | uses this      |
+|            | function.      |
++------------+----------------+
+| sensor\_lo | Locks the      |
+| ck         | sensor object  |
+|            | for exclusive  |
+|            | access.        |
++------------+----------------+
+| sensor\_un | Unlocks the    |
+| lock       | sensor object. |
++------------+----------------+
+| SENSOR\_GE | Macro that the |
+| T\_DEV     | sensor device  |
+|            | driver uses to |
+|            | retrieve the   |
+|            | os\_dev from   |
+|            | the sensor     |
+|            | object.        |
++------------+----------------+
+| SENSOR\_GE | Macro that the |
+| T\_ITF     | sensor device  |
+|            | driver uses to |
+|            | retrieve the   |
+|            | sensor\_itf    |
+|            | from the       |
+|            | sensor object. |
++------------+----------------+
diff --git a/develop/_sources/os/modules/sensor_framework/sensor_create.rst.txt b/develop/_sources/os/modules/sensor_framework/sensor_create.rst.txt
new file mode 100644
index 000000000..13d3dc302
--- /dev/null
+++ b/develop/_sources/os/modules/sensor_framework/sensor_create.rst.txt
@@ -0,0 +1,256 @@
+Creating and Configuring a Sensor Device
+----------------------------------------
+
+The steps to create and configure OS devices for onboard and off-board
+sensors are very similar. The BSP creates the OS devices for onboard
+sensors and the ``hw/sensor/creator/`` package creates the OS devices
+for off-board sensors.
+
+We discuss how a BSP creates a device for an onboard sensor and then
+discuss what the ``hw/sensor/creator`` package does differently to
+create an off-board sensor. We also discuss how an application can
+change the default configuration for a sensor device.
+
+Creating an Onboard Sensor
+~~~~~~~~~~~~~~~
+
+To create and initialize a sensor device named ``SENSORNAME``, the BSP implements the following in the
+``hal_bsp.c`` file.
+
+**Note**: All example excerpts are from the code that creates the
+LIS2DH12 onboard sensor in the nrf52\_thingy BSP.
+
+1. Define a ``<SENSORNAME>_ONB`` syscfg setting to specify whether the
+onboard sensor named ``SENSORNAME`` is enabled. The setting is disabled
+by default. The setting is used to conditionally include the code to
+create a sensor device for ``SENSORNAME`` when it is enabled by the
+application. For example:
+
+.. code-block:: console
+
+
+    syscfg.defs:
+        LIS2DH12_ONB:
+            description: 'NRF52 Thingy onboard lis2dh12 sensor'
+            value:  0
+
+2. Include the "<sensorname>/<sensorname>.h" header file. The BSP uses
+the functions and data structures that a device driver package exports.
+See the `Sensor Device
+Driver </os/modules/sensor_framework/sensor_driver.html>`__ page for
+details.
+
+3. Declare a variable named ``sensorname`` of type
+``struct sensorname``. For example:
+
+.. code:: c
+
+
+    #if MYNEWT_VAL(LIS2DH12_ONB)
+    #include <lis2dh12/lis2dh12.h>
+    static struct lis2dh12 lis2dh12;
+    #endif
+
+4. Declare and specify the values for a variable of type
+``struct sensor_itf`` that the sensor device driver uses to communicate
+with the sensor device. For example:
+
+.. code:: c
+
+
+    #if MYNEWT_VAL(LIS2DH12_ONB)
+    static struct sensor_itf i2c_0_itf_lis = {
+        .si_type = SENSOR_ITF_I2C,
+        .si_num  = 0,
+        .si_addr = 0x19
+    <br>
+
+5. In the ``hal_bsp_init()`` function, create an OS device for the
+sensor device. Call the ``os_dev_create()`` function and pass the
+following to the function:
+
+-  A pointer to the ``sensorname`` variable from step 3.
+-  A pointer to the ``<sensorname>_init()`` callback function. Note that
+   the device driver package exports this function.
+-  A pointer to the ``struct sensor_itf`` variable from step 4.
+
+For example:
+
+\`\`\`hl\_lines="7 8 9 10 11"
+
+static void sensor\_dev\_create(void) { int rc; (void)rc;
+
+if MYNEWT\_VAL(LIS2DH12\_ONB)
+=============================
+
+::
+
+    rc = os_dev_create((struct os_dev *) &lis2dh12, "lis2dh12_0",
+      OS_DEV_INIT_PRIMARY, 0, lis2dh12_init, (void *)&i2c_0_itf_lis);
+    assert(rc == 0);
+
+endif
+=====
+
+}
+
+void hal\_bsp\_init(void) { int rc;
+
+::
+
+      ...
+
+
+    sensor_dev_create();
+
+}
+
+\`\`\ ``<br> 6. Define a``\ config\_\_sensor()\ ``function to set the default configuration for the sensor. This function opens the OS device for the sensor device, initializes the a``\ cfg\ ``variable of type``\ struct
+\_cfg\ ``with the default settings, calls the``\ \_config()\` driver
+function to configure the device, and closes the device. This function
+is called when the BSP is initialized during sysinit(). For example:
+
+.. code:: c
+
+
+    int
+    config_lis2dh12_sensor(void)
+    {
+    #if MYNEWT_VAL(LIS2DH12_ONB)
+        int rc;
+        struct os_dev *dev;
+        struct lis2dh12_cfg cfg;
+
+        dev = (struct os_dev *) os_dev_open("lis2dh12_0", OS_TIMEOUT_NEVER, NULL);
+        assert(dev != NULL);
+
+        memset(&cfg, 0, sizeof(cfg));
+
+        cfg.lc_s_mask = SENSOR_TYPE_ACCELEROMETER;
+        cfg.lc_rate = LIS2DH12_DATA_RATE_HN_1344HZ_L_5376HZ;
+        cfg.lc_fs = LIS2DH12_FS_2G;
+        cfg.lc_pull_up_disc = 1;
+
+        rc = lis2dh12_config((struct lis2dh12 *)dev, &cfg);
+        SYSINIT_PANIC_ASSERT(rc == 0);
+
+        os_dev_close(dev);
+    #endif
+        return 0;
+    }
+
+7. Add the following in the BSP ``pkg.yml`` file:
+
+-  A conditional package dependency for the
+   ``hw/drivers/sensors/<sensorname>`` package when the
+   ``<SENSORNAME>_ONB`` setting is enabled.
+
+-  The ``config_<sensorname>_sensor`` function with an init stage of 400
+   to the ``pkg.init`` parameter.
+
+For example:
+
+.. code-block:: console
+
+
+    pkg.deps.LIS2DH12_ONB:
+        - hw/drivers/sensors/lis2dh12
+
+    pkg.init:
+        config_lis2dh12_sensor: 400
+
+Creating an Off-Board Sensor
+~~~~~~~~~~~~~~~
+
+
+The steps to create an off-board sensor is very similar to the steps for
+a BSP. The ``hw/sensor/creator/`` package also declares the variables
+and implements the ``config_<sensorname>_sensor()`` function described
+for a BSP. The package does the following differently.
+
+**Note**: All example excerpts are from the code that creates the BNO055
+off-board sensor in ``hw/sensor/creator`` package.
+
+1. Define a ``<SENSORNAME>_OFB`` syscfg setting to specify whether the
+off-board sensor named ``SENSORNAME`` is enabled. This setting is
+disabled by default. The ``hw/sensor/creator`` package uses the setting
+to conditionally include the code to create the sensor device when it is
+enabled by the application.
+
+.. code-block:: console
+
+
+    # Package: hw/sensor/creator
+
+    syscfg.defs:
+          ...
+
+        BNO055_OFB:
+            description: 'BNO055 is present'
+            value : 0
+
+           ...
+
+2. Add the calls to the ``os_dev_create()`` and the
+``config_<sensorname>_sensor()`` functions in the
+``sensor_dev_create()`` function defined in the ``sensor_creator.c``
+file . The ``sensor_dev_create()`` function is the ``hw/sensor/creator``
+package initialization function that ``sysinit()`` calls.
+
+For example:
+
+.. code:: c
+
+
+    void
+    sensor_dev_create(void)
+    {
+        int rc;
+
+         ...
+
+    #if MYNEWT_VAL(BNO055_OFB)
+        rc = os_dev_create((struct os_dev *) &bno055, "bno055_0",
+          OS_DEV_INIT_PRIMARY, 0, bno055_init, (void *)&i2c_0_itf_bno);
+        assert(rc == 0);
+
+        rc = config_bno055_sensor();
+        assert(rc == 0);
+    #endif
+
+         ....
+
+    }
+
+3. Add a conditional package dependency for the
+``hw/drivers/sensors/<sensorname>`` package when the
+``<SENSORNAME>_OFB`` setting is enabled. For example:
+
+.. code-block:: console
+
+
+    pkg.deps.BNO055_OFB:
+        - hw/drivers/sensors/bno055
+
+Reconfiguring A Sensor Device by an Application
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The BSP and sensor creator package use a default configuration and
+enable all supported sensors on a sensor device by default. If the
+default configuration does not meet your application requirements, you
+may change the default configuration for a sensor device. As in the
+``config_<sensorname>_sensor`` function, an application must open the OS
+device for the sensor, set up the values for the ``<sensorname>_cfg``
+structure, call the ``<sensorname>_config()`` device driver function to
+change the configuration in the device, and close the OS device.
+
+We recommend that you copy the ``config_<sensorname>_sensor()`` function
+from the BSP or the sensor creator package in to your application code
+and change the desired settings. Note that you must keep all the fields
+in the ``<sensorname>_cfg`` structure initialized with the default
+values for the settings that you do not want to change.
+
+See the `Changing the Default Configuration for a Sensor
+Tutorial </os/tutorials/sensors/sensor_offboard_config/>`__ for more
+details on how to change the default sensor configuration from an
+application.
diff --git a/develop/_sources/os/modules/sensor_framework/sensor_driver.rst.txt b/develop/_sources/os/modules/sensor_framework/sensor_driver.rst.txt
new file mode 100644
index 000000000..4e71e33fd
--- /dev/null
+++ b/develop/_sources/os/modules/sensor_framework/sensor_driver.rst.txt
@@ -0,0 +1,488 @@
+Sensor Device Driver
+--------------------
+
+A Mynewt sensor device driver uses the sensor framework abstraction and
+API to enable applications to access sensor data from any Mynewt sensor
+device using a common interface. The sensor device driver must also use
+the Mynewt HAL interface to communicate with and control a sensor
+device.
+
+This guide describes what a sensor device driver must implement to
+enable a sensor device within the sensor framework. For information on
+using the HAL API to communicate with a sensor device, see the `Hardware
+Layer Abstraction Guide </os/modules/hal/hal.html>`__.
+
+The ``hw/drivers/sensors/<sensorname>`` package implements the device
+driver for the sensor named ``SENSORNAME``.
+
+**Note:** All example excerpts are from the BNO055 sensor device driver
+package.
+
+Initializing and Configuring a Sensor Device
+~~~~~~~~~~~~~~~
+
+
+A driver package for a sensor named ``SENSORNAME`` must define and
+export the following data structures and functions to initialize and
+configure a device:
+
+-  ``struct <sensorname>``: This data structure represents a sensor
+   device. The structure must include a ``dev`` field of type
+   ``struct os_dev`` and a ``sensor`` field of type ``struct sensor``.
+   For example:
+
+   ::
+
+       struct bno055 {
+           struct os_dev dev;
+           struct sensor sensor;
+           struct bno055_cfg cfg;
+           os_time_t last_read_time;
+       };
+
+-  ``struct <sensorname>_cfg``: This data structure defines the
+   configuration for a sensor device. The structure fields are specific
+   to the device. This is the data structure that a BSP, the sensor
+   creator package, or an application sets to configure a sensor device.
+   For example:
+
+   ::
+
+       struct bno055_cfg {
+           uint8_t bc_opr_mode;
+           uint8_t bc_pwr_mode;
+           uint8_t bc_units;
+           uint8_t bc_placement;
+           uint8_t bc_acc_range;
+           uint8_t bc_acc_bw;
+
+                ...
+
+           uint32_t bc_mask;
+       };
+
+-  ``<sensorname>_init()``: This is the os device initialization
+   callback of type
+   ``int (*os_dev_init_func_t)(struct os_dev *, void *)`` that the
+   ``os_dev_create()`` function calls to initialize the device. For
+   example, the bno055 device driver package defines the following
+   function:
+
+   ::
+
+       int bno055_init(struct os_dev *dev, void *arg)
+
+   The BSP, which creates a device for an onboard sensor, and the sensor
+   creator package, which creates a device for an off-board sensor,
+   calls the ``os_dev_create()`` function and passes:
+
+   -  A pointer to a ``struct <sensorname>`` variable.
+   -  The ``<sensorname>_init()`` function pointer.
+   -  A pointer to a ``struct sensor_itf`` variable that specifies the
+      interface the driver uses to communicate with the sensor device.
+
+   See the `Creating Sensor
+   Devices </os/modules/sensor_framework/sensor_create.html>`__ page for
+   more details.
+
+   The ``os_dev_create()`` function calls the ``<sensorname>_init()``
+   function with a pointer to the ``struct <sensorname>`` for the
+   ``dev`` parameter and a pointer to the ``struct sensor_itf`` for the
+   ``arg`` parameter.
+
+-  ``<sensorname>_config()``: This is the sensor configuration function
+   that the BSP, sensor creator package, or an application calls to
+   configure the sensor device. For example:
+
+   ::
+
+       int bno055_config(struct bno055 *bno055, struct bno055_cfg *cfg)
+
+Defining Functions to Read Sensor Data and Get Sensor Value Type
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A device driver must implement the following functions that the sensor
+API uses to read sensor data and to get the configuration value type for
+a sensor:
+
+-  A function of type
+   ``int (*sensor_read_func_t)(struct sensor *, sensor_type_t, sensor_data_func_t, void *, uint32_t)``
+   that the sensor framework uses to read a single value from a sensor
+   for the specified sensor types. The device driver must implement this
+   function such that it reads, for each sensor type set in the bit
+   mask, a single value from the sensor and calls the
+   ``sensor_data_funct_t`` callback with the opaque callback argument ,
+   the sensor data, and the sensor type.
+
+-  A function of type
+   ``int (*sensor_get_config_func_t)(struct sensor *, sensor_type_t, struct sensor_cfg *)``
+   that returns the value type for the specified sensor type. For
+   example, the value type for a ``SENSOR_VALUE_TYPE_TEMPERATURE``
+   sensor might be ``SENSOR_VALUE_TYPE_FLOAT`` and the value type for a
+   ``SENSOR_TYPE_ACCELEROMETER`` sensor might be
+   ``SENSOR_VALUE_TYPE_FLOAT_TRIPLET``.
+
+The driver initializes a ``sensor_driver`` structure, shown below, with
+the pointers to these functions:
+
+.. code:: c
+
+
+    struct sensor_driver {
+        sensor_read_func_t sd_read;
+        sensor_get_config_func_t sd_get_config;
+    };
+
+For example:
+
+.. code:: c
+
+
+    static int bno055_sensor_read(struct sensor *, sensor_type_t,
+            sensor_data_func_t, void *, uint32_t);
+    static int bno055_sensor_get_config(struct sensor *, sensor_type_t,
+            struct sensor_cfg *);
+
+    static const struct sensor_driver g_bno055_sensor_driver = {
+        bno055_sensor_read,
+        bno055_sensor_get_config
+    };
+
+Registering the Sensor in the Sensor Framework
+~~~~~~~~~~~~~~~
+
+
+The device driver must initialize and register a ``struct sensor``
+object with the sensor manager. See the `Sensor
+API </os/modules/sensor_framework/sensor_api.html>`__ and the `Sensor
+Manager API </os/modules/sensor_framework/sensor_manager_api.html>`__
+pages for more details.
+
+The device driver ``<sensorname>_init()`` function initializes and
+registers a sensor object as follows:
+
+-  Calls the ``sensor_init()`` function to initialize the
+   ``struct sensor`` object.
+
+-  Calls the ``sensor_set_driver()`` function to specify the sensor
+   types that the sensor device supports, and the pointer to the
+   ``struct sensor_driver`` variable that specifies the driver functions
+   to read the sensor data and to get the value type for a sensor.
+
+-  Calls the ``sensor_set_interface()`` function to set the interface
+   that the device driver uses to communicate with the sensor device.
+   The BSP, or sensor creator package for an off-board sensors, sets up
+   the ``sensor_itf`` and passes it to the ``<sensorname>_init()``
+   function. The ``sensor_set_interface()`` functions saves this
+   information in the sensor object. The device driver uses the
+   ``SENSOR_GET_ITF()`` macro to retrieve the sensor\_itf when it needs
+   to communicate with the sensor device.
+
+-  Calls the ``sensor_mgr_register()`` function to register the sensor
+   with the sensor manager.
+
+For example:
+
+\`\`\`hl\_lines="13 20 25 31 32 33 34 35 41 46"
+
+int bno055\_init(struct os\_dev *dev, void *\ arg) { struct bno055
+*bno055; struct sensor *\ sensor; int rc;
+
+::
+
+    if (!arg || !dev) {
+        rc = SYS_ENODEV;
+        goto err;
+    }
+
+    bno055 = (struct bno055 *) dev;
+
+    rc = bno055_default_cfg(&bno055->cfg);
+    if (rc) {
+        goto err;
+    }
+
+    sensor = &bno055->sensor;
+
+    /* Code to setup logging and stats may go here */
+    .... 
+
+    rc = sensor_init(sensor, dev);
+    if (rc != 0) {
+        goto err;
+    }
+
+    /* Add the accelerometer/magnetometer driver */
+    rc = sensor_set_driver(sensor, SENSOR_TYPE_ACCELEROMETER         |
+            SENSOR_TYPE_MAGNETIC_FIELD | SENSOR_TYPE_GYROSCOPE       |
+            SENSOR_TYPE_TEMPERATURE    | SENSOR_TYPE_ROTATION_VECTOR |
+            SENSOR_TYPE_GRAVITY        | SENSOR_TYPE_LINEAR_ACCEL    |
+            SENSOR_TYPE_EULER, (struct sensor_driver *) &g_bno055_sensor_driver);
+    if (rc != 0) {
+        goto err;
+    }
+
+    /* Set the interface */
+    rc = sensor_set_interface(sensor, arg);
+    if (rc) {
+        goto err;
+    }
+
+    rc = sensor_mgr_register(sensor);
+    if (rc != 0) {
+        goto err;
+    }
+
+    return (0);
+
+err: return (rc); }
+
+\`\`\`
+
+Configuring the Sensor Device and Setting the Configured Sensor Types
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+After the BSP, or the sensor creator package for an off-board sensor,
+creates the OS device for a sensor, it calls the
+``<sensorname>_config()`` function to configure sensor device
+information such as mode, power mode, and to set the configured sensor
+types. The ``<sensorname>_config()`` function configures the settings on
+the sensor device. It must also call the ``sensor_set_type_mask()``
+function to set the configured sensor types in the sensor object. The
+configured sensor types are a subset of the sensor types that the sensor
+device supports and the sensor framework only reads sensor data for
+configured sensor types.
+
+**Notes:**
+
+-  The device driver uses the ``SENSOR_GET_ITF()`` macro to retrieve the
+   sensor interface to communicate with the sensor.
+
+-  If a sensor device has a chip ID that can be queried, we recommend
+   that the device driver read and verify the chip ID with the data
+   sheet.
+
+-  An application may call the ``<sensorname>_config()`` function to
+   configure the sensor device.
+
+For example:
+
+\`\`\`hl\_lines="7 9 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
+28 29 37 38 39 40 41 42"
+
+int bno055\_config(struct bno055 *bno055, struct bno055\_cfg *\ cfg) {
+int rc; uint8\_t id; uint8\_t mode; struct sensor\_itf \*itf;
+
+::
+
+    itf = SENSOR_GET_ITF(&(bno055->sensor));
+
+    /* Check if we can read the chip address */
+    rc = bno055_get_chip_id(itf, &id);
+    if (rc) {
+        goto err;
+    }
+
+    if (id != BNO055_ID) {
+        os_time_delay((OS_TICKS_PER_SEC * 100)/1000 + 1);
+
+        rc = bno055_get_chip_id(itf, &id);
+        if (rc) {
+            goto err;
+        }
+
+        if(id != BNO055_ID) {
+            rc = SYS_EINVAL;
+            goto err;
+        }
+    }
+
+           ....
+
+    /* Other code to set the configuration on the sensor device. */
+
+           .... 
+
+    rc = sensor_set_type_mask(&(bno055->sensor), cfg->bc_mask);
+    if (rc) {
+        goto err;
+    }
+
+    bno055->cfg.bc_mask = cfg->bc_mask;
+
+    return 0;
+
+err: return rc; }
+
+\`\`\`
+
+Implementing a Sensor Device Shell Command
+~~~~~~~~~~~~~~~
+
+
+A sensor device driver package may optionally implement a sensor device
+shell command that retrieves and sets sensor device information to aid
+in testing and debugging. While the sensor framework `sensor shell
+command </os/modules/sensor_framework/sensor_shell.html>`__ reads sensor
+data for configured sensor types and is useful for testing an
+application, it does not access low level device information, such as
+reading register values and setting hardware configurations, that might
+be needed to test a sensor device or to debug the sensor device driver
+code. A sensor device shell command implementation is device specific
+but should minimally support reading sensor data for all the sensor
+types that the device supports because the sensor framework ``sensor``
+shell command only reads sensor data for configured sensor types.
+
+The package should:
+
+-  Name the sensor device shell command ``<sensorname>``. For example,
+   the sensor device shell command for the BNO055 sensor device is
+   ``bno055``.
+
+-  Define a ``<SENSORNAME>_CLI`` syscfg setting to specify whether the
+   shell command is enabled and disable the setting by default.
+
+-  Export a ``<sensorname>_shell_init()`` function that an application
+   calls to initialize the sensor shell command when the
+   ``SENSORNAME_CLI`` setting is enabled.
+
+For an example on how to implement a sensor device shell command, see
+the `bno055 shell
+command <https://github.com/apache/mynewt-core/blob/master/hw/drivers/sensors/bno055/src/bno055_shell.c>`__
+source code. See the `Enabling an Off-Board Sensor in an Existing
+Application Tutorial </os/tutorials/sensors/sensor_nrf52_bno055.html>`__
+for examples of the bno055 shell command.
+
+Defining Logs
+~~~~~~~~~~~~~
+
+A sensor device driver should define logs for testing purposes. See the
+`Log OS Guide <os/modules/logs/logs.html>`__ for more details on how to
+add logs. The driver should define a ``<SENSORNAME>_LOG`` syscfg setting
+to specify whether logging is enabled and disable the setting by
+default.
+
+Here is an example from the BNO055 sensor driver package:
+
+\`\`\`hl\_lines="1 2 3 5 6 7 8 9 10 11 12 13 14 28 29 30"
+
+if MYNEWT\_VAL(BNO055\_LOG)
+===========================
+
+include "log/log.h"
+===================
+
+endif
+=====
+
+if MYNEWT\_VAL(BNO055\_LOG) #define LOG\_MODULE\_BNO055 (305) #define
+BNO055\_INFO(...) LOG\_INFO(&\_log, LOG\_MODULE\_BNO055, **VA\_ARGS**)
+#define BNO055\_ERR(...) LOG\_ERROR(&\_log, LOG\_MODULE\_BNO055,
+**VA\_ARGS**) static struct log \_log; #else #define BNO055\_INFO(...)
+#define BNO055\_ERR(...) #endif
+
+::
+
+     ...
+
+int bno055\_init(struct os\_dev *dev, void *\ arg) {
+
+::
+
+      ...
+
+    rc = bno055_default_cfg(&bno055->cfg);
+    if (rc) {
+        goto err;
+    }
+
+if MYNEWT\_VAL(BNO055\_LOG)
+===========================
+
+::
+
+    log_register(dev->od_name, &_log, &log_console_handler, NULL, LOG_SYSLEVEL);
+
+endif
+=====
+
+::
+
+      ...
+
+}
+
+\`\`\`
+
+Defining Stats
+~~~~~~~~~~~~~~~
+
+
+A sensor device driver may also define stats for the sensor. See the
+`Stats OS Guide <os/modules/stats/stats.html>`__ for more details on how
+to add stats. The driver should define a ``<SENSORNAME>_STATS`` syscfg
+setting to specify whether stats is enabled and disable the setting by
+default.
+
+Here is an example from the BNO055 sensor driver package:
+
+\`\`\`hl\_lines="1 2 3 5 6 7 8 9 11 12 13 14 16 17 18 29 30 31 32 33 34
+35 36 37 38 39 "
+
+if MYNEWT\_VAL(BNO055\_STATS)
+=============================
+
+include "stats/stats.h"
+=======================
+
+endif
+=====
+
+if MYNEWT\_VAL(BNO055\_STATS)
+=============================
+
+/\* Define the stats section and records \*/
+STATS\_SECT\_START(bno055\_stat\_section) STATS\_SECT\_ENTRY(errors)
+STATS\_SECT\_END
+
+/\* Define stat names for querying \*/
+STATS\_NAME\_START(bno055\_stat\_section)
+STATS\_NAME(bno055\_stat\_section, errors)
+STATS\_NAME\_END(bno055\_stat\_section)
+
+/\* Global variable used to hold stats data \*/
+STATS\_SECT\_DECL(bno055\_stat\_section) g\_bno055stats; #endif
+
+...
+
+int bno055\_init(struct os\_dev *dev, void *\ arg) {
+
+::
+
+      ...
+
+if MYNEWT\_VAL(BNO055\_STATS)
+=============================
+
+::
+
+    /* Initialise the stats entry */
+    rc = stats_init(
+        STATS_HDR(g_bno055stats),
+        STATS_SIZE_INIT_PARMS(g_bno055stats, STATS_SIZE_32),
+        STATS_NAME_INIT_PARMS(bno055_stat_section));
+    SYSINIT_PANIC_ASSERT(rc == 0);
+    /* Register the entry with the stats registry */
+    rc = stats_register(dev->od_name, STATS_HDR(g_bno055stats));
+    SYSINIT_PANIC_ASSERT(rc == 0);
+
+endif
+=====
+
+::
+
+      ...
+
+}
+
+\`\`\`
diff --git a/develop/_sources/os/modules/sensor_framework/sensor_framework_overview.rst.txt b/develop/_sources/os/modules/sensor_framework/sensor_framework_overview.rst.txt
new file mode 100644
index 000000000..a5b1cfe94
--- /dev/null
+++ b/develop/_sources/os/modules/sensor_framework/sensor_framework_overview.rst.txt
@@ -0,0 +1,83 @@
+Mynewt Sensor Framework Overview
+================================
+
+The Mynewt sensor framework is an abstraction layer between an
+application and sensor devices. The sensor framework provides the
+following support:
+
+-  A set of APIs that allows developers to develop sensor device drivers
+   within a common framework and enables application developers to
+   develop applications that can access sensor data from any Mynewt
+   sensor device using a common interface.
+
+-  Support for onboard and off-board sensors.
+
+-  An OIC sensor server that exposes sensors as OIC resources and
+   handles OIC CoAP requests for the sensor resources. A developer can
+   easily develop a MyNewt OIC sensor enabled application that serves
+   sensor resource requests from OIC client applications.
+
+-  A sensor shell command and optional sensor device driver shell
+   commands to view sensor data and manage sensor device settings for
+   testing and debugging sensor enabled applications and sensor device
+   drivers.
+
+|Alt Layout - Sensor Framework|
+
+Overview of Sensor Support Packages
+-----------------------------------
+
+In this guide and the package source code, we use ``SENSORNAME`` (all
+uppercase) to refer to a sensor product name. For each sensor named
+``SENSORNAME``:
+
+-  The package name for the sensor device driver is ``<sensorname>``.
+   All functions and data structures that the sensor device driver
+   exports are prefixed with ``<sensorname>``.
+
+-  All syscfg settings defined for the sensor are prefixed with
+   ``<SENSORNAME>``. For example:
+
+   -  The ``<SENSORNAME>_CLI`` syscfg setting defined in the device
+      driver package to specify whether to enable the sensor device
+      shell command.
+   -  The ``<SENSORNAME>_ONB`` syscfg setting defined in the BSP to
+      specify whether the onboard sensor is enabled.
+   -  The ``<SENSORNAME>_OFB`` syscfg setting defined in the sensor
+      creator package to specify whether to enable the off-board sensor.
+
+The following Mynewt packages provide sensor support and are needed to
+build a sensor enabled application.
+
+-  ``hw/sensor``: The sensor framework package. This package implements
+   the `sensor framework
+   APIs </os/modules/sensor_framework/sensor_api.html>`__, the `OIC sensor
+   server </os/modules/sensor_framework/sensor_oic.html>`__, and the
+   `sensor shell
+   command </os/modules/sensor_framework/sensor_shell.html>`__.
+
+-  ``hw/sensor/creator``: The sensor creator package. This package
+   supports off-board sensor devices. It creates the OS devices for the
+   sensor devices that are enabled in an application and configures the
+   sensor devices with default values. See the `Creating and Configuring
+   a Sensor Device </os/modules/sensor_framework/sensor_create.html>`__
+   page for more information.
+
+   **Note:** This package is only needed if you are building an
+   application with off-board sensors enabled.
+
+-  ``hw/bsp/``: The BSP for boards that support onboard sensors. The BSP
+   creates the OS devices for the onboard sensors that the board
+   supports and configures the sensors with default values. See the
+   `Creating and Configuring a Sensor
+   Device </os/modules/sensor_framework/sensor_create.html>`__ page for
+   more information.
+
+-  ``hw/drivers/sensors/*``: These are the sensor device driver
+   packages. The ``hw/drivers/sensors/<sensorname>`` package is the
+   device driver for a sensor named ``SENSORNAME``. See the `Sensor
+   Device Driver </os/modules/sensor_framework/sensor_driver.html>`__ page
+   for more information.
+
+.. |Alt Layout - Sensor Framework| image:: /os/modules/sensor_framework/sensor_framework.png
+
diff --git a/develop/_sources/os/modules/sensor_framework/sensor_listener_api.rst.txt b/develop/_sources/os/modules/sensor_framework/sensor_listener_api.rst.txt
new file mode 100644
index 000000000..08f368d78
--- /dev/null
+++ b/develop/_sources/os/modules/sensor_framework/sensor_listener_api.rst.txt
@@ -0,0 +1,88 @@
+Sensor Listener API
+-------------------
+
+The sensor listener API allows an application to register listeners for
+sensors and get notified whenever sensor data are read from the sensor
+devices. An application calls the ``sensor_register_listener()``
+function to register a listener that specifies the callback function and
+the types of sensor data to listen for from a sensor device.
+
+When the ``sensor_read()`` function defined in the `sensor
+API </os/modules/sensor_framework/sensor_api.html>`__ is called to read
+the sensor data for the specified sensor types from a sensor, the
+``sensor_read()`` function calls the listener callback, passing it the
+sensor data that is read from the sensor.
+
+An application calls the ``sensor_unregister_listener()`` function to
+unregister a listener if it no longer needs notifications when data is
+read from a sensor.
+
+An application can use listeners in conjunction with the sensor manager
+poller. An application can configure a polling interval for a sensor and
+register a listener for the sensor types it wants to listen for from the
+sensor. When the sensor manager poller reads the sensor data from the
+sensor at each polling interval, the listener callback is called with
+the sensor data passed to it.
+
+An application can also use listeners for other purposes. For example,
+an application that uses the OIC sensor server may want to register
+listeners. The OIC sensor server handles all the OIC requests for the
+sensor resources and an application does not know about the OIC
+requests. An application can install a listener if it wants to know
+about a request for a sensor resource or use the sensor data that the
+OIC sensor server reads from the sensor.
+
+Data Structures
+~~~~~~~~~~~~~~~
+
+The ``struct sensor_listener`` data structure represents a listener. You
+must initialize a listener structure with a bit mask of the sensor types
+to listen for from a sensor, a callback function that is called when
+sensor data is read for one of the sensor types, and an opaque argument
+to pass to the callback before you call the
+``sensor_register_listener()`` function to register a listener.
+
+.. code:: c
+
+
+    struct sensor_listener {
+    {
+        /* The type of sensor data to listen for, this is interpreted as a
+         * mask, and this listener is called for all sensor types on this
+         * sensor that match the mask.
+         */
+        sensor_type_t sl_sensor_type;
+
+        /* Sensor data handler function, called when has data */
+        sensor_data_func_t sl_func;
+
+        /* Argument for the sensor listener */
+        void *sl_arg;
+
+        /* Next item in the sensor listener list.  The head of this list is
+         * contained within the sensor object.
+         */
+        SLIST_ENTRY(sensor_listener) sl_next;
+    };
+
+List of Functions:
+~~~~~~~~~~~~~~~~~~
+
+These are the functions defined by the sensor listener API. Please see
+the
+`sensor.h <https://github.com/apache/mynewt-core/blob/master/hw/sensor/include/sensor/sensor.h>`__
+include file for details.
+
++------------+----------------+
+| Function   | Description    |
++============+================+
+| sensor\_re | Registers the  |
+| gister\_li | specified      |
+| stener     | listener for a |
+|            | given sensor.  |
++------------+----------------+
+| sensor\_un | Unregisters    |
+| register\_ | the specified  |
+| listener   | listener for a |
+|            | given sensor.  |
++------------+----------------+
diff --git a/develop/_sources/os/modules/sensor_framework/sensor_mgr_api.rst.txt b/develop/_sources/os/modules/sensor_framework/sensor_mgr_api.rst.txt
new file mode 100644
index 000000000..e95f6672b
--- /dev/null
+++ b/develop/_sources/os/modules/sensor_framework/sensor_mgr_api.rst.txt
@@ -0,0 +1,185 @@
+Sensor Manager API
+------------------
+
+The sensor manager API manages the sensors that are enabled in an
+application. The API allows a sensor device to register itself with the
+sensor manager and an application to look up the sensors that are
+enabled. The sensor manager maintains a list of sensors, each
+represented by a ``struct sensor`` object defined in the the `Sensor
+API </os/modules/sensor_framework/sensor_api.html>`__.
+
+Registering Sensors
+~~~~~~~~~~~~~~~~~~~
+
+When the BSP or the sensor creator package creates a sensor device in
+the kernel, via the ``os_dev_create()`` function, the sensor device init
+function must initialize a ``struct sensor`` object and call the
+``sensor_mgr_register()`` function to register itself with the sensor
+manager.
+
+Looking Up Sensors
+~~~~~~~~~~~~~~~~~~
+
+An application uses the sensor manager API to look up the
+``struct sensor`` object for a sensor. The `sensor
+API </os/modules/sensor_framework/sensor_api.html>`__ and the `sensor
+listener API </os/modules/sensor_framework/sensor_listener_api.html>`__
+perform operations on a sensor object. The sensor manager API provides
+the following sensor lookup functions:
+
+-  ``sensor_mgr_find_next_bytype()``: This function returns the next
+   sensor, on the sensors list, whose configured sensor types match one
+   of the specified sensor types to search for. The sensor types to
+   search are specified as a bit mask. You can use the function to
+   search for the first sensor that matches or to iterate through the
+   list and search for all sensors that match. If you are iterating
+   through the list to find the next match, you must call the
+   ``sensor_mgr_lock()`` function to lock the sensors list before you
+   start the iteration and call the ``sensor_mgr_unlock()`` unlock the
+   list when you are done. You do not need to lock the sensor list if
+   you use the function to find the first match because the
+   ``sensor_mgr_find_next_bytype()`` locks the sensors list before the
+   search.
+
+-  ``sensor_mgr_find_next_bydevname()``: This function returns the
+   sensor that matches the specified device name.
+
+   **Note:** There should only be one sensor that matches a specified
+   device name even though the function name suggests that there can be
+   multiple sensors with the same device name.
+
+Checking Configured Sensor Types
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+An application may configure a sensor device to only support a subset of
+supported sensor types. The ``sensor_mgr_match_bytype()`` function
+allows an application to check whether a sensor is configured for one of
+the specified sensor types. The type to check is a bit mask and can
+include multiple types. The function returns a match when there is a
+match for one, not all, of the specified types in the bit mask.
+
+Polling Sensors
+~~~~~~~~~~~~~~~
+
+The sensor manager implements a poller that reads sensor data from
+sensors at specified poll rates. If an application configures a sensor
+to be polled, using the ``sensor_set_poll_rate_ms()`` function defined
+in the `sensor API </os/modules/sensor_framework/sensor_api.html>`__, the
+sensor manager poller will poll and read the configured sensor data from
+the sensor at the specified interval.
+
+The sensor manager poller uses an OS callout to set up a timer event to
+poll the sensors, and uses the default OS event queue and the OS main
+task to process timer events. The ``SENSOR_MGR_WAKEUP_RATE`` syscfg
+setting specifies the default wakeup rate the sensor manager poller
+wakes up to poll sensors. The sensor manager poller uses the poll rate
+for a sensor if the sensor is configured for a higher poll rate than the
+``SENSOR_MGR_WAKEUP_RATE`` setting value.
+
+**Note:** An application needs to register a `sensor
+listener </os/modules/sensor_framework/sensor_listener_api.html>`__ to
+receive the sensor data that the sensor manager poller reads from a
+sensor.
+
+Data Structures
+~~~~~~~~~~~~~~~
+
+The sensor manager API uses the ``struct sensor`` and ``sensor_type_t``
+types.
+
+List of Functions:
+~~~~~~~~~~~~~~~~~~
+
+These are the functions defined by the sensor manager API. Please see
+the
+`sensor.h <https://github.com/apache/mynewt-core/blob/master/hw/sensor/include/sensor/sensor.h>`__
+include file for details.
+
++------------+----------------+
+| Function   | Description    |
++============+================+
+| sensor\_mg | Returns the    |
+| r\_find\_n | next sensor    |
+| ext\_bynam | from the       |
+| e          | sensor manager |
+|            | list that      |
+|            | matches the    |
+|            | specified      |
+|            | device name.   |
+|            | An application |
+|            | uses this      |
+|            | function. You  |
+|            | must call the  |
+|            | sensor\_mgr\_l |
+|            | ock()          |
+|            | function to    |
+|            | lock the       |
+|            | sensor manager |
+|            | list if you    |
+|            | are iterating  |
+|            | through the    |
+|            | sensor manager |
+|            | list.          |
++------------+----------------+
+| sensor\_mg | Returns the    |
+| r\_find\_n | next sensor    |
+| ext\_bytyp | from the       |
+| e          | sensor manager |
+|            | list that      |
+|            | matches one of |
+|            | the specified  |
+|            | sensor types.  |
+|            | An application |
+|            | uses this      |
+|            | function.You   |
+|            | must call the  |
+|            | sensor\_mgr\_l |
+|            | ock()          |
+|            | function to    |
+|            | lock the       |
+|            | sensor manager |
+|            | list if you    |
+|            | are iterating  |
+|            | through the    |
+|            | sensor manager |
+|            | list.          |
++------------+----------------+
+| sensor\_mg | Locks the      |
+| r\_lock    | sensor manager |
+|            | list. An       |
+|            | application    |
+|            | uses this      |
+|            | function.      |
++------------+----------------+
+| sensor\_mg | Indicates      |
+| r\_match\_ | whether a      |
+| bytype     | given sensor   |
+|            | is configured  |
+|            | for one of the |
+|            | specified      |
+|            | sensor types.  |
+|            | An application |
+|            | uses this      |
+|            | function.      |
+|            | Note: The      |
+|            | function takes |
+|            | a pointer to a |
+|            | variable with  |
+|            | the bit mask   |
+|            | of the types   |
+|            | to match.      |
++------------+----------------+
+| sensor\_mg | Registers a    |
+| r\_registe | sensor object. |
+| r          | A sensor       |
+|            | device driver  |
+|            | uses this      |
+|            | function.      |
++------------+----------------+
+| sensor\_mg | Unlocks the    |
+| r\_unlock  | sensor manager |
+|            | list. An       |
+|            | application    |
+|            | uses this      |
+|            | function.      |
++------------+----------------+
diff --git a/develop/_sources/os/modules/sensor_framework/sensor_oic.rst.txt b/develop/_sources/os/modules/sensor_framework/sensor_oic.rst.txt
new file mode 100644
index 000000000..577daba49
--- /dev/null
+++ b/develop/_sources/os/modules/sensor_framework/sensor_oic.rst.txt
@@ -0,0 +1,35 @@
+OIC Sensor Support
+------------------
+
+The sensor framework provides support for an OIC enabled application to
+host the sensor devices as OIC resources. The sensor framework provides
+the following OIC support:
+
+-  Creates OIC resources for each sensor device that is enabled in the
+   application. It creates an OIC discoverable and observable resource
+   for each sensor type that the sensor device is configured for.
+-  Processes CoAP GET requests for the sensor OIC resources. It reads
+   the sensor data samples, encodes the data, and sends back a response.
+
+The sensor package (``hw/sensor``) defines the following syscfg settings
+for OIC support:
+
+-  ``SENSOR_OIC``: This setting specifies whether to enable sensor OIC
+   server support. The setting is enabled by default. The sensor package
+   includes the ``net/oic`` package for the OIC support when this
+   setting is enabled. The ``OC_SERVER`` syscfg setting that specifies
+   whether to enable OIC server support in the ``net/oic`` package must
+   also be enabled.
+-  ``SENSOR_OIC_OBS_RATE``: Sets the OIC server observation rate.
+
+An application defines an OIC application initialization handler that
+sets up the OIC resources it supports and calls the ``oc_main_init()``
+function to initialize the OC server. The application must call the
+``sensor_oic_init()`` function from the the OIC application
+initialization handler. The ``sensor_oic_init()`` function creates all
+the OIC resources for the sensors and registers request callbacks to
+process CoAP GET requests for the sensor OIC resources.
+
+See the `Enabling OIC Sensor Data Monitoring
+Tutorials </os/tutorials/sensors/sensor_oic_overview.html>`__ to run and
+develop sample OIC sensor server applications.
diff --git a/develop/_sources/os/modules/sensor_framework/sensor_shell.rst.txt b/develop/_sources/os/modules/sensor_framework/sensor_shell.rst.txt
new file mode 100644
index 000000000..5d6b67d6e
--- /dev/null
+++ b/develop/_sources/os/modules/sensor_framework/sensor_shell.rst.txt
@@ -0,0 +1,12 @@
+Sensor Shell Command
+--------------------
+
+The sensor framework, ``hw/sensor``, package implements a ``sensor``
+shell command. The command allows a user to view the sensors that are
+enabled in an application and to read the sensor data from the sensors.
+See the `Enabling an Off-Board Sensor in an Existing Application
+Tutorial </os/tutorials/sensors/sensor_nrf52_bno055.html>`__
+
+The package defines the ``SENSOR_CLI`` syscfg setting to specify whether
+to enable to ``sensor`` shell command and enables the setting by
+default.
diff --git a/develop/_sources/os/modules/shell/shell.rst.txt b/develop/_sources/os/modules/shell/shell.rst.txt
new file mode 100644
index 000000000..3f2fea2b0
--- /dev/null
+++ b/develop/_sources/os/modules/shell/shell.rst.txt
@@ -0,0 +1,374 @@
+Shell
+=====
+
+The shell runs above the console and provides two functionalities:
+
+-  Processes console input. See the `Enabling the Console and Shell
+   tutorial </os/tutorials/blinky_console.html>`__ for example of the
+   shell.
+-  Implements the `newtmgr <../../../newtmgr/overview.html>`__ line
+   protocol over serial transport.
+
+The shell uses the OS default event queue for shell events and runs in
+the context of the main task. An application can, optionally, specify a
+dedicated event queue for the shell to use.
+
+The ``sys/shell`` package implements the shell. To use the shell you
+must:
+
+-  Include the ``sys/shell`` package.
+-  Set the ``SHELL_TASK`` syscfg setting value to 1 to enable the shell.
+
+**Note:** The functions for the shell API are only compiled and linked
+with the application when the ``SHELL_TASK`` setting is enabled. When
+you develop a package that supports shell commands, we recommend that
+your pakcage define:
+
+1. A syscfg setting that enables shell command processing for your
+   package, with a restriction that when this setting is enabled, the
+   ``SHELL_TASK`` setting must also be enabled.
+2. A conditional dependency on the ``sys/shell`` package when the
+   setting defined in 1 above is enabled.
+
+Here are example definitions from the ``syscfg.yml`` and ``pkg.yml``
+files for the ``sys/log/full`` package. It defines the ``LOG_CLI``
+setting to enable the log command in the shell:
+
+.. code-block:: console
+
+    # sys/log/full syscfg.yml
+     LOG_CLI:
+            description: 'Expose "log" command in shell.'
+            value: 0
+            restrictions:
+                - SHELL_TASK
+
+    # sys/log/full pkg.yml
+    pkg.deps.LOG_CLI:
+        - sys/shell
+
+Description
+-----------
+
+Processing Console Input Commands
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The shell's first job is to direct incoming commands to other
+subsystems. It parses the incoming character string into tokens and uses
+the first token to determine the subsystem command handler to call to
+process the command. When the shell calls the command handler, it passes
+the other tokens as arguments to the handler.
+
+Registering Command Handlers
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A package that implements a shell command must register a command
+handler to process the command.
+
+**New in release 1.1**: The shell supports the concept of modules and
+allows a package to group shell commands under a name space. To run a
+command in the shell, you enter the module name and the command name.
+You can set a default module, using the ``select`` command, so that you
+only need to enter the command name to run a command from the default
+module. You can switch the module you designate as the default module.
+
+There are two methods to register command handlers in Mynewt 1.1:
+
+-  Method 1 (New in release 1.1): Define and register a set of commands
+   for a module. This method allows grouping shell commands into
+   namespaces. A package calls the ``shell_register()`` function to
+   define a module and register the command handlers for the module.
+
+   **Note:** The ``SHELL_MAX_MODULES`` syscfg setting specifies the
+   maximum number of modules that can be registered. You can increase
+   this value if your application and the packages it includes register
+   more than the default value.
+
+-  Method 2: Register a command handler without defining a module. A
+   package calls the ``shell_cmd_register()`` function defined in Mynewt
+   1.0 to register a command handler. When a shell command is registered
+   using this method, the command is automatically added to the
+   ``compat`` module. The ``compat`` module supports backward
+   compatibility for all the shell commands that are registered using
+   the ``shell_cmd_register()`` function.
+
+   **Notes:**
+
+   -  The ``SHELL_COMPAT`` syscfg setting must be set to 1 to enable
+      backward compatibility support and the ``shell_cmd_register()``
+      function. Since Mynewt packages use method 2 to register shell
+      commands and Mynewt plans to continue this support in future
+      releases, you must keep the default setting value of 1.
+
+   -  The ``SHELL_MAX_COMPAT_COMMANDS`` syscfg setting specifies the
+      maximum number of command handlers that can be registered using
+      this method. You can increase this value if your application and
+      the packages it includes register more than the default value.
+
+Enabling Help Information for Shell Commands
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+The shell supports command help. A package that supports command help
+initializes the ``struct shell_cmd`` data structure with help text for
+the command before it registers the command with the shell. The
+``SHELL_CMD_HELP`` syscfg setting enables or disbles help support for
+all shell commands. The feature is enabled by default.
+
+**Note:** A package that implements help for a shell command should only
+initialize the help data structures within the
+``#if MYNEWT_VAL(SHELL_CMD_HELP)`` preprocessor directive.
+
+Enabling the OS and Prompt Shell Modules
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The shell implements the ``os`` and ``prompt`` modules. These modules
+support the shell commands to view OS resources.
+
+The ``os`` module implements commands to list task and mempool usage
+information and to view and change the time of day. The
+``SHELL_OS_MODULE`` syscfg setting enables or disables the module. The
+module is enabled by default.
+
+The ``prompt`` module implements the ``ticks`` command that controls
+whether to print the current os ticks in the prompt. The
+``SHELL_PROMPT_MODULE`` syscfg setting enables or disables this module.
+The module is disabled by default.
+
+Enabling Command Name Completion
+^^^^^^^^^^^^^^^^^^^
+
+
+The shell supports command name completion. The ``SHELL_COMPLETION``
+syscfg setting enables or disables the feature. The feature is enabled
+by default.
+
+Processing Newtmgr Line Protocol Over Serial Transport
+~~~~~~~~~~~~~~~
+
+
+The shell's second job is to handle packet framing, encoding, and
+decoding of newtmgr protocol messages that are sent over the console.
+The Newtmgr serial transport package
+(``mgmt/newtmgr/transport/newtmgr_shell``) calls the
+``shell_nlip_input_register()`` function to register a handler that the
+shell calls when it receives newtmgr request messages.
+
+The ``SHELL_NEWTMGR`` syscfg setting specifies whether newtmgr is
+enabled over shell. The setting is enabled by default.
+
+Data Structures
+---------------
+
+The ``struct shell_cmd`` data structure represents a shell command and
+is used to register a command.
+
+.. code-block:: console
+
+    struct shell_cmd {
+        const char *sc_cmd;
+        shell_cmd_func_t sc_cmd_func;
+        const struct shell_cmd_help *help;
+    };
+
++------------+----------------+
+| Element    | Description    |
++============+================+
+| ``sc_cmd`` | Character      |
+|            | string of the  |
+|            | command name.  |
++------------+----------------+
+| ``sc_cmd_f | Pointer to the |
+| unc_t``    | command        |
+|            | handler that   |
+|            | processes the  |
+|            | command.       |
++------------+----------------+
+| ``help``   | Pointer to the |
+|            | shell\_cmd\_he |
+|            | lp             |
+|            | structure. If  |
+|            | the pointer is |
+|            | NULL, help     |
+|            | information is |
+|            | not provided.  |
++------------+----------------+
+
+The ``sc_cmd_func_t`` is the command handler function type.
+
+.. code:: c
+
+    typedef int (*shell_cmd_func_t)(int argc, char *argv[]);
+
+The ``argc`` parameter specifies the number of command line arguments
+and the ``argv`` parameter is an array of character pointers to the
+command arguments. The ``SHELL_CMD_ARGC_MAX`` syscfg setting specifies
+the maximum number of command line arguments that any shell command can
+have. This value must be increased if a shell command requires more than
+``SHELL_CMD_ARGC_MAX`` number of command line arguments.
+
+The ``struct shell_module`` data structure represents a shell module. It
+is used to register a shell module and the shell commands for the
+module.
+
+.. code:: c
+
+    struct shell_module {
+        const char *name;
+        const struct shell_cmd *commands;
+    };
+
++------------+----------------+
+| Element    | Description    |
++============+================+
+| ``name``   | Character      |
+|            | string of the  |
+|            | module name.   |
++------------+----------------+
+| ``commands | Array of       |
+| ``         | ``shell_cmd``  |
+|            | structures     |
+|            | that specify   |
+|            | the commands   |
+|            | for the        |
+|            | module. The    |
+|            | ``sc_cmd``,    |
+|            | ``sc_cmd_func` |
+|            | `,             |
+|            | and ``help``   |
+|            | fields in the  |
+|            | last entry     |
+|            | must be set to |
+|            | NULL to        |
+|            | indicate the   |
+|            | last entry in  |
+|            | the array.     |
++------------+----------------+
+
+**Note**: A command handler registered via the ``shell_cmd_register()``
+function is automatically added to the ``compat`` module.
+
+The ``struct shell_param`` and ``struct shell_cmd_help`` data
+structures hold help texts for a shell command.
+
+.. code:: c
+
+    struct shell_param {
+        const char *param_name;
+        const char *help;
+    };`
+
++------------------+--------------------------------------------------------+
+| Element          | Description                                            |
++==================+========================================================+
+| ``param_name``   | Character string of the command parameter name.        |
++------------------+--------------------------------------------------------+
+| ``help``         | Character string of the help text for the parameter.   |
++------------------+--------------------------------------------------------+
+
+.. code:: c
+
+    struct shell_cmd_help {
+        const char *summary;
+        const char *usage;
+        const struct shell_param *params;
+    };
+
++------------+----------------+
+| Element    | Description    |
++============+================+
+| ``summary` | Character      |
+| `          | string of a    |
+|            | short          |
+|            | description of |
+|            | the command.   |
++------------+----------------+
+| ``usage``  | Character      |
+|            | string of a    |
+|            | usage          |
+|            | description    |
+|            | for the        |
+|            | command.       |
++------------+----------------+
+| ``params`` | Array of       |
+|            | ``shell_param` |
+|            | `              |
+|            | structures     |
+|            | that describe  |
+|            | each parameter |
+|            | for the        |
+|            | command. The   |
+|            | last           |
+|            | ``struct shell |
+|            | _param``       |
+|            | in the array   |
+|            | must have the  |
+|            | ``param_name`` |
+|            | and ``help``   |
+|            | fields set to  |
+|            | NULL to        |
+|            | indicate the   |
+|            | last entry in  |
+|            | the array.     |
++------------+----------------+
+
+ ##List of Functions
+
+The functions available in this OS feature are:
+
++------------+----------------+
+| Function   | Description    |
++============+================+
+| `shell\_cm | Registers a    |
+| d\_registe | handler for    |
+| r <shell_c | incoming       |
+| md_registe | console        |
+| r.html>`__   | commands.      |
++------------+----------------+
+| `shell\_ev | Specifies a    |
+| q\_set <sh | dedicated      |
+| ell_evq_se | event queue    |
+| t.html>`__   | for shell      |
+|            | events.        |
++------------+----------------+
+| `shell\_nl | Registers a    |
+| ip\_input\ | handler for    |
+| _register  | incoming       |
+| <shell_nli | newtmgr        |
+| p_input_re | messages.      |
+| gister.html> |                |
+| `__        |                |
++------------+----------------+
+| `shell\_nl | Queue outgoing |
+| ip\_output | newtmgr        |
+|  <shell_nl | message for    |
+| ip_output. | transmission.  |
+| md>`__     |                |
++------------+----------------+
+| `shell\_re | Registers a    |
+| gister <sh | shell module   |
+| ell_regist | and the        |
+| er.html>`__  | commands for   |
+|            | the module.    |
++------------+----------------+
+| `shell\_re | Registers a    |
+| gister\_ap | command        |
+| p\_cmd\_ha | handler as an  |
+| ndler <she | application    |
+| ll_registe | handler. The   |
+| r_app_cmd_ | shell calls    |
+| handler.md | this handler   |
+| >`__       | when a command |
+|            | does not have  |
+|            | a handler      |
+|            | registered.    |
++------------+----------------+
+| `shell\_re | Registers a    |
+| gister\_de | module with a  |
+| fault\_mod | specified name |
+| ule <shell | as the default |
+| _register_ | module.        |
+| default_mo |                |
+| dule.html>`_ |                |
+| _          |                |
++------------+----------------+
diff --git a/develop/_sources/os/modules/shell/shell_cmd_register.rst.txt b/develop/_sources/os/modules/shell/shell_cmd_register.rst.txt
new file mode 100644
index 000000000..03e132aab
--- /dev/null
+++ b/develop/_sources/os/modules/shell/shell_cmd_register.rst.txt
@@ -0,0 +1,55 @@
+shell\_cmd\_register 
+----------------------
+
+.. code-block:: console
+
+    int shell_cmd_register(struct shell_cmd *sc)
+
+Registers a handler for incoming shell commands. The function adds the
+shell command to the ``compat`` module.
+
+The caller must initialize the ``shell_cmd`` structure with the command
+name and the pointer to the command handler. The caller must not free
+the memory for the command name string because the shell keeps a
+reference to the memory for internal use.
+
+Arguments
+^^^^^^^^^
+
++-------------+-----------------------------------------------------------------------+
+| Arguments   | Description                                                           |
++=============+=======================================================================+
+| ``sc``      | Pointer to the ``shell_cmd`` structure for the command to register.   |
++-------------+-----------------------------------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns 0 on success.
+
+Non-zero on failure. #### Notes
+
+The ``SHELL_MAX_COMPAT_COMMANDS`` syscfg setting specifies the maximum
+number of shell commands that the ``compat`` module supports. This
+function aborts if the number of handlers registered exceeds this limit.
+You can increase the value for this setting.
+
+Example
+^^^^^^^^^^^^^^^^^^^
+
+
+.. code-block:: console
+
+    static int fs_ls_cmd(int argc, char **argv);
+
+    static struct shell_cmd fs_ls_struct = {
+        .sc_cmd = "ls",
+        .sc_cmd_func = fs_ls_cmd
+    };
+
+    void
+    fs_cli_init(void)
+    {
+        shell_cmd_register(&fs_ls_struct);
+        ....
+    }
diff --git a/develop/_sources/os/modules/shell/shell_evq_set.rst.txt b/develop/_sources/os/modules/shell/shell_evq_set.rst.txt
new file mode 100644
index 000000000..920fbc6ce
--- /dev/null
+++ b/develop/_sources/os/modules/shell/shell_evq_set.rst.txt
@@ -0,0 +1,30 @@
+shell\_evq\_set
+----------------
+
+.. code:: c
+
+    void shell_evq_set(struct os_eventq *evq)
+
+Specifies an event queue to use for shell events. You must create the
+event queue and the task to process events from the queue before calling
+this function.
+
+By default, shell uses the OS default event queue and executes in the
+context of the main task that Mynewt creates.
+
+Arguments
+^^^^^^^^^
+
++-------------+-------------------------------------------------------+
+| Arguments   | Description                                           |
++=============+=======================================================+
+| ``evq``     | Pointer to the event queue to use for shell events.   |
++-------------+-------------------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+None
+
+Notes
+^^^^^
diff --git a/develop/_sources/os/modules/shell/shell_nlip_input_register.rst.txt b/develop/_sources/os/modules/shell/shell_nlip_input_register.rst.txt
new file mode 100644
index 000000000..266424dd7
--- /dev/null
+++ b/develop/_sources/os/modules/shell/shell_nlip_input_register.rst.txt
@@ -0,0 +1,58 @@
+shell\_nlip\_input\_register 
+------------------------------
+
+.. code-block:: console
+
+    int shell_nlip_input_register(shell_nlip_input_func_t nf, void *arg)
+
+Registers a handler for incoming newtmgr messages. The shell receives
+the incoming data stream from the UART, and when it detects a NLIP
+frame, decodes the datagram, and calls the registered handler,\ ``nf``.
+
+The handler function is of type
+``int (*shell_nlip_input_func_t)(struct os_mbuf *m, void *arg)``. The
+shell passes the incoming newtmgr message stored in a ``os_mbuf`` and
+the ``arg`` that was passed to the ``shell_nlip_input_register()``
+function as arguments to the handler function.
+
+Arguments
+^^^^^^^^^
+
++-------------+---------------------------------------------------------------------+
+| Arguments   | Description                                                         |
++=============+=====================================================================+
+| ``nf``      | Handler for incoming newtmgr datagrams.                             |
++-------------+---------------------------------------------------------------------+
+| ``arg``     | Argument that is passed to this handler, along with the datagram.   |
++-------------+---------------------------------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns 0 on success.
+
+Non-zero on failure.
+
+Example
+^^^^^^^
+
+.. code-block:: console
+
+    static int
+    nmgr_shell_in(struct os_mbuf *m, void *arg)
+    {
+        ....
+    }
+
+    int 
+    nmgr_task_init(uint8_t prio, os_stack_t *stack_ptr, uint16_t stack_len)
+    {
+        int rc;
+        ....
+        rc = shell_nlip_input_register(nmgr_shell_in, 
+                (void *) &g_nmgr_shell_transport);
+        if (rc != 0) {
+            goto err;
+        }
+        ....
+    }
diff --git a/develop/_sources/os/modules/shell/shell_nlip_output.rst.txt b/develop/_sources/os/modules/shell/shell_nlip_output.rst.txt
new file mode 100644
index 000000000..0317e5572
--- /dev/null
+++ b/develop/_sources/os/modules/shell/shell_nlip_output.rst.txt
@@ -0,0 +1,46 @@
+shell\_nlip\_output 
+---------------------
+
+.. code-block:: console
+
+    int shell_nlip_output(struct os_mbuf *m)
+
+Queues the outgoing newtmgr message for transmission. The shell encodes
+the message, frames the message into packets, and writes each packet to
+the console.
+
+Arguments
+^^^^^^^^^
+
++-------------+-----------------------------------+
+| Arguments   | Description                       |
++=============+===================================+
+| m           | os\_mbuf containing the message   |
++-------------+-----------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns 0 on success.
+
+Non-zero on failure.
+
+Example
+^^^^^^^
+
+.. code-block:: console
+
+    static int 
+    nmgr_shell_out(struct nmgr_transport *nt, struct os_mbuf *m)
+    {
+        int rc;
+
+        rc = shell_nlip_output(m);
+        if (rc != 0) {
+            goto err;
+        }
+
+        return (0);
+    err:
+        return (rc);
+    }
diff --git a/develop/_sources/os/modules/shell/shell_register.rst.txt b/develop/_sources/os/modules/shell/shell_register.rst.txt
new file mode 100644
index 000000000..3626473bf
--- /dev/null
+++ b/develop/_sources/os/modules/shell/shell_register.rst.txt
@@ -0,0 +1,131 @@
+shell\_register 
+-----------------
+
+.. code:: c
+
+    shell_register(const char *module_name, const struct shell_cmd *commands)
+
+Registers a module named ``module_name`` and the commands that the
+module supports. The caller must allocate and not free the memory for
+the ``module_name`` and the array of ``shell_cmd`` structures for the
+command. The shell keeps references to these structures for internal
+use.
+
+Each entry in the ``commands`` array specifies a shell command for the
+module and must be initialized with the command name and the pointer to
+the command handler. The help field is initialized with help information
+if the command supports help.
+
+Arguments
+^^^^^^^^^
+
++--------------+----------------+
+| Arguments    | Description    |
++==============+================+
+| ``module_nam | Character      |
+| e``          | string of the  |
+|              | module name.   |
++--------------+----------------+
+| ``commands`` | Array of       |
+|              | ``shell_cmd``  |
+|              | structures     |
+|              | that specify   |
+|              | the commands   |
+|              | for the        |
+|              | module. The    |
+|              | ``sc_cmd``,    |
+|              | ``sc_cmd_func` |
+|              | `,             |
+|              | and ``help``   |
+|              | fields in the  |
+|              | last entry     |
+|              | must be set to |
+|              | NULL to        |
+|              | indicate the   |
+|              | last entry in  |
+|              | the array.     |
++--------------+----------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns 0 on success.
+
+Non-zero on failure. #### Notes The ``SHELL_MAX_MODULES`` syscfg setting
+specifies the maximum number of modules the shell supports. This
+function aborts if the number of registered modules exceeds this limit.
+You can increase the value for this setting. #### Example This is an
+example excerpt that shows how to declare and initialize the data
+structures for a module and some shell commands for the. Variables for
+the help structures are only declared and intialized if the
+``SHELL_CMD_HELP`` syscfg setting is enabled. The ``sample_commands``
+array of ``shell_cmd`` structures are declared and initialized. The
+fields in the last entry are all set to NULL to indicate the last entry
+in the array.
+
+.. code:: c
+
+    static int shell_sample_tasks_display_cmd(int argc, char **argv);
+    static int shell_sample_mpool_display_cmd(int argc, char **argv);
+
+    static const char *sample_module = "sample_module";
+
+    /* 
+     * Initialize param and command help information if SHELL_CMD_HELP 
+     * is enabled.
+     */
+
+    #if MYNEWT_VAL(SHELL_CMD_HELP)
+    static const struct shell_param sample_tasks_params[] = {
+        {"", "task name"},
+        {NULL, NULL}
+    };
+
+    static const struct shell_cmd_help sample_tasks_help = {
+        .summary = "show tasks info",
+        .usage = NULL,
+        .params = sample_tasks_params,
+    };
+
+    static const struct shell_param sample_mpool_params[] = {
+        {"", "mpool name"},
+        {NULL, NULL}
+    };
+
+    static const struct shell_cmd_help sample_mpool_help = {
+        .summary = "show system mpool",
+        .usage = NULL,
+        .params = sample_mpool_params,
+    };
+
+    #endif 
+
+    /* 
+     * Initialize an array of shell_cmd structures for the commands
+     * in the os module.
+     */
+    static const struct shell_cmd sample_module_commands[] = {
+        {
+            .sc_cmd = "tasks",
+            .sc_cmd_func = shell_sample_tasks_display_cmd,
+    #if MYNEWT_VAL(SHELL_CMD_HELP)
+            .help = &sample_tasks_help,
+    #endif
+        },
+        {
+            .sc_cmd = "sample_mpool",
+            .sc_cmd_func = shell_sample_mpool_display_cmd,
+    #if MYNEWT_VAL(SHELL_CMD_HELP)
+            .help = &sample_mpool_help,
+    #endif
+        },
+        { NULL, NULL, NULL },
+    };
+
+
+    void
+    sample_module_init(void)
+    {
+        shell_register(sample_module, sample_module_commands);
+        
+    }
diff --git a/develop/_sources/os/modules/shell/shell_register_app_cmd_handler.rst.txt b/develop/_sources/os/modules/shell/shell_register_app_cmd_handler.rst.txt
new file mode 100644
index 000000000..ca396f808
--- /dev/null
+++ b/develop/_sources/os/modules/shell/shell_register_app_cmd_handler.rst.txt
@@ -0,0 +1,52 @@
+shell\_register\_app\_cmd\_handler 
+------------------------------------
+
+.. code:: c
+
+    void shell_register_app_cmd_handler(struct shell_cmd *sc)
+
+Registers a command handler as an application command handler. The shell
+calls the application command handler, if one is set, when it receives a
+command that does not have a handler registered. When you implement a
+shell command for your application, you can register an application
+command handler. You do not need to define a command name for the shell
+to use to lookup an application command handler.
+
+For example, if your application uses the ``shell_cmd_register()``
+function to register a handler for the ``myapp_cmd`` shell command and
+the handler supports two subcommands, ``subcmd1`` and \`\ ``subcmd2``,
+then you would enter ``myapp_cmd subcmd1`` and ``myapp_cmd subcmd2`` in
+the shell to run the commands. If you register the handler as an
+application command handler, then you would enter ``subcmd1`` and
+``subcmd2`` in the shell to run the commands. #### Arguments
+
++-------------+----------------------------------------------------------------------+
+| Arguments   | Description                                                          |
++=============+======================================================================+
+| ``sc``      | Pointer to the ``shell_cmd`` structure for the comman to register.   |
++-------------+----------------------------------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+None
+
+Example
+^^^^^^^
+
+.. code:: c
+
+
+    static int myapp_cmd_handler(int argc, char **argv);
+
+    static struct shell_cmd myapp_cmd = {
+        .sc_cmd = "",
+        .sc_cmd_func = myapp_cmd_handler
+    };
+
+    void
+    myapp_shell_init(void)
+    {
+        shell_register_app_cmd_handler(&myapp_cmd);
+        ....
+    }
diff --git a/develop/_sources/os/modules/shell/shell_register_default_module.rst.txt b/develop/_sources/os/modules/shell/shell_register_default_module.rst.txt
new file mode 100644
index 000000000..51055b993
--- /dev/null
+++ b/develop/_sources/os/modules/shell/shell_register_default_module.rst.txt
@@ -0,0 +1,52 @@
+shell\_register\_default\_module
+---------------------------------
+
+.. code:: c
+
+    void shell_register_default_module(const char *name)
+
+Sets the module named ``name`` as the default module. You can enter the
+commands for the default module without entering the module name in the
+shell.
+
+Arguments
+^^^^^^^^^
+
++-------------+--------------------------------------------+
+| Arguments   | Description                                |
++=============+============================================+
+| ``name``    | Name of the module to set as the default   |
++-------------+--------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+None
+
+Example
+^^^^^^^
+
+.. code:: c
+
+    static int sample_cmd_handler(int argc, char **argv); 
+
+    static const char * module_name = "sample_module";
+    static const struct shell_cmd sample_cmds[] = {
+        {
+            .sc_cmd = "mycmd",
+            .sc_cmd_func = sample_cmd_handler,
+        },
+        {NULL, NULL, NULL},
+    };
+
+    int main (void)
+    {
+
+
+        /* Register the module and the commands for the module */
+        shell_register(module_name, sample_cmds);
+
+        /* Set this module as the default module */
+        shell_register_default_module(module_name);
+
+    }
diff --git a/develop/_sources/os/modules/split/split.rst.txt b/develop/_sources/os/modules/split/split.rst.txt
new file mode 100644
index 000000000..0ffd3c9f9
--- /dev/null
+++ b/develop/_sources/os/modules/split/split.rst.txt
@@ -0,0 +1,484 @@
+Split Images
+============
+
+Description
+-----------
+
+The split image mechanism divides a target into two separate images: one
+capable of image upgrade; the other containing application code. By
+isolating upgrade functionality to a separate image, the application can
+support over-the-air upgrade without dedicating flash space to network
+stack and management code.
+
+Concept
+-------
+
+Mynewt supports three image setups:
+
++-----------+--------------------------------------------+
+| Setup     | Description                                |
++===========+============================================+
+| Single    | One large image; upgrade not supported.    |
++-----------+--------------------------------------------+
+| Unified   | Two standalone images.                     |
++-----------+--------------------------------------------+
+| Split     | Kernel in slot 0; application in slot 1.   |
++-----------+--------------------------------------------+
+
+Each setup has its tradeoffs. The Single setup gives you the most flash
+space, but doesn't allow you to upgrade after manufacturing. The Unified
+setup allows for a complete failover in case a bad image gets uploaded,
+but requires a lot of redundancy in each image, limiting the amount of
+flash available to the application. The Split setup sits somewhere
+between these two options.
+
+Before exploring the split setup in more detail, it might be helpful to
+get a basic understanding of the Mynewt boot sequence. The boot process
+is summarized below.
+
+Boot Sequence - Single
+^^^^^^^^^^^^^^^^^^^^^^
+
+In the Single setup, there is no boot loader. Instead, the image is
+placed at address 0. The hardware boots directly into the image code.
+Upgrade is not possible because there is no boot loader to move an
+alternate image into place.
+
+Boot Sequence - Unified
+^^^^^^^^^^^^^^^^^^^^^^^
+
+In the Unified setup, the boot loader is placed at address 0. At
+startup, the boot loader arranges for the correct image to be in image
+slot 0, which may entail swapping the contents of the two image slots.
+Finally, the boot loader jumps to the image in slot 0.
+
+Boot Sequence - Split
+^^^^^^^^^^^^^^^^^^^^^
+
+The Split setup differs from the other setups mainly in that a target is
+not fully contained in a single image. Rather, the target is partitioned
+among two separate images: the *loader*, and the *application*.
+Functionality is divided among these two images as follows:
+
+1. Loader:
+
+   -  Mynewt OS.
+   -  Network stack for connectivity during upgrade e.g. BLE stack.
+   -  Anything else required for image upgrade.
+
+2. Application:
+
+   -  Parts of Mynewt not required for image upgrade.
+   -  Application-specific code.
+
+The loader image serves three purposes:
+
+1. *Second-stage boot loader:* it jumps into the application image at
+   start up.
+2. *Image upgrade server:* the user can upgrade to a new loader +
+   application combo, even if an application image is not currently
+   running.
+3. *Functionality container:* the application image can directly access
+   all the code present in the loader image
+
+From the perspective of the boot loader, a loader image is identical to
+a plain unified image. What makes a loader image different is a change
+to its start up sequence: rather than starting the Mynewt OS, it jumps
+to the application image in slot 1 if one is present.
+
+Tutorial
+--------
+
+Building a Split Image
+~~~~~~~~~~~~~~~~~~~~~~
+
+We will be referring to the nRF51dk for examples in this document. Let's
+take a look at this board's flash map (defined in
+``hw/bsp/nrf51dk/bsp.yml``):
+
++---------------------+--------------+-------------+
+| Name                | Offset       | Size (kB)   |
++=====================+==============+=============+
+| Boot loader         | 0x00000000   | 16          |
++---------------------+--------------+-------------+
+| Reboot log          | 0x00004000   | 16          |
++---------------------+--------------+-------------+
+| Image slot 0        | 0x00008000   | 110         |
++---------------------+--------------+-------------+
+| Image slot 1        | 0x00023800   | 110         |
++---------------------+--------------+-------------+
+| Image scratch       | 0x0003f000   | 2           |
++---------------------+--------------+-------------+
+| Flash file system   | 0x0003f800   | 2           |
++---------------------+--------------+-------------+
+
+The application we will be building is
+`bleprph <../../tutorials/bleprph>`__. First, we create a target to tie
+our BSP and application together.
+
+::
+
+    newt target create bleprph-nrf51dk
+    newt target set bleprph-nrf51dk                     \
+        app=@apache-mynewt-core/apps/bleprph            \
+        bsp=@apache-mynewt-core/hw/bsp/nrf51dk          \
+        build_profile=optimized                         \
+        syscfg=BLE_LL_CFG_FEAT_LE_ENCRYPTION=0:BLE_SM_LEGACY=0
+
+The two syscfg settings disable bluetooth security and keep the code
+size down.
+
+We can verify the target using the ``target show`` command:
+
+::
+
+    [~/tmp/myproj2]$ newt target show bleprph-nrf51dk
+    targets/bleprph-nrf51dk
+        app=@apache-mynewt-core/apps/bleprph
+        bsp=@apache-mynewt-core/hw/bsp/nrf51dk
+        build_profile=optimized
+        syscfg=BLE_LL_CFG_FEAT_LE_ENCRYPTION=0:BLE_SM_LEGACY=0
+
+Next, build the target:
+
+::
+
+    [~/tmp/myproj2]$ newt build bleprph-nrf51dk
+    Building target targets/bleprph-nrf51dk
+    # [...]
+    Target successfully built: targets/bleprph-nrf51dk
+
+With our target built, we can view a code size breakdown using the
+``newt size <target>`` command. In the interest of brevity, the smaller
+entries are excluded from the below output:
+
+::
+
+    [~/tmp/myproj2]$ newt size bleprph-nrf51dk
+    Size of Application Image: app
+      FLASH     RAM
+       2446    1533 apps_bleprph.a
+       1430     104 boot_bootutil.a
+       1232       0 crypto_mbedtls.a
+       1107       0 encoding_cborattr.a
+       2390       0 encoding_tinycbor.a
+       1764       0 fs_fcb.a
+       2959     697 hw_drivers_nimble_nrf51.a
+       4126     108 hw_mcu_nordic_nrf51xxx.a
+       8161    4049 kernel_os.a
+       2254      38 libc_baselibc.a
+       2612       0 libgcc.a
+       2232      24 mgmt_imgmgr.a
+       1499      44 mgmt_newtmgr_nmgr_os.a
+      23918    1930 net_nimble_controller.a
+      28537    2779 net_nimble_host.a
+       2207     205 sys_config.a
+       1074     197 sys_console_full.a
+       3268      97 sys_log.a
+       1296       0 time_datetime.a
+
+    objsize
+       text    data     bss     dec     hex filename
+     105592    1176   13392  120160   1d560 /home/me/tmp/myproj2/bin/targets/bleprph-nrf51dk/app/apps/bleprph/bleprph.elf
+
+The full image text size is about 103kB (where 1kB = 1024 bytes). With
+an image slot size of 110kB, this leaves only about 7kB of flash for
+additional application code and data. Not good. This is the situation we
+would be facing if we were using the Unified setup.
+
+The Split setup can go a long way in solving our problem. Our unified
+bleprph image consists mostly of components that get used during an
+image upgrade. By using the Split setup, we turn the unified image into
+two separate images: the loader and the application. The functionality
+related to image upgrade can be delegated to the loader image, freeing
+up a significant amount of flash in the application image slot.
+
+Let's create a new target to use with the Split setup. We designate a
+target as a split target by setting the ``loader`` variable. In our
+example, we are going to use ``bleprph`` as the loader, and ``splitty``
+as the application. ``bleprph`` makes sense as a loader because it
+contains the BLE stack and everything else required for an image
+upgrade.
+
+::
+
+    newt target create split-nrf51dk
+    newt target set split-nrf51dk                       \
+        loader=@apache-mynewt-core/apps/bleprph         \
+        app=@apache-mynewt-core/apps/splitty            \
+        bsp=@apache-mynewt-core/hw/bsp/nrf51dk          \
+        build_profile=optimized                         \
+        syscfg=BLE_LL_CFG_FEAT_LE_ENCRYPTION=0:BLE_SM_LEGACY=0
+
+Verify that the target looks correct:
+
+::
+
+    [~/tmp/myproj2]$ newt target show split-nrf51dk
+    targets/split-nrf51dk
+        app=@apache-mynewt-core/apps/splitty
+        bsp=@apache-mynewt-core/hw/bsp/nrf51dk
+        build_profile=optimized
+        loader=@apache-mynewt-core/apps/bleprph
+        syscfg=BLE_LL_CFG_FEAT_LE_ENCRYPTION=0:BLE_SM_LEGACY=0
+
+Now, let's build the new target:
+
+::
+
+    [~/tmp/myproj2]$ newt build split-nrf51dk
+    Building target targets/split-nrf51dk
+    # [...]
+    Target successfully built: targets/split-nrf51dk
+
+And look at the size breakdown (again, smaller entries are removed):
+
+::
+
+    [~/tmp/myproj2]$ newt size split-nrf51dk
+    Size of Application Image: app
+      FLASH     RAM
+       3064     251 sys_shell.a
+
+    objsize
+       text    data     bss     dec     hex filename
+       4680     112   17572   22364    575c /home/me/tmp/myproj2/bin/targets/split-nrf51dk/app/apps/splitty/splitty.elf
+
+    Size of Loader Image: loader
+      FLASH     RAM
+       2446    1533 apps_bleprph.a
+       1430     104 boot_bootutil.a
+       1232       0 crypto_mbedtls.a
+       1107       0 encoding_cborattr.a
+       2390       0 encoding_tinycbor.a
+       1764       0 fs_fcb.a
+       3168     705 hw_drivers_nimble_nrf51.a
+       4318     109 hw_mcu_nordic_nrf51xxx.a
+       8285    4049 kernel_os.a
+       2274      38 libc_baselibc.a
+       2612       0 libgcc.a
+       2232      24 mgmt_imgmgr.a
+       1491      44 mgmt_newtmgr_nmgr_os.a
+      25169    1946 net_nimble_controller.a
+      31397    2827 net_nimble_host.a
+       2259     205 sys_config.a
+       1318     202 sys_console_full.a
+       3424      97 sys_log.a
+       1053      60 sys_stats.a
+       1296       0 time_datetime.a
+
+    objsize
+       text    data     bss     dec     hex filename
+     112020    1180   13460  126660   1eec4 /home/me/tmp/myproj2/bin/targets/split-nrf51dk/loader/apps/bleprph/bleprph.elf
+
+The size command shows two sets of output: one for the application, and
+another for the loader. The addition of the split functionality did make
+bleprph slightly bigger, but notice how small the application is: 4.5
+kB! Where before we only had 7 kB left, now we have 105.5 kB.
+Furthermore, all the functionality in the loader is available to the
+application at any time. For example, if your application needs
+bluetooth functionality, it can use the BLE stack present in the loader
+instead of containing its own copy.
+
+Finally, let's deploy the split image to our nRF51dk board. The
+procedure here is the same as if we were using the Unified setup, i.e.,
+via either the ``newt load`` or ``newt run`` command.
+
+::
+
+    [~/repos/mynewt/core]$ newt load split-nrf51dk 0
+    Loading app image into slot 2
+    Loading loader image into slot 1
+
+Image Management
+~~~~~~~~~~~~~~~~
+
+Retrieve Current State (image list)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Image management in the split setup is a bit more complicated than in
+the unified setup. You can determine a device's image management state
+with the ``newtmgr image list`` command. Here is how a device responds
+to this command after our loader + application combo has been deployed:
+
+::
+
+    [~/tmp/myproj2]$ newtmgr -c A600ANJ1 image list
+    Images:
+     slot=0
+        version: 0.0.0
+        bootable: true
+        flags: active confirmed
+        hash: 948f118966f7989628f8f3be28840fd23a200fc219bb72acdfe9096f06c4b39b
+     slot=1
+        version: 0.0.0
+        bootable: false
+        flags:
+        hash: 78e4d263eeb5af5635705b7cae026cc184f14aa6c6c59c6e80616035cd2efc8f
+    Split status: matching
+
+There are several interesting things about this response:
+
+1. *Two images:* This is expected; we deployed both a loader image and
+   an application image.
+2. *bootable flag:* Notice slot 0's bootable flag is set, while slot 1's
+   is not. This tells us that slot 0 contains a loader and slot 1
+   contains an application. If an image is bootable, it can be booted
+   directly from the boot loader. Non-bootable images can only be
+   started from a loader image.
+3. *flags:* Slot 0 is ``active`` and ``confirmed``; none of slot 1's
+   flags are set. The ``active`` flag indicates that the image is
+   currently running; the ``confirmed`` flag indicates that the image
+   will continue to be used on subsequent reboots. Slot 1's lack of
+   enabled flags indicates that the image is not being used at all.
+4. *Split status:* The split status field tells you if the loader and
+   application are compatible. A loader + application combo is
+   compatible only if both images were built at the same time with
+   ``newt``. If the loader and application are not compatible, the
+   loader will not boot into the application.
+
+Enabling a Split Application
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+By default, the application image in slot 1 is disabled. This is
+indicated in the ``image list`` response above. When you deploy a loader
+/ application combo to your device, the application image won't actually
+run. Instead, the loader will act as though an application image is not
+present and remain in "loader mode". Typically, a device in loader mode
+simply acts as an image management server, listening for an image
+upgrade or a request to activate the application image.
+
+Use the following command sequence to enable the split application
+image:
+
+1. Tell device to "test out" the application image on next boot
+   (``newtmgr image test <application-image-hash>``).
+2. Reboot device (``newtmgr reset``).
+3. Make above change permanent (``newtmgr image confirm``).
+
+After the above sequence, a ``newtmgr image list`` command elicits the
+following response:
+
+::
+
+    [~/tmp/myproj2]$ newtmgr -c A600ANJ1 image confirm
+    Images:
+     slot=0
+        version: 0.0.0
+        bootable: true
+        flags: active confirmed
+        hash: 948f118966f7989628f8f3be28840fd23a200fc219bb72acdfe9096f06c4b39b
+     slot=1
+        version: 0.0.0
+        bootable: false
+        flags: active confirmed
+        hash: 78e4d263eeb5af5635705b7cae026cc184f14aa6c6c59c6e80616035cd2efc8f
+    Split status: matching
+
+The ``active confirmed`` flags value on both slots indicates that both
+images are permanently running.
+
+Image Upgrade
+~~~~~~~~~~~~~
+
+First, let's review of the image upgrade process for the Unified setup.
+The user upgrades to a new image in this setup with the following steps:
+
+Image Upgrade - Unified
+^^^^^^^^^^^^^^^^^^^^^^^
+
+1. Upload new image to slot 1 (``newtmgr image upload <filename>``).
+2. Tell device to "test out" the new image on next boot
+   (``newtmgr image test <image-hash>``).
+3. Reboot device (``newtmgr reset``).
+4. Make new image permanent (``newtmgr image confirm``).
+
+Image Upgrade - Split
+^^^^^^^^^^^^^^^^^^^^^
+
+The image upgrade process is a bit more complicated in the Split setup.
+It is more complicated because two images need to be upgraded (loader
+and application) rather than just one. The split upgrade process is
+described below:
+
+1.  Disable split functionality; we need to deactivate the application
+    image in slot 1 (``newtmgr image test <current-loader-hash>``).
+2.  Reboot device (``newtmgr reset``).
+3.  Make above change permanent (``newtmgr image confirm``).
+4.  Upload new loader to slot 1 (``newtmgr image upload <filename>``).
+5.  Tell device to "test out" the new loader on next boot
+    (``newtmgr image test <new-loader-hash>``).
+6.  Reboot device (``newtmgr reset``).
+7.  Make above change of loader permanent (``newtmgr image confirm``).
+8.  Upload new application to slot 1
+    (``newtmgr image upload <filename>``).
+9.  Tell device to "test out" the new application on next boot
+    (``newtmgr image test <new-application-hash>``).
+10. Reboot device (``newtmgr reset``).
+11. Make above change of application permanent
+    (``newtmgr image confirm``).
+
+When performing this process manually, it may be helpful to use
+``image list`` to check the image management state as you go.
+
+Syscfg
+------
+
+Syscfg is Mynewt's system-wide configuration mechanism. In a split
+setup, there is a single umbrella syscfg configuration that applies to
+both the loader and the application. Consequently, overriding a value in
+an application-only package potentially affects the loader (and
+vice-versa).
+
+Loaders
+-------
+
+The following applications have been enabled as loaders. You may choose
+to build your own loader application, and these can serve as samples.
+
+-  @apache-mynewt-core/apps/slinky
+-  @apache-mynewt-core/apps/bleprph
+
+Split Apps
+----------
+
+The following applications have been enabled as split applications. If
+you choose to build your own split application these can serve as
+samples. Note that slinky can be either a loader image or an application
+image.
+
+-  @apache-mynewt-core/apps/slinky
+-  @apache-mynewt-core/apps/splitty
+
+Theory of Operation
+-------------------
+
+A split image is built as follows:
+
+First newt builds the application and loader images separately to ensure
+they are consistent (no errors) and to generate elf files which can
+inform newt of the symbols used by each part.
+
+Then newt collects the symbols used by both application and loader in
+two ways. It collects the set of symbols from the ``.elf`` files. It
+also collects all the possible symbols from the ``.a`` files for each
+application.
+
+Newt builds the set of packages that the two applications share. It
+ensures that all the symbols used in those packages are matching. NOTE:
+because of features and #ifdefs, its possible for the two package to
+have symbols that are not the same. In this case newt generates an error
+and will not build a split image.
+
+Then newt creates the list of symbols that the two applications share
+from those packages (using the .elf files).
+
+Newt re-links the loader to ensure all of these symbols are present in
+the loader application (by forcing the linker to include them in the
+``.elf``).
+
+Newt builds a special copy of the loader.elf with only these symbols
+(and the handful of symbols discussed in the linking section above).
+
+Finally, newt links the application, replacing the common .a libraries
+with the special loader.elf image during the link.
diff --git a/develop/_sources/os/modules/stats/stats.rst.txt b/develop/_sources/os/modules/stats/stats.rst.txt
new file mode 100644
index 000000000..61de22b49
--- /dev/null
+++ b/develop/_sources/os/modules/stats/stats.rst.txt
@@ -0,0 +1,283 @@
+Statistics Module
+=================
+
+The statistics module allows application, libraries, or drivers to
+record statistics that can be shown via the Newtmgr tool and console.
+
+This allows easy integration of statistics for troubleshooting,
+maintenance, and usage monitoring.
+
+By creating and registering your statistics, they are automatically
+included in the Newtmgr shell and console APIs.
+
+Implementation Details
+~~~~~~~~~~~~~~~~~~~~~~
+
+A statistic is an unsigned integer that can be set by the code. When
+building stats, the implementer chooses the size of the statistic
+depending on the frequency of the statistic and the resolution required
+before the counter wraps.
+
+Typically the stats are incremented upon code events; however, they are
+not limted to that purpose.
+
+Stats are organized into sections. Each section of stats has its own
+name and can be queried separately through the API. Each section of
+stats also has its own statistic size, allowing the user to separate
+large (64-bit) statistics from small (16 bit statistics). NOTE: It is
+not currently possible to group different size stats into the same
+section. Please ensure all stats in a section have the same size.
+
+Stats sections are currently stored in a single global stats group.
+
+Statistics are stored in a simple structure which contains a small stats
+header followed by a list of stats. The stats header contains:
+
+.. code-block:: console
+
+    struct stats_hdr {
+         char *s_name;
+         uint8_t s_size;
+         uint8_t s_cnt;
+         uint16_t s_pad1;
+    #if MYNEWT_VAL(STATS_NAMES)
+         const struct stats_name_map *s_map;
+         int s_map_cnt;
+    #endif
+         STAILQ_ENTRY(stats_hdr) s_next;
+     };
+
+The fields define with in the ``#if MYNEWT_VAL(STATS_NAME)`` directive
+are only inincluded when the ``STATS_NAMES`` syscfg setting is set to 1
+and enables use statistic names.
+
+Enabling Statistic Names
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+By default, statistics are queried by number. You can use the
+``STATS_NAMES`` syscfg setting to enable statistic names and view the
+results by name. Enabling statistic names provides better descriptions
+in the reported statistics, but takes code space to store the strings
+within the image.
+
+To enable statistic names, set the ``STATS_NAMES`` value to 1 in the
+application ``syscfg.yml`` file or use the ``newt target set`` command
+to set the syscfg setting value. Here are examples for each method:
+
+Method 1 - Set the value in the application ``syscfg.yml`` files:
+
+.. code-block:: console
+
+
+    # Package: apps/myapp
+
+    syscfg.vals:
+        STATS_NAMES: 1
+
+Method 2 - Set the target ``syscfg`` variable:
+
+.. code-block:: console
+
+
+    newt target set myapp syscfg=STATS_NAMES=1
+
+**Note:** This ``newt target set`` command only sets the syscfg variable
+for the ``STATS_NAMES`` setting as an example. For your target, you
+should set the syscfg variable with the other settings that you want to
+override.
+
+Adding Stats to your code.
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Creating new stats table requires the following steps.
+
+-  Include the stats header file
+-  Define a stats section
+-  Declare an instance of the section
+-  Define the stat sections names table
+-  Implement stat in your code
+-  Initialize the stats
+-  Register the stats
+
+Include the stats header file
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Add the stats library to your pkg.yml file for your package or app by
+adding this line to your package dependencies.
+
+::
+
+    pkg.deps:
+        - "@apache-mynewt-core/sys/stats"
+
+Add this include directive to code files using the stats library.
+
+::
+
+    #include <stats/stats.h>
+
+Define a stats section
+^^^^^^^^^^^^^^^^^^^^^^
+
+You must use the ``stats.h`` macros to define your stats table. A stats
+section definition looks like this.
+
+::
+
+    STATS_SECT_START(my_stat_section)
+        STATS_SECT_ENTRY(attempt_stat)
+        STATS_SECT_ENTRY(error_stat)
+    STATS_SECT_END
+
+In this case we chose to make the stats 32-bits each. ``stats.h``
+supports three different stats sizes through the following macros:
+
+-  ``STATS_SIZE_16`` -- stats are 16 bits (wraps at 65536)
+-  ``STATS_SIZE_32`` -- stats are 32 bits (wraps at 4294967296)
+-  ``STATS_SIZE_64`` -- stats are 64-bits
+
+When this compiles/pre-processes, it produces a structure definition
+like this
+
+::
+
+    struct stats_my_stat_section { 
+        struct stats_hdr s_hdr;
+        uint32_t sattempt_stat;
+        uint32_t serror_stat;
+    };
+
+You can see that the defined structure has a small stats structure
+header and the two stats we have defined.
+
+Depending on whether these stats are used in multiple modules, you may
+need to include this definition in a header file.
+
+Declaring a variable to hold the stats
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Declare the global variable to hold your statistics. Since it is
+possible to have multiple copies of the same section (for example a stat
+section for each of 5 identical peripherals), the variable name of the
+stats section must be unique.
+
+::
+
+    STATS_SECT_DECL(my_stat_section) g_mystat;
+
+Again, if your stats section is used in multiple C files you will need
+to include the above definition in one of the C files and 'extern' this
+declaration in your header file.
+
+::
+
+    extern STATS_SECT_DECL(my_stat_section) g_mystat;
+
+Define the stats section name table
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Whether or not you have ``STATS_NAMES`` enabled, you must define a stats
+name table. If ``STATS_NAMES`` is not enabled, this will not take any
+code space or image size.
+
+::
+
+    /* define a few stats for querying */
+    STATS_NAME_START(my_stat_section)
+        STATS_NAME(my_stat_section, attempt_stat)
+        STATS_NAME(my_stat_section, error_stat)
+    STATS_NAME_END(my_stat_section)
+
+When compiled by the preprocessor, it creates a structure that looks
+like this.
+
+::
+
+    struct stats_name_map g_stats_map_my_stat_section[] = {
+        { __builtin_offsetof (struct stats_my_stat_section, sattempt_stat), "attempt_stat" },
+        { __builtin_offsetof (struct stats_my_stat_section, serror_stat), "error_stat" },
+    };
+
+This table will allow the UI components to find a nice string name for
+the stat.
+
+Implement stats in your code.
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+You can use the ``STATS_INC`` or ``STATS_INCN`` macros to increment your
+statistics within your C-code. For example, your code may do this:
+
+::
+
+        STATS_INC(g_mystat, attempt_stat);
+        rc = do_task();
+        if(rc == ERR) { 
+            STATS_INC(g_mystat, error_stat);        
+        }
+
+Initialize the statistics
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+You must initialize the stats so they can be operated on by the stats
+library. As per our example above, it would look like the following.
+
+This tells the system how large each statistic is and the number of
+statistics in the section. It also initialize the name information for
+the statistics if enabled as shown above.
+
+::
+
+        rc = stats_init(
+            STATS_HDR(g_mystat), 
+            STATS_SIZE_INIT_PARMS(g_mystat, STATS_SIZE_32), 
+            STATS_NAME_INIT_PARMS(my_stat_section));
+        assert(rc == 0);
+
+Register the statistic section
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+If you want the system to know about your stats, you must register them.
+
+::
+
+        rc = stats_register("my_stats", STATS_HDR(g_mystat));
+        assert(rc == 0);
+
+There is also a method that does initialization and registration at the
+same time, called ``stats_init_and_reg``.
+
+Retrieving stats through console or Newtmgr
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you enable console in your project you can see stats through the
+serial port defined.
+
+This is the stats as shown from the example above with names enabled.
+
+::
+
+    stat my_stats
+    12274:attempt_stat: 3
+    12275:error_stat: 0
+
+This is the stats as shown from the example without names enabled.
+
+::
+
+    stat my_stats
+    29149:s0: 3
+    29150:s1: 0
+
+A note on multiple stats sections
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you are implementing a device with multiple instances, you may want
+multiple stats sections with the exact same format.
+
+For example, suppose I write a driver for an external distance sensor.
+My driver supports up to 5 sensors and I want to record the stats of
+each device separately.
+
+This works identically to the example above, except you would need to
+register each one separately with a unique name. The stats system will
+not let two sections be entered with the same name.
diff --git a/develop/_sources/os/modules/testutil/test_assert.rst.txt b/develop/_sources/os/modules/testutil/test_assert.rst.txt
new file mode 100644
index 000000000..add28e10d
--- /dev/null
+++ b/develop/_sources/os/modules/testutil/test_assert.rst.txt
@@ -0,0 +1,129 @@
+TEST\_ASSERT
+-------------
+
+.. code-block:: console
+
+    TEST_ASSERT(expression, fail_msg, ...)
+
+.. code-block:: console
+
+    TEST_ASSERT_FATAL(expression, fail_msg, ...)
+
+Asserts that the specified condition is true. If the expression is true,
+nothing gets reported. *fail\_msg* will be printed out if the expression
+is false. The expression argument is mandatory; the rest are optional.
+The fail\_msg argument is a printf format string which specifies how the
+remaining arguments are parsed.
+
+``TEST_ASSERT_FATAL()`` causes the current test case to be aborted, if
+expression fails.
+
+Arguments
+^^^^^^^^^
+
++--------------+----------------+
+| Arguments    | Description    |
++==============+================+
+| expression   | Condition      |
+|              | being tested.  |
+|              | If it fails,   |
+|              | test is        |
+|              | considered a   |
+|              | failure, and a |
+|              | message is     |
+|              | printed out.   |
++--------------+----------------+
+| fail\_msg    | Pointer to C   |
+|              | string that    |
+|              | contains a     |
+|              | format string  |
+|              | that follows   |
+|              | the same       |
+|              | specifications |
+|              | as format in   |
+|              | printf.        |
++--------------+----------------+
+| ...          | Depending on   |
+|              | the format     |
+|              | string, the    |
+|              | function may   |
+|              | expect either  |
+|              | a sequence of  |
+|              | additional     |
+|              | arguments to   |
+|              | be used to     |
+|              | replace a      |
+|              | format         |
+|              | specifier in   |
+|              | the format     |
+|              | string or a    |
+|              | variable       |
+|              | arguments      |
+|              | list. va\_list |
+|              | is a special   |
+|              | type defined   |
+|              | in in          |
+|              | stdarg.h.      |
++--------------+----------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+None
+
+Notes
+^^^^^
+
+While ``console_printf``, with its well understood formatting options in
+C, is more convenient and easy on the eyes than the raw output of
+``console_write``, the associated code size is considerably larger.
+
+Example
+^^^^^^^
+
+Example #1:
+
+.. code-block:: console
+
+    TEST_CASE(config_test_insert)
+    {
+        int rc;
+
+        rc = conf_register(&config_test_handler);
+        TEST_ASSERT(rc == 0);
+    }
+
+Example #2:
+
+.. code-block:: console
+
+    TEST_CASE(nffs_test_unlink)
+    {
+        int rc;
+
+        ....
+        
+        rc = nffs_format(nffs_area_descs);
+        TEST_ASSERT_FATAL(rc == 0);
+
+        ....
+    }
+
+Example #3:
+
+.. code-block:: console
+
+
+    static int 
+    cbmem_test_case_1_walk(struct cbmem *cbmem, struct cbmem_entry_hdr *hdr, 
+            void *arg)
+    {
+        ....
+
+        rc = cbmem_read(cbmem, hdr, &actual, 0, sizeof(actual));
+        TEST_ASSERT_FATAL(rc == 1, "Couldn't read 1 byte from cbmem");
+        TEST_ASSERT_FATAL(actual == expected, 
+                "Actual doesn't equal expected (%d = %d)", actual, expected);
+
+        ....
+    }
diff --git a/develop/_sources/os/modules/testutil/test_case.rst.txt b/develop/_sources/os/modules/testutil/test_case.rst.txt
new file mode 100644
index 000000000..3b8d886f0
--- /dev/null
+++ b/develop/_sources/os/modules/testutil/test_case.rst.txt
@@ -0,0 +1,36 @@
+TEST\_CASE 
+------------
+
+.. code-block:: console
+
+    TEST_CASE(test_case_name)
+
+Defines a test case function with the following type
+``int test_case_name(void)``. This can then be called from regression
+test's ``TEST_SUITE()`` function.
+
+Arguments
+^^^^^^^^^
+
++--------------------+-------------------------------------------------+
+| Arguments          | Description                                     |
++====================+=================================================+
+| test\_case\_name   | Used as the function name for this test case.   |
++--------------------+-------------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Return value is 0 if the test case passed; nonzero if it failed.
+Generally, the return code is not used. It is expected that the case
+will pass/fail with tests done using ``TEST_ASSERT()``.
+
+Example
+^^^^^^^
+
+.. code-block:: console
+
+    TEST_CASE(config_test_insert)
+    {
+         ....
+    }
diff --git a/develop/_sources/os/modules/testutil/test_decl.rst.txt b/develop/_sources/os/modules/testutil/test_decl.rst.txt
new file mode 100644
index 000000000..fe0daf924
--- /dev/null
+++ b/develop/_sources/os/modules/testutil/test_decl.rst.txt
@@ -0,0 +1,37 @@
+TEST\_CASE\_DECL 
+------------------
+
+.. code-block:: console
+
+    TEST_CASE_DECL(test_case_name)
+
+Declares a test case function with the following type
+``int test_case_name(void)``. This can then be called from regression
+test's ``TEST_SUITE()`` function. This is only required if the test case
+function exists in a different file than the test suite. This will allow
+the test suite to find the test case
+
+Arguments
+^^^^^^^^^
+
++--------------------+-------------------------------------------------+
+| Arguments          | Description                                     |
++====================+=================================================+
+| test\_case\_name   | Used as the function name for this test case.   |
++--------------------+-------------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Return value is 0 if the test case passed; nonzero if it failed.
+Generally, the return code is not used. It is expected that the case
+will pass/fail with tests done using ``TEST_ASSERT()``.
+
+Example file ``test_cases.h``
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    TEST_CASE_DECL(test_case_1)
+    TEST_CASE_DECL(test_case_2)
+    TEST_CASE_DECL(test_case_3)
diff --git a/develop/_sources/os/modules/testutil/test_pass.rst.txt b/develop/_sources/os/modules/testutil/test_pass.rst.txt
new file mode 100644
index 000000000..7913a4b7e
--- /dev/null
+++ b/develop/_sources/os/modules/testutil/test_pass.rst.txt
@@ -0,0 +1,66 @@
+TEST\_PASS 
+------------
+
+.. code-block:: console
+
+    TEST_PASS(msg, ...)
+
+Reports a success result for the current test. This function is not
+normally needed, as all successful tests automatically write an empty
+pass result at completion. It is only needed when the success result
+report should contain text. The msg argument is a printf format string
+which specifies how the remaining arguments are parsed. The result file
+produced by this function contains the following text:
+
+.. code-block:: console
+
+            |<file>:<line-number>| manual pass
+            <msg>
+
+Arguments
+^^^^^^^^^
+
++--------------+----------------+
+| Arguments    | Description    |
++==============+================+
+| msg          | This is a      |
+|              | printf format  |
+|              | string which   |
+|              | specifies how  |
+|              | the remaining  |
+|              | arguments are  |
+|              | parsed         |
++--------------+----------------+
+| ...          | Depending on   |
+|              | the format     |
+|              | string, the    |
+|              | function may   |
+|              | expect either  |
+|              | a sequence of  |
+|              | additional     |
+|              | arguments to   |
+|              | be used to     |
+|              | replace a      |
+|              | format         |
+|              | specifier in   |
+|              | the format     |
+|              | string or a    |
+|              | variable       |
+|              | arguments      |
+|              | list. va\_list |
+|              | is a special   |
+|              | type defined   |
+|              | in in          |
+|              | stdarg.h.      |
++--------------+----------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+None
+
+Notes
+^^^^^
+
+After this function is called, the remainder of the test case is not
+executed.
diff --git a/develop/_sources/os/modules/testutil/test_suite.rst.txt b/develop/_sources/os/modules/testutil/test_suite.rst.txt
new file mode 100644
index 000000000..e929745c9
--- /dev/null
+++ b/develop/_sources/os/modules/testutil/test_suite.rst.txt
@@ -0,0 +1,42 @@
+TEST\_SUITE 
+-------------
+
+.. code-block:: console
+
+    TEST_SUITE(test_suite_name)
+
+Declares a test suite function with the following type
+``int test_suite_name(void)``. This can then be called from either
+*project/test*, or from main routine for package specific regression
+test.
+
+Arguments
+^^^^^^^^^
+
++---------------------+--------------------------------------------------+
+| Arguments           | Description                                      |
++=====================+==================================================+
+| test\_suite\_name   | Used as the function name for this test suite.   |
++---------------------+--------------------------------------------------+
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Return value is 0 if the test suite passed; nonzero if it failed.
+Generally, the return code is not used. It is expected that the
+individual test cases will pass/fail with tests done using
+``TEST_ASSERT()``.
+
+Example
+^^^^^^^
+
+.. code-block:: console
+
+    TEST_SUITE(os_sem_test_suite)
+    {
+        os_sem_test_basic();
+        os_sem_test_case_1();
+        os_sem_test_case_2();
+        os_sem_test_case_3();
+        os_sem_test_case_4();
+    }
diff --git a/develop/_sources/os/modules/testutil/testutil.rst.txt b/develop/_sources/os/modules/testutil/testutil.rst.txt
new file mode 100644
index 000000000..29dac00d9
--- /dev/null
+++ b/develop/_sources/os/modules/testutil/testutil.rst.txt
@@ -0,0 +1,157 @@
+testutil
+========
+
+The testutil package is a test framework that provides facilities for
+specifying test cases and recording test results.
+
+You would use it to build regression tests for your library.
+
+Description
+~~~~~~~~~~~
+
+A package may optionally contain a set of test cases. Test cases are not
+normally compiled and linked when a package is built; they are only
+included when the "test" identity is specified. All of a package's test
+code goes in its ``src/test`` directory. For example, the nffs package's
+test code is located in the following directory:
+
+.. code-block:: console
+
+        * fs/nffs/src/test/
+
+This directory contains the source and header files that implement the
+nffs test code.
+
+The test code has access to all the header files in the following
+directories:
+
+.. code-block:: console
+
+        * src
+        * src/arch/<target-arch>
+        * include
+        * src/test
+        * src/test/arch/<target-arch>
+        * include directories of all package dependencies
+
+Package test code typically depends on the testutil package, described
+later in this document.
+
+Some test cases or test initialization code may be platform-specific. In
+such cases, the platform-specific function definitions are placed in
+arch subdirectories within the package test directory.
+
+While building the test code (i.e., when the ``test`` identity is
+specified), the newt tool defines the ``TEST`` macro. This macro is
+defined during compilation of all C source files in all projects and
+packages.
+
+Tests are structured according to the following hierarchy:
+
+.. code-block:: console
+
+                    [test]
+                   /      \
+            [suite]        [suite]
+           /       \      /       \
+         [case] [case]  [case] [case]
+
+I.e., a test consists of test suites, and a test suite consists of test
+cases.
+
+The test code uses testutil to define test suites and test cases.
+
+Regression test can then be executed using 'newt target test' command,
+or by including a call to your test suite from
+``project/test/src/test.c``.
+
+Example
+~~~~~~~
+
+`This Tutorial <../../tutorials/unit_test.html>`__ shows how to create a
+test suite for a Mynewt package.
+
+Data structures
+~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+    struct tu_config {
+        int tc_print_results;
+        int tc_system_assert;
+
+        tu_case_init_fn_t *tc_case_init_cb;
+        void *tc_case_init_arg;
+
+        tu_case_report_fn_t *tc_case_fail_cb;
+        void *tc_case_fail_arg;
+
+        tu_case_report_fn_t *tc_case_pass_cb;
+        void *tc_case_pass_arg;
+
+        tu_suite_init_fn_t *tc_suite_init_cb;
+        void *tc_suite_init_arg;
+
+        tu_restart_fn_t *tc_restart_cb;
+        void *tc_restart_arg;
+    };
+    extern struct tu_config tu_config;
+
+The global ``tu_config`` struct contains all the testutil package's
+settings. This should be populated before ``tu_init()`` is called.
+
+List of Functions
+~~~~~~~~~~~~~~~~~
+
+The functions, and macros available in ``testutil`` are:
+
++------------+----------------+
+| Function   | Description    |
++============+================+
+| `tu\_init  | Initializes    |
+| <tu_init.m | the test       |
+| d>`__      | framework      |
+|            | according to   |
+|            | the contents   |
+|            | of the         |
+|            | tu\_config     |
+|            | struct.        |
++------------+----------------+
+| `TEST\_ASS | Asserts that   |
+| ERT <test_ | the specified  |
+| assert.html> | condition is   |
+| `__        | true.          |
++------------+----------------+
+| `TEST\_PAS | Reports a      |
+| S <test_pa | success result |
+| ss.html>`__  | for the        |
+|            | current test.  |
++------------+----------------+
+| `TEST\_SUI | Declares a     |
+| TE <test_s | test suite     |
+| uite.html>`_ | function.      |
+| _          |                |
++------------+----------------+
+| `TEST\_CAS | Defines a test |
+| E <test_ca | case function. |
+| se.html>`__  |                |
++------------+----------------+
+| `TEST\_CAS | Declares a     |
+| E\_DECL <t | test case      |
+| est_decl.m | function. his  |
+| d>`__      | is only        |
+|            | required if    |
+|            | the test case  |
+|            | function       |
+|            | exists in a    |
+|            | different file |
+|            | than the test  |
+|            | suite.         |
++------------+----------------+
+| `tu\_resta | This function  |
+| rt <tu_res | is used when a |
+| tart.html>`_ | system reset   |
+| _          | is necessary   |
+|            | to proceed     |
+|            | with testing.  |
++------------+----------------+
diff --git a/develop/_sources/os/modules/testutil/tu_init.rst.txt b/develop/_sources/os/modules/testutil/tu_init.rst.txt
new file mode 100644
index 000000000..93a7d2ff1
--- /dev/null
+++ b/develop/_sources/os/modules/testutil/tu_init.rst.txt
@@ -0,0 +1,44 @@
+tu\_init
+---------
+
+.. code-block:: console
+
+    int tu_init(void)
+
+Initializes the test framework according to the contents of the
+``tu_config`` struct. This function must be called before any tests are
+run.
+
+Arguments
+^^^^^^^^^
+
+N/A
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns 0 on success; nonzero on failure.
+
+Example
+^^^^^^^
+
+Here's an example of stand-alone code which allows the user to execute
+regression tests for sys/config package only.
+
+.. code-block:: console
+
+    #ifdef PKG_TEST
+
+    int
+    main(int argc, char **argv)
+    {
+        tu_config.tc_print_results = 1;
+        tu_init();
+
+        conf_init();
+        config_test_all();
+
+        return tu_any_failed;
+    }
+
+    #endif
diff --git a/develop/_sources/os/modules/testutil/tu_restart.rst.txt b/develop/_sources/os/modules/testutil/tu_restart.rst.txt
new file mode 100644
index 000000000..a08a62e61
--- /dev/null
+++ b/develop/_sources/os/modules/testutil/tu_restart.rst.txt
@@ -0,0 +1,41 @@
+tu\_restart 
+-------------
+
+.. code-block:: console
+
+    void tu_restart(void)
+
+This function is used when a system reset is necessary to proceed with
+testing. For example, the OS is designed to run forever once started, so
+a test which creates several OS tasks and then starts the OS has no
+means of completing. This function, when called from such a test,
+gracefully ends the current test case and proceeds to the next test
+case.
+
+The particulars of this function depend on whether it is called from a
+simulated environment. In a simulated environment, this function uses a
+``longjmp()`` call to break out of the current test case.
+
+Arguments
+^^^^^^^^^
+
+N/A
+
+Returned values
+^^^^^^^^^^^^^^^
+
+Returns 0 on success; nonzero on failure.
+
+Example
+^^^^^^^
+
+.. code-block:: console
+
+    void
+    os_test_restart(void)
+    {
+        ....
+
+        tu_restart();
+    }
+    #endif
diff --git a/develop/_sources/os/tutorials/STM32F303.rst.txt b/develop/_sources/os/tutorials/STM32F303.rst.txt
new file mode 100644
index 000000000..9b5c956c6
--- /dev/null
+++ b/develop/_sources/os/tutorials/STM32F303.rst.txt
@@ -0,0 +1,225 @@
+Blinky, your "Hello World!", on STM32F303 Discovery
+---------------------------------------------------
+
+Objective
+~~~~~~~~~
+
+Learn how to use packages from a default application repository of
+Mynewt to build your first *Hello World* application (Blinky) on a
+target board. Once built using the *newt* tool, this application will
+blink the LED lights on the target board.
+
+Create a project with a simple app that blinks an LED on the stmf303
+discovery board. In the process import some external libraries into your
+project. Download the application to the target and watch it blink!
+
+What you need
+~~~~~~~~~~~~~
+
+-  Discovery kit with STM32F303VC MCU
+-  Laptop running Mac OSX.
+-  It is assumed you have already installed newt tool.
+-  It is assumed you already installed native tools as described
+   `here <../get_started/native_tools.html>`__
+
+Also, we assume that you're familiar with UNIX shells. Let's gets
+started!
+
+Create a project
+~~~~~~~~~~~~~~~~
+
+Create a new project to hold your work. For a deeper understanding, you
+can read about project creation in `Get Started -- Creating Your First
+Project <../get_started/project_create.html>`__ or just follow the
+commands below.
+
+If you've already created a project from another tutorial, you can
+re-use that project.
+
+::
+
+    $ mkdir ~/dev
+    $ cd ~/dev
+    $ newt new myproj
+    Downloading project skeleton from apache/incubator-mynewt-blinky...
+    Installing skeleton in myproj...
+    Project myproj successfully created.
+
+    $ cd myproj
+
+**Note:** Don't forget to change into the ``myproj`` directory.
+
+Import External STM32F3 Library support
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The STM32F303 support for Mynewt lives in an external repository. It's
+necessary to add another repository to the project. To do this, edit the
+file ``project.yml`` in the root directory of your project ``myproj``
+
+This requires two changes to this file.
+
+1. You must define the properties of the external repository that you
+   want to add
+2. You must include the repository in your project.
+
+Edit the file ``project.yml`` with your favorite editor and add the
+following repository details in the file (after the core repository).
+This gives newt the information to contact the repository and extract
+its contents. In this case, the repository is on github in the
+``runtimeco`` collection. Its name is ``mynewt-stm32f3`` and we will
+accept any version up to the latest. You can look at the contents
+`here <https://github.com/runtimeco/mynewt_stm32f3>`__.
+
+::
+
+    repository.mynewt_stm32f3:
+        type: github
+        vers: 0-latest
+        user: runtimeco
+        repo: mynewt_stm32f3
+
+In the same file, add the following highlighted line to the
+``project.repositories`` variable. This tells newt to download the
+repository contents into your project.
+
+.. code:: hl_lines="3"
+
+    project.repositories:
+        - apache-mynewt-core
+        - mynewt_stm32f3
+
+Install dependencies
+~~~~~~~~~~~~~~~~~~~~
+
+Now you can install this into the project using:
+
+::
+
+    $ newt install -v 
+    Downloading repository description for apache-mynewt-core... success!
+    ...
+    apache-mynewt-core successfully installed version 0.7.9-none
+    ...
+    Downloading repository description for mynewt_stm32f3... success!
+    Downloading repository mynewt_stm32f3 
+    ...
+    Resolving deltas: 100% (65/65), done.
+    Checking connectivity... done.
+    mynewt_stm32f3 successfully installed version 0.0.0-none
+
+Create targets
+~~~~~~~~~~~~~~
+
+Create two targets to build using the stmf3 board support package and
+the app blinky example from mynewt. The output of these commands are not
+shown here for brevity.
+
+The first target is the application image itself. The second target is
+the bootloader which allows you to upgrade your mynewt applications.
+
+::
+
+    $ newt target create stmf3_blinky
+    $ newt target set stmf3_blinky build_profile=optimized
+    $ newt target set stmf3_blinky bsp=@mynewt_stm32f3/hw/bsp/stm32f3discovery
+    $ newt target set stmf3_blinky app=apps/blinky
+
+    $ newt target create stmf3_boot
+    $ newt target set stmf3_boot app=@apache-mynewt-core/apps/boot
+    $ newt target set stmf3_boot bsp=@mynewt_stm32f3/hw/bsp/stm32f3discovery
+    $ newt target set stmf3_boot build_profile=optimized
+
+    $ newt target show
+
+    targets/stmf3_blinky
+        app=apps/blinky
+        bsp=@mynewt_stm32f3/hw/bsp/stm32f3discovery
+        build_profile=optimized
+    targets/stmf3_boot
+        app=apps/boot
+        bsp=@mynewt_stm32f3/hw/bsp/stm32f3discovery
+        build_profile=optimized
+
+Build the target executables
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To build the images, use the ``newt build`` command below.
+
+::
+
+    $ newt build stmf3_blinky
+       ...
+    Archiving stm32f3discovery.a
+    Linking blinky.elf
+    App successfully built: ~/dev/myproj/bin/stmf3_blinky/apps/blinky/blinky.elf
+
+    $ newt build stmf3_boot
+    Compiling log_shell.c
+    Archiving log.a
+    Linking boot.elf
+    App successfully built: ~/dev/myproj/bin/stmf3_boot/apps/boot/boot.elf
+
+Sign and create the blinky application image
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+You must sign and version your application image to download it using
+newt. Use the ``newt create-image`` command to perform this action. Here
+we assign this image an arbitrary version ``1.2.3``.
+
+.. code-block:: console
+
+    $ newt create-image stmf3_blinky 1.2.3
+    App image successfully generated: ~/dev/myproj/bin/stmf3_blinky/apps/blinky/blinky.img
+    Build manifest:~/dev/myproj/bin/stmf3_blinky/apps/blinky/manifest.json
+
+Configure the hardware
+~~~~~~~~~~~~~~~~~~~~~~
+
+The STM32F3DISCOVERY board includes an ST-LINK/V2 embedded debug tool
+interface that will be used to program/debug the board. To program the
+MCU on the board, simply plug in the two jumpers on CN4, as shown in the
+picture in red. If you want to learn more about the board you will find
+the User Manual at
+http://www.st.com/st-web-ui/static/active/jp/resource/technical/document/user_manual/DM00063382.pdf
+
+-  |STMdiscovery|
+
+Download the Images
+~~~~~~~~~~~~~~~~~~~
+
+Use the ``newt load`` command to download the images to the target
+board.
+
+::
+
+    $ newt -v load stmf3_boot
+    $ newt -v load stmf3_blinky
+
+Watch the LED blink
+~~~~~~~~~~~~~~~~~~~
+
+Congratulations! You have built, downloaded, and run your first
+application using mynewt for the stm32f3 discovery board. One of the
+LEDs on the LED wheel should be blinking at 1 Hz.
+
+Want more?
+~~~~~~~~~~
+
+Want to make your board do something a little more exciting with the
+LEDs? Then try making the modifications to the Blinky app to make it a
+`pin-wheel app <pin-wheel-mods.html>`__ and you can light all the LEDs in
+a pin-wheel fashion.
+
+We have more fun tutorials for you to get your hands dirty. Be bold and
+try other Blinky-like `tutorials <../tutorials/nRF52.html>`__ or try
+enabling additional functionality such as `remote
+comms <project-slinky.html>`__ on the current board.
+
+If you see anything missing or want to send us feedback, please do so by
+signing up for appropriate mailing lists on our `Community
+Page <../../community.html>`__.
+
+Keep on hacking and blinking!
+
+.. |STMdiscovery| image:: pics/STM32f3discovery_connector.png
+
diff --git a/develop/_sources/os/tutorials/add_newtmgr.rst.txt b/develop/_sources/os/tutorials/add_newtmgr.rst.txt
new file mode 100644
index 000000000..5089a2915
--- /dev/null
+++ b/develop/_sources/os/tutorials/add_newtmgr.rst.txt
@@ -0,0 +1,321 @@
+Enabling Newt Manager in Your Application
+-----------------------------------------
+
+In order for your application to communicate with the newtmgr tool and
+process Newt Manager commands, you must enable Newt Manager device
+management and the support to process Newt Manager commands in your
+application. This tutorial explains how to add the support to your
+application.
+
+This tutorial assumes that you have read the `Device Management with
+Newt Manager </os/modules/devmgmt/newtmgr/>`__ guide and are familiar
+with the ``newtmgr`` and ``oicmgr`` frameworks and all the options that
+are available to customize your application.
+
+This tutorial shows you how to configure your application to:
+
+-  Use the newtmgr framework.
+-  Use serial transport to communicate with the newtmgr tool.
+-  Support all Newt Manager commands.
+
+See `Other Configuration Options <#other-configuration-options>`__ on
+how to customize your application.
+
+Prerequisites
+~~~~~~~~~~~~~
+
+Ensure that you have met the following prerequisites before continuing
+with this tutorial:
+
+-  Have Internet connectivity to fetch remote Mynewt components.
+-  Have a cable to establish a serial USB connection between the board
+   and the laptop.
+-  Install the newt tool and toolchains (See `Basic
+   Setup </os/get_started/get_started.html>`__).
+-  Install the `newtmgr tool <../../newtmgr/install_mac.html>`__.
+
+Use an Existing Project
+~~~~~~~~~~~~~~~~~~~~~~~
+
+We assume that you have worked through at least some of the other
+tutorials and have an existing project. In this example, we modify the
+``bletiny`` app to enable Newt Manager support. We call our target
+``myble``. You can create the target using any name you choose.
+
+Modify Package Dependencies and Configurations
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Add the following packages to the ``pkg.deps`` parameter in your target
+or application ``pkg.yml`` file:
+
+.. code-block:: console
+
+
+    pkg.deps:
+        - mgmt/newtmgr
+        - mgmt/newtmgr/transport/nmgr_shell
+        - mgmt/imgmgr
+        - sys/log/full
+        - sys/stats/full
+        - sys/config
+        - test/crash_test
+        - test/runtest
+
+Each package provides the following Newt Manager functionality:
+
+-  ``mgmt/newtmgr``: Supports the newtmgr framework and the Newt Manager
+   ``echo``, ``taskstat`` ``mpstat``, ``datetime``, and ``reset``
+   commands.
+-  ``mgmt/newtmgr/transport/nmgr_shell``: Supports serial transport.
+-  ``mgmt/imgmgr``: Supports the ``newtmgr image`` command
+-  ``sys/log/full`` : Supports the ``newtmgr log`` command.
+-  ``sys/stats/full``: Supports the ``newtmgr stat`` command.
+-  ``sys/config``: Supports the ``newtmgr config`` command.
+-  ``test/crash_test``: Supports the ``newtmgr crash`` command.
+-  ``test/runtest``: Supports the ``newt run`` command.
+
+Add the following configuration setting values to the ``syscfg.vals``
+parameter in the target or application ``syscfg.yml`` file:
+
+.. code-block:: console
+
+
+    syscfg.vals:
+        LOG_NEWTMGR: 1
+        STATS_NEWTMGR: 1
+        CONFIG_NEWTMGR: 1
+        CRASH_TEST_NEWTMGR: 1
+        RUNTEST_NEWTMGR: 1
+        SHELL_TASK: 1
+        SHELL_NEWTMGR: 1
+
+The first five configuration settings enable support for the Newt
+Manager ``log``, ``stat``, ``config``, ``crash``, and ``run`` commands.
+The ``SHELL_TASK`` setting enables the shell for serial transport. The
+``SHELL_NEWTMGR`` setting enables newtmgr support in the shell.
+
+Note that you may need to override additional configuration settings
+that are specific to each package to customize the package
+functionality.
+
+Modify the Source
+~~~~~~~~~~~~~~~~~
+
+By default, the ``mgmt`` package uses the Mynewt default event queue to
+receive request events from the newtmgr tool. These events are processed
+in the context of the application main task.
+
+You can specify a different event queue for the package to use. If you
+choose to use a dedicated event queue, you must create a task to process
+events from this event queue. The ``mgmt`` package executes and handles
+newtmgr request events in the context of this task. The ``mgmt`` package
+exports the ``mgmt_evq_set()`` function that allows you to specify an
+event queue.
+
+This example uses the Mynewt default event queue and you do not need to
+modify your application source.
+
+If you choose to use a different event queue, see `Events and Event
+Queues <event_queue.html>`__ for details on how to initialize an event
+queue and create a task to process the events. You will also need to
+modify your ``main.c`` to add the call to the ``mgmt_evq_set()``
+function as follows:
+
+Add the ``mgmt/mgmt.h`` header file:
+
+.. code-block:: console
+
+
+    #include <mgmt/mgmt.h>
+
+Add the call to specify the event queue. In the ``main()`` function,
+scroll down to the ``while (1)`` loop and add the following statement
+above the loop:
+
+.. code-block:: console
+
+
+    mgmt_evq_set(&my_eventq)
+
+where ``my_eventq`` is an event queue that you have initialized.
+
+Build the Targets
+~~~~~~~~~~~~~~~~~
+
+Build the two targets as follows:
+
+::
+
+    $ newt build nrf52_boot
+    <snip>
+    App successfully built: ./bin/nrf52_boot/apps/boot/boot.elf
+    $ newt build myble
+    Compiling hci_common.c
+    Compiling util.c
+    Archiving nimble.a
+    Compiling os.c
+    <snip>
+
+Create the Application Image
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Generate an application image for the ``myble`` target. You can use any
+version number you choose.
+
+::
+
+    $ newt create-image myble 1.0.0
+    App image successfully generated: ./bin/makerbeacon/apps/bletiny/bletiny.img
+    Build manifest: ./bin/makerbeacon/apps/bletiny/manifest.json
+
+Load the Image
+~~~~~~~~~~~~~~
+
+Ensure the USB connector is in place and the power LED on the board is
+lit. Turn the power switch on your board off, then back on to reset the
+board after loading the image.
+
+::
+
+    $ newt load nrf52_boot
+    $ newt load myble
+
+Set Up a Connection Profile
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The newtmgr tool requires a connection profile in order to connect to
+your board. If you have not done so, follow the
+`instructions <../../newtmgr/command_list/newtmgr_conn.html>`__ for
+setting up your connection profile.
+
+Communicate with Your Application
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Once you have a connection profile set up, you can connect to your
+device with ``newtmgr -c myconn <command>`` to run commands in your
+application.
+
+Issue the ``echo`` command to ensure that your application is
+communicating with the newtmgr tool:
+
+.. code-block:: console
+
+
+    # newtmgr -c myconn echo hello
+    hello
+
+Test your application to ensure that it can process a Newt Manager
+command that is supported by a different package. Issue the ``stat``
+command to see the BLE stats.
+
+.. code-block:: console
+
+
+    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 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
+
+Your application is now able to communicate with the newtmgr tool.
+
+Other Configuration Options
+~~~~~~~~~~~~~~~
+
+
+This section explains how to customize your application to use other
+Newt Manager protocol options.
+
+Newtmgr Framework Transport Protocol Options
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The newtmgr framework currently supports BLE and serial transport
+protocols. To configure the transport protocols that are supported,
+modify the ``pkg.yml`` and ``syscfg.yml`` files as follows:
+
+-  Add the ``mgmt/newtmgr/transport/ble`` package to the ``pkg.deps``
+   parameter to enable BLE transport.
+-  Add the ``mgmt/newtmgr/transport/nmgr_shell`` package to the
+   ``pkg.deps`` parameter, and add ``SHELL_TASK: 1`` and
+   ``SHELL_NEWTMGR`` to the ``syscfg.vals`` parameter to enable serial
+   transport when your application also uses the
+   `Shell </os/modules/shell/shell.html>`__.
+-  Add the ``mgmt/newtmgr/transport/nmgr_uart`` package to the
+   ``pkg.deps`` parameter to enable serial transport over a UART port.
+   You can use this package instead of the ``nmgr_shell`` package when
+   your application does not use the
+   `Shell </os/modules/shell/shell.html>`__ or you want to use a dedicated
+   UART port to communicate with newtmgr. You can change the
+   ``NMGR_UART`` and ``NMGR_URART_SPEED`` sysconfig values to specify a
+   different port.
+
+Oicmgr Framework Options
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+To use the oicmgr framework instead of the newtmgr framework, modify the
+``pkg.yml`` and ``syscfg.yml`` files as follows:
+
+-  Add the ``mgmt/oicmgr`` package (instead of the ``mgmt/newtmgr`` and
+   ``mgmt/newtmgr/transport`` packages as described previously) to the
+   ``pkg.deps`` parameter.
+-  Add ``OC_SERVER: 1`` to the ``syscfg.vals`` parameter.
+
+Oicmgr supports the IP, serial, and BLE transport protocols. To
+configure the transport protocols that are supported, set the
+configuration setting values in the ``syscfg.vals`` parameter as
+follows:
+
+-  Add ``OC_TRANSPORT_IP: 1`` to enable IP transport.
+-  Add ``OC_TRANSPORT_GATT: 1`` to enable BLE transport.
+-  Add ``OC_TRANSPORT_SERIAL: 1``, ``SHELL_TASK: 1``,
+   ``SHELL_NEWTMGR:1`` to enable serial transport.
+
+Customize the Newt Manager Commands that Your Application Supports
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+We recommend that you only enable support for the Newt Manager commands
+that your application uses to reduce your application code size. To
+configure the commands that are supported, set the configuration setting
+values in the ``syscfg.vals`` parameter as follows:
+
+-  Add ``LOG_NEWTMGR: 1`` to enable support for the ``newtmgr log``
+   command.
+-  Add ``STATS_NEWTMGR: 1`` to enable support for the ``newtmgr stat``
+   command.
+-  Add ``CONFIG_NEWTMGR: 1`` to enable support for the
+   ``newtmgr config`` command.
+-  Add ``CRASH_TEST_NEWTMGR: 1`` to enable support for the
+   ``newtmgr crash`` command.
+-  Add ``RUNTEST_NEWTMGR: 1`` to enable support for the
+   ``newtmgr crash`` command.
+
+Notes:
+
+-  When you enable Newt Manager support, using either the newtmgr or
+   oicmgr framework, your application automatically supports the Newt
+   Manager ``echo``, ``taskstat``, ``mpstat``, ``datetime``, and
+   ``reset`` commands. These commands cannot be configured individually.
+-  The ``mgmt/imgmgr`` package does not provide a configuration setting
+   to enable or disable support for the ``newtmgr image`` command. Do
+   not specify the package in the ``pkg.deps`` parameter if your device
+   has limited flash memory and cannot support Over-The-Air (OTA)
+   firmware upgrades.
diff --git a/develop/_sources/os/tutorials/codesize.rst.txt b/develop/_sources/os/tutorials/codesize.rst.txt
new file mode 100644
index 000000000..163c18aba
--- /dev/null
+++ b/develop/_sources/os/tutorials/codesize.rst.txt
@@ -0,0 +1,38 @@
+How to Reduce Application Code Size
+-----------------------------------
+
+Gettng your application to fit in an image slot can be challenging,
+particularly on flash constrained hardware such as the nRF51. Below are
+some suggested system configuration settings that reduce the code size
+of your Mynewt image.
+
++------------------------+---------------------------------------------+
+| Setting                | Description                                 |
++========================+=============================================+
+| LOG\_LEVEL: 255        | Disable all logging.                        |
++------------------------+---------------------------------------------+
+| LOG\_CLI: 0            | Disable log shell commands.                 |
++------------------------+---------------------------------------------+
+| STATS\_CLI: 0          | Disable stats shell commands.               |
++------------------------+---------------------------------------------+
+| SHELL\_TASK: 0         | Disable the interactive shell.              |
++------------------------+---------------------------------------------+
+| SHELL\_OS\_MODULE: 0   | Disable memory management shell commands.   |
++------------------------+---------------------------------------------+
+| SHELL\_CMD\_HELP: 0    | Disable help for shell commands.            |
++------------------------+---------------------------------------------+
+
+You can use the ``newt target set`` command to set the syscfg settings
+in the ``syscfg.yml`` file for the target. See the `Newt Tool Command
+Guide </newt/command_list/newt_target>`__ for the command syntax.
+
+**Note:** The ``newt target set`` command deletes all the current syscfg
+settings in the target ``syscfg.yml`` file and only sets the syscfg
+settings specified in the command. If you are experimenting with
+different settings to see how they affect the code size and do not want
+to reenter all the setting values in the ``newt target set`` command,
+you can use the ``newt target amend`` command. This command adds or
+updates only the settings specified in the command and does not
+overwrite other setting values. While you can also edit the target
+``syscfg.yml`` file directly, we recommend that you use the
+``newt target`` commands.
diff --git a/develop/_sources/os/tutorials/define_target.rst.txt b/develop/_sources/os/tutorials/define_target.rst.txt
new file mode 100644
index 000000000..83248b1f6
--- /dev/null
+++ b/develop/_sources/os/tutorials/define_target.rst.txt
@@ -0,0 +1,4 @@
+How to Define a Target
+----------------------
+
+What newt commands to use?
diff --git a/develop/_sources/os/tutorials/event_queue.rst.txt b/develop/_sources/os/tutorials/event_queue.rst.txt
new file mode 100644
index 000000000..fa8c1f7be
--- /dev/null
+++ b/develop/_sources/os/tutorials/event_queue.rst.txt
@@ -0,0 +1,539 @@
+How to Use Event Queues to Manage Multiple Events
+-------------------------------------------------
+
+Introduction
+~~~~~~~~~~~~
+
+The event queue mechanism allows you to serialize incoming events for
+your task. You can use it to get information about hardware interrupts,
+callout expirations, and messages from other tasks.
+
+The benefit of using events for inter-task communication is that it can
+reduce the number of resources that need to be shared and locked.
+
+The benefit of processing interrupts in a task context instead of the
+interrupt context is that other interrupts and high priority tasks are
+not blocked waiting for the interrupt handler to complete processing. A
+task can also access other OS facilities and sleep.
+
+This tutorial assumes that you have read about `Event
+Queues <../core_os/event_queue/event_queue.html>`__, the `Hardware
+Abstraction Layer <../modules/hal/hal.html>`__, and `OS
+Callouts <../core_os/callout/callout.html>`__ in the OS User's Guide.
+
+This tutorial shows you how to create an application that uses events
+for:
+
+-  Inter-task communication
+-  OS callouts for timer expiration
+-  GPIO interrupts
+
+It also shows you how to:
+
+-  Use the Mynewt default event queue and application main task to
+   process your events.
+-  Create a dedicated event queue and task for your events.
+
+To reduce an application's memory requirement, we recommend that you use
+the Mynewt default event queue if your application or package does not
+have real-time timing requirements.
+
+Prerequisites
+~~~~~~~~~~~~~
+
+Ensure that you have met the following prerequisites before continuing
+with this tutorial:
+
+-  Install the newt tool.
+-  Install the newtmgr tool.
+-  Have Internet connectivity to fetch remote Mynewt components.
+-  Install the compiler tools to support native compiling to build the
+   project this tutorial creates.
+-  Have a cable to establish a serial USB connection between the board
+   and the laptop.
+
+Example Application
+~~~~~~~~~~~~~~~~~~~
+
+In this example, you will write an application, for the Nordic nRF52
+board, that uses events from three input sources to toggle three GPIO
+outputs and light up the LEDs. If you are using a different board, you
+will need to adjust the GPIO pin numbers in the code example.
+
+The application handles events from three sources on two event queues:
+
+-  Events generated by an application task at periodic intervals are
+   added to the Mynewt default event queue.
+-  OS callouts for timer events are added to the
+   ``my_timer_interrupt_eventq`` event queue.
+-  GPIO interrupt events are added to the ``my_timer_interrupt_eventq``
+   event queue. #### Create the Project Follow the instructions in the
+   `nRF52 tutorial <nRF52.html>`__ to create a project. #### Create the
+   Application Create the ``pkg.yml`` file for the application:
+
+.. code-block:: console
+
+    pkg.name: apps/eventq_example
+    pkg.type: app
+
+    pkg.deps:
+        - kernel/os
+        - hw/hal
+        - sys/console/stub
+
+Application Task Generated Events
+^^^^^^^^^^^^^^^^^^^
+
+
+The application creates a task that generates events, at periodic
+intervals, to toggle the LED at pin ``TASK_LED``. The event is queued on
+the Mynewt default event queue and is processed in the context of the
+application main task.
+
+Declare and initialize the ``gen_task_ev`` event with the ``my_ev_cb()``
+callback function to process the event:
+
+.. code:: c
+
+
+    /* Callback function for application task event */
+    static void my_ev_cb(struct os_event *);
+
+    /* Initialize the event with the callback function */
+    static struct os_event gen_task_ev = {
+        .ev_cb = my_ev_cb,
+    };
+
+Implement the ``my_ev_cb()`` callback function to process a task
+generated event and toggle the LED at pin ``TASK_LED``:
+
+.. code:: c
+
+
+    /* LED 1 (P0.17 on the board) */
+    #define TASK_LED        17
+
+    /*
+     * Event callback function for events generated by gen_task. It toggles 
+     * the LED at pin TASK_LED.
+     */
+    static void my_ev_cb(struct os_event *ev)
+    {
+        assert(ev);
+        hal_gpio_toggle(TASK_LED);
+        return;
+    }
+
+Create a task that generates an event at periodic intervals and adds,
+using the ``os_eventq_put()`` function, the event to the Mynewt default
+event queue:
+
+.. code:: c
+
+
+    #define GEN_TASK_PRIO       3     
+    #define GEN_TASK_STACK_SZ   512
+
+    static os_stack_t gen_task_stack[GEN_TASK_STACK_SZ];
+    static struct os_task gen_task_str;
+
+    /* 
+     * Task handler to generate an event to toggle the LED at pin TASK_LED. 
+     * The event is added to the Mynewt default event queue. 
+     */
+    static void
+    gen_task(void *arg)
+    {
+        while (1) {
+            os_time_delay(OS_TICKS_PER_SEC / 4);
+            os_eventq_put(os_eventq_dflt_get(), &gen_task_ev);
+        }
+    }
+
+    static void
+    init_tasks(void)
+    {
+
+        /* Create a task to generate events to toggle the LED at pin TASK_LED */
+
+        os_task_init(&gen_task_str, "gen_task", gen_task, NULL, GEN_TASK_PRIO,
+                     OS_WAIT_FOREVER, gen_task_stack, GEN_TASK_STACK_SZ);
+
+          ...
+
+    }
+
+Implement the application ``main()`` function to call the
+``os_eventq_run()`` function to dequeue an event from the Mynewt default
+event queue and call the callback function to process the event.
+
+.. code:: c
+
+
+    int
+    main(int argc, char **argv)
+    {
+        sysinit();
+
+        init_tasks();
+      
+        while (1) {
+           os_eventq_run(os_eventq_dflt_get());     
+        }
+        assert(0);
+    }
+
+OS Callout Timer Events
+^^^^^^^^^^^^^^^^^^^
+
+
+Set up OS callout timer events. For this example, we use a dedicated
+event queue for timer events to show you how to create a dedicated event
+queue and a task to process the events.
+
+Implement the ``my_timer_ev_cb()`` callback function to process a timer
+event and toggle the LED at pin ``CALLOUT_LED``:
+
+.. code:: c
+
+
+    /* LED 2 (P0.18 on the board) */
+    #define CALLOUT_LED     18
+
+    /* The timer callout */
+    static struct os_callout my_callout;
+
+    /*
+     * Event callback function for timer events. It toggles the LED at pin CALLOUT_LED.
+     */
+    static void my_timer_ev_cb(struct os_event *ev)
+    {
+        assert(ev != NULL);
+      
+        hal_gpio_toggle(CALLOUT_LED);
+           
+        os_callout_reset(&my_callout, OS_TICKS_PER_SEC / 2);
+    }
+
+In the ``init_tasks()`` function, initialize the
+``my_timer_interrupt_eventq`` event queue, create a task to process
+events from the queue, and initialize the OS callout for the timer:
+
+.. code:: c
+
+    #define MY_TIMER_INTERRUPT_TASK_PRIO  4
+    #define MY_TIMER_INTERRUPT_TASK_STACK_SZ    512
+
+    static os_stack_t my_timer_interrupt_task_stack[MY_TIMER_INTERRUPT_TASK_STACK_SZ];
+    static struct os_task my_timer_interrupt_task_str;
+
+    static void
+    init_tasks(void)
+    {
+        /* Use a dedicate event queue for timer and interrupt events */
+     
+        os_eventq_init(&my_timer_interrupt_eventq);  
+
+        /* 
+         * Create the task to process timer and interrupt events from the
+         * my_timer_interrupt_eventq event queue.
+         */
+        os_task_init(&my_timer_interrupt_task_str, "timer_interrupt_task", 
+                     my_timer_interrupt_task, NULL, 
+                     MY_TIMER_INTERRUPT_TASK_PRIO, OS_WAIT_FOREVER, 
+                     my_timer_interrupt_task_stack, 
+                     MY_TIMER_INTERRUPT_TASK_STACK_SZ);
+         /* 
+          * Initialize the callout for a timer event.  
+          * The my_timer_ev_cb callback function processes the timer events.
+          */
+        os_callout_init(&my_callout, &my_timer_interrupt_eventq,  
+                        my_timer_ev_cb, NULL);
+
+        os_callout_reset(&my_callout, OS_TICKS_PER_SEC);
+
+    }
+
+Implement the ``my_timer_interrupt_task()`` task handler to dispatch
+events from the ``my_timer_interrupt_eventq`` event queue:
+
+.. code:: c
+
+
+    static void
+    my_timer_interrupt_task(void *arg)
+    {
+        while (1) {
+            os_eventq_run(&my_timer_interrupt_eventq);
+        }
+    }
+
+Interrupt Events
+^^^^^^^^^^^^^^^^^^^
+
+
+The application toggles the LED each time button 1 on the board is
+pressed. The interrupt handler generates an event when the GPIO for
+button 1 (P0.13) changes state. The events are added to the
+``my_timer_interrupt_eventq`` event queue, the same queue as the timer
+events.
+
+Declare and initialize the ``gpio_ev`` event with the
+``my_interrupt_ev_cb()`` callback function to process the event:
+
+.. code:: c
+
+    static struct os_event gpio_ev {
+        .ev_cb = my_interrupt_ev_cb,
+    };
+
+Implement the ``my_interrupt_ev_cb()`` callback function to process an
+interrupt event and toggle the LED at pin ``GPIO_LED``:
+
+.. code:: c
+
+
+    /* LED 3 (P0.19 on the board) */
+    #define GPIO_LED     19
+
+    /*
+     * Event callback function for interrupt events. It toggles the LED at pin GPIO_LED.
+     */
+    static void my_interrupt_ev_cb(struct os_event *ev)
+    {
+        assert(ev != NULL);
+        
+        hal_gpio_toggle(GPIO_LED);
+    }
+
+Implement the ``my_gpio_irq()`` handler to post an interrupt event to
+the ``my_timer_interrupt_eventq`` event queue:
+
+.. code:: c
+
+    static void
+    my_gpio_irq(void *arg)
+    {
+        os_eventq_put(&my_timer_interrupt_eventq, &gpio_ev);
+    }
+
+In the ``init_tasks()`` function, add the code to set up and enable the
+GPIO input pin for the button and initialize the GPIO output pins for
+the LEDs:
+
+.. code:: c
+
+    /* LED 1 (P0.17 on the board) */
+    #define TASK_LED        17 
+
+    /*  2 (P0.18 on the board) */
+    #define CALLOUT_LED     18 
+
+    /* LED 3 (P0.19 on the board) */
+    #define GPIO_LED        19
+
+    /* Button 1 (P0.13 on the board) */
+    #define BUTTON1_PIN     13
+
+    void 
+    init_tasks()
+
+        /* Initialize OS callout for timer events. */
+
+              ....
+
+        /* 
+         * Initialize and enable interrupts for the pin for button 1 and 
+         * configure the button with pull up resistor on the nrf52dk.
+         */ 
+        hal_gpio_irq_init(BUTTON1_PIN, my_gpio_irq, NULL, HAL_GPIO_TRIG_RISING, HAL_GPIO_PULL_UP);
+
+        hal_gpio_irq_enable(BUTTON1_PIN);
+
+        /* Initialize the GPIO output pins. Value 1 is off for these LEDs.  */
+       
+        hal_gpio_init_out(TASK_LED, 1);
+        hal_gpio_init_out(CALLOUT_LED, 1);
+        hal_gpio_init_out(GPIO_LED, 1);
+    }
+
+Putting It All Together
+~~~~~~~~~~~~~~~
+
+
+Here is the complete ``main.c`` source for your application. Build the
+application and load it on your board. The task LED (LED1) blinks at an
+interval of 250ms, the callout LED (LED2) blinks at an interval of
+500ms, and the GPIO LED (LED3) toggles on or off each time you press
+Button 1.
+
+.. code:: c
+
+    #include <os/os.h>
+    #include <bsp/bsp.h>
+    #include <hal/hal_gpio.h>
+    #include <assert.h>
+    #include <sysinit/sysinit.h>
+
+
+    #define MY_TIMER_INTERRUPT_TASK_PRIO  4
+    #define MY_TIMER_INTERRUPT_TASK_STACK_SZ    512
+
+    #define GEN_TASK_PRIO       3
+    #define GEN_TASK_STACK_SZ   512
+
+    /* LED 1 (P0.17 on the board) */
+    #define TASK_LED        17
+
+    /* LED 2 (P0.18 on the board) */
+    #define CALLOUT_LED     18
+
+    /* LED 3 (P0.19 on the board) */
+    #define GPIO_LED        19
+
+    /* Button 1 (P0.13 on the board) */
+    #define BUTTON1_PIN     13
+
+
+    static void my_ev_cb(struct os_event *);
+    static void my_timer_ev_cb(struct os_event *);
+    static void my_interrupt_ev_cb(struct os_event *);
+
+    static struct os_eventq my_timer_interrupt_eventq;
+
+    static os_stack_t my_timer_interrupt_task_stack[MY_TIMER_INTERRUPT_TASK_STACK_SZ];
+    static struct os_task my_timer_interrupt_task_str;
+
+    static os_stack_t gen_task_stack[GEN_TASK_STACK_SZ];
+    static struct os_task gen_task_str;
+
+    static struct os_event gen_task_ev = {
+        .ev_cb = my_ev_cb,
+    };
+
+    static struct os_event gpio_ev = {
+        .ev_cb = my_interrupt_ev_cb,
+    };
+
+
+    static struct os_callout my_callout;
+
+    /*
+     * Task handler to generate an event to toggle the LED at pin TASK_LED.
+     * The event is added to the Mynewt default event queue.
+     */
+
+    static void
+    gen_task(void *arg)
+    {
+        while (1) {
+            os_time_delay(OS_TICKS_PER_SEC / 4);
+            os_eventq_put(os_eventq_dflt_get(), &gen_task_ev);
+        }
+    }
+
+    /*
+     * Event callback function for events generated by gen_task. It toggles the LED at pin TASK_LED. 
+     */
+    static void my_ev_cb(struct os_event *ev)
+    {
+        assert(ev);
+        hal_gpio_toggle(TASK_LED);
+        return;
+    }
+
+    /*
+     * Event callback function for timer events. It toggles the LED at pin CALLOUT_LED.
+     */
+    static void my_timer_ev_cb(struct os_event *ev)
+    {
+        assert(ev != NULL);
+      
+        hal_gpio_toggle(CALLOUT_LED);
+        os_callout_reset(&my_callout, OS_TICKS_PER_SEC / 2);
+    }
+
+    /*
+     * Event callback function for interrupt events. It toggles the LED at pin GPIO_LED.
+     */
+    static void my_interrupt_ev_cb(struct os_event *ev)
+    {
+        assert(ev != NULL);
+        
+        hal_gpio_toggle(GPIO_LED);
+    }
+
+    static void
+    my_gpio_irq(void *arg)
+    {
+        os_eventq_put(&my_timer_interrupt_eventq, &gpio_ev);
+    }
+
+
+
+    static void
+    my_timer_interrupt_task(void *arg)
+    {
+        while (1) {
+            os_eventq_run(&my_timer_interrupt_eventq);
+        }
+    }
+
+    void
+    init_tasks(void)
+    {
+        
+        /* Create a task to generate events to toggle the LED at pin TASK_LED */
+
+        os_task_init(&gen_task_str, "gen_task", gen_task, NULL, GEN_TASK_PRIO,
+            OS_WAIT_FOREVER, gen_task_stack, GEN_TASK_STACK_SZ);
+
+
+        /* Use a dedicate event queue for timer and interrupt events */
+        os_eventq_init(&my_timer_interrupt_eventq);  
+
+        /* 
+         * Create the task to process timer and interrupt events from the
+         * my_timer_interrupt_eventq event queue.
+         */
+        os_task_init(&my_timer_interrupt_task_str, "timer_interrupt_task", 
+                     my_timer_interrupt_task, NULL, 
+                     MY_TIMER_INTERRUPT_TASK_PRIO, OS_WAIT_FOREVER, 
+                     my_timer_interrupt_task_stack, 
+                     MY_TIMER_INTERRUPT_TASK_STACK_SZ);
+
+        /* 
+         * Initialize the callout for a timer event.  
+         * The my_timer_ev_cb callback function processes the timer event.
+         */
+        os_callout_init(&my_callout, &my_timer_interrupt_eventq,  
+                        my_timer_ev_cb, NULL);
+
+        os_callout_reset(&my_callout, OS_TICKS_PER_SEC);
+
+        /* 
+         * Initialize and enable interrupt for the pin for button 1 and 
+         * configure the button with pull up resistor on the nrf52dk.
+         */ 
+        hal_gpio_irq_init(BUTTON1_PIN, my_gpio_irq, NULL, HAL_GPIO_TRIG_RISING, HAL_GPIO_PULL_UP);
+
+        hal_gpio_irq_enable(BUTTON1_PIN);
+
+        hal_gpio_init_out(TASK_LED, 1);
+        hal_gpio_init_out(CALLOUT_LED, 1);
+        hal_gpio_init_out(GPIO_LED, 1);
+    }
+
+    int
+    main(int argc, char **argv)
+    {
+        sysinit();
+
+        init_tasks();
+      
+        while (1) {
+           os_eventq_run(os_eventq_dflt_get());     
+        }
+        assert(0);
+    }
+
diff --git a/develop/_sources/os/tutorials/ota_upgrade_nrf52.rst.txt b/develop/_sources/os/tutorials/ota_upgrade_nrf52.rst.txt
new file mode 100644
index 000000000..4e00de5a8
--- /dev/null
+++ b/develop/_sources/os/tutorials/ota_upgrade_nrf52.rst.txt
@@ -0,0 +1,236 @@
+Over-the-Air Image Upgrade
+--------------------------
+
+Mynewt OS supports over-the-air image upgrades. This tutorial shows you
+how to use the newtmgr tool to upgrade an image on a device over BLE
+communication.
+
+To support over-the-air image upgrade over BLE, a device must be running
+a Mynewt application that has newtmgr image management over BLE
+transport enabled. For this tutorial, we use the
+`bleprph </os/tutorials/bleprph/bleprph-app/>`__ application, which
+includes image management over BLE functionality, on an nRF52-DK board.
+If you prefer to use a different BLE application, see `Enable Newt
+Manager in any app </os/tutorials/add_newtmgr/>`__ to enable newtmgr
+image management over BLE transport support in your application.
+
+**Note:** Over-the-air upgrade via newtmgr BLE transport is supported on
+Mac OS and Linux. It is not supported on Windows platforms.
+
+Prerequisites
+~~~~~~~~~~~~~
+
+Ensure that you meet the following prerequisites:
+
+-  Have Internet connectivity to fetch remote Mynewt components.
+-  Have a computer that supports Bluetooth to communicate with the board
+   and to build a Mynewt application.
+-  Have a Micro-USB cable to connect the board and the computer.
+-  Have a Nordic nRF52-DK Development Kit - PCA 10040
+-  Install the `Segger JLINK software and documentation
+   pack <https://www.segger.com/jlink-software.html>`__.
+-  Install the newt tool and toolchains (See `Basic
+   Setup </os/get_started/get_started.html>`__).
+-  Read the Mynewt OS `Concepts </os/get_started/vocabulary.html>`__
+   section.
+-  Read the `Bootloader </os/modules/bootloader/bootloader>`__ section
+   and understand the Mynewt bootloader concepts.
+-  Build and load the **bleprph** application on to an nRF52-DK board
+   via a serial connection. See `BLE Peripheral
+   App </os/tutorials/bleprph/bleprph-app/>`__.
+
+Reducing the Log Level
+~~~~~~~~~~~~~~~
+
+
+You need to build your application with log level set to INFO or lower.
+The default log level for the **bleprph** app is set to DEBUG. The extra
+logging causes the communication to timeout. Perform the following to
+reduce the log level to INFO, build, and load the application.
+
+.. code-block:: console
+
+
+    $ newt target amend myperiph syscfg="LOG_LEVEL=1"
+    $ newt build myperiph
+    $ newt create-image myperiph 1.0.0
+    $ newt load myperiph
+
+Upgrading an Image on a Device
+~~~~~~~~~~~~~~~
+
+Once you have an application with newtmgr image management with BLE transport support running on a device,
+you can use the newtmgr tool to upgrade an image over-the-air.
+
+You must perform the following steps to upgrade an image:
+
+Step 1: Create a newtmgr connection profile to communicate with the
+device over BLE. Step 2: Upload the image to the secondary slot (slot 1)
+on the device. Step 3: Test the image. Step 4: Confirm and make the
+image permanent.
+
+See the `Bootloader </os/modules/bootloader/bootloader>`__ section for
+more information on the bootloader, image slots, and boot states.
+
+Step 1: Creating a Newtmgr Connection Profile
+~~~~~~~~~~~~~~~
+
+The **bleprph** application sets and advertises ``nimble-bleprph`` as its bluetooth
+device address. Run the ``newtmgr conn add`` command to create a newtmgr
+connection profile that uses this peer address to communicate with the
+device over BLE:
+
+.. code-block:: console
+
+
+    $ newtmgr conn add mybleprph type=ble connstring="peer_name=nimble-bleprph"
+    Connection profile mybleprph successfully added
+
+Verify that the newtmgr tool can communicate with the device and check
+the image status on the device:
+
+.. code-block:: console
+
+
+    $ newtmgr image list -c mybleprph
+    Images:
+     slot=0
+        version: 1.0.0
+        bootable: true
+        flags: active confirmed
+        hash: b8d17c77a03b37603cd9f89fdcfe0ba726f8ddff6eac63011dee2e959cc316c2
+    Split status: N/A (0)
+
+The device only has an image loaded on the primary slot (slot 0). It
+does not have an image loaded on the secondary slot (slot 1). ### Step
+2: Uploading an Image to the Device We create an image with version
+2.0.0 for the bleprph application from the ``myperiph`` target and
+upload the new image. You can upload a different image.
+
+.. code-block:: console
+
+
+    $ newt create-image myperiph 2.0.0
+    App image succesfully generated: ~/dev/myproj/bin/targets/myperiph/app/apps/bleprph/bleprph.img
+
+Run the ``newtmgr image upload`` command to upload the image:
+
+.. code-block:: console
+
+
+    $ newtmgr image upload -c mybleprph ~/dev/myproj/bin/targets/myperiph/app/apps/bleprph/bleprph.img
+    215
+    429
+    642
+    855
+    1068
+    1281
+
+    ...
+
+    125953
+    126164
+    126375
+    126586
+    126704
+    Done
+
+The numbers indicate the number of bytes that the newtmgr tool has
+uploaded.
+
+Verify that the image uploaded to the secondary slot on the device
+successfully:
+
+.. code-block:: console
+
+
+    $ newtmgr image list -c mybleprph
+    Images:
+     slot=0
+        version: 1.0.0
+        bootable: true
+        flags: active confirmed
+        hash: b8d17c77a03b37603cd9f89fdcfe0ba726f8ddff6eac63011dee2e959cc316c2
+     slot=1
+        version: 2.0.0
+        bootable: true
+        flags:
+        hash: 291ebc02a8c345911c96fdf4e7b9015a843697658fd6b5faa0eb257a23e93682
+    Split status: N/A (0)
+
+The device now has the uploaded image in the secondary slot (slot 1).
+### Step 3: Testing the Image The image is uploaded to the secondary
+slot but is not yet active. You must run the ``newtmgr image test``
+command to set the image status to **pending** and reboot the device.
+When the device reboots, the bootloader copies this image to the primary
+slot and runs the image.
+
+.. code-block:: console
+
+
+    $ newtmgr image test -c mybleprph 291ebc02a8c345911c96fdf4e7b9015a843697658fd6b5faa0eb257a23e93682
+    Images:
+     slot=0
+        version: 1.0.0
+        bootable: true
+        flags: active confirmed
+        hash: b8d17c77a03b37603cd9f89fdcfe0ba726f8ddff6eac63011dee2e959cc316c2
+     slot=1
+        version: 2.0.0
+        bootable: true
+        flags: pending
+        hash: 291ebc02a8c345911c96fdf4e7b9015a843697658fd6b5faa0eb257a23e93682
+    Split status: N/A (0)
+
+The status of the image in the secondary slot is now set to **pending**.
+
+Power the device OFF and ON and run the ``newtmgr image list`` command
+to check the image status on the device after the reboot:
+
+.. code-block:: console
+
+
+    $ newtmgr image list -c mybleprph
+    Images:
+     slot=0
+        version: 2.0.0
+        bootable: true
+        flags: active
+        hash: 291ebc02a8c345911c96fdf4e7b9015a843697658fd6b5faa0eb257a23e93682
+     slot=1
+        version: 1.0.0
+        bootable: true
+        flags: confirmed
+        hash: b8d17c77a03b37603cd9f89fdcfe0ba726f8ddff6eac63011dee2e959cc316c2
+    Split status: N/A (0)
+
+The uploaded image is now active and running in the primary slot. The
+image, however, is not confirmed. The confirmed image is in the
+secondary slot. On the next reboot, the bootloader reverts to using the
+confirmed image. It copies the confirmed image to the primary slot and
+runs the image when the device reboots. You need to confirm and make the
+uploaded image in the primary slot permanent. ### Step 4: Confirming the
+Image Run the ``newtmgr image confirm`` command to confirm and make the
+uploaded image permanent. Since the uploaded image is currently the
+active image, you can confirm the image setup without specifying the
+image hash value in the command:
+
+.. code-block:: console
+
+
+    $ newtmgr image confirm -c mybleprph
+    Images:
+     slot=0
+        version: 2.0.0
+        bootable: true
+        flags: active confirmed
+        hash: 291ebc02a8c345911c96fdf4e7b9015a843697658fd6b5faa0eb257a23e93682
+     slot=1
+        version: 1.0.0
+        bootable: true
+        flags:
+        hash: b8d17c77a03b37603cd9f89fdcfe0ba726f8ddff6eac63011dee2e959cc316c2
+    Split status: N/A (0)
+
+The uploaded image is now the active and confirmed image. You have
+successfully upgraded an image over-the-air.
diff --git a/develop/_sources/os/tutorials/pin-wheel-mods.rst.txt b/develop/_sources/os/tutorials/pin-wheel-mods.rst.txt
new file mode 100644
index 000000000..3bc104186
--- /dev/null
+++ b/develop/_sources/os/tutorials/pin-wheel-mods.rst.txt
@@ -0,0 +1,106 @@
+Pin Wheel Modifications to "Blinky" on STM32F3 Discovery
+--------------------------------------------------------
+
+Objective
+~~~~~~~~~~~~~~~
+
+
+Learn how to modify an existing app -- the `blinky <STM32F303.html>`__ app
+-- to light all the LEDs on the STM32F3 Discovery board.
+
+What you need
+~~~~~~~~~~~~~
+
+-  Discovery kit with STM32F303VC MCU
+-  Laptop running Mac OSX.
+-  It is assumed you have already installed and run the
+   `blinky <STM32F303.html>`__ app succesfully.
+
+Since you've already successfully created your blinky app project,
+you'll need to modify only one file, main.c, in order to get this app
+working.
+
+The main.c file resides in the apps/blinky/src directory in your project
+folder so you can edit it with your favorite editor. You'll make the
+following changes:
+
+Replace the line:
+
+.. code:: c
+
+    int g_led_pin;
+
+With the line:
+
+.. code:: c
+
+    int g_led_pins[8] = {LED_BLINK_PIN_1, LED_BLINK_PIN_2, LED_BLINK_PIN_3, LED_BLINK_PIN_4, LED_BLINK_PIN_5, LED_BLINK_PIN_6, LED_BLINK_PIN_7, LED_BLINK_PIN_8};
+
+So that you now have an array of all 8 LED Pins on the board.
+
+Delete the line:
+
+.. code:: c
+
+    g_led_pin = LED_BLINK_PIN;
+
+And in its place, add the following lines to initialize all the
+LED\_PINS correctly:
+
+.. code:: c
+
+    int x;
+    for(x = 0; x < 8; x++){
+        hal_gpio_init_out(g_led_pins[x], 1);
+    }
+    int p = 0;
+
+We'll use that 'p' later. Next you'll want to change the line:
+
+.. code:: c
+
+    os_time_delay(1000);
+
+to a shorter time in order to make it a little more interesting. A full
+1 second delay doesn't look great, so try 100 for starters and then you
+can adjust it to your liking.
+
+Finally, change the line:
+
+.. code:: c
+
+    hal_gpio_toggle(g_led_pin);
+
+to look like this:
+
+.. code:: c
+
+    hal_gpio_toggle(g_led_pins[p++]);
+    p = (p > 7) ? 0 : p;
+
+Build the target and executables and download the images
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Run the same commands you used on the blinky app to build and load this
+one:
+
+.. code-block:: console
+
+    $ newt create-image stmf3_blinky 1.2.3
+    App image successfully generated: ~/dev/myproj/bin/stmf3_blinky/apps/blinky/blinky.img
+    Build manifest:~/dev/myproj/bin/stmf3_blinky/apps/blinky/manifest.json
+    $ newt -v load stmf3_boot
+    $ newt -v load stmf3_blinky
+
+Watch the LEDs go round and round
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The colored LEDs should now all light up in succession, and once they're
+all lit, they should then go off in the same order. This should repeat
+continuously.
+
+If you see anything missing or want to send us feedback, please do so by
+signing up for appropriate mailing lists on our `Community
+Page <../../community.html>`__.
+
+Keep on hacking and blinking!
diff --git a/develop/_sources/os/tutorials/segger_rtt.rst.txt b/develop/_sources/os/tutorials/segger_rtt.rst.txt
new file mode 100644
index 000000000..53840dcf3
--- /dev/null
+++ b/develop/_sources/os/tutorials/segger_rtt.rst.txt
@@ -0,0 +1,109 @@
+SEGGER RTT Console
+------------------
+
+Objective
+~~~~~~~~~
+
+Sometimes you dont have UART on your board, or you want to use it for
+something else while still having newt logs/shell capability. With
+`SEGGER's RTT <https://www.segger.com/jlink-rtt.html>`__ capability you
+can swap UART for RTT, which is a very high-speed memory-mapped I/O.
+
+Hardware needed
+~~~~~~~~~~~~~~~
+
+You'll need a SEGGER J-Link programmer in order to use this advanced
+functionality. You might have an external J-Link programmer you're
+already using, or maybe your board has a dedicated J-Link onboard as
+some development kits do. Another possibilty is J-Link OB firmware
+available for some devices like the micro:bit.
+
+Setup the target
+~~~~~~~~~~~~~~~~
+
+We'll assume you have an existing project with some kind of
+console/shell like `Blinky with console and shell <blinky_console.html>`__
+that we're switching over to RTT from UART.
+
+**Note:** We have tested RTT with J-Link version V6.14h. We recommend
+that you upgrade your J-Link if you have an earlier version of J-Link
+installed. Earlier versions of J-Link use the BUFFER\_SIZE\_DOWN value
+defined in hw/drivers/rtt/include/rtt/SEGGER\_RTT\_Conf.h for the
+maximum number of input characters. If an input line exceeds the
+BUFFER\_SIZE\_DOWN number of characters, RTT ignores the extra
+characters. The default value is 16 characters. For example, this limit
+causes shell commands with more than 16 characters of input to fail. You
+may set the Mynewt ``RTT_BUFFER_SIZE_DOWN`` syscfg setting in your
+target to increase this value if you do not upgrade your J-Link version.
+
+We can disable uart and enable rtt with the newt target command:
+
+::
+
+    newt target amend nrf52_blinky syscfg=CONSOLE_UART=0
+    newt target amend nrf52_blinky syscfg=CONSOLE_RTT=1
+
+Run the target executables
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Now 'run' the newt target as you'll need an active debugger process to
+attach to:
+
+::
+
+    $ newt run nrf52_blinky 0
+    App image succesfully generated: ~/Downloads/myapp1/bin/targets/nrf52_blinky/app/apps/blinky/blinky.img
+    Loading app image into slot 1
+    [~Downloads/myapp1/repos/apache-mynewt-core/hw/bsp/nrf52-thingy/nrf52-thingy_debug.sh ~/Downloads/myapp1/repos/apache-mynewt-core/hw/bsp/nrf52-thingy ~/Downloads/myapp1/bin/targets/nrf52_blinky/app/apps/blinky/blinky]
+    Debugging ~/Downloads/myapp1/bin/targets/nrf52_blinky/app/apps/blinky/blinky.elf
+    GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs
+    Copyright (C) 2014 Free Software Foundation, Inc.
+    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+    This is free software: you are free to change and redistribute it.
+    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
+    and "show warranty" for details.
+    This GDB was configured as "--host=x86_64-apple-darwin10 --target=arm-none-eabi".
+    Type "show configuration" for configuration details.
+    For bug reporting instructions, please see:
+    <http://www.gnu.org/software/gdb/bugs/>.
+    Find the GDB manual and other documentation resources online at:
+    <http://www.gnu.org/software/gdb/documentation/>.
+    For help, type "help".
+    Type "apropos word" to search for commands related to "word"...
+    Reading symbols from ~/Downloads/myapp1/bin/targets/nrf52_blinky/app/apps/blinky/blinky.elf...done.
+    0x000000d8 in ?? ()
+    Resetting target
+    0x000000dc in ?? ()
+    (gdb) 
+
+Connect to console
+~~~~~~~~~~~~~~~~~~
+
+In a seperate terminal window ``telnet localhost 19021`` and when you
+continue your gdb session you should see your output. If you're not
+familiar with telnet, when you're ready to exit you may by using the
+hotkey ctrl+] then typing quit
+
+::
+
+    $ telnet localhost 19021
+    Trying ::1...
+    telnet: connect to address ::1: Connection refused
+    Trying fe80::1...
+    telnet: connect to address fe80::1: Connection refused
+    Trying 127.0.0.1...
+    Connected to localhost.
+    Escape character is '^]'.
+    SEGGER J-Link V6.14e - Real time terminal output
+    SEGGER J-Link EDU V8.0, SN=268006294
+    Process: JLinkGDBServer
+
+Then you can interact with the device:
+
+::
+
+    stat
+    stat
+    000262 Must specify a statistic name to dump, possible names are:
+    000262  stat
+    000262 compat> 
diff --git a/develop/_sources/os/tutorials/segger_sysview.rst.txt b/develop/_sources/os/tutorials/segger_sysview.rst.txt
new file mode 100644
index 000000000..d95802f40
--- /dev/null
+++ b/develop/_sources/os/tutorials/segger_sysview.rst.txt
@@ -0,0 +1,96 @@
+SEGGER SystemView
+-----------------
+
+Objective
+~~~~~~~~~~~~~~~
+
+
+With `SEGGER's SystemView <https://www.segger.com/systemview.html>`__
+you can "record data from the target system while it is running. The
+recorded data is analyzed and the system behavior is visualized in
+different views."
+
+Hardware needed
+~~~~~~~~~~~~~~~
+
+You'll need a SEGGER J-Link programmer in order to use this advanced
+functionality. You might have an external J-Link programmer you're
+already using, or maybe your board has a dedicated J-Link onboard as
+some development kits do. Another possibilty is J-Link OB firmware
+available for some devices like the micro:bit.
+
+Software needed
+~~~~~~~~~~~~~~~
+
+-  Download `SEGGER's SystemView
+   app <https://www.segger.com/downloads/free-utilities/>`__.
+-  Copy the description file from sys/sysview/SYSVIEW\_Mynewt.txt to the
+   /Description/ directory of SystemView
+
+Setup the target
+~~~~~~~~~~~~~~~~
+
+We'll assume you have an existing example we're enabling SystemView on,
+in this case `blinky on nrf52 <nRF52.html>`__. We can do so with the newt
+target amend command:
+
+::
+
+    newt target amend blink_nordic syscfg=OS_SYSVIEW=1
+
+Run the target executables
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Now 'run' the newt target as you'll need an active debugger process to
+attach to:
+
+::
+
+    $ newt run blink_nordic 0
+    App image succesfully generated: ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph.img
+    Loading app image into slot 1
+    [~/Downloads/myproj/repos/apache-mynewt-core/hw/bsp/nrf52-thingy/nrf52-thingy_debug.sh ~/Downloads/myproj/repos/apache-mynewt-core/hw/bsp/nrf52-thingy ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph]
+    Debugging ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph.elf
+    GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs
+    Copyright (C) 2014 Free Software Foundation, Inc.
+    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+    This is free software: you are free to change and redistribute it.
+    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
+    and "show warranty" for details.
+    This GDB was configured as "--host=x86_64-apple-darwin10 --target=arm-none-eabi".
+    Type "show configuration" for configuration details.
+    For bug reporting instructions, please see:
+    <http://www.gnu.org/software/gdb/bugs/>.
+    Find the GDB manual and other documentation resources online at:
+    <http://www.gnu.org/software/gdb/documentation/>.
+    For help, type "help".
+    Type "apropos word" to search for commands related to "word"...
+    Reading symbols from ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph.elf...done.
+    0x000000d8 in ?? ()
+    Resetting target
+    0x000000dc in ?? ()
+
+Launch the app
+~~~~~~~~~~~~~~
+
+Launch the app and press **OK** in the System Information dialog box.
+
+.. figure:: pics/segger_sysview1.png
+   :alt: SEGGER SystemView
+
+   SEGGER SystemView
+
+Select \*\* Target > Start Recording \*\* and press **OK** in the
+Configuration dialog box.
+
+.. figure:: pics/segger_sysview_start_record.png
+   :alt: SEGGER SystemView Start Recording
+
+   SEGGER SystemView Start Recording
+
+You should see the recording for your Mynewt application.
+
+.. figure:: pics/segger_sysview_recording.png
+   :alt: SEGGER SystemView Recording
+
+   SEGGER SystemView Recording
diff --git a/develop/_sources/os/tutorials/tasks_lesson.rst.txt b/develop/_sources/os/tutorials/tasks_lesson.rst.txt
new file mode 100644
index 000000000..e21b8f4ec
--- /dev/null
+++ b/develop/_sources/os/tutorials/tasks_lesson.rst.txt
@@ -0,0 +1,323 @@
+Tasks and Priority Management
+=============================
+
+**Target Platform: Arduino M0 Pro** (or legacy Arduino Zero or Zero Pro,
+but not Arduino M0)
+
+This lesson is designed to teach core OS concepts and strategies
+encountered when building applications using Mynewt. Specifically, this
+lesson will cover tasks, simple multitasking, and priority management
+running on an Arduino M0 Pro.
+
+Prerequisites
+-------------
+
+Before starting, you should read about Mynewt in the
+`*Introduction* <http://mynewt.apache.org/os/introduction/>`__ section
+and complete the
+`*QuickStart* <http://mynewt.apache.org/os/get_started/get_started/>`__
+guide and the
+`*Blinky* <http://mynewt.apache.org/os/tutorials/arduino_zero/>`__
+tutorial. Furthermore, it may be helpful to take a peek at the `*task
+documentation* <http://mynewt.apache.org/os/core_os/task/task/>`__ for
+additional insights.
+
+Equipment
+---------
+
+You will need the following equipment:
+
+-  Arduino M0 Pro (or legacy Arduino Zero or Zero Pro, but not Arduino
+   M0)
+-  Computer with Mynewt installed
+-  USB to Micro USB Cable
+
+Build Your Application
+----------------------
+
+To save time, we will simply modify the Blinky application. We'll add
+the Task Management code to the Blinky application. Follow the `*Arduino
+Zero Blinky
+tutorial* <http://mynewt.apache.org/os/tutorials/arduino_zero/>`__ to
+create a new project and build your bootloader and application. Finally,
+build and load the application to your Arduino to verify that everything
+is in order. Now let?s get started!
+
+Default Main Task
+-----------------
+
+During Mynewt system startup, Mynewt creates a default main task and
+executes the application ``main()`` function in the context of this
+task. The main task priority defaults to 127 and can be configured with
+the ``OS_MAIN_TASK_PRIO`` system configuration setting.
+
+The blinky application only has the ``main`` task. The ``main()``
+function executes an infinite loop that toggles the led and sleeps for
+one second. ##Create a New Task
+
+The purpose of this section is to give an introduction to the important
+aspects of tasks and how to properly initialize them. First, let?s
+define a second task called ``work_task`` in main.c (located in
+apps/blinky/src):
+
+.. code:: c
+
+    struct os_task work_task;
+
+A task is represented by the
+`*os\_task* <http://mynewt.apache.org/os/core_os/task/task/#data-structures>`__
+struct which will hold the task?s information (name, state, priority,
+etc.). A task is made up of two main elements, a task function (also
+known as a task handler) and a task stack.
+
+Next, let?s take a look at what is required to initialize our new task.
+
+Task Stack
+~~~~~~~~~~
+
+The task stack is an array of type ``os_stack_t`` which holds the
+program stack frames. Mynewt gives us the ability to set the stack size
+for a task giving the application developer room to optimize memory
+usage. Since we?re not short on memory, our ``work_stack`` is plenty
+large for the purpose of this lesson. Notice that the elements in our
+task stack are of type ``os_stack_t`` which are generally 32 bits,
+making our entire stack 1024 Bytes.
+
+.. code:: c
+
+      #define WORK_STACK_SIZE OS_STACK_ALIGN(256)
+
+Note: The ``OS_STACK_ALIGN`` macro is used to align the stack based on
+the hardware architecture.
+
+Task Function
+~~~~~~~~~~~~~
+
+A task function is essentially an infinite loop that waits for some
+?event? to wake it up. In general, the task function is where the
+majority of work is done by a task. Let?s write a task function for
+``work_task`` called ``work_task_handler()``:
+
+.. code:: c
+
+    void
+    work_task_handler(void *arg)
+    {
+        struct os_task *t;
+
+        g_led_pin = LED_BLINK_PIN;
+        hal_gpio_init_out(g_led_pin, 1);
+
+        while (1) {
+            t = os_sched_get_current_task();
+            assert(t->t_func == work_task_handler);
+            /* Do work... */
+        }
+    }
+
+The task function is called when the task is initially put into the
+*running* state by the scheduler. We use an infinite loop to ensure that
+the task function never returns. Our assertion that the current task's
+handler is the same as our task handler is for illustration purposes
+only and does not need to be in most task functions.
+
+Task Priority
+~~~~~~~~~~~~~
+
+As a preemptive, multitasking RTOS, Mynewt decides which tasks to run
+based on which has a higher priority; the highest priority being 0 and
+the lowest 255. Thus, before initializing our task, we must choose a
+priority defined as a macro variable.
+
+Let?s set the priority of ``work_task`` to 0, because everyone knows
+that work is more important than blinking.
+
+.. code:: c
+
+      #define WORK_TASK_PRIO (0)
+
+Initialization
+~~~~~~~~~~~~~~
+
+To initialize a new task we use
+`*os\_task\_init()* <http://mynewt.apache.org/os/core_os/task/os_task_init/>`__
+which takes a number of arguments including our new task function,
+stack, and priority.
+
+Add the ``init_tasks()`` function to initialize ``work_task`` to keep
+our main function clean.
+
+.. code:: c
+
+    int
+    init_tasks(void)
+    {
+        /* ? */
+        os_stack_t *work_stack;
+        work_stack = malloc(sizeof(os_stack_t)*WORK_STACK_SIZE);
+
+        assert(work_stack);
+        os_task_init(&work_task, "work", work_task_handler, NULL,
+                WORK_TASK_PRIO, OS_WAIT_FOREVER, work_stack,
+                WORK_STACK_SIZE);
+
+        return 0;
+    }
+
+Add the call to ``init_tasks()`` in ``main()`` before the ``while``
+loop:
+
+.. code:: c
+
+
+    int
+    main(int argc, char **argv)
+    {
+
+            ...
+
+        /* Initialize the work task */
+        init_tasks();
+
+        while (1) {
+             ...
+        }
+    }
+
+And that?s it! Now run your application using the newt run command.
+
+::
+
+    $ newt run arduino_blinky 0.0.0
+
+When GDB appears press C then Enter to continue and ? *wait, why
+doesn't our LED blink anymore?*
+
+Review
+^^^^^^^^^^^^^^^^^^^
+
+Before we run our new app, let?s review what we need in
+order to create a task. This is a general case for a new task called
+mytask:
+
+**1)** Define a new task, task stack, and priority:
+
+.. code:: c
+
+    /* My Task */
+    struct os_task mytask
+    /* My Task Stack */
+    #define MYTASK_STACK_SIZE OS_STACK_ALIGN(256)
+    os_stack_t mytask_stack[MYTASK_STACK_SIZE];
+    /* My Task Priority */
+    #define MYTASK_PRIO (0)
+
+**2)** Define task function:
+
+.. code:: c
+
+    void
+    mytask_handler(void *arg)
+    {
+      while (1) {
+          /* ... */
+      }
+    }
+
+**3)** Initialize the task:
+
+.. code:: c
+
+    os_task_init(&mytask, "mytask", mytask_handler, NULL,
+                MYTASK_PRIO, OS_WAIT_FOREVER, mytask_stack,
+                MYTASK_STACK_SIZE);
+
+Task Priority, Preempting, and Context Switching
+------------------------------------------------
+
+A preemptive RTOS is one in which a higher priority task that is *ready
+to run* will preempt (i.e. take the place of) the lower priority task
+which is *running*. When a lower priority task is preempted by a higher
+priority task, the lower priority task?s context data (stack pointer,
+registers, etc.) is saved and the new task is switched in.
+
+In our example, ``work_task`` (priority 0) has a higher priority than
+the ``main`` task (priority 127). Since ``work_task`` is never put into
+a *sleep* state, it holds the processor focus on its context.
+
+Let?s give ``work_task`` a delay and some simulated work to keep it
+busy. The delay is measured in os ticks and the actual number of ticks
+per second is dependent on the board. We multiply ``OS_TICKS_PER_SEC``,
+which is defined in the MCU, by the number of seconds we wish to delay.
+
+.. code:: c
+
+    void
+    work_task_handler(void *arg)
+    {
+        struct os_task *t;
+
+        g_led_pin = LED_BLINK_PIN;
+        hal_gpio_init_out(g_led_pin, 1);
+
+        while (1) {
+            t = os_sched_get_current_t:ask();
+            assert(t->t_func == work_task_handler);
+            /* Do work... */
+            int i;
+            for(i = 0; i < 1000000; ++i) {
+                /* Simulate doing a noticeable amount of work */
+                hal_gpio_write(g_led_pin, 1);
+            }
+            os_time_delay(3 * OS_TICKS_PER_SEC);
+        }
+    }
+
+In order to notice the LED changing, modify the time delay in
+``main()`` to blink at a higher frequency.
+
+.. code:: c
+
+    os_time_delay(OS_TICKS_PER_SEC/10);
+
+Before we run the app, let?s predict the behavior. With the newest
+additions to ``work_task_handler()``, our first action will be to sleep
+for three seconds. This allows the ``main`` task, running ``main()``, to
+take over the CPU and blink to its heart?s content. After three seconds,
+``work_task`` will wake up and be made *ready to run*. This causes it to
+preempt the ``main`` task. The LED will then remain lit for a short
+period while ``work_task`` loops, then blink again for another three
+seconds while ``work_task`` sleeps.
+
+You should see that our prediction was correct!
+
+Priority Management Considerations
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When projects grow in scope, from blinking LEDs into more sophisticated
+applications, the number of tasks needed increases alongside complexity.
+It remains important, then, that each of our tasks is capable of doing
+its work within a reasonable amount of time.
+
+Some tasks, such as the Shell task, execute quickly and require almost
+instantaneous response. Therefore, the Shell task should be given a high
+priority. On the other hand, tasks which may be communicating over a
+network, or processing data, should be given a low priority in order to
+not hog the CPU.
+
+The diagram below shows the different scheduling patterns we would
+expect when we set the ``work_task`` priority higher and lower than the
+``main`` task priority.
+
+.. figure:: pics/task_lesson.png
+   :alt: Task Scheduling
+
+   Task Scheduling
+
+In the second case where the ``main`` task has a higher priority,
+``work_task`` runs and executes ?work? when the ``main`` task sleeps,
+saving us idle time compared to the first case.
+
+**Note:** Defining the same priority for two tasks fires an assert in
+os\_task\_init() and must be avoided. Priority 127 is reserved for main
+task, 255 for idle task.
diff --git a/develop/_sources/os/tutorials/try_markdown.rst.txt b/develop/_sources/os/tutorials/try_markdown.rst.txt
new file mode 100644
index 000000000..10e31f31a
--- /dev/null
+++ b/develop/_sources/os/tutorials/try_markdown.rst.txt
@@ -0,0 +1,44 @@
+Try Markdown
+------------
+
+Heading3
+~~~~~~~~
+
+Heading4
+^^^^^^^^
+
+--------------
+
+List
+''''
+
+-  Start with one # for the largest heading (Heading1). The next smaller
+   heading (Heading2) starts with ##. You can go all the way up to
+   Heading 6 (######).
+
+-  Heading4 (####) and Heading5 (#####) has been styled to show up
+   underlined. Yes, it can be changed. If you are curious, you can look
+   at the extra.css file in your repo branch.
+
+-  It's **very** easy to do **bold** and *italics*.
+
+-  See how this list has been made using \*
+
+-  Click on "Help" in Mou and then on "Markdown Syntax Reference".
+
+-   Substitute a sentence of your own here
+
+-   Guinea Pig!!!
+
+--------------
+
+     Note! > You will not be able to see the change immediately by
+    refreshing your browser right after editign the Markdown file. You
+    can only push the change to the Apache repository. So continue with
+    the steps in `how\_to\_edit\_docs.md <how_to_edit_docs.html>`__. > >
+    You can see the change on the website if/when a doc builder on the
+    project team merges your changes to the master branch and generates
+    the pages for the website. > > You do have the option to download
+    MkDocs and preview the change by hosting the pages locally using its
+    built-in web server. The steps are described in
+    `how\_to\_edit\_docs.md <how_to_edit_docs.html>`__.
diff --git a/develop/_sources/os/tutorials/unit_test.rst.txt b/develop/_sources/os/tutorials/unit_test.rst.txt
new file mode 100644
index 000000000..21c8e0b8e
--- /dev/null
+++ b/develop/_sources/os/tutorials/unit_test.rst.txt
@@ -0,0 +1,359 @@
+Write a Test Suite for a Package
+================================
+
+This document guides the reader through creating a test suite for a
+Mynewt package.
+
+Introduction
+------------
+
+Writing a test suite involves using the
+```test/testutil`` <../modules/testutil/testutil.html>`__ package. The
+testutil library provides the functionality needed to define test suites
+and test cases.
+
+Choose Your Package Under Test
+------------------------------
+
+Choose the package you want to write a test suite for. In this tutorial,
+we will use the ``time/datetime`` in the apache-mynewt-core repo.
+Throughout this tutorial, we will be inside the apache-mynewt-core repo
+directory, unlike most tutorials which operate from the top-level
+project directory.
+
+Create A Test Package
+---------------------
+
+Typically, a library has only one test package. The convention is name
+the test package by appending ``/test`` to the host library name. For
+example, the test package for ``encoding/json`` is
+``encoding/json/test``. The directory structure of the json package is
+shown below:
+
+.. code:: c
+
+    encoding/json
+    ??? include
+    ??? ??? json
+    ???     ??? json.h
+    ??? pkg.yml
+    ??? src
+    ??? ??? json_decode.c
+    ??? ??? json_encode.c
+    ??? test
+        ??? pkg.yml
+        ??? src
+            ??? test_json.c
+            ??? test_json.h
+            ??? test_json_utils.c
+            ??? testcases
+                ??? json_simple_decode.c
+                ??? json_simple_encode.c
+
+The top-level ``test`` directory contains the json test package. To
+create a test package for the datetime package, we need to create a
+similar package called ``time/datetime/test``.
+
+::
+
+    $ newt pkg new time/datetime/test -t unittest
+    Download package template for package type pkg.
+    Package successfuly installed into /home/me/mynewt-core/time/datetime/test.
+
+We now have a test package inside ``time/datetime``:
+
+::
+
+    time/datetime
+    ??? include
+    ??? ??? datetime
+    ???     ??? datetime.h
+    ??? pkg.yml
+    ??? src
+    ??? ??? datetime.c
+    ??? test
+        ??? README.md
+        ??? pkg.yml
+        ??? src
+        ??? ??? main.c
+        ??? syscfg.yml
+
+There is one modification we need to make to the new package before we
+can start writing unit test code. A test package needs access to the
+code it will be testing, so we need to add a dependency on
+``@apache-mynewt-core/time/datetime`` to our ``pkg.yml`` file:
+
+.. code:: hl_lines="10"
+
+    pkg.name: "time/datetime/test"
+    pkg.type: unittest
+    pkg.description: "Description of your package"
+    pkg.author: "You <yo...@you.org>"
+    pkg.homepage: "http://your-url.org/"
+    pkg.keywords:
+
+    pkg.deps:
+        - '@apache-mynewt-core/test/testutil'
+        - '@apache-mynewt-core/time/datetime'
+
+    pkg.deps.SELFTEST:
+        - '@apache-mynewt-core/sys/console/stub'
+
+While we have the ``pkg.yml`` file open, let's take a look at what newt
+filled in automatically:
+
+-  ``pkg.type: unittest`` designates this as a test package. A *test
+   package* is special in that it can be built and executed using the
+   ``newt test`` command.
+-  A test package always depends on
+   ``@apache-mynewt-core/test/testutil``. The testutil library provides
+   the tools necessary for verifying package behavior,
+-  The ``SELFTEST`` suffix indicates that a setting should only be
+   applied when the ``newt test`` command is used.
+
+Regarding the conditional dependency on ``sys/console/stub``, the
+datetime package requires some form of console to function. In a regular
+application, the console dependency would be supplied by a higher order
+package. Because ``newt test`` runs the test package without an
+application present, the test package needs to supply all unresolved
+dependencies itself when run in self-test mode.
+
+Create Your Test Suite Code
+---------------------------
+
+We will be adding a *test suite* to the ``main.c`` file. The test suite
+will be empty for now. We also need to invoke the test suite from
+``main()``.
+
+Our ``main.c`` file now looks like this:
+
+.. code:: c
+
+    #include "sysinit/sysinit.h"
+    #include "testutil/testutil.h"
+
+    TEST_SUITE(test_datetime_suite) {
+        /* Empty for now; add test cases later. */
+    }
+
+    #if MYNEWT_VAL(SELFTEST)
+    int
+    main(int argc, char **argv)
+    {
+        /* Initialize all packages. */
+        sysinit();
+
+        test_datetime_suite();
+
+        /* Indicate whether all test cases passed. */
+        return tu_any_failed;
+    }
+    #endif
+
+Try It Out
+----------
+
+We now have a working test suite with no tests. Let's make sure we get a
+passing result when we run ``newt test``:
+
+::
+
+    $ newt test time/datetime
+    <build output>
+    Executing test: /home/me/mynewt-core/bin/targets/unittest/time_datetime_test/app/time/datetime/test/time_datetime_test.elf
+    Passed tests: [time/datetime/test]
+    All tests passed
+
+Create a Test
+-------------
+
+To create a test within your test suite, there are two things to do.
+
+1. Implement the test case function using the ``testutil`` macros.
+2. Call the test case function from within the test suite.
+
+For this tutorial we will create a test case to verify the
+``datetime_parse()`` function. The ``datetime_parse()`` function is
+declared as follows:
+
+.. code:: c
+
+    /**
+     * Parses an RFC 3339 datetime string.  Some examples of valid datetime strings
+     * are:
+     * 2016-03-02T22:44:00                  UTC time (implicit)
+     * 2016-03-02T22:44:00Z                 UTC time (explicit)
+     * 2016-03-02T22:44:00-08:00            PST timezone
+     * 2016-03-02T22:44:00.1                fractional seconds
+     * 2016-03-02T22:44:00.101+05:30        fractional seconds with timezone
+     *
+     * On success, the two output parameters are filled in (tv and tz).
+     *
+     * @return                      0 on success;
+     *                              nonzero on parse error.
+     */
+    int
+    datetime_parse(const char *input, struct os_timeval *tv, struct os_timezone *tz)
+
+Our test case should make sure this function rejects invalid input, and
+that it parses valid input correctly. The updated ``main.c`` file looks
+like this:
+
+.. code:: c
+
+    #include "sysinit/sysinit.h"
+    #include "testutil/testutil.h"
+    #include "os/os_time.h"
+    #include "datetime/datetime.h"
+
+    TEST_SUITE(test_datetime_suite)
+    {
+        test_datetime_parse_simple();
+    }
+
+    TEST_CASE(test_datetime_parse_simple)
+    {
+        struct os_timezone tz;
+        struct os_timeval tv;
+        int rc;
+
+        /*** Valid input. */
+
+        /* No timezone; UTC implied. */
+        rc = datetime_parse("2017-06-28T22:37:59", &tv, &tz);
+        TEST_ASSERT_FATAL(rc == 0);
+        TEST_ASSERT(tv.tv_sec == 1498689479);
+        TEST_ASSERT(tv.tv_usec == 0);
+        TEST_ASSERT(tz.tz_minuteswest == 0);
+        TEST_ASSERT(tz.tz_dsttime == 0);
+
+        /* PDT timezone. */
+        rc = datetime_parse("2013-12-05T02:43:07-07:00", &tv, &tz);
+        TEST_ASSERT_FATAL(rc == 0);
+        TEST_ASSERT(tv.tv_sec == 1386236587);
+        TEST_ASSERT(tv.tv_usec == 0);
+        TEST_ASSERT(tz.tz_minuteswest == 420);
+        TEST_ASSERT(tz.tz_dsttime == 0);
+
+        /*** Invalid input. */
+
+        /* Nonsense. */
+        rc = datetime_parse("abc", &tv, &tz);
+        TEST_ASSERT(rc != 0);
+
+        /* Date-only. */
+        rc = datetime_parse("2017-01-02", &tv, &tz);
+        TEST_ASSERT(rc != 0);
+
+        /* Zero month. */
+        rc = datetime_parse("2017-00-28T22:37:59", &tv, &tz);
+        TEST_ASSERT(rc != 0);
+
+        /* 13 month. */
+        rc = datetime_parse("2017-13-28T22:37:59", &tv, &tz);
+        TEST_ASSERT(rc != 0);
+    }
+
+    #if MYNEWT_VAL(SELFTEST)
+    int
+    main(int argc, char **argv)
+    {
+        /* Initialize all packages. */
+        sysinit();
+
+        test_datetime_suite();
+
+        /* Indicate whether all test cases passed. */
+        return tu_any_failed;
+    }
+    #endif
+
+Take a few minutes to review the above code. Then keep reading for some
+specifics.
+
+Asserting
+~~~~~~~~~
+
+The ``test/testutil`` package provides two tools for verifying the
+correctness of a package:
+
+-  ``TEST_ASSERT``
+-  ``TEST_ASSERT_FATAL``
+
+Both of these macros check if the supplied condition is true. They
+differ in how they behave when the condition is not true. On failure,
+``TEST_ASSERT`` reports the error and proceeds with the remainder of the
+test case. ``TEST_ASSERT_FATAL``, on the other hand, aborts the test
+case on failure.
+
+The general rule is to only use ``TEST_ASSERT_FATAL`` when subsequent
+assertions depend on the condition being checked. For example, when
+``datetime_parse()`` is expected to succeed, the return code is checked
+with ``TEST_ASSERT_FATAL``. If ``datetime_parse()`` unexpectedly failed,
+the contents of the ``tv`` and ``tz`` objects would be indeterminate, so
+it is desirable to abort the test instead of checking them and reporting
+spurious failures.
+
+Scaling Up
+~~~~~~~~~~
+
+The above example is small and self contained, so it is reasonable to
+put everything in a single C file. A typical package will need a lot
+more test code, and it helps to follow some conventions to maintain
+organization. Let's take a look at a more realistic example. Here is the
+directory structure of the ``fs/nffs/test`` package:
+
+::
+
+    fs/nffs/test
+    ??? pkg.yml
+    ??? src
+        ??? nffs_test.c
+        ??? nffs_test.h
+        ??? nffs_test_debug.c
+        ??? nffs_test_priv.h
+        ??? nffs_test_system_01.c
+        ??? nffs_test_utils.c
+        ??? nffs_test_utils.h
+        ??? testcases
+            ??? append_test.c
+            ??? cache_large_file_test.c
+            ??? corrupt_block_test.c
+            ??? corrupt_scratch_test.c
+            ??? gc_on_oom_test.c
+            ??? gc_test.c
+            ??? incomplete_block_test.c
+            ??? large_system_test.c
+            ??? large_unlink_test.c
+            ??? large_write_test.c
+            ??? long_filename_test.c
+            ??? lost_found_test.c
+            ??? many_children_test.c
+            ??? mkdir_test.c
+            ??? open_test.c
+            ??? overwrite_many_test.c
+            ??? overwrite_one_test.c
+            ??? overwrite_three_test.c
+            ??? overwrite_two_test.c
+            ??? read_test.c
+            ??? readdir_test.c
+            ??? rename_test.c
+            ??? split_file_test.c
+            ??? truncate_test.c
+            ??? unlink_test.c
+            ??? wear_level_test.c
+
+The ``fs/nffs/test`` package follows these conventions:
+
+1. A maximum of one test case per C file.
+2. Each test case file goes in the ``testcases`` subdirectory.
+3. Test suites and utility functions go directly in the ``src``
+   directory.
+
+Test packages contributed to the Mynewt project should follow these
+conventions.
+
+Congratulations
+---------------
+
+Now you can begin the work of validating your packages.
diff --git a/develop/_sources/os/tutorials/wi-fi_on_arduino.rst.txt b/develop/_sources/os/tutorials/wi-fi_on_arduino.rst.txt
new file mode 100644
index 000000000..3a381d7e7
--- /dev/null
+++ b/develop/_sources/os/tutorials/wi-fi_on_arduino.rst.txt
@@ -0,0 +1,368 @@
+Enable Wi-Fi on Arduino MKR1000
+-------------------------------
+
+This tutorial shows you how to enable Wi-Fi on an Arduino MKR1000 board
+and connect to a Wi-Fi network.
+
+Prerequisites
+~~~~~~~~~~~~~
+
+Ensure that you have met the following prerequisites before continuing
+with this tutorial:
+
+-  Have an Arduino MKR1000 board.
+-  Have Internet connectivity to fetch remote Mynewt components.
+-  Have a computer to build a Mynewt application and connect to the
+   board over USB.
+-  Have a Micro-USB cable to connect the board and the computer.
+-  Have local Wi-Fi network that the computer is connected to and that
+   the MKR1000 board can join.
+-  Have a `Serial Port Setup </os/get_started/serial_access.html>`__.
+-  Have a `Segger J-Link Debug
+   Probe <https://www.segger.com/jlink-debug-probes.html>`__.
+-  Have a `J-Link 9 pin Cortex-M
+   Adapter <https://www.segger.com/jlink-adapters.html#CM_9pin>`__ that
+   allows JTAG, SWD and SWO connections between J-Link and Cortex M
+   based target hardware systems
+-  Install the `Segger JLINK Software and documentation
+   pack <https://www.segger.com/jlink-software.html>`__.
+-  Install the Newt tool and toolchains (See `Basic
+   Setup </os/get_started/get_started.html>`__).
+-  Create a project space (directory structure) and populated it with
+   the core code repository (apache-mynewt-core) or know how to as
+   explained in `Creating Your First
+   Project </os/get_started/project_create>`__.
+-  Read the Mynewt OS `Concepts </os/get_started/vocabulary.html>`__
+   section.
+
+Create a Project
+~~~~~~~~~~~~~~~~
+
+Create a new project if you do not have an existing one. You can skip
+this step and proceed to `fetch external packages <#%20fetchexternal>`__
+if you already created a project.
+
+Run the following commands to create a new project:
+
+.. code-block:: console
+
+        $ mkdir ~/dev
+        $ cd ~/dev
+        $ newt new arduinowifi
+        Downloading project skeleton from apache/mynewt-blinky...
+        Installing skeleton in arduinowifi...
+        Project arduinowifi successfully created.
+        $ cd arduinowifi
+        $ newt install
+        apache-mynewt-core
+        $
+
+Fetch External Packages
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Mynewt uses source code provided directly from the chip manufacturer for
+low level operations. Sometimes this code is licensed only for the
+specific manufacturer of the chipset and cannot live in the Apache
+Mynewt repository. That happens to be the case for the Arduino Zero
+board which uses Atmel SAMD21. Runtime's git hub repository hosts such
+external third-party packages and the Newt tool can fetch them.
+
+To fetch the package with MCU support for Atmel SAMD21 for Arduino Zero
+from the Runtime git repository, you need to add the repository to the
+``project.yml`` file in your base project directory.
+
+Mynewt uses source code provided directly from the chip manufacturer for
+low level operations. Sometimes this code is licensed only for the
+specific manufacturer of the chipset and cannot live in the Apache
+Mynewt repository. That happens to be the case for the Arduino Zero
+board which uses Atmel SAMD21. Runtime's github repository hosts such
+external third-party packages and the Newt tool can fetch them.
+
+To fetch the package with MCU support for Atmel SAMD21 for Arduino Zero
+from the Runtime git repository, you need to add the repository to the
+``project.yml`` file in your base project directory (``arduinowifi``).
+
+Here is an example ``project.yml`` file with the Arduino Zero repository
+added. The sections with ``mynewt_arduino_zero`` that need to be added
+to your project file are highlighted.
+
+**Note:** On Windows platforms: You need to set ``vers`` to ``0-dev``
+and use the latest master branch for both repositories.
+
+\`\`\`hl\_lines="6 14 15 16 17 18" $ more project.yml project.name:
+"my\_project"
+
+project.repositories: - apache-mynewt-core - mynewt\_arduino\_zero
+
+repository.apache-mynewt-core: type: github vers: 1-latest user: apache
+repo: mynewt-core
+
+repository.mynewt\_arduino\_zero: type: github vers: 1-latest user:
+runtimeco repo: mynewt\_arduino\_zero $ \`\`\`
+
+Install the project dependencies using the ``newt install`` command
+(you can specify ``-v`` for verbose output):
+
+.. code-block:: console
+
+    $ newt install
+    apache-mynewt-core
+    mynewt_arduino_zero
+    $
+
+**NOTE:** If there has been a new release of a repo used in your project
+since you last installed it, the ``1-latest`` version for the repo in
+the ``project.yml`` file will refer to the new release and will not
+match the installed files. In that case you will get an error message
+saying so and you will need to run ``newt upgrade`` to overwrite the
+existing files with the latest codebase.
+
+Create a Target for the Bootloader
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+You need to create two targets for the MKR1000 board, one for the
+bootloader and one for the ``winc1500_wifi`` application. Run the
+following ``newt target`` commands, from your project directory, to
+create a bootloader target. We name the target ``mkr1000_boot``.
+
+.. code-block:: console
+
+    $ newt target create mkr1000_boot
+    $ newt target set mkr1000_boot bsp=@mynewt_arduino_zero/hw/bsp/arduino_mkr1000
+    $ newt target set mkr1000_boot app=@apache-mynewt-core/apps/boot
+    $ newt target set mkr1000_boot build_profile=optimized
+    $ newt target set mkr1000_boot syscfg=BSP_ARDUINO_ZERO_PRO=1
+
+Create a Target for the Wi-Fi Application
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Run the following ``newt target`` commands to create a target for the
+``winc1500_wifi`` application in the arduino repository. We name the
+application target ``mkr1000_wifi``.
+
+::
+
+    $ newt target create mkr1000_wifi
+    $ newt target set mkr1000_wifi app=@mynewt_arduino_zero/apps/winc1500_wifi
+    $ newt target set mkr1000_wifi bsp=@mynewt_arduino_zero/hw/bsp/arduino_mkr1000
+    $ newt target set mkr1000_wifi build_profile=debug
+    $ newt target set mkr1000_boot syscfg=BSP_ARDUINO_ZERO_PRO=1
+
+Build the Bootloader
+~~~~~~~~~~~~~~~
+
+
+Run the ``newt build mkr1000_boot`` command to build the bootloader:
+
+.. code-block:: console
+
+    $ newt build mkr1000_boot
+    Building target targets/mkr1000_boot
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c
+    Compiling repos/apache-mynewt-core/crypto/mbedtls/src/aes.c
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec.c
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_validate.c
+    Compiling repos/apache-mynewt-core/apps/boot/src/boot.c
+
+           ...
+
+    Archiving util_mem.a
+    Linking ~/dev/arduinowifi/bin/targets/mkr1000_boot/app/apps/boot/boot.elf
+    Target successfully built: targets/mkr1000_boot
+    $
+
+Build the Wi-Fi Application
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Run the ``newt build mkr1000_wifi`` command to build the wi-fi
+application image:
+
+.. code-block:: console
+
+    $newt build mkr1000_wifi
+    Building target targets/mkr1000_wifi
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec.c
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_validate.c
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/loader.c
+               ...
+
+    Archiving util_mem.a
+    Linking ~/dev/arduinowifi/bin/targets/mkr1000_wifi/app/apps/winc1500_wifi/winc1500_wifi.elf
+    Target successfully built: targets/mkr1000_wifi
+    $
+
+Sign and Create the Wi-Fi Application Image
+~~~~~~~~~~~~~~~
+
+
+Run the ``newt create-image mkr1000_wifi 1.0.0`` command to sign and
+create an image file for the Wi-Fi application. You may assign an
+arbitrary version (e.g. 1.0.0) number.
+
+.. code-block:: console
+
+    $newt create-image  mkr1000_wifi 1.0.0
+    Compiling bin/targets/mkr1000_wifi/generated/src/mkr1000_wifi-sysinit-app.c
+    Archiving mkr1000_wifi-sysinit-app.a
+    Linking ~/dev/arduinowifi/bin/targets/mkr1000_wifi/app/apps/winc1500_wifi/winc1500_wifi.elf
+    App image succesfully generated: ~/dev/arduinowifi/bin/targets/mkr1000_wifi/app/apps/winc1500_wifi/winc1500_wifi.img
+    $
+
+Connect to the Board
+~~~~~~~~~~~~~~~~~~~~
+
+-  Connect your computer to the MKR1000 board with the Micro-USB cable.
+-  Connect the debug probe to the JTAG port on the board using the Jlink
+   9-pin adapter and cable.
+
+ |J-Link debug probe to MKR1000|
+
+.. raw:: html
+
+   <p>
+
+Mynewt will download and debug the target through this port. You should
+see a green LED come on and indicates the board has power.
+
+Load the Bootloader onto the Board
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Run the ``newt load mkr1000_boot`` command to load the bootloader onto
+the board:
+
+.. code-block:: console
+
+    $ newt load mkr1000_boot
+    Loading bootloader
+    $
+
+Load the Wi-Fi Application Image onto the Board
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Run the ``newt load mkr1000_wifi`` command to load the wifi application
+onto the board:
+
+.. code-block:: console
+
+    $ newt load mkr1000_wifi
+    Loading app image into slot 1
+    $
+
+Setup a Serial Connection Between Your Computer and the Board
+~~~~~~~~~~~~~~~
+
+
+Set up a serial connection from your computer to the MKR1000 board (See
+`Serial Port Setup </os/get_started/serial_access.html>`__). On the
+MKR1000 board, the TX pin is PIN 14 and the RX pin in PIN 13. |Serial
+Connection to MKR1000|
+
+.. raw:: html
+
+   <p>
+
+Locate the port, in the /dev directory on your computer, that the
+serial connection uses. The format of the port name is platform
+dependent:
+
+-  Mac OS uses the format ``tty.usbserial-<some identifier>``.
+-  Linux uses the format ``TTYUSB<N>``, where ``N`` is a number. For
+   example, TTYUSB2.
+-  MinGW on Windows uses the format ``ttyS<N>``, where ``N`` is a
+   number. You must map the port name to a Windows COM port:
+   ``/dev/ttyS<N>`` maps to ``COM<N+1>``. For example, ``/dev/ttyS2``
+   maps to ``COM3``.
+
+   You can also use the Windows Device Manager to find the COM port
+   number.
+
+.. code-block:: console
+
+    $ ls /dev/tty*usbserial*
+    /dev/tty.usbserial-1d13
+    $
+
+Start Wi-Fi via console
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Use a terminal emulation program to communicate with the board over the
+serial port. This tutorial shows a Minicom set up. Run the minicom
+command with the serial port you located on your computer:
+
+**Note:** On Windows, you can use the PuTTY application.
+
+.. code-block:: console
+
+    $ minicom -D /dev/tty.usbserial-1d13 -b 115200
+
+Type ``wifi start`` to start Wi-Fi.
+
+.. code:: hl_lines="11"
+
+
+    Welcome to minicom 2.7.1
+
+    OPTIONS: 
+    Compiled on May 17 2017, 15:29:14.
+    Port /dev/tty.usbserial, 15:12:10
+
+    Press Meta-Z for help on special keys
+
+
+    138465 compat> wifi start
+    144570 compat> (APP)(INFO)Chip ID 1503a0
+    (APP)(INFO)Firmware ver   : 19.4.4
+    (APP)(INFO)Min driver ver : 19.3.0
+    (APP)(INFO)Curr driver ver: 19.3.0
+    wifi_init : 0
+
+Connect to the local Wi-Fi network. Note that the MKR1000 board only
+supports 2.4 GHz Wi-Fi networks.
+
+Run the ``wifi connect`` command and specify your network and . After
+you are connected to your wi-fi network, run the ``net service`` command
+to start network services.
+
+\`\`\`hl\_lines="2 9"
+
+wifi connect 037624 wifi\_request\_scan : 0 037627 compat> scan\_results
+7: 0 038454 wifi\_connect : 0 039451 connect\_done : 0 039958 dhcp done
+192.168.0.135 040169 get sys time response 2017.7.12-22.41.33 net
+service
+
+\`\`\`
+
+The board is connected to the network succesfully and has IP address:
+192.168.0.135
+
+Establish TCP Connection and Talk!
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+From a terminal on your computer, telnet to ports 7, 9, or 19 using the
+IP address your board has been assigned. Type something on this terminal
+and see the console output (on minicom). Can you see the difference in
+the behaviors?
+
+.. code-block:: console
+
+
+    $telnet  192.168.0.135 7
+    Trying 192.168.0.135...
+    Connected to 192.168.0.135.
+    Escape character is '^]'.
+    hello
+    hello
+    ^]
+    telnet> q
+    $
+
+One port echoes whatever is typed, one discards everything it gets, and
+the third spews out bits constantly. Type ``wifi stop`` to disable WiFi
+on the Arduino board.
+
+.. |J-Link debug probe to MKR1000| image:: pics/mkr1000-jlink.jpg
+.. |Serial Connection to MKR1000| image:: pics/mkr1000-serial.jpg
+
diff --git a/develop/_sources/tutorials/other/codesize.rst.txt b/develop/_sources/tutorials/other/codesize.rst.txt
new file mode 100644
index 000000000..de20322b3
--- /dev/null
+++ b/develop/_sources/tutorials/other/codesize.rst.txt
@@ -0,0 +1,38 @@
+How to Reduce Application Code Size
+===================================
+
+Gettng your application to fit in an image slot can be challenging,
+particularly on flash constrained hardware such as the nRF51. Below are
+some suggested system configuration settings that reduce the code size
+of your Mynewt image.
+
++------------------------+---------------------------------------------+
+| Setting                | Description                                 |
++========================+=============================================+
+| LOG\_LEVEL: 255        | Disable all logging.                        |
++------------------------+---------------------------------------------+
+| LOG\_CLI: 0            | Disable log shell commands.                 |
++------------------------+---------------------------------------------+
+| STATS\_CLI: 0          | Disable stats shell commands.               |
++------------------------+---------------------------------------------+
+| SHELL\_TASK: 0         | Disable the interactive shell.              |
++------------------------+---------------------------------------------+
+| SHELL\_OS\_MODULE: 0   | Disable memory management shell commands.   |
++------------------------+---------------------------------------------+
+| SHELL\_CMD\_HELP: 0    | Disable help for shell commands.            |
++------------------------+---------------------------------------------+
+
+You can use the ``newt target set`` command to set the syscfg settings
+in the ``syscfg.yml`` file for the target. See the :doc:`Newt Tool Command
+Guide <../../../../newt/command_list/newt_target>` for the command syntax.
+
+**Note:** The ``newt target set`` command deletes all the current syscfg
+settings in the target ``syscfg.yml`` file and only sets the syscfg
+settings specified in the command. If you are experimenting with
+different settings to see how they affect the code size and do not want
+to reenter all the setting values in the ``newt target set`` command,
+you can use the ``newt target amend`` command. This command adds or
+updates only the settings specified in the command and does not
+overwrite other setting values. While you can also edit the target
+``syscfg.yml`` file directly, we recommend that you use the
+``newt target`` commands.
diff --git a/develop/_sources/tutorials/other/other.rst.txt b/develop/_sources/tutorials/other/other.rst.txt
new file mode 100644
index 000000000..f47507881
--- /dev/null
+++ b/develop/_sources/tutorials/other/other.rst.txt
@@ -0,0 +1,9 @@
+Other
+=====
+
+.. toctree::
+   :maxdepth: 1
+  
+   How to reduce Application Code Size <codesize>
+   Write a Test Suite for a Package <unit_test>
+   Enable Wi-Fi on Arduino MKR1000 <wi-fi_on_arduino>
\ No newline at end of file
diff --git a/develop/_sources/tutorials/other/unit_test.rst.txt b/develop/_sources/tutorials/other/unit_test.rst.txt
new file mode 100644
index 000000000..b908eec79
--- /dev/null
+++ b/develop/_sources/tutorials/other/unit_test.rst.txt
@@ -0,0 +1,364 @@
+Write a Test Suite for a Package
+================================
+
+This document guides the reader through creating a test suite for a
+Mynewt package.
+
+Introduction
+------------
+
+Writing a test suite involves using the
+:doc:`test/testutil <../../os/modules/testutil>` package. The
+testutil library provides the functionality needed to define test suites
+and test cases.
+
+.. contents::
+  :local:
+  :depth: 2
+
+Choose Your Package Under Test
+------------------------------
+
+Choose the package you want to write a test suite for. In this tutorial,
+we will use the ``time/datetime`` in the apache-mynewt-core repo.
+Throughout this tutorial, we will be inside the apache-mynewt-core repo
+directory, unlike most tutorials which operate from the top-level
+project directory.
+
+Create A Test Package
+---------------------
+
+Typically, a library has only one test package. The convention is name
+the test package by appending ``/test`` to the host library name. For
+example, the test package for ``encoding/json`` is
+``encoding/json/test``. The directory structure of the json package is
+shown below:
+
+.. code-block:: console
+
+    encoding/json
+    ??? include
+    ??? ??? json
+    ???     ??? json.h
+    ??? pkg.yml
+    ??? src
+    ??? ??? json_decode.c
+    ??? ??? json_encode.c
+    ??? test
+        ??? pkg.yml
+        ??? src
+            ??? test_json.c
+            ??? test_json.h
+            ??? test_json_utils.c
+            ??? testcases
+                ??? json_simple_decode.c
+                ??? json_simple_encode.c
+
+The top-level ``test`` directory contains the json test package. To
+create a test package for the datetime package, we need to create a
+similar package called ``time/datetime/test``.
+
+.. code-block:: console
+
+    $ newt pkg new time/datetime/test -t unittest
+    Download package template for package type pkg.
+    Package successfuly installed into /home/me/mynewt-core/time/datetime/test.
+
+We now have a test package inside ``time/datetime``:
+
+.. code-block:: console
+
+    time/datetime
+    ??? include
+    ??? ??? datetime
+    ???     ??? datetime.h
+    ??? pkg.yml
+    ??? src
+    ??? ??? datetime.c
+    ??? test
+        ??? README.md
+        ??? pkg.yml
+        ??? src
+        ??? ??? main.c
+        ??? syscfg.yml
+
+There is one modification we need to make to the new package before we
+can start writing unit test code. A test package needs access to the
+code it will be testing, so we need to add a dependency on
+``@apache-mynewt-core/time/datetime`` to our ``pkg.yml`` file:
+
+.. code-block:: console
+   :emphasize-lines: 10
+
+    pkg.name: "time/datetime/test"
+    pkg.type: unittest
+    pkg.description: "Description of your package"
+    pkg.author: "You <yo...@you.org>"
+    pkg.homepage: "http://your-url.org/"
+    pkg.keywords:
+
+    pkg.deps:
+        - '@apache-mynewt-core/test/testutil'
+        - '@apache-mynewt-core/time/datetime'
+
+    pkg.deps.SELFTEST:
+        - '@apache-mynewt-core/sys/console/stub'
+
+While we have the ``pkg.yml`` file open, let's take a look at what newt
+filled in automatically:
+
+-  ``pkg.type: unittest`` designates this as a test package. A *test
+   package* is special in that it can be built and executed using the
+   ``newt test`` command.
+-  A test package always depends on
+   ``@apache-mynewt-core/test/testutil``. The testutil library provides
+   the tools necessary for verifying package behavior,
+-  The ``SELFTEST`` suffix indicates that a setting should only be
+   applied when the ``newt test`` command is used.
+
+Regarding the conditional dependency on ``sys/console/stub``, the
+datetime package requires some form of console to function. In a regular
+application, the console dependency would be supplied by a higher order
+package. Because ``newt test`` runs the test package without an
+application present, the test package needs to supply all unresolved
+dependencies itself when run in self-test mode.
+
+Create Your Test Suite Code
+---------------------------
+
+We will be adding a *test suite* to the ``main.c`` file. The test suite
+will be empty for now. We also need to invoke the test suite from
+``main()``.
+
+Our ``main.c`` file now looks like this:
+
+.. code-block:: c
+
+    #include "sysinit/sysinit.h"
+    #include "testutil/testutil.h"
+
+    TEST_SUITE(test_datetime_suite) {
+        /* Empty for now; add test cases later. */
+    }
+
+    #if MYNEWT_VAL(SELFTEST)
+    int
+    main(int argc, char **argv)
+    {
+        /* Initialize all packages. */
+        sysinit();
+
+        test_datetime_suite();
+
+        /* Indicate whether all test cases passed. */
+        return tu_any_failed;
+    }
+    #endif
+
+Try It Out
+----------
+
+We now have a working test suite with no tests. Let's make sure we get a
+passing result when we run ``newt test``:
+
+.. code-block:: c
+
+    $ newt test time/datetime
+    <build output>
+    Executing test: /home/me/mynewt-core/bin/targets/unittest/time_datetime_test/app/time/datetime/test/time_datetime_test.elf
+    Passed tests: [time/datetime/test]
+    All tests passed
+
+Create a Test
+-------------
+
+To create a test within your test suite, there are two things to do.
+
+1. Implement the test case function using the ``testutil`` macros.
+2. Call the test case function from within the test suite.
+
+For this tutorial we will create a test case to verify the
+``datetime_parse()`` function. The ``datetime_parse()`` function is
+declared as follows:
+
+.. code-block:: c
+
+    /**
+     * Parses an RFC 3339 datetime string.  Some examples of valid datetime strings
+     * are:
+     * 2016-03-02T22:44:00                  UTC time (implicit)
+     * 2016-03-02T22:44:00Z                 UTC time (explicit)
+     * 2016-03-02T22:44:00-08:00            PST timezone
+     * 2016-03-02T22:44:00.1                fractional seconds
+     * 2016-03-02T22:44:00.101+05:30        fractional seconds with timezone
+     *
+     * On success, the two output parameters are filled in (tv and tz).
+     *
+     * @return                      0 on success;
+     *                              nonzero on parse error.
+     */
+    int
+    datetime_parse(const char *input, struct os_timeval *tv, struct os_timezone *tz)
+
+Our test case should make sure this function rejects invalid input, and
+that it parses valid input correctly. The updated ``main.c`` file looks
+like this:
+
+.. code-block:: c
+
+    #include "sysinit/sysinit.h"
+    #include "testutil/testutil.h"
+    #include "os/os_time.h"
+    #include "datetime/datetime.h"
+
+    TEST_SUITE(test_datetime_suite)
+    {
+        test_datetime_parse_simple();
+    }
+
+    TEST_CASE(test_datetime_parse_simple)
+    {
+        struct os_timezone tz;
+        struct os_timeval tv;
+        int rc;
+
+        /*** Valid input. */
+
+        /* No timezone; UTC implied. */
+        rc = datetime_parse("2017-06-28T22:37:59", &tv, &tz);
+        TEST_ASSERT_FATAL(rc == 0);
+        TEST_ASSERT(tv.tv_sec == 1498689479);
+        TEST_ASSERT(tv.tv_usec == 0);
+        TEST_ASSERT(tz.tz_minuteswest == 0);
+        TEST_ASSERT(tz.tz_dsttime == 0);
+
+        /* PDT timezone. */
+        rc = datetime_parse("2013-12-05T02:43:07-07:00", &tv, &tz);
+        TEST_ASSERT_FATAL(rc == 0);
+        TEST_ASSERT(tv.tv_sec == 1386236587);
+        TEST_ASSERT(tv.tv_usec == 0);
+        TEST_ASSERT(tz.tz_minuteswest == 420);
+        TEST_ASSERT(tz.tz_dsttime == 0);
+
+        /*** Invalid input. */
+
+        /* Nonsense. */
+        rc = datetime_parse("abc", &tv, &tz);
+        TEST_ASSERT(rc != 0);
+
+        /* Date-only. */
+        rc = datetime_parse("2017-01-02", &tv, &tz);
+        TEST_ASSERT(rc != 0);
+
+        /* Zero month. */
+        rc = datetime_parse("2017-00-28T22:37:59", &tv, &tz);
+        TEST_ASSERT(rc != 0);
+
+        /* 13 month. */
+        rc = datetime_parse("2017-13-28T22:37:59", &tv, &tz);
+        TEST_ASSERT(rc != 0);
+    }
+
+    #if MYNEWT_VAL(SELFTEST)
+    int
+    main(int argc, char **argv)
+    {
+        /* Initialize all packages. */
+        sysinit();
+
+        test_datetime_suite();
+
+        /* Indicate whether all test cases passed. */
+        return tu_any_failed;
+    }
+    #endif
+
+Take a few minutes to review the above code. Then keep reading for some
+specifics.
+
+Asserting
+~~~~~~~~~
+
+The ``test/testutil`` package provides two tools for verifying the
+correctness of a package:
+
+-  ``TEST_ASSERT``
+-  ``TEST_ASSERT_FATAL``
+
+Both of these macros check if the supplied condition is true. They
+differ in how they behave when the condition is not true. On failure,
+``TEST_ASSERT`` reports the error and proceeds with the remainder of the
+test case. ``TEST_ASSERT_FATAL``, on the other hand, aborts the test
+case on failure.
+
+The general rule is to only use ``TEST_ASSERT_FATAL`` when subsequent
+assertions depend on the condition being checked. For example, when
+``datetime_parse()`` is expected to succeed, the return code is checked
+with ``TEST_ASSERT_FATAL``. If ``datetime_parse()`` unexpectedly failed,
+the contents of the ``tv`` and ``tz`` objects would be indeterminate, so
+it is desirable to abort the test instead of checking them and reporting
+spurious failures.
+
+Scaling Up
+~~~~~~~~~~
+
+The above example is small and self contained, so it is reasonable to
+put everything in a single C file. A typical package will need a lot
+more test code, and it helps to follow some conventions to maintain
+organization. Let's take a look at a more realistic example. Here is the
+directory structure of the ``fs/nffs/test`` package:
+
+.. code-block:: console
+
+    fs/nffs/test
+    ??? pkg.yml
+    ??? src
+        ??? nffs_test.c
+        ??? nffs_test.h
+        ??? nffs_test_debug.c
+        ??? nffs_test_priv.h
+        ??? nffs_test_system_01.c
+        ??? nffs_test_utils.c
+        ??? nffs_test_utils.h
+        ??? testcases
+            ??? append_test.c
+            ??? cache_large_file_test.c
+            ??? corrupt_block_test.c
+            ??? corrupt_scratch_test.c
+            ??? gc_on_oom_test.c
+            ??? gc_test.c
+            ??? incomplete_block_test.c
+            ??? large_system_test.c
+            ??? large_unlink_test.c
+            ??? large_write_test.c
+            ??? long_filename_test.c
+            ??? lost_found_test.c
+            ??? many_children_test.c
+            ??? mkdir_test.c
+            ??? open_test.c
+            ??? overwrite_many_test.c
+            ??? overwrite_one_test.c
+            ??? overwrite_three_test.c
+            ??? overwrite_two_test.c
+            ??? read_test.c
+            ??? readdir_test.c
+            ??? rename_test.c
+            ??? split_file_test.c
+            ??? truncate_test.c
+            ??? unlink_test.c
+            ??? wear_level_test.c
+
+The ``fs/nffs/test`` package follows these conventions:
+
+1. A maximum of one test case per C file.
+2. Each test case file goes in the ``testcases`` subdirectory.
+3. Test suites and utility functions go directly in the ``src``
+   directory.
+
+Test packages contributed to the Mynewt project should follow these
+conventions.
+
+Congratulations
+---------------
+
+Now you can begin the work of validating your packages.
diff --git a/develop/_sources/tutorials/other/wi-fi_on_arduino.rst.txt b/develop/_sources/tutorials/other/wi-fi_on_arduino.rst.txt
new file mode 100644
index 000000000..a27ce8fb5
--- /dev/null
+++ b/develop/_sources/tutorials/other/wi-fi_on_arduino.rst.txt
@@ -0,0 +1,381 @@
+Enable Wi-Fi on Arduino MKR1000
+===============================
+
+This tutorial shows you how to enable Wi-Fi on an Arduino MKR1000 board
+and connect to a Wi-Fi network.
+
+Prerequisites
+~~~~~~~~~~~~~
+
+Ensure that you have met the following prerequisites before continuing
+with this tutorial:
+
+-  Have an Arduino MKR1000 board.
+-  Have Internet connectivity to fetch remote Mynewt components.
+-  Have a computer to build a Mynewt application and connect to the
+   board over USB.
+-  Have a Micro-USB cable to connect the board and the computer.
+-  Have local Wi-Fi network that the computer is connected to and that
+   the MKR1000 board can join.
+-  Have a :doc:`Serial Port Setup <../../get_started/serial_access>`.
+-  Have a `Segger J-Link Debug
+   Probe <https://www.segger.com/jlink-debug-probes.html>`__.
+-  Have a `J-Link 9 pin Cortex-M
+   Adapter <https://www.segger.com/jlink-adapters.html#CM_9pin>`__ that
+   allows JTAG, SWD and SWO connections between J-Link and Cortex M
+   based target hardware systems
+-  Install the `Segger JLINK Software and documentation
+   pack <https://www.segger.com/jlink-software.html>`__.
+-  Install the Newt tool and toolchains (See :doc:`Native Installation
+   <../../get_started/native_install/index>`)
+-  Create a project space (directory structure) and populated it with
+   the core code repository (apache-mynewt-core) or know how to as
+   explained in :doc:`Creating Your First
+   Project <../../get_started/project_create>`.
+-  Read the Mynewt OS :doc:`Concepts <../../get_started/vocabulary>`
+   section.
+
+.. contents::
+  :local:
+  :depth: 2
+
+Create a Project
+~~~~~~~~~~~~~~~~
+
+Create a new project if you do not have an existing one. You can skip
+this step and proceed to `fetch external packages <#%20fetchexternal>`__
+if you already created a project.
+
+Run the following commands to create a new project:
+
+.. code-block:: console
+
+        $ mkdir ~/dev
+        $ cd ~/dev
+        $ newt new arduinowifi
+        Downloading project skeleton from apache/mynewt-blinky...
+        Installing skeleton in arduinowifi...
+        Project arduinowifi successfully created.
+        $ cd arduinowifi
+        $ newt install
+        apache-mynewt-core
+        $
+
+Fetch External Packages
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Mynewt uses source code provided directly from the chip manufacturer for
+low level operations. Sometimes this code is licensed only for the
+specific manufacturer of the chipset and cannot live in the Apache
+Mynewt repository. That happens to be the case for the Arduino Zero
+board which uses Atmel SAMD21. Runtime's git hub repository hosts such
+external third-party packages and the Newt tool can fetch them.
+
+To fetch the package with MCU support for Atmel SAMD21 for Arduino Zero
+from the Runtime git repository, you need to add the repository to the
+``project.yml`` file in your base project directory.
+
+Mynewt uses source code provided directly from the chip manufacturer for
+low level operations. Sometimes this code is licensed only for the
+specific manufacturer of the chipset and cannot live in the Apache
+Mynewt repository. That happens to be the case for the Arduino Zero
+board which uses Atmel SAMD21. Runtime's github repository hosts such
+external third-party packages and the Newt tool can fetch them.
+
+To fetch the package with MCU support for Atmel SAMD21 for Arduino Zero
+from the Runtime git repository, you need to add the repository to the
+``project.yml`` file in your base project directory (``arduinowifi``).
+
+Here is an example ``project.yml`` file with the Arduino Zero repository
+added. The sections with ``mynewt_arduino_zero`` that need to be added
+to your project file are highlighted.
+
+**Note:** On Windows platforms: You need to set ``vers`` to ``0-dev``
+and use the latest master branch for both repositories.
+
+.. code-block:: console
+   :emphasize-lines: 7, 15, 16, 17, 18, 19
+
+    $ more project.yml 
+
+    project.name: "my_project"
+
+    project.repositories: 
+        - apache-mynewt-core 
+        - mynewt_arduino_zero
+
+    repository.apache-mynewt-core: 
+        type: github
+        vers: 1-latest
+        user: apache
+        repo: mynewt-core
+
+    repository.mynewt_arduino_zero: 
+        type: github 
+        vers: 1-latest 
+        user: runtimeco 
+        repo: mynewt_arduino_zero 
+    $
+
+Install the project dependencies using the ``newt install`` command
+(you can specify ``-v`` for verbose output):
+
+.. code-block:: console
+
+    $ newt install
+    apache-mynewt-core
+    mynewt_arduino_zero
+    $
+
+**NOTE:** If there has been a new release of a repo used in your project
+since you last installed it, the ``1-latest`` version for the repo in
+the ``project.yml`` file will refer to the new release and will not
+match the installed files. In that case you will get an error message
+saying so and you will need to run ``newt upgrade`` to overwrite the
+existing files with the latest codebase.
+
+Create a Target for the Bootloader
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+You need to create two targets for the MKR1000 board, one for the
+bootloader and one for the ``winc1500_wifi`` application. Run the
+following ``newt target`` commands, from your project directory, to
+create a bootloader target. We name the target ``mkr1000_boot``.
+
+.. code-block:: console
+
+    $ newt target create mkr1000_boot
+    $ newt target set mkr1000_boot bsp=@mynewt_arduino_zero/hw/bsp/arduino_mkr1000
+    $ newt target set mkr1000_boot app=@apache-mynewt-core/apps/boot
+    $ newt target set mkr1000_boot build_profile=optimized
+    $ newt target set mkr1000_boot syscfg=BSP_ARDUINO_ZERO_PRO=1
+
+Create a Target for the Wi-Fi Application
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Run the following ``newt target`` commands to create a target for the
+``winc1500_wifi`` application in the arduino repository. We name the
+application target ``mkr1000_wifi``.
+
+.. code-block:: console
+
+    $ newt target create mkr1000_wifi
+    $ newt target set mkr1000_wifi app=@mynewt_arduino_zero/apps/winc1500_wifi
+    $ newt target set mkr1000_wifi bsp=@mynewt_arduino_zero/hw/bsp/arduino_mkr1000
+    $ newt target set mkr1000_wifi build_profile=debug
+    $ newt target set mkr1000_boot syscfg=BSP_ARDUINO_ZERO_PRO=1
+
+Build the Bootloader
+~~~~~~~~~~~~~~~~~~~~
+
+
+Run the ``newt build mkr1000_boot`` command to build the bootloader:
+
+.. code-block:: console
+
+    $ newt build mkr1000_boot
+    Building target targets/mkr1000_boot
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c
+    Compiling repos/apache-mynewt-core/crypto/mbedtls/src/aes.c
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec.c
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_validate.c
+    Compiling repos/apache-mynewt-core/apps/boot/src/boot.c
+
+           ...
+
+    Archiving util_mem.a
+    Linking ~/dev/arduinowifi/bin/targets/mkr1000_boot/app/apps/boot/boot.elf
+    Target successfully built: targets/mkr1000_boot
+    $
+
+Build the Wi-Fi Application
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Run the ``newt build mkr1000_wifi`` command to build the wi-fi
+application image:
+
+.. code-block:: console
+
+    $newt build mkr1000_wifi
+    Building target targets/mkr1000_wifi
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec.c
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/image_validate.c
+    Compiling repos/apache-mynewt-core/boot/bootutil/src/loader.c
+               ...
+
+    Archiving util_mem.a
+    Linking ~/dev/arduinowifi/bin/targets/mkr1000_wifi/app/apps/winc1500_wifi/winc1500_wifi.elf
+    Target successfully built: targets/mkr1000_wifi
+    $
+
+Sign and Create the Wi-Fi Application Image
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+Run the ``newt create-image mkr1000_wifi 1.0.0`` command to sign and
+create an image file for the Wi-Fi application. You may assign an
+arbitrary version (e.g. 1.0.0) number.
+
+.. code-block:: console
+
+    $newt create-image  mkr1000_wifi 1.0.0
+    Compiling bin/targets/mkr1000_wifi/generated/src/mkr1000_wifi-sysinit-app.c
+    Archiving mkr1000_wifi-sysinit-app.a
+    Linking ~/dev/arduinowifi/bin/targets/mkr1000_wifi/app/apps/winc1500_wifi/winc1500_wifi.elf
+    App image succesfully generated: ~/dev/arduinowifi/bin/targets/mkr1000_wifi/app/apps/winc1500_wifi/winc1500_wifi.img
+    $
+
+Connect to the Board
+~~~~~~~~~~~~~~~~~~~~
+
+-  Connect your computer to the MKR1000 board with the Micro-USB cable.
+-  Connect the debug probe to the JTAG port on the board using the Jlink
+   9-pin adapter and cable.
+
+ |J-Link debug probe to MKR1000|
+
+Mynewt will download and debug the target through this port. You should
+see a green LED come on and indicates the board has power.
+
+Load the Bootloader onto the Board
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Run the ``newt load mkr1000_boot`` command to load the bootloader onto
+the board:
+
+.. code-block:: console
+
+    $ newt load mkr1000_boot
+    Loading bootloader
+    $
+
+Load the Wi-Fi Application Image onto the Board
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Run the ``newt load mkr1000_wifi`` command to load the wifi application
+onto the board:
+
+.. code-block:: console
+
+    $ newt load mkr1000_wifi
+    Loading app image into slot 1
+    $
+
+Setup a Serial Connection Between Your Computer and the Board
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+Set up a serial connection from your computer to the MKR1000 board (See
+:doc:`Serial Port Setup <../../get_started/serial_access>`). On the
+MKR1000 board, the TX pin is PIN 14 and the RX pin in PIN 13. |Serial
+Connection to MKR1000|
+
+Locate the port, in the /dev directory on your computer, that the
+serial connection uses. The format of the port name is platform
+dependent:
+
+-  Mac OS uses the format ``tty.usbserial-<some identifier>``.
+-  Linux uses the format ``TTYUSB<N>``, where ``N`` is a number. For
+   example, TTYUSB2.
+-  MinGW on Windows uses the format ``ttyS<N>``, where ``N`` is a
+   number. You must map the port name to a Windows COM port:
+   ``/dev/ttyS<N>`` maps to ``COM<N+1>``. For example, ``/dev/ttyS2``
+   maps to ``COM3``.
+
+   You can also use the Windows Device Manager to find the COM port
+   number.
+
+.. code-block:: console
+
+    $ ls /dev/tty*usbserial*
+    /dev/tty.usbserial-1d13
+    $
+
+Start Wi-Fi via console
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Use a terminal emulation program to communicate with the board over the
+serial port. This tutorial shows a Minicom set up. Run the minicom
+command with the serial port you located on your computer:
+
+**Note:** On Windows, you can use the PuTTY application.
+
+.. code-block:: console
+
+    $ minicom -D /dev/tty.usbserial-1d13 -b 115200
+
+Type ``wifi start`` to start Wi-Fi.
+
+.. code-block:: console
+   :emphasize-lines: 10
+
+
+    Welcome to minicom 2.7.1
+
+    OPTIONS: 
+    Compiled on May 17 2017, 15:29:14.
+    Port /dev/tty.usbserial, 15:12:10
+
+    Press Meta-Z for help on special keys
+
+
+    138465 compat> wifi start
+    144570 compat> (APP)(INFO)Chip ID 1503a0
+    (APP)(INFO)Firmware ver   : 19.4.4
+    (APP)(INFO)Min driver ver : 19.3.0
+    (APP)(INFO)Curr driver ver: 19.3.0
+    wifi_init : 0
+
+Connect to the local Wi-Fi network. Note that the MKR1000 board only
+supports 2.4 GHz Wi-Fi networks.
+
+Run the ``wifi connect`` command and specify your network and . After
+you are connected to your wi-fi network, run the ``net service`` command
+to start network services.
+
+.. code-block:: console
+   :emphasize-lines: 1, 8
+
+    wifi connect 
+    037624 wifi_request_scan : 0
+    037627 compat> scan_results 7: 0 
+    038454 wifi_connect : 0 
+    039451 connect_done : 0 
+    039958 dhcp done
+    192.168.0.135 
+    040169 get sys time response 2017.7.12-22.41.33 
+    net service
+
+The board is connected to the network succesfully and has IP address:
+192.168.0.135
+
+Establish TCP Connection and Talk!
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+From a terminal on your computer, telnet to ports 7, 9, or 19 using the
+IP address your board has been assigned. Type something on this terminal
+and see the console output (on minicom). Can you see the difference in
+the behaviors?
+
+.. code-block:: console
+
+
+    $telnet  192.168.0.135 7
+    Trying 192.168.0.135...
+    Connected to 192.168.0.135.
+    Escape character is '^]'.
+    hello
+    hello
+    ^]
+    telnet> q
+    $
+
+One port echoes whatever is typed, one discards everything it gets, and
+the third spews out bits constantly. Type ``wifi stop`` to disable WiFi
+on the Arduino board.
+
+.. |J-Link debug probe to MKR1000| image:: ../pics/mkr1000-jlink.jpg
+.. |Serial Connection to MKR1000| image:: ../pics/mkr1000-serial.jpg
\ No newline at end of file
diff --git a/develop/_sources/tutorials/slinky/project-slinky.rst.txt b/develop/_sources/tutorials/slinky/project-slinky.rst.txt
index a7d991031..f443e5b82 100644
--- a/develop/_sources/tutorials/slinky/project-slinky.rst.txt
+++ b/develop/_sources/tutorials/slinky/project-slinky.rst.txt
@@ -16,7 +16,7 @@ device running the Mynewt OS. The protocol for remote communications is
 called newt manager (newtmgr).
 
 If you have an existing project using a target that does not use the Slinky application and you wish to add newtmgr functionality to 
-it, check out the tutorial titled :doc:`Enable newtmgr in any app <../add_newtmgr>`
+it, check out the tutorial titled :doc:`Enable newtmgr in any app <add_newtmgr>`
 
 .. contents::
   :local:
diff --git a/develop/_sources/tutorials/tutorials.rst.txt b/develop/_sources/tutorials/tutorials.rst.txt
index ec983a39d..8a2f0e35a 100644
--- a/develop/_sources/tutorials/tutorials.rst.txt
+++ b/develop/_sources/tutorials/tutorials.rst.txt
@@ -13,6 +13,7 @@ Tutorials
    LoRa <lora/lorawanapp>
    Sensors <sensors/sensors>
    Tooling <tooling/tooling>
+   Other <other/other>
 
 If the introduction to Mynewt has piqued your interest and you want to
 familiarize yourself with some of its functionality, this series of
@@ -63,7 +64,7 @@ category are listed below.
 -  Navigating the Code and Adding Functionality
 
    -  :doc:`Adding More Repositories to Your Project <repo/add_repos>`
-   -  :doc:`Adding a Unit Test For a Package <unit_test>`
+   -  :doc:`Adding a Unit Test For a Package <other/unit_test>`
 
 -  Using Newtmgr
 
@@ -82,7 +83,7 @@ category are listed below.
 
 -  Remote Device Management
 
-   -  :doc:`Enabling Newt Manager in Any App <add_newtmgr>`
+   -  :doc:`Enabling Newt Manager in Any App <../add_newtmgr>`
    -  :doc:`Upgrading an Image Over-The-Air <ota_upgrade_nrf52>`
 
 -  Sensors
diff --git a/develop/misc/faq.html b/develop/misc/faq.html
index 53674a474..f0b8c5830 100644
--- a/develop/misc/faq.html
+++ b/develop/misc/faq.html
@@ -263,24 +263,48 @@ <h1>FAQ<a class="headerlink" href="#faq" title="Permalink to this headline">?</
 questions.</p>
 <div class="section" id="mynewt-software-questions">
 <h2>Mynewt software questions:<a class="headerlink" href="#mynewt-software-questions" title="Permalink to this headline">?</a></h2>
+<div class="contents local topic" id="contents">
 <ul class="simple">
-<li><span class="xref std std-doc">How do I reduce the code size for my Mynewt image?</span></li>
+<li><a class="reference internal" href="#how-do-i-reduce-the-code-size-for-my-mynewt-image" id="id2">How do I reduce the code size for my Mynewt image?</a></li>
+<li><a class="reference internal" href="#i-m-having-issues-using-newt-manager-with-the-adafruit-nrf52dk-what-do-i-do" id="id3">I?m having issues using Newt Manager with the Adafruit nRF52DK. What do I do?</a></li>
 </ul>
 </div>
+<div class="section" id="how-do-i-reduce-the-code-size-for-my-mynewt-image">
+<h3><a class="toc-backref" href="#id2">How do I reduce the code size for my Mynewt image?</a><a class="headerlink" href="#how-do-i-reduce-the-code-size-for-my-mynewt-image" title="Permalink to this headline">?</a></h3>
+<p>Please refer to the tutorial documentation on <a class="reference external" href="https://github.com/apache/mynewt-site/blob/master/docs/os/tutorials/codesize.md">reducing application code size</a>.</p>
+</div>
+<div class="section" id="i-m-having-issues-using-newt-manager-with-the-adafruit-nrf52dk-what-do-i-do">
+<h3><a class="toc-backref" href="#id3">I?m having issues using Newt Manager with the Adafruit nRF52DK. What do I do?</a><a class="headerlink" href="#i-m-having-issues-using-newt-manager-with-the-adafruit-nrf52dk-what-do-i-do" title="Permalink to this headline">?</a></h3>
+<p>There are two things you will need to do to fix any issues you encounter when working with the Adafruit nRF52DK and Newt Manager:</p>
+<ol class="arabic">
+<li><p class="first">Specify a reduced MTU:</p>
+<p>You can specify the reduced MTU by adding <code class="docutils literal notranslate"><span class="pre">mtu=128</span></code> to your connection string. The reason for this change is that MTU is the serial boot loader used to have a smaller receive buffer (128 bytes). The newtmgr tool sends larger image chunks by default, so specifying the MTU will reduce the image size.</p>
+</li>
+</ol>
+<p></p>
+<ol class="arabic" start="2">
+<li><p class="first">Indicate that the existing image should not be erased:</p>
+<p>This is accomplished with the <code class="docutils literal notranslate"><span class="pre">-e</span></code> command line option. Your command line should look similar to the following:</p>
+<p><code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">newtmgr</span> <span class="pre">--conntype</span> <span class="pre">serial</span> <span class="pre">--connextra</span> <span class="pre">'dev=/dev/ttyUSB0,mtu=128'</span> <span class="pre">image</span> <span class="pre">upload</span> <span class="pre">-e</span> <span class="pre">&lt;image-path&gt;</span></code></p>
+<p>This change is needed because the serial boot loader doesn?t support the standalone ?erase image? command - as a result, it drops the request. The newtmgr image upload command starts by sending an erase command, then times out when it doesn?t receive a response. The older version of newtmgr would use smaller chunk size for images, and it did not send the standalone erase command. When newtmgr was changed in versions 1.2 and 1.3, the serial boot loader changed along with it. The latest newtmgr is not compatible with an older version of the boot loader (which your board will probably ship with) without the above workarounds.</p>
+</li>
+</ol>
+</div>
+</div>
 <div class="section" id="administrative-questions">
 <h2>Administrative questions:<a class="headerlink" href="#administrative-questions" title="Permalink to this headline">?</a></h2>
-<div class="contents local topic" id="contents">
+<div class="contents local topic" id="id1">
 <ul class="simple">
-<li><a class="reference internal" href="#how-do-i-submit-a-bug" id="id1">How do I submit a bug?</a></li>
-<li><a class="reference internal" href="#how-do-i-request-a-feature" id="id2">How do I request a feature?</a></li>
-<li><a class="reference internal" href="#i-am-not-on-the-committer-list-how-do-i-submit-a-patch" id="id3">I am not on the committer list. How do I submit a patch?</a></li>
-<li><a class="reference internal" href="#i-am-a-committer-in-the-project-can-i-merge-my-own-pull-request-into-the-git-repository" id="id4">I am a committer in the project. Can I merge my own Pull Request into the git repository?</a></li>
-<li><a class="reference internal" href="#i-would-like-to-make-some-edits-to-the-documentation-what-do-i-do" id="id5">I would like to make some edits to the documentation. What do I do?</a></li>
-<li><a class="reference internal" href="#i-would-like-to-make-some-edits-to-the-documentation-but-want-to-use-an-editor-on-my-own-laptop-what-do-i-do" id="id6">I would like to make some edits to the documentation but want to use an editor on my own laptop. What do I do?</a></li>
+<li><a class="reference internal" href="#how-do-i-submit-a-bug" id="id4">How do I submit a bug?</a></li>
+<li><a class="reference internal" href="#how-do-i-request-a-feature" id="id5">How do I request a feature?</a></li>
+<li><a class="reference internal" href="#i-am-not-on-the-committer-list-how-do-i-submit-a-patch" id="id6">I am not on the committer list. How do I submit a patch?</a></li>
+<li><a class="reference internal" href="#i-am-a-committer-in-the-project-can-i-merge-my-own-pull-request-into-the-git-repository" id="id7">I am a committer in the project. Can I merge my own Pull Request into the git repository?</a></li>
+<li><a class="reference internal" href="#i-would-like-to-make-some-edits-to-the-documentation-what-do-i-do" id="id8">I would like to make some edits to the documentation. What do I do?</a></li>
+<li><a class="reference internal" href="#i-would-like-to-make-some-edits-to-the-documentation-but-want-to-use-an-editor-on-my-own-laptop-what-do-i-do" id="id9">I would like to make some edits to the documentation but want to use an editor on my own laptop. What do I do?</a></li>
 </ul>
 </div>
 <div class="section" id="how-do-i-submit-a-bug">
-<h3><a class="toc-backref" href="#id1">How do I submit a bug?</a><a class="headerlink" href="#how-do-i-submit-a-bug" title="Permalink to this headline">?</a></h3>
+<h3><a class="toc-backref" href="#id4">How do I submit a bug?</a><a class="headerlink" href="#how-do-i-submit-a-bug" title="Permalink to this headline">?</a></h3>
 <p>If you do not have a JIRA account sign up
 for an account on
 <a class="reference external" href="https://issues.apache.org/jira/secure/Signup!default.jspa">JIRA</a>.</p>
@@ -293,7 +317,7 @@ <h3><a class="toc-backref" href="#id1">How do I submit a bug?</a><a class="heade
 description, how it is triggered, and other details.</p>
 </div>
 <div class="section" id="how-do-i-request-a-feature">
-<h3><a class="toc-backref" href="#id2">How do I request a feature?</a><a class="headerlink" href="#how-do-i-request-a-feature" title="Permalink to this headline">?</a></h3>
+<h3><a class="toc-backref" href="#id5">How do I request a feature?</a><a class="headerlink" href="#how-do-i-request-a-feature" title="Permalink to this headline">?</a></h3>
 <p>If you do not have a JIRA account sign up for an account on
 <a class="reference external" href="https://issues.apache.org/jira/secure/Signup!default.jspa">JIRA</a>.</p>
 <p>Submit a request to the &#64;dev mailing list for your JIRA username to be
@@ -309,7 +333,7 @@ <h3><a class="toc-backref" href="#id2">How do I request a feature?</a><a class="
 you. You will have to refer to this JIRA ticket in your pull request.</p>
 </div>
 <div class="section" id="i-am-not-on-the-committer-list-how-do-i-submit-a-patch">
-<h3><a class="toc-backref" href="#id3">I am not on the committer list. How do I submit a patch?</a><a class="headerlink" href="#i-am-not-on-the-committer-list-how-do-i-submit-a-patch" title="Permalink to this headline">?</a></h3>
+<h3><a class="toc-backref" href="#id6">I am not on the committer list. How do I submit a patch?</a><a class="headerlink" href="#i-am-not-on-the-committer-list-how-do-i-submit-a-patch" title="Permalink to this headline">?</a></h3>
 <p><strong>You submit your proposed changes for your peers with committer status
 to review and merge.</strong></p>
 <p>The process to submit a Pull Request on github.com is described on the
@@ -317,14 +341,14 @@ <h3><a class="toc-backref" href="#id3">I am not on the committer list. How do I
 project</a>.</p>
 </div>
 <div class="section" id="i-am-a-committer-in-the-project-can-i-merge-my-own-pull-request-into-the-git-repository">
-<h3><a class="toc-backref" href="#id4">I am a committer in the project. Can I merge my own Pull Request into the git repository?</a><a class="headerlink" href="#i-am-a-committer-in-the-project-can-i-merge-my-own-pull-request-into-the-git-repository" title="Permalink to this headline">?</a></h3>
+<h3><a class="toc-backref" href="#id7">I am a committer in the project. Can I merge my own Pull Request into the git repository?</a><a class="headerlink" href="#i-am-a-committer-in-the-project-can-i-merge-my-own-pull-request-into-the-git-repository" title="Permalink to this headline">?</a></h3>
 <p>Yes, but only if your Pull Request has been reviewed and approved by
 another committer in Apache Mynewt. The process to merge a Pull Request
 is described on the <a class="reference external" href="https://cwiki.apache.org/confluence/display/MYNEWT/Merging+Pull+Requests">Confluence page for the
 project</a>.</p>
 </div>
 <div class="section" id="i-would-like-to-make-some-edits-to-the-documentation-what-do-i-do">
-<h3><a class="toc-backref" href="#id5">I would like to make some edits to the documentation. What do I do?</a><a class="headerlink" href="#i-would-like-to-make-some-edits-to-the-documentation-what-do-i-do" title="Permalink to this headline">?</a></h3>
+<h3><a class="toc-backref" href="#id8">I would like to make some edits to the documentation. What do I do?</a><a class="headerlink" href="#i-would-like-to-make-some-edits-to-the-documentation-what-do-i-do" title="Permalink to this headline">?</a></h3>
 <p>You submit your proposed changes for your peers with committer status
 to review and merge.</p>
 <p>Each Mynewt repository has its own set of related documentation in the docs/ folder. The
@@ -353,7 +377,7 @@ <h3><a class="toc-backref" href="#id5">I would like to make some edits to the do
 the delete icon.</p>
 </div>
 <div class="section" id="i-would-like-to-make-some-edits-to-the-documentation-but-want-to-use-an-editor-on-my-own-laptop-what-do-i-do">
-<h3><a class="toc-backref" href="#id6">I would like to make some edits to the documentation but want to use an editor on my own laptop. What do I do?</a><a class="headerlink" href="#i-would-like-to-make-some-edits-to-the-documentation-but-want-to-use-an-editor-on-my-own-laptop-what-do-i-do" title="Permalink to this headline">?</a></h3>
+<h3><a class="toc-backref" href="#id9">I would like to make some edits to the documentation but want to use an editor on my own laptop. What do I do?</a><a class="headerlink" href="#i-would-like-to-make-some-edits-to-the-documentation-but-want-to-use-an-editor-on-my-own-laptop-what-do-i-do" title="Permalink to this headline">?</a></h3>
 <p>You submit your proposed changes for your peers with committer status
 to review and merge.</p>
 <p>Go to the <a class="reference external" href="https://github.com/apache/mynewt-documentation">documentation
diff --git a/develop/newtmgr/command_list/newtmgr_mpstats.html b/develop/newtmgr/command_list/newtmgr_mpstats.html
index 4e4c37732..fb45491ba 100644
--- a/develop/newtmgr/command_list/newtmgr_mpstats.html
+++ b/develop/newtmgr/command_list/newtmgr_mpstats.html
@@ -325,7 +325,7 @@ <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this head
 </tbody>
 </table>
 <p>Here is an example output for the <code class="docutils literal notranslate"><span class="pre">myble</span></code> application from the
-<span class="xref std std-doc">Enabling Newt Manager in any app</span> tutiorial:</p>
+<a class="reference internal" href="../../os/tutorials/add_newtmgr.html"><span class="doc">Enabling Newt Manager in any app</span></a> tutiorial:</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newtmgr mpstat -c myserial
 <span class="go">                         name blksz  cnt free  min</span>
 <span class="go">          ble_att_svr_entry_pool    20   75    0    0</span>
diff --git a/develop/newtmgr/command_list/newtmgr_stat.html b/develop/newtmgr/command_list/newtmgr_stat.html
index 4ff54d155..a9cdbae24 100644
--- a/develop/newtmgr/command_list/newtmgr_stat.html
+++ b/develop/newtmgr/command_list/newtmgr_stat.html
@@ -341,7 +341,7 @@ <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this head
 </tbody>
 </table>
 <p>Here are some example outputs for the <code class="docutils literal notranslate"><span class="pre">myble</span></code> application from the
-<span class="xref std std-doc">Enabling Newt Manager in any app</span> tutiorial:</p>
+<a class="reference internal" href="../../os/tutorials/add_newtmgr.html"><span class="doc">Enabling Newt Manager in any app</span></a> tutiorial:</p>
 <p>The statistics for the ble_att Stats:</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">   $</span> newtmgr stat ble_att -c myserial
 <span class="go">   stat group: ble_att</span>
diff --git a/develop/newtmgr/command_list/newtmgr_taskstats.html b/develop/newtmgr/command_list/newtmgr_taskstats.html
index f59cbe212..81a1b2731 100644
--- a/develop/newtmgr/command_list/newtmgr_taskstats.html
+++ b/develop/newtmgr/command_list/newtmgr_taskstats.html
@@ -305,7 +305,7 @@ <h2>Description<a class="headerlink" href="#description" title="Permalink to thi
 <li><strong>csw</strong>: Number of times the task has switched context</li>
 <li><strong>stksz</strong>: Stack size allocated for the task</li>
 <li><strong>stkuse</strong>: Actual stack size the task uses</li>
-<li><strong>last_checkin</strong>: Last sanity checkin with the <span class="xref std std-doc">Sanity Task</span></li>
+<li><strong>last_checkin</strong>: Last sanity checkin with the <a class="reference internal" href="../../os/core_os/sanity/sanity.html"><span class="doc">Sanity Task</span></a></li>
 <li><strong>next_checkin</strong>: Next sanity checkin</li>
 </ul>
 </div>
@@ -328,7 +328,7 @@ <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this head
 </tbody>
 </table>
 <p>Here is an example output for the <code class="docutils literal notranslate"><span class="pre">myble</span></code> application from the
-<span class="xref std std-doc">Enabling Newt Manager in any app</span> tutorial:</p>
+<a class="reference internal" href="../../os/tutorials/add_newtmgr.html"><span class="doc">Enabling Newt Manager in any app</span></a> tutorial:</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newtmgr taskstat -c myserial
 <span class="go">      task pri tid  runtime      csw    stksz   stkuse last_checkin next_checkin</span>
 <span class="go">    ble_ll   0   2        0       12       80       58        0        0</span>
diff --git a/develop/objects.inv b/develop/objects.inv
index b2ddb268f..ff7a5ab04 100644
Binary files a/develop/objects.inv and b/develop/objects.inv differ
diff --git a/develop/os/core_os/API.html b/develop/os/core_os/API.html
index 188b6e636..8ab3e8a78 100644
--- a/develop/os/core_os/API.html
+++ b/develop/os/core_os/API.html
@@ -43,7 +43,7 @@
       <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/>
           <link rel="up" title="Mynewt Core OS" href="mynewt_os.html"/>
           <link rel="next" title="Porting Mynewt OS" href="porting/port_os.html"/>
-          <link rel="prev" title="Task" href="task/task.html"/> 
+          <link rel="prev" title="Callout" href="callout/callout.html"/> 
 
     
     <script src="../../_static/js/modernizr.min.js"></script>
@@ -229,6 +229,16 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l3"><a class="reference internal" href="cputime/os_cputime.html">CPU Time</a></li>
 <li class="toctree-l3"><a class="reference internal" href="time/os_time.html">OS Time</a></li>
 <li class="toctree-l3"><a class="reference internal" href="task/task.html">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="heap/heap.html">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="msys/msys.html">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="callout/callout.html">Callout</a></li>
 <li class="toctree-l3 current"><a class="current reference internal" href="#">API</a></li>
 </ul>
 </li>
@@ -655,7 +665,7 @@ <h2><a class="toc-backref" href="#id3">CPU Time</a><a class="headerlink" href="#
 
 <dl class="function">
 <dt id="c.os_cputime_timer_init">
-<span class="target" id="group___o_s_c_p_u_time_1gaaa77925d4b99f92de3fdb3a33763f3ee"></span>void <code class="descname">os_cputime_timer_init</code><span class="sig-paren">(</span>struct hal_timer *<em>&nbsp;timer</em>, hal_timer_cb<em>&nbsp;fp</em>, void *<em>&nbsp;arg</em><span class="sig-paren">)</span><a class="headerlink" href="#c.os_cputime_timer_init" title="Permalink to this definition">?</a></dt>
+<span class="target" id="group___o_s_c_p_u_time_1gaaa77925d4b99f92de3fdb3a33763f3ee"></span>void <code class="descname">os_cputime_timer_init</code><span class="sig-paren">(</span>struct  hal_timer  *<em>&nbsp;timer</em>, hal_timer_cb<em>&nbsp;fp</em>, void *<em>&nbsp;arg</em><span class="sig-paren">)</span><a class="headerlink" href="#c.os_cputime_timer_init" title="Permalink to this definition">?</a></dt>
 <dd><p>os cputime timer init </p>
 <p><dl class="docutils">
 <dt><strong>Parameters</strong></dt>
@@ -671,7 +681,7 @@ <h2><a class="toc-backref" href="#id3">CPU Time</a><a class="headerlink" href="#
 
 <dl class="function">
 <dt id="c.os_cputime_timer_start">
-<span class="target" id="group___o_s_c_p_u_time_1ga7ee4efebfb9ace6abc53aab7befbb36b"></span>int <code class="descname">os_cputime_timer_start</code><span class="sig-paren">(</span>struct hal_timer *<em>&nbsp;timer</em>, uint32_t<em>&nbsp;cputime</em><span class="sig-paren">)</span><a class="headerlink" href="#c.os_cputime_timer_start" title="Permalink to this definition">?</a></dt>
+<span class="target" id="group___o_s_c_p_u_time_1ga7ee4efebfb9ace6abc53aab7befbb36b"></span>int <code class="descname">os_cputime_timer_start</code><span class="sig-paren">(</span>struct  hal_timer  *<em>&nbsp;timer</em>, uint32_t<em>&nbsp;cputime</em><span class="sig-paren">)</span><a class="headerlink" href="#c.os_cputime_timer_start" title="Permalink to this definition">?</a></dt>
 <dd><p>os cputime timer start </p>
 <p>Start a cputimer that will expire at ?cputime?. If cputime has already passed, the timer callback will still be called (at interrupt context).</p>
 <p>NOTE: This must be called when the timer is stopped.</p>
@@ -690,7 +700,7 @@ <h2><a class="toc-backref" href="#id3">CPU Time</a><a class="headerlink" href="#
 
 <dl class="function">
 <dt id="c.os_cputime_timer_relative">
-<span class="target" id="group___o_s_c_p_u_time_1ga178a0ad1206ee2f3921ec812cc4dbd93"></span>int <code class="descname">os_cputime_timer_relative</code><span class="sig-paren">(</span>struct hal_timer *<em>&nbsp;timer</em>, uint32_t<em>&nbsp;usecs</em><span class="sig-paren">)</span><a class="headerlink" href="#c.os_cputime_timer_relative" title="Permalink to this definition">?</a></dt>
+<span class="target" id="group___o_s_c_p_u_time_1ga178a0ad1206ee2f3921ec812cc4dbd93"></span>int <code class="descname">os_cputime_timer_relative</code><span class="sig-paren">(</span>struct  hal_timer  *<em>&nbsp;timer</em>, uint32_t<em>&nbsp;usecs</em><span class="sig-paren">)</span><a class="headerlink" href="#c.os_cputime_timer_relative" title="Permalink to this definition">?</a></dt>
 <dd><p>os cputimer timer relative </p>
 <p>Sets a cpu timer that will expire ?usecs? microseconds from the current cputime.</p>
 <p>NOTE: This must be called when the timer is stopped.</p>
@@ -709,7 +719,7 @@ <h2><a class="toc-backref" href="#id3">CPU Time</a><a class="headerlink" href="#
 
 <dl class="function">
 <dt id="c.os_cputime_timer_stop">
-<span class="target" id="group___o_s_c_p_u_time_1ga941919d476b402d1afd0d23f1b1e06fe"></span>void <code class="descname">os_cputime_timer_stop</code><span class="sig-paren">(</span>struct hal_timer *<em>&nbsp;timer</em><span class="sig-paren">)</span><a class="headerlink" href="#c.os_cputime_timer_stop" title="Permalink to this definition">?</a></dt>
+<span class="target" id="group___o_s_c_p_u_time_1ga941919d476b402d1afd0d23f1b1e06fe"></span>void <code class="descname">os_cputime_timer_stop</code><span class="sig-paren">(</span>struct  hal_timer  *<em>&nbsp;timer</em><span class="sig-paren">)</span><a class="headerlink" href="#c.os_cputime_timer_stop" title="Permalink to this definition">?</a></dt>
 <dd><p>os cputime timer stop </p>
 <p>Stops a cputimer from running. The timer is removed from the timer queue and interrupts are disabled if no timers are left on the queue. Can be called even if timer is not running.</p>
 <p><dl class="docutils">
@@ -1154,7 +1164,7 @@ <h2><a class="toc-backref" href="#id5">Task</a><a class="headerlink" href="#task
         <a href="porting/port_os.html" class="btn btn-neutral float-right" title="Porting Mynewt OS" accesskey="n">Next: Porting Mynewt OS <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="task/task.html" class="btn btn-neutral" title="Task" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Task</a>
+        <a href="callout/callout.html" class="btn btn-neutral" title="Callout" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Callout</a>
       
     </div>
 
diff --git a/develop/os/core_os/callout/callout.html b/develop/os/core_os/callout/callout.html
new file mode 100644
index 000000000..de17b0489
--- /dev/null
+++ b/develop/os/core_os/callout/callout.html
@@ -0,0 +1,450 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Callout &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/>
+          <link rel="up" title="Mynewt Core OS" href="../mynewt_os.html"/>
+          <link rel="next" title="Core OS API" href="../API.html"/>
+          <link rel="prev" title="Sanity" href="../sanity/sanity.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+      <a href="../../os_user_guide.html">OS User Guide</a> /
+    
+      <a href="../mynewt_os.html">Mynewt Core OS</a> /
+    
+    Callout
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/core_os/callout/callout.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a><ul class="current">
+<li class="toctree-l2 current"><a class="reference internal" href="../mynewt_os.html">OS Core</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../context_switch/context_switch.html">Scheduler</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../cputime/os_cputime.html">CPU Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../time/os_time.html">OS Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../task/task.html">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../heap/heap.html">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../msys/msys.html">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Callout</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../API.html">API</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../porting/port_os.html">Porting Mynewt OS</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/console/console.html">Console</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/sysinitconfig/sysinitconfig.html">System Configuration and Initialization</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="callout">
+<h1>Callout<a class="headerlink" href="#callout" title="Permalink to this headline">?</a></h1>
+<p>Callouts are MyNewt OS timers.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>Callout is a way of setting up an OS timer. When the timer fires, it is
+delivered as an event to task?s event queue.</p>
+<p>User would initialize their callout structure using
+<em>os_callout_init()</em>, or <em>os_callout_func_init()</em> and then arm it
+with <em>os_callout_reset()</em>.</p>
+<p>If user wants to cancel the timer before it expires, they can either use
+<em>os_callout_reset()</em> to arm it for later expiry, or stop it altogether
+by calling <em>os_callout_stop()</em>.</p>
+<p>There are 2 different options for data structure to use. First is
+<em>struct os_callout</em>, which is a bare-bones version. You would
+initialize this with <em>os_callout_init()</em>.</p>
+<p>Second option is <em>struct os_callout_func</em>. This you can use if you
+expect to have multiple different types of timers in your task, running
+concurrently. The structure contains a function pointer, and you would
+call that function from your task?s event processing loop.</p>
+<p>Time unit when arming the timer is OS ticks. This rate of this ticker
+depends on the platform this is running on. You should use OS define
+<em>OS_TICKS_PER_SEC</em> to convert wallclock time to OS ticks.</p>
+<p>Callout timer fires out just once. For periodic timer type of operation
+you need to rearm it once it fires.</p>
+</div>
+<div class="section" id="data-structures">
+<h2>Data structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>struct os_callout {
+    struct os_event c_ev;
+    struct os_eventq *c_evq;
+    uint32_t c_ticks;
+    TAILQ_ENTRY(os_callout) c_next;
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="17%" />
+<col width="83%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Element</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>c_ev</td>
+<td>Event structure of this callout</td>
+</tr>
+<tr class="row-odd"><td>c_evq</td>
+<td>Event queue where this callout is placed on timer expiry</td>
+</tr>
+<tr class="row-even"><td>c_ticks</td>
+<td>OS tick amount when timer fires</td>
+</tr>
+<tr class="row-odd"><td>c_next</td>
+<td>Linkage to other unexpired callouts</td>
+</tr>
+</tbody>
+</table>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>struct os_callout_func {
+    struct os_callout cf_c;
+    os_callout_func_t cf_func;
+    void *cf_arg;
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="15%" />
+<col width="85%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Element</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>cf_c</td>
+<td>struct os_callout. See above</td>
+</tr>
+<tr class="row-odd"><td>cf_func</td>
+<td>Function pointer which should be called by event queue processing</td>
+</tr>
+<tr class="row-even"><td>cf_arg</td>
+<td>Generic void * argument to that function</td>
+</tr>
+</tbody>
+</table>
+<div class="section" id="api">
+<h3>API<a class="headerlink" href="#api" title="Permalink to this headline">?</a></h3>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">doxygengroup: Cannot find namespace ?OSCallouts? in doxygen xml output for project ?mynewt-core? from directory: mynewt-core-xml</p>
+</div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
+      
+        <a href="../API.html" class="btn btn-neutral float-right" title="Core OS API" accesskey="n">Next: Core OS API <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../sanity/sanity.html" class="btn btn-neutral" title="Sanity" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Sanity</a>
+      
+    </div>
+
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/core_os/context_switch/context_switch.html b/develop/os/core_os/context_switch/context_switch.html
index b8c5cc854..8c4b0035f 100644
--- a/develop/os/core_os/context_switch/context_switch.html
+++ b/develop/os/core_os/context_switch/context_switch.html
@@ -229,6 +229,16 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l3"><a class="reference internal" href="../cputime/os_cputime.html">CPU Time</a></li>
 <li class="toctree-l3"><a class="reference internal" href="../time/os_time.html">OS Time</a></li>
 <li class="toctree-l3"><a class="reference internal" href="../task/task.html">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../heap/heap.html">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../msys/msys.html">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../callout/callout.html">Callout</a></li>
 <li class="toctree-l3"><a class="reference internal" href="../API.html">API</a></li>
 </ul>
 </li>
diff --git a/develop/os/core_os/cputime/os_cputime.html b/develop/os/core_os/cputime/os_cputime.html
index 3c01e0acd..1abcc018c 100644
--- a/develop/os/core_os/cputime/os_cputime.html
+++ b/develop/os/core_os/cputime/os_cputime.html
@@ -229,6 +229,16 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l3 current"><a class="current reference internal" href="#">CPU Time</a></li>
 <li class="toctree-l3"><a class="reference internal" href="../time/os_time.html">OS Time</a></li>
 <li class="toctree-l3"><a class="reference internal" href="../task/task.html">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../heap/heap.html">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../msys/msys.html">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../callout/callout.html">Callout</a></li>
 <li class="toctree-l3"><a class="reference internal" href="../API.html">API</a></li>
 </ul>
 </li>
diff --git a/develop/os/core_os/event_queue/event_queue.html b/develop/os/core_os/event_queue/event_queue.html
new file mode 100644
index 000000000..58ecd1d65
--- /dev/null
+++ b/develop/os/core_os/event_queue/event_queue.html
@@ -0,0 +1,506 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Event Queues &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/>
+          <link rel="up" title="Mynewt Core OS" href="../mynewt_os.html"/>
+          <link rel="next" title="Semaphore" href="../semaphore/semaphore.html"/>
+          <link rel="prev" title="Task" href="../task/task.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+      <a href="../../os_user_guide.html">OS User Guide</a> /
+    
+      <a href="../mynewt_os.html">Mynewt Core OS</a> /
+    
+    Event Queues
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/core_os/event_queue/event_queue.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a><ul class="current">
+<li class="toctree-l2 current"><a class="reference internal" href="../mynewt_os.html">OS Core</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../context_switch/context_switch.html">Scheduler</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../cputime/os_cputime.html">CPU Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../time/os_time.html">OS Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../task/task.html">Task</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../heap/heap.html">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../msys/msys.html">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../callout/callout.html">Callout</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../API.html">API</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../porting/port_os.html">Porting Mynewt OS</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/console/console.html">Console</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/sysinitconfig/sysinitconfig.html">System Configuration and Initialization</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="event-queues">
+<h1>Event Queues<a class="headerlink" href="#event-queues" title="Permalink to this headline">?</a></h1>
+<p>An event queue allows a task to serialize incoming events and simplify
+event processing. Events are stored in a queue and a task removes and
+processes an event from the queue. An event is processed in the context
+of this task. Events may be generated by <a class="reference external" href="../callout/callout.html">OS
+callouts</a>, interrupt handlers, and other
+tasks.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>Mynewt?s event queue model uses callback functions to process events.
+Each event is associated with a callback function that is called to
+process the event. This model enables a library package, that uses
+events in its implementation but does not have real-time timing
+requirements, to use an application event queue instead of creating a
+dedicated event queue and task to process its events. The callback
+function executes in the context of the task that the application
+creates to manage the event queue. This model reduces an application?s
+memory requirement because memory must be allocated for the task?s stack
+when a task is created. A package that has real-time timing requirements
+and must run at a specific task priority should create a dedicated event
+queue and task to process its events.</p>
+<p>In the Mynewt model, a package defines its events and implements the
+callback functions for the events. A package that does not have
+real-time timing requirements should use Mynewt?s default event queue
+for its events. The callback function for an event from the Mynewt
+default event queue is executed in the context of the application main
+task. A package can, optionally, export a function that allows an
+application to specify the event queue for the package to use. (See the
+example in the <code class="docutils literal notranslate"><span class="pre">os_eventq_designate()</span></code> function description on how to
+write such a function.) The application task handler that manages the
+event queue simply pulls events from the event queue and executes the
+event?s callback function in its context.</p>
+<p>A common way that Mynewt applications or packages process events from an
+event queue is to have a task that executes in an infinite loop and
+calls the <code class="docutils literal notranslate"><span class="pre">os_eventq_get()</span></code> function to dequeue and return the event
+from the head of the event queue. The task then calls the event callback
+function to process the event. The <code class="docutils literal notranslate"><span class="pre">os_eventq_get()</span></code> function puts the
+task in to the <code class="docutils literal notranslate"><span class="pre">sleeping</span></code> state when there are no events on the queue.
+(See <a class="reference external" href="../context_switch/context_switch.html">Scheduler</a> for more
+information on task execution states.) Other tasks (or interrupts) call
+the <code class="docutils literal notranslate"><span class="pre">os_eventq_put()</span></code> function to add an event to the queue. The
+<code class="docutils literal notranslate"><span class="pre">os_eventq_put()</span></code> function determines whether a task is blocked
+waiting for an event on the queue and puts the task into the
+<code class="docutils literal notranslate"><span class="pre">ready-to-run</span></code> state.</p>
+<p>A task can use the <code class="docutils literal notranslate"><span class="pre">os_eventq_run()</span></code> wrapper function that calls the
+<code class="docutils literal notranslate"><span class="pre">os_eventq_get()</span></code> function to dequeue an event from the queue and then
+calls the event callback function to process the event.</p>
+<p>Note:</p>
+<ul class="simple">
+<li>Only one task should consume or block waiting for events from an
+event queue.</li>
+<li>The <a class="reference external" href="../callout/callout.html">os_callout</a> subsystem uses events for
+timer expiration notification.</li>
+</ul>
+</div>
+<div class="section" id="data-structures">
+<h2>Data structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">os_event</span></code> structure defines an event and has the following
+fields:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct os_event {
+    uint8_t ev_queued;
+    os_event_fn *ev_cb;
+    void *ev_arg;
+    STAILQ_ENTRY(os_event) ev_next;
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="16%" />
+<col width="84%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Element</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">ev_queued</span></code></td>
+<td>Internal field that indicates whether this event is currently linked to an event queue</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">ev_cb</span></code></td>
+<td>Pointer to the callback function to call to process this event</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">ev_arg</span></code></td>
+<td>Pointer to an optional opaque data that the callback function uses to process this event</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">ev_next</span></code></td>
+<td>Linkage attaching this event to an event queue</td>
+</tr>
+</tbody>
+</table>
+<p>An event callback function has the following function prototype:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>typedef void os_event_fn(struct os_event *ev);
+</pre></div>
+</div>
+<p>A pointer to the <code class="docutils literal notranslate"><span class="pre">os_event</span></code> structure for the event is passed as an
+argument to the callback function.</p>
+<p>Notes: If the memory for the <code class="docutils literal notranslate"><span class="pre">os_event</span></code> structure is dynamically
+allocated:</p>
+<ul class="simple">
+<li>You must not free the memory for an event that is currently on an
+event queue.</li>
+<li>You must free the memory in the callback function after it completes
+processing the event.</li>
+</ul>
+<p>You must set the callback function for an event when you initialize the
+event. For example, here is an example of a statically-initialized event
+in the NimBLE host:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static void ble_hs_event_tx_notify(struct os_event *ev);
+
+/** OS event - triggers tx of pending notifications and indications. */
+static struct os_event ble_hs_ev_tx_notifications = {
+    .ev_cb = ble_hs_event_tx_notify,
+};
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">os_eventq</span></code> structure defines an event queue and has the following fields:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct os_eventq {
+    struct os_task *evq_task;
+    STAILQ_HEAD(, os_event) evq_list;
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="89%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Element</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">evq_task</span></code></td>
+<td>Pointer to the task, if any, that is waiting (in the <code class="docutils literal notranslate"><span class="pre">sleeping</span></code> state) for the <code class="docutils literal notranslate"><span class="pre">os_eventq_get()</span></code> function to return an event</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">evq_list</span></code></td>
+<td>Head of the list of events in this queue</td>
+</tr>
+</tbody>
+</table>
+<p>You must call the <code class="docutils literal notranslate"><span class="pre">os_eventq_init()</span></code> function to initialize an event
+queue before you can add events to the queue.</p>
+</div>
+<div class="section" id="api">
+<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">?</a></h2>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">doxygengroup: Cannot find namespace ?OSEvent? in doxygen xml output for project ?mynewt-core? from directory: mynewt-core-xml</p>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
+      
+        <a href="../semaphore/semaphore.html" class="btn btn-neutral float-right" title="Semaphore" accesskey="n">Next: Semaphore <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../task/task.html" class="btn btn-neutral" title="Task" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Task</a>
+      
+    </div>
+
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/core_os/heap/heap.html b/develop/os/core_os/heap/heap.html
new file mode 100644
index 000000000..50de35c18
--- /dev/null
+++ b/develop/os/core_os/heap/heap.html
@@ -0,0 +1,373 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Heap &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/>
+          <link rel="up" title="Mynewt Core OS" href="../mynewt_os.html"/>
+          <link rel="next" title="Mbufs" href="../mbuf/mbuf.html"/>
+          <link rel="prev" title="Memory Pools" href="../memory_pool/memory_pool.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+      <a href="../../os_user_guide.html">OS User Guide</a> /
+    
+      <a href="../mynewt_os.html">Mynewt Core OS</a> /
+    
+    Heap
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/core_os/heap/heap.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a><ul class="current">
+<li class="toctree-l2 current"><a class="reference internal" href="../mynewt_os.html">OS Core</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../context_switch/context_switch.html">Scheduler</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../cputime/os_cputime.html">CPU Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../time/os_time.html">OS Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../task/task.html">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../msys/msys.html">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../callout/callout.html">Callout</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../API.html">API</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../porting/port_os.html">Porting Mynewt OS</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/console/console.html">Console</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/sysinitconfig/sysinitconfig.html">System Configuration and Initialization</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="heap">
+<h1>Heap<a class="headerlink" href="#heap" title="Permalink to this headline">?</a></h1>
+<p>API for doing dynamic memory allocation.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>This provides malloc()/free() functionality with locking. The shared
+resource heap needs to be protected from concurrent access when OS has
+been started. <em>os_malloc()</em> function grabs a mutex before calling
+<em>malloc()</em>.</p>
+</div>
+<div class="section" id="data-structures">
+<h2>Data structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<p>N/A</p>
+</div>
+<div class="section" id="api">
+<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">?</a></h2>
+<p>See the API for OS level function calls.</p>
+<ul class="simple">
+<li><a class="reference external" href="../mynewt_os.html">Mynewt Core OS</a></li>
+</ul>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
+      
+        <a href="../mbuf/mbuf.html" class="btn btn-neutral float-right" title="Mbufs" accesskey="n">Next: Mbufs <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../memory_pool/memory_pool.html" class="btn btn-neutral" title="Memory Pools" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Memory Pools</a>
+      
+    </div>
+
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/core_os/mbuf/mbuf.html b/develop/os/core_os/mbuf/mbuf.html
new file mode 100644
index 000000000..cfa32c327
--- /dev/null
+++ b/develop/os/core_os/mbuf/mbuf.html
@@ -0,0 +1,844 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Mbufs &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/>
+          <link rel="up" title="Mynewt Core OS" href="../mynewt_os.html"/>
+          <link rel="next" title="Msys" href="../msys/msys.html"/>
+          <link rel="prev" title="Heap" href="../heap/heap.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+      <a href="../../os_user_guide.html">OS User Guide</a> /
+    
+      <a href="../mynewt_os.html">Mynewt Core OS</a> /
+    
+    Mbufs
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/core_os/mbuf/mbuf.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a><ul class="current">
+<li class="toctree-l2 current"><a class="reference internal" href="../mynewt_os.html">OS Core</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../context_switch/context_switch.html">Scheduler</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../cputime/os_cputime.html">CPU Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../time/os_time.html">OS Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../task/task.html">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../heap/heap.html">Heap</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../msys/msys.html">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../callout/callout.html">Callout</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../API.html">API</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../porting/port_os.html">Porting Mynewt OS</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/console/console.html">Console</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/sysinitconfig/sysinitconfig.html">System Configuration and Initialization</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="mbufs">
+<h1>Mbufs<a class="headerlink" href="#mbufs" title="Permalink to this headline">?</a></h1>
+<p>The mbuf (short for memory buffer) is a common concept in networking
+stacks. The mbuf is used to hold packet data as it traverses the stack.
+The mbuf also generally stores header information or other networking
+stack information that is carried around with the packet. The mbuf and
+its associated library of functions were developed to make common
+networking stack operations (like stripping and adding protocol headers)
+efficient and as copy-free as possible.</p>
+<p>In its simplest form, an mbuf is a memory block with some space reserved
+for internal information and a pointer which is used to ?chain? memory
+blocks together in order to create a ?packet?. This is a very important
+aspect of the mbuf: the ability to chain mbufs together to create larger
+?packets? (chains of mbufs).</p>
+<div class="section" id="why-use-mbufs">
+<h2>Why use mbufs?<a class="headerlink" href="#why-use-mbufs" title="Permalink to this headline">?</a></h2>
+<p>The main reason is to conserve memory. Consider a networking protocol
+that generally sends small packets but occasionally sends large ones.
+The Bluetooth Low Energy (BLE) protocol is one such example. A flat
+buffer would need to be sized so that the maximum packet size could be
+contained by the buffer. With the mbuf, a number of mbufs can be chained
+together so that the occasional large packet can be handled while
+leaving more packet buffers available to the networking stack for
+smaller packets.</p>
+</div>
+<div class="section" id="packet-header-mbuf">
+<h2>Packet Header mbuf<a class="headerlink" href="#packet-header-mbuf" title="Permalink to this headline">?</a></h2>
+<p>Not all mbufs are created equal. The first mbuf in a chain of mbufs is a
+special mbuf called a ?packet header mbuf?. The reason that this mbuf is
+special is that it contains the length of all the data contained by the
+chain of mbufs (the packet length, in other words). The packet header
+mbuf may also contain a user defined structure (called a ?user header?)
+so that networking protocol specific information can be conveyed to
+various layers of the networking stack. Any mbufs that are part of the
+packet (i.e. in the mbuf chain but not the first one) are ?normal? (i.e.
+non-packet header) mbufs. A normal mbuf does not have any packet header
+or user packet header structures in them; they only contain the basic
+mbuf header (<code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">os_mbuf</span></code>). Figure 1 illustrates these two types
+of mbufs. Note that the numbers/text in parentheses denote the size of
+the structures/elements (in bytes) and that MBLEN is the memory block
+length of the memory pool used by the mbuf pool.</p>
+<div class="figure" id="id7">
+<img alt="Packet header mbuf" src="os/core_os/mbuf/pics/mbuf_fig1.png" />
+<p class="caption"><span class="caption-text">Packet header mbuf</span></p>
+</div>
+</div>
+<div class="section" id="normal-mbuf">
+<h2>Normal mbuf<a class="headerlink" href="#normal-mbuf" title="Permalink to this headline">?</a></h2>
+<p>Now let?s take a deeper dive into the mbuf structure. Figure 2
+illustrates a normal mbuf and breaks out the various fields in the
+<code class="docutils literal notranslate"><span class="pre">os_mbuf</span></code> structure.</p>
+<ul class="simple">
+<li>The <em>om_data</em> field is a pointer to where the data starts inside the
+data buffer. Typically, mbufs that are allocated from the mbuf pool
+(discussed later) have their om_data pointer set to the start of the
+data buffer but there are cases where this may not be desirable
+(added a protocol header to a packet, for example).</li>
+<li>The <em>om_flags</em> field is a set of flags used internally by the mbuf
+library. Currently, no flags have been defined.</li>
+<li>The <em>om_pkthdr_len</em> field is the total length of all packet headers
+in the mbuf. For normal mbufs this is set to 0 as there is no packet
+or user packet headers. For packet header mbufs, this would be set to
+the length of the packet header structure (16) plus the size of the
+user packet header (if any). Note that it is this field which
+differentiates packet header mbufs from normal mbufs (i.e. if
+<em>om_pkthdr_len</em> is zero, this is a normal mbuf; otherwise it is a
+packet header mbuf).</li>
+<li>The <em>om_len</em> field contains the amount of user data in the data
+buffer. When initially allocated, this field is 0 as there is no user
+data in the mbuf.</li>
+<li>The <em>omp_pool</em> field is a pointer to the pool from which this mbuf
+has been allocated. This is used internally by the mbuf library.</li>
+<li>The <em>omp_next</em> field is a linked list element which is used to chain
+mbufs.</li>
+</ul>
+<p>Figure 2 also shows a normal mbuf with actual values in the <code class="docutils literal notranslate"><span class="pre">os_mbuf</span></code>
+structure. This mbuf starts at address 0x1000 and is 256 bytes in total
+length. In this example, the user has copied 33 bytes into the data
+buffer starting at address 0x1010 (this is where om_data points). Note
+that the packet header length in this mbuf is 0 as it is not a packet
+header mbuf.</p>
+<div class="figure" id="id8">
+<img alt="OS mbuf structure" src="os/core_os/mbuf/pics/mbuf_fig2.png" />
+<p class="caption"><span class="caption-text">OS mbuf structure</span></p>
+</div>
+<p>Figure 3 illustrates the packet header mbuf along with some chained
+mbufs (i.e a ?packet?). In this example, the user header structure is
+defined to be 8 bytes. Note that in figure 3 we show a number of
+different mbufs with varying <em>om_data</em> pointers and lengths since we
+want to show various examples of valid mbufs. For all the mbufs (both
+packet header and normal ones) the total length of the memory block is
+128 bytes.</p>
+<div class="figure" id="id9">
+<img alt="Packet" src="os/core_os/mbuf/pics/mbuf_fig3.png" />
+<p class="caption"><span class="caption-text">Packet</span></p>
+</div>
+</div>
+<div class="section" id="mbuf-pools">
+<h2>Mbuf pools<a class="headerlink" href="#mbuf-pools" title="Permalink to this headline">?</a></h2>
+<p>Mbufs are collected into ?mbuf pools? much like memory blocks. The mbuf
+pool itself contains a pointer to a memory pool. The memory blocks in
+this memory pool are the actual mbufs; both normal and packet header
+mbufs. Thus, the memory block (and corresponding memory pool) must be
+sized correctly. In other words, the memory blocks which make up the
+memory pool used by the mbuf pool must be at least: sizeof(struct
+os_mbuf) + sizeof(struct os_mbuf_pkthdr) + sizeof(struct
+user_defined_header) + desired minimum data buffer length. For
+example, if the developer wants mbufs to contain at least 64 bytes of
+user data and they have a user header of 12 bytes, the size of the
+memory block would be (at least): 64 + 12 + 16 + 8, or 100 bytes. Yes,
+this is a fair amount of overhead. However, the flexibility provided by
+the mbuf library usually outweighs overhead concerns.</p>
+</div>
+<div class="section" id="create-mbuf-pool">
+<h2>Create mbuf pool<a class="headerlink" href="#create-mbuf-pool" title="Permalink to this headline">?</a></h2>
+<p>Creating an mbuf pool is fairly simple: create a memory pool and then
+create the mbuf pool using that memory pool. Once the developer has
+determined the size of the user data needed per mbuf (this is based on
+the application/networking stack and is outside the scope of this
+discussion) and the size of the user header (if any), the memory blocks
+can be sized. In the example shown below, the application requires 64
+bytes of user data per mbuf and also allocates a user header (called
+struct user_hdr). Note that we do not show the user header data
+structure as there really is no need; all we need to do is to account
+for it when creating the memory pool. In the example, we use the macro
+<em>MBUF_PKTHDR_OVERHEAD</em> to denote the amount of packet header overhead
+per mbuf and <em>MBUF_MEMBLOCK_OVERHEAD</em> to denote the total amount of
+overhead required per memory block. The macro <em>MBUF_BUF_SIZE</em> is used
+to denote the amount of payload that the application requires (aligned
+on a 32-bit boundary in this case). All this leads to the total memory
+block size required, denoted by the macro <em>MBUF_MEMBLOCK_OVERHEAD</em>.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#define MBUF_PKTHDR_OVERHEAD    sizeof(struct os_mbuf_pkthdr) + sizeof(struct user_hdr)
+#define MBUF_MEMBLOCK_OVERHEAD  sizeof(struct os_mbuf) + MBUF_PKTHDR_OVERHEAD
+
+#define MBUF_NUM_MBUFS      (32)
+#define MBUF_PAYLOAD_SIZE   (64)
+#define MBUF_BUF_SIZE       OS_ALIGN(MBUF_PAYLOAD_SIZE, 4)
+#define MBUF_MEMBLOCK_SIZE  (MBUF_BUF_SIZE + MBUF_MEMBLOCK_OVERHEAD)
+#define MBUF_MEMPOOL_SIZE   OS_MEMPOOL_SIZE(MBUF_NUM_MBUFS, MBUF_MEMBLOCK_SIZE)
+
+struct os_mbuf_pool g_mbuf_pool;
+struct os_mempool g_mbuf_mempool;
+os_membuf_t g_mbuf_buffer[MBUF_MEMPOOL_SIZE];
+
+void
+create_mbuf_pool(void)
+{
+    int rc;
+
+    rc = os_mempool_init(&amp;g_mbuf_mempool, MBUF_NUM_MBUFS,
+                          MBUF_MEMBLOCK_SIZE, &amp;g_mbuf_buffer[0], &quot;mbuf_pool&quot;);
+    assert(rc == 0);
+
+    rc = os_mbuf_pool_init(&amp;g_mbuf_pool, &amp;g_mbuf_mempool, MBUF_MEMBLOCK_SIZE,
+                           MBUF_NUM_MBUFS);
+    assert(rc == 0);
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="using-mbufs">
+<h2>Using mbufs<a class="headerlink" href="#using-mbufs" title="Permalink to this headline">?</a></h2>
+<p>The following examples illustrate typical mbuf usage. There are two
+basic mbuf allocation API: <code class="docutils literal notranslate"><span class="pre">os_mbuf_get()</span></code> and
+<code class="docutils literal notranslate"><span class="pre">os_mbuf_get_pkthdr()</span></code>. The first API obtains a normal mbuf whereas
+the latter obtains a packet header mbuf. Typically, application
+developers use <code class="docutils literal notranslate"><span class="pre">os_mbuf_get_pkthdr()</span></code> and rarely, if ever, need to
+call <code class="docutils literal notranslate"><span class="pre">os_mbuf_get()</span></code> as the rest of the mbuf API (e.g.
+<code class="docutils literal notranslate"><span class="pre">os_mbuf_append()</span></code>, <code class="docutils literal notranslate"><span class="pre">os_mbuf_copyinto()</span></code>, etc.) typically deal with
+allocating and chaining mbufs. It is recommended to use the provided API
+to copy data into/out of mbuf chains and/or manipulate mbufs.</p>
+<p>In <code class="docutils literal notranslate"><span class="pre">example1</span></code>, the developer creates a packet and then sends the
+packet to a networking interface. The code sample also provides an
+example of copying data out of an mbuf as well as use of the ?pullup?
+api (another very common mbuf api).</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>void
+mbuf_usage_example1(uint8_t *mydata, int mydata_length)
+{
+    int rc;
+    struct os_mbuf *om;
+
+    /* get a packet header mbuf */
+    om = os_mbuf_get_pkthdr(&amp;g_mbuf_pool, sizeof(struct user_hdr));
+    if (om) {
+        /*
+         * Copy user data into mbuf. NOTE: if mydata_length is greater than the
+         * mbuf payload size (64 bytes using above example), mbufs are allocated
+         * and chained together to accommodate the total packet length.
+         */
+        rc = os_mbuf_copyinto(om, 0, mydata, len);
+        if (rc) {
+            /* Error! Could not allocate enough mbufs for total packet length */
+            return -1;
+        }
+
+        /* Send packet to networking interface */
+        send_pkt(om);
+    }
+}
+</pre></div>
+</div>
+<p>In <code class="docutils literal notranslate"><span class="pre">example2</span></code> we show use of the pullup api as this illustrates some
+of the typical pitfalls developers encounter when using mbufs. The first
+pitfall is one of alignment/padding. Depending on the processor and/or
+compiler, the sizeof() a structure may vary. Thus, the size of
+<em>my_protocol_header</em> may be different inside the packet data of the
+mbuf than the size of the structure on the stack or as a global
+variable, for instance. While some networking protcols may align
+protocol information on convenient processor boundaries many others try
+to conserve bytes ?on the air? (i.e inside the packet data). Typical
+methods used to deal with this are ?packing? the structure (i.e. force
+compiler to not pad) or creating protocol headers that do not require
+padding. <code class="docutils literal notranslate"><span class="pre">example2</span></code> assumes that one of these methods was used when
+defining the <em>my_protocol_header</em> structure.</p>
+<p>Another common pitfall occurs around endianness. A network protocol may
+be little endian or big endian; it all depends on the protocol
+specification. Processors also have an endianness; this means that the
+developer has to be careful that the processor endianness and the
+protocol endianness are handled correctly. In <code class="docutils literal notranslate"><span class="pre">example2</span></code>, some common
+networking functions are used: <code class="docutils literal notranslate"><span class="pre">ntohs()</span></code> and <code class="docutils literal notranslate"><span class="pre">ntohl()</span></code>. These are
+shorthand for ?network order to host order, short? and ?network order to
+host order, long?. Basically, these functions convert data of a certain
+size (i.e. 16 bits, 32 bits, etc) to the endianness of the host. Network
+byte order is big-endian (most significant byte first), so these
+functions convert big-endian byte order to host order (thus, the
+implementation of these functions is host dependent). Note that the BLE
+networking stack ?on the air? format is least signigicant byte first
+(i.e. little endian), so a ?bletoh? function would have to take little
+endian format and convert to host format.</p>
+<p>A long story short: the developer must take care when copying structure
+data to/from mbufs and flat buffers!</p>
+<p>A final note: these examples assume the same mbuf struture and
+definitions used in the first example.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>void
+mbuf_usage_example2(struct mbuf *rxpkt)
+{
+    int rc;
+    uint8_t packet_data[16];
+    struct mbuf *om;
+    struct my_protocol_header *phdr;
+
+    /* Make sure that &quot;my_protocol_header&quot; bytes are contiguous in mbuf */
+    om = os_mbuf_pullup(&amp;g_mbuf_pool, sizeof(struct my_protocol_header));
+    if (!om) {
+        /* Not able to pull up data into contiguous area */
+        return -1;
+    }
+
+    /*
+     * Get the protocol information from the packet. In this example we presume that we
+     * are interested in protocol types that are equal to MY_PROTOCOL_TYPE, are not zero
+     * length, and have had some time in flight.
+     */
+    phdr = OS_MBUF_DATA(om, struct my_protocol_header *);
+    type = ntohs(phdr-&gt;prot_type);
+    length = ntohs(phdr-&gt;prot_length);
+    time_in_flight = ntohl(phdr-&gt;prot_tif);
+
+    if ((type == MY_PROTOCOL_TYPE) &amp;&amp; (length &gt; 0) &amp;&amp; (time_in_flight &gt; 0)) {
+        rc = os_mbuf_copydata(rxpkt, sizeof(struct my_protocol_header), 16, packet_data);
+        if (!rc) {
+            /* Success! Perform operations on packet data */
+            &lt;... user code here ...&gt;
+        }
+    }
+
+    /* Free passed in packet (mbuf chain) since we don&#39;t need it anymore */
+    os_mbuf_free_chain(om);
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="data-structures">
+<h2>Data Structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct os_mbuf_pool {
+    uint16_t omp_databuf_len;
+    uint16_t omp_mbuf_count;
+    struct os_mempool *omp_pool;
+    STAILQ_ENTRY(os_mbuf_pool) omp_next;
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><strong>Element</strong></th>
+<th class="head"><a href="#id1"><span class="problematic" id="id2">**</span></a>Description*
+*</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>omp_databuf
+_len</td>
+<td>The length, in
+bytes, of the
+?data buffer?
+of the mbuf.
+The data
+buffer of the
+mbuf is
+everything
+except the
+os_mbuf
+structure
+(which is
+present in all
+types of
+mbufs)</td>
+</tr>
+<tr class="row-odd"><td>omp_mbuf_c
+ount</td>
+<td>Total number
+of mbufs in
+the pool when
+allocated.
+This is NOT
+the number of
+free mbufs in
+the pool!</td>
+</tr>
+<tr class="row-even"><td>omp_pool</td>
+<td>The memory
+pool from
+which the
+mbufs are
+allocated</td>
+</tr>
+<tr class="row-odd"><td>omp_next</td>
+<td>This is a
+linked list
+pointer which
+chains memory
+pools. It is
+used by the
+system memory
+pool library</td>
+</tr>
+</tbody>
+</table>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct os_mbuf_pkthdr {
+    uint16_t omp_len;
+    uint16_t omp_flags;
+    STAILQ_ENTRY(os_mbuf_pkthdr) omp_next;
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><strong>Element</strong></th>
+<th class="head"><a href="#id3"><span class="problematic" id="id4">**</span></a>Description*
+*</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>omp_len</td>
+<td>Length, in
+bytes, of the
+?packet?. This
+is the sum of
+the user data
+in all the
+mbufs chained
+to the packet
+header mbuf
+(including the
+packet header
+mbuf)</td>
+</tr>
+<tr class="row-odd"><td>omp_flags</td>
+<td>Packet header
+flags.</td>
+</tr>
+<tr class="row-even"><td>omp_next</td>
+<td>Linked list
+pointer to
+chain
+?packets?.
+This can be
+used to add
+mbuf chains to
+a queue or
+linked list
+and is there
+for
+convenience.</td>
+</tr>
+</tbody>
+</table>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct os_mbuf {
+    uint8_t *om_data;
+    uint8_t om_flags;
+    uint8_t om_pkthdr_len;
+    uint16_t om_len;
+    struct os_mbuf_pool *om_omp;
+    SLIST_ENTRY(os_mbuf) om_next;
+    uint8_t om_databuf[0];
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><strong>Element</strong></th>
+<th class="head"><a href="#id5"><span class="problematic" id="id6">**</span></a>Description*
+*</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>om_data</td>
+<td>Pointer to
+start of user
+data in mbuf
+data buffer</td>
+</tr>
+<tr class="row-odd"><td>om_flags</td>
+<td>mbuf flags
+field.
+Currently all
+flags unused.</td>
+</tr>
+<tr class="row-even"><td>om_pkthdr_
+len</td>
+<td>The total
+length of all
+packet headers
+in the mbuf
+(mbuf packet
+header plus
+user packet
+header), in
+bytes</td>
+</tr>
+<tr class="row-odd"><td>om_len</td>
+<td>The length of
+the user data
+contained in
+this mbuf, in
+bytes</td>
+</tr>
+<tr class="row-even"><td>om_omp</td>
+<td>Memory pool
+pointer. This
+is the mbuf
+pool from
+which this
+mbuf was
+allocated.</td>
+</tr>
+<tr class="row-odd"><td>om_next</td>
+<td>Pointer to
+next mbuf in
+packet chain</td>
+</tr>
+<tr class="row-even"><td>om_databuf</td>
+<td>mbuf data
+buffer
+(accessor to
+start of mbuf
+data buffer).
+Note that the
+mbuf data
+buffer refers
+to the start
+of either the
+user data in
+normal mbufs
+or the start
+of the os mbuf
+packet header
+for packet
+header mbufs</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="api">
+<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">?</a></h2>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">doxygengroup: Cannot find namespace ?OSMbuf? in doxygen xml output for project ?mynewt-core? from directory: mynewt-core-xml</p>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
+      
+        <a href="../msys/msys.html" class="btn btn-neutral float-right" title="Msys" accesskey="n">Next: Msys <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../heap/heap.html" class="btn btn-neutral" title="Heap" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Heap</a>
+      
+    </div>
+
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/core_os/memory_pool/memory_pool.html b/develop/os/core_os/memory_pool/memory_pool.html
new file mode 100644
index 000000000..b439217d1
--- /dev/null
+++ b/develop/os/core_os/memory_pool/memory_pool.html
@@ -0,0 +1,520 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Memory Pools &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/>
+          <link rel="up" title="Mynewt Core OS" href="../mynewt_os.html"/>
+          <link rel="next" title="Heap" href="../heap/heap.html"/>
+          <link rel="prev" title="Mutex" href="../mutex/mutex.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+      <a href="../../os_user_guide.html">OS User Guide</a> /
+    
+      <a href="../mynewt_os.html">Mynewt Core OS</a> /
+    
+    Memory Pools
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/core_os/memory_pool/memory_pool.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a><ul class="current">
+<li class="toctree-l2 current"><a class="reference internal" href="../mynewt_os.html">OS Core</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../context_switch/context_switch.html">Scheduler</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../cputime/os_cputime.html">CPU Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../time/os_time.html">OS Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../task/task.html">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../heap/heap.html">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../msys/msys.html">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../callout/callout.html">Callout</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../API.html">API</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../porting/port_os.html">Porting Mynewt OS</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/console/console.html">Console</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/sysinitconfig/sysinitconfig.html">System Configuration and Initialization</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="memory-pools">
+<h1>Memory Pools<a class="headerlink" href="#memory-pools" title="Permalink to this headline">?</a></h1>
+<p>A memory pool is a collection of fixed sized elements called memory
+blocks. Generally, memory pools are used when the developer wants to
+allocate a certain amount of memory to a given feature. Unlike the heap,
+where a code module is at the mercy of other code modules to insure
+there is sufficient memory, memory pools can insure sufficient memory
+allocation.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>In order to create a memory pool the developer needs to do a few things.
+The first task is to define the memory pool itself. This is a data
+structure which contains information about the pool itself (i.e. number
+of blocks, size of the blocks, etc).</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct os_mempool my_pool;
+</pre></div>
+</div>
+<p>The next order of business is to allocate the memory used by the memory
+pool. This memory can either be statically allocated (i.e. a global
+variable) or dynamically allocated (i.e. from the heap). When
+determining the amount of memory required for the memory pool, simply
+multiplying the number of blocks by the size of each block is not
+sufficient as the OS may have alignment requirements. The alignment size
+definition is named <code class="docutils literal notranslate"><span class="pre">OS_ALIGNMENT</span></code> and can be found in os_arch.h as
+it is architecture specific. The memory block alignment is usually for
+efficiency but may be due to other reasons. Generally, blocks are
+aligned on 32-bit boundaries. Note that memory blocks must also be of
+sufficient size to hold a list pointer as this is needed to chain memory
+blocks on the free list.</p>
+<p>In order to simplify this for the user two macros have been provided:
+<code class="docutils literal notranslate"><span class="pre">OS_MEMPOOL_BYTES(n,</span> <span class="pre">blksize)</span></code> and <code class="docutils literal notranslate"><span class="pre">OS_MEMPOOL_SIZE(n,</span> <span class="pre">blksize)</span></code>.
+The first macro returns the number of bytes needed for the memory pool
+while the second returns the number of <code class="docutils literal notranslate"><span class="pre">os_membuf_t</span></code> elements required
+by the memory pool. The <code class="docutils literal notranslate"><span class="pre">os_membuf_t</span></code> type is used to guarantee that
+the memory buffer used by the memory pool is aligned on the correct
+boundary.</p>
+<p>Here are some examples. Note that if a custom malloc implementation is
+used it must guarantee that the memory buffer used by the pool is
+allocated on the correct boundary (i.e. OS_ALIGNMENT).</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>void *my_memory_buffer;
+my_memory_buffer = malloc(OS_MEMPOOL_BYTES(NUM_BLOCKS, BLOCK_SIZE));
+</pre></div>
+</div>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>os_membuf_t my_memory_buffer[OS_MEMPOOL_SIZE(NUM_BLOCKS, BLOCK_SIZE)];
+</pre></div>
+</div>
+<p>Now that the memory pool has been defined as well as the memory
+required for the memory blocks which make up the pool the user needs to
+initialize the memory pool by calling <code class="docutils literal notranslate"><span class="pre">os_mempool_init</span></code>.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>os_mempool_init(&amp;my_pool, NUM_BLOCKS, BLOCK_SIZE, my_memory_buffer,
+                         &quot;MyPool&quot;);
+</pre></div>
+</div>
+<p>Once the memory pool has been initialized the developer can allocate
+memory blocks from the pool by calling <code class="docutils literal notranslate"><span class="pre">os_memblock_get</span></code>. When the
+memory block is no longer needed the memory can be freed by calling
+<code class="docutils literal notranslate"><span class="pre">os_memblock_put</span></code>.</p>
+</div>
+<div class="section" id="data-structures">
+<h2>Data structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct os_mempool {
+    int mp_block_size;
+    int mp_num_blocks;
+    int mp_num_free;
+    int mp_min_free;
+    uint32_t mp_membuf_addr;
+    STAILQ_ENTRY(os_mempool) mp_list;
+    SLIST_HEAD(,os_memblock);
+    char *name;
+};
+
+struct os_mempool_info {
+    int omi_block_size;
+    int omi_num_blocks;
+    int omi_num_free;
+    int omi_min_free;
+    char omi_name[OS_MEMPOOL_INFO_NAME_LEN];
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><strong>Element</strong></th>
+<th class="head"><a href="#id1"><span class="problematic" id="id2">**</span></a>Description*
+*</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>mp_block_s
+ize</td>
+<td>Size of the
+memory blocks,
+in bytes. This
+is not the
+actual number
+of bytes used
+by each block;
+it is the
+requested size
+of each block.
+The actual
+memory block
+size will be
+aligned to
+OS_ALIGNMENT
+bytes</td>
+</tr>
+<tr class="row-odd"><td>mp_num_blo
+cks</td>
+<td>Number of
+memory blocks
+in the pool</td>
+</tr>
+<tr class="row-even"><td>mp_num_fre
+e</td>
+<td>Number of free
+blocks left</td>
+</tr>
+<tr class="row-odd"><td>mp_min_fre
+e</td>
+<td>Lowest number
+of free blocks
+seen</td>
+</tr>
+<tr class="row-even"><td>mp_membuf_
+addr</td>
+<td>The address of
+the memory
+block. This is
+used to check
+that a valid
+memory block
+is being
+freed.</td>
+</tr>
+<tr class="row-odd"><td>mp_list</td>
+<td>List pointer
+to chain
+memory pools
+so they can be
+displayed by
+newt tools</td>
+</tr>
+<tr class="row-even"><td>SLIST_HEAD(
+,os_membloc
+k)</td>
+<td>List pointer
+to chain free
+memory blocks</td>
+</tr>
+<tr class="row-odd"><td>name</td>
+<td>Name for the
+memory block</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="api">
+<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">?</a></h2>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">doxygengroup: Cannot find namespace ?OSMempool? in doxygen xml output for project ?mynewt-core? from directory: mynewt-core-xml</p>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
+      
+        <a href="../heap/heap.html" class="btn btn-neutral float-right" title="Heap" accesskey="n">Next: Heap <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../mutex/mutex.html" class="btn btn-neutral" title="Mutex" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Mutex</a>
+      
+    </div>
+
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/core_os/mqueue/mqueue.html b/develop/os/core_os/mqueue/mqueue.html
new file mode 100644
index 000000000..10c411a97
--- /dev/null
+++ b/develop/os/core_os/mqueue/mqueue.html
@@ -0,0 +1,444 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Mqueue &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/>
+          <link rel="up" title="Mynewt Core OS" href="../mynewt_os.html"/>
+          <link rel="next" title="Sanity" href="../sanity/sanity.html"/>
+          <link rel="prev" title="Msys" href="../msys/msys.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+      <a href="../../os_user_guide.html">OS User Guide</a> /
+    
+      <a href="../mynewt_os.html">Mynewt Core OS</a> /
+    
+    Mqueue
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/core_os/mqueue/mqueue.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a><ul class="current">
+<li class="toctree-l2 current"><a class="reference internal" href="../mynewt_os.html">OS Core</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../context_switch/context_switch.html">Scheduler</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../cputime/os_cputime.html">CPU Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../time/os_time.html">OS Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../task/task.html">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../heap/heap.html">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../msys/msys.html">Msys</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../callout/callout.html">Callout</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../API.html">API</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../porting/port_os.html">Porting Mynewt OS</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/console/console.html">Console</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/sysinitconfig/sysinitconfig.html">System Configuration and Initialization</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="mqueue">
+<h1>Mqueue<a class="headerlink" href="#mqueue" title="Permalink to this headline">?</a></h1>
+<p>The mqueue construct allows a task to wake up when it receives data.
+Typically, this data is in the form of packets received over a network.
+A common networking stack operation is to put a packet on a queue and
+post an event to the task monitoring that queue. When the task handles
+the event, it processes each packet on the packet queue.</p>
+<div class="section" id="using-mqueue">
+<h2>Using Mqueue<a class="headerlink" href="#using-mqueue" title="Permalink to this headline">?</a></h2>
+<p>The following code sample demonstrates how to use an mqueue. In this
+example:</p>
+<ul class="simple">
+<li>packets are put on a receive queue</li>
+<li>a task processes each packet on the queue (increments a receive
+counter)</li>
+</ul>
+<p>Not shown in the code example is a call <code class="docutils literal notranslate"><span class="pre">my_task_rx_data_func</span></code>.
+Presumably, some other code will call this API.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>uint32_t pkts_rxd;
+struct os_mqueue rxpkt_q;
+struct os_eventq my_task_evq;
+
+/**
+ * Removes each packet from the receive queue and processes it.
+ */
+void
+process_rx_data_queue(void)
+{
+    struct os_mbuf *om;
+
+    while ((om = os_mqueue_get(&amp;rxpkt_q)) != NULL) {
+        ++pkts_rxd;
+        os_mbuf_free_chain(om);
+    }
+}
+
+/**
+ * Called when a packet is received.
+ */
+int
+my_task_rx_data_func(struct os_mbuf *om)
+{
+    int rc;
+
+    /* Enqueue the received packet and wake up the listening task. */
+    rc = os_mqueue_put(&amp;rxpkt_q, &amp;my_task_evq, om);
+    if (rc != 0) {
+        return -1;
+    }
+
+    return 0;
+}
+
+void
+my_task_handler(void *arg)
+{
+    struct os_event *ev;
+    struct os_callout_func *cf;
+    int rc;
+
+    /* Initialize eventq */
+    os_eventq_init(&amp;my_task_evq);
+
+    /* Initialize mqueue */
+    os_mqueue_init(&amp;rxpkt_q, NULL);
+
+    /* Process each event posted to our eventq.  When there are no events to
+     * process, sleep until one arrives.
+     */
+    while (1) {
+        os_eventq_run(&amp;my_task_evq);
+    }
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="data-structures">
+<h2>Data Structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct os_mqueue {
+    STAILQ_HEAD(, os_mbuf_pkthdr) mq_head;
+    struct os_event mq_ev;
+};
+</pre></div>
+</div>
+</div>
+<div class="section" id="api">
+<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">?</a></h2>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">doxygengroup: Cannot find namespace ?OSMqueue? in doxygen xml output for project ?mynewt-core? from directory: mynewt-core-xml</p>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
+      
+        <a href="../sanity/sanity.html" class="btn btn-neutral float-right" title="Sanity" accesskey="n">Next: Sanity <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../msys/msys.html" class="btn btn-neutral" title="Msys" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Msys</a>
+      
+    </div>
+
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/core_os/msys/msys.html b/develop/os/core_os/msys/msys.html
new file mode 100644
index 000000000..79bbbb5f8
--- /dev/null
+++ b/develop/os/core_os/msys/msys.html
@@ -0,0 +1,389 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Msys &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/>
+          <link rel="up" title="Mynewt Core OS" href="../mynewt_os.html"/>
+          <link rel="next" title="Mqueue" href="../mqueue/mqueue.html"/>
+          <link rel="prev" title="Mbufs" href="../mbuf/mbuf.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+      <a href="../../os_user_guide.html">OS User Guide</a> /
+    
+      <a href="../mynewt_os.html">Mynewt Core OS</a> /
+    
+    Msys
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/core_os/msys/msys.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a><ul class="current">
+<li class="toctree-l2 current"><a class="reference internal" href="../mynewt_os.html">OS Core</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../context_switch/context_switch.html">Scheduler</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../cputime/os_cputime.html">CPU Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../time/os_time.html">OS Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../task/task.html">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../heap/heap.html">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../callout/callout.html">Callout</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../API.html">API</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../porting/port_os.html">Porting Mynewt OS</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/console/console.html">Console</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/sysinitconfig/sysinitconfig.html">System Configuration and Initialization</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="msys">
+<h1>Msys<a class="headerlink" href="#msys" title="Permalink to this headline">?</a></h1>
+<p>Msys stands for ?system mbufs? and is a set of API built on top of the
+mbuf code. The basic idea behind msys is the following. The developer
+can create different size mbuf pools and register them with msys. The
+application then allocates mbufs using the msys API (as opposed to the
+mbuf API). The msys code will choose the mbuf pool with the smallest
+mbufs that can accommodate the requested size.</p>
+<p>Let us walk through an example where the user registers three mbuf pools
+with msys: one with 32 byte mbufs, one with 256 and one with 2048. If
+the user requests an mbuf with 10 bytes, the 32-byte mbuf pool is used.
+If the request is for 33 bytes the 256 byte mbuf pool is used. If an
+mbuf data size is requested that is larger than any of the pools (say,
+4000 bytes) the largest pool is used. While this behaviour may not be
+optimal in all cases that is the currently implemented behaviour. All
+this means is that the user is not guaranteed that a single mbuf can
+hold the requested data.</p>
+<p>The msys code will not allocate an mbuf from a larger pool if the chosen
+mbuf pool is empty. Similarly, the msys code will not chain together a
+number of smaller mbufs to accommodate the requested size. While this
+behaviour may change in future implementations the current code will
+simply return NULL. Using the above example, say the user requests 250
+bytes. The msys code chooses the appropriate pool (i.e. the 256 byte
+mbuf pool) and attempts to allocate an mbuf from that pool. If that pool
+is empty, NULL is returned even though the 32 and 2048 byte pools are
+not empty.</p>
+<p>Note that no added descriptions on how to use the msys API are presented
+here (other than in the API descriptions themselves) as the msys API is
+used in exactly the same manner as the mbuf API. The only difference is
+that mbuf pools are added to msys by calling <code class="docutils literal notranslate"><span class="pre">os_msys_register().</span></code></p>
+<div class="section" id="api">
+<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">?</a></h2>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">doxygengroup: Cannot find namespace ?OSMsys? in doxygen xml output for project ?mynewt-core? from directory: mynewt-core-xml</p>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
+      
+        <a href="../mqueue/mqueue.html" class="btn btn-neutral float-right" title="Mqueue" accesskey="n">Next: Mqueue <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../mbuf/mbuf.html" class="btn btn-neutral" title="Mbufs" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Mbufs</a>
+      
+    </div>
+
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/core_os/mutex/mutex.html b/develop/os/core_os/mutex/mutex.html
new file mode 100644
index 000000000..3a9fbf797
--- /dev/null
+++ b/develop/os/core_os/mutex/mutex.html
@@ -0,0 +1,456 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Mutex &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/>
+          <link rel="up" title="Mynewt Core OS" href="../mynewt_os.html"/>
+          <link rel="next" title="Memory Pools" href="../memory_pool/memory_pool.html"/>
+          <link rel="prev" title="Semaphore" href="../semaphore/semaphore.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+      <a href="../../os_user_guide.html">OS User Guide</a> /
+    
+      <a href="../mynewt_os.html">Mynewt Core OS</a> /
+    
+    Mutex
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/core_os/mutex/mutex.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a><ul class="current">
+<li class="toctree-l2 current"><a class="reference internal" href="../mynewt_os.html">OS Core</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../context_switch/context_switch.html">Scheduler</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../cputime/os_cputime.html">CPU Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../time/os_time.html">OS Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../task/task.html">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../heap/heap.html">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../msys/msys.html">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../callout/callout.html">Callout</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../API.html">API</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../porting/port_os.html">Porting Mynewt OS</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/console/console.html">Console</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/sysinitconfig/sysinitconfig.html">System Configuration and Initialization</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="mutex">
+<h1>Mutex<a class="headerlink" href="#mutex" title="Permalink to this headline">?</a></h1>
+<p>Mutex is short for ?mutual exclusion?; a mutex provides mutually
+exclusive access to a shared resource. A mutex provides <em>priority
+inheritance</em> in order to prevent <em>priority inversion</em>. Priority
+inversion occurs when a higher priority task is waiting on a resource
+owned by a lower priority task. Using a mutex, the lower priority task
+will inherit the highest priority of any task waiting on the mutex.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>The first order of business when using a mutex is to declare the mutex
+globally. The mutex needs to be initialized before it is used (see the
+examples). It is generally a good idea to initialize the mutex before
+tasks start running in order to avoid a task possibly using the mutex
+before it is initialized.</p>
+<p>When a task wants exclusive access to a shared resource it needs to
+obtain the mutex by calling <em>os_mutex_pend</em>. If the mutex is currently
+owned by a different task (a lower priority task), the requesting task
+will be put to sleep and the owners priority will be elevated to the
+priority of the requesting task. Note that multiple tasks can request
+ownership and the current owner is elevated to the highest priority of
+any task waitin on the mutex. When the task is done using the shared
+resource, it needs to release the mutex by called <em>os_mutex_release</em>.
+There needs to be one release per call to pend. Note that nested calls
+to <em>os_mutex_pend</em> are allowed but there needs to be one release per
+pend.</p>
+<p>The following example will illustrate how priority inheritance works. In
+this example, the task number is the same as its priority. Remember that
+the lower the number, the higher the priority (i.e. priority 0 is higher
+priority than priority 1). Suppose that task 5 gets ownership of a mutex
+but is preempted by task 4. Task 4 attempts to gain ownership of the
+mutex but cannot as it is owned by task 5. Task 4 is put to sleep and
+task 5 is temporarily raised to priority 4. Before task 5 can release
+the mutex, task 3 runs and attempts to acquire the mutex. At this point,
+both task 3 and task 4 are waiting on the mutex (sleeping). Task 5 now
+runs at priority 3 (the highest priority of all the tasks waiting on the
+mutex). When task 5 finally releases the mutex it will be preempted as
+two higher priority tasks are waiting for it.</p>
+<p>Note that when multiple tasks are waiting on a mutex owned by another
+task, once the mutex is released the highest priority task waiting on
+the mutex is run.</p>
+</div>
+<div class="section" id="data-structures">
+<h2>Data structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct os_mutex
+{
+    SLIST_HEAD(, os_task) mu_head;
+    uint8_t     _pad;
+    uint8_t     mu_prio;
+    uint16_t    mu_level;
+    struct os_task *mu_owner;
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Element</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>mu_head</td>
+<td>Queue head for
+list of tasks
+waiting on
+mutex</td>
+</tr>
+<tr class="row-odd"><td>_pad</td>
+<td>Padding</td>
+</tr>
+<tr class="row-even"><td>mu_prio</td>
+<td>Default
+priority of
+owner of
+mutex. Used to
+reset priority
+of task when
+mutex released</td>
+</tr>
+<tr class="row-odd"><td>mu_level</td>
+<td>Call nesting
+level (for
+nested calls)</td>
+</tr>
+<tr class="row-even"><td>mu_owner</td>
+<td>Pointer to
+task structure
+which owns
+mutex</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="api">
+<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">?</a></h2>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">doxygengroup: Cannot find namespace ?OSMutex? in doxygen xml output for project ?mynewt-core? from directory: mynewt-core-xml</p>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
+      
+        <a href="../memory_pool/memory_pool.html" class="btn btn-neutral float-right" title="Memory Pools" accesskey="n">Next: Memory Pools <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../semaphore/semaphore.html" class="btn btn-neutral" title="Semaphore" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Semaphore</a>
+      
+    </div>
+
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/core_os/mynewt_os.html b/develop/os/core_os/mynewt_os.html
index 89080bdc0..8f69050f3 100644
--- a/develop/os/core_os/mynewt_os.html
+++ b/develop/os/core_os/mynewt_os.html
@@ -227,6 +227,16 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l3"><a class="reference internal" href="cputime/os_cputime.html">CPU Time</a></li>
 <li class="toctree-l3"><a class="reference internal" href="time/os_time.html">OS Time</a></li>
 <li class="toctree-l3"><a class="reference internal" href="task/task.html">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="heap/heap.html">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="msys/msys.html">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="callout/callout.html">Callout</a></li>
 <li class="toctree-l3"><a class="reference internal" href="API.html">API</a></li>
 </ul>
 </li>
@@ -308,14 +318,14 @@ <h2>Core OS Features<a class="headerlink" href="#core-os-features" title="Permal
 <li><a class="reference internal" href="context_switch/context_switch.html"><span class="doc">Scheduler/context switching</span></a></li>
 <li><a class="reference internal" href="time/os_time.html"><span class="doc">Time</span></a></li>
 <li><a class="reference internal" href="task/task.html"><span class="doc">Tasks</span></a></li>
-<li><span class="xref std std-doc">Event queues/callouts</span></li>
-<li><span class="xref std std-doc">Semaphores</span></li>
-<li><span class="xref std std-doc">Mutexes</span></li>
-<li><span class="xref std std-doc">Memory pools</span></li>
-<li><span class="xref std std-doc">Heap</span></li>
-<li><span class="xref std std-doc">Mbufs</span></li>
-<li><span class="xref std std-doc">Sanity</span></li>
-<li><span class="xref std std-doc">Callouts</span></li>
+<li><a class="reference internal" href="event_queue/event_queue.html"><span class="doc">Event queues/callouts</span></a></li>
+<li><a class="reference internal" href="semaphore/semaphore.html"><span class="doc">Semaphores</span></a></li>
+<li><a class="reference internal" href="mutex/mutex.html"><span class="doc">Mutexes</span></a></li>
+<li><a class="reference internal" href="memory_pool/memory_pool.html"><span class="doc">Memory pools</span></a></li>
+<li><a class="reference internal" href="heap/heap.html"><span class="doc">Heap</span></a></li>
+<li><a class="reference internal" href="mbuf/mbuf.html"><span class="doc">Mbufs</span></a></li>
+<li><a class="reference internal" href="sanity/sanity.html"><span class="doc">Sanity</span></a></li>
+<li><a class="reference internal" href="callout/callout.html"><span class="doc">Callouts</span></a></li>
 <li><a class="reference internal" href="porting/port_os.html"><span class="doc">Porting OS to other platforms</span></a></li>
 </ul>
 </div>
diff --git a/develop/os/core_os/os_init.html b/develop/os/core_os/os_init.html
new file mode 100644
index 000000000..294d1c430
--- /dev/null
+++ b/develop/os/core_os/os_init.html
@@ -0,0 +1,335 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>os_init &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    os_init
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/core_os/os_init.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="os-init">
+<h1>os_init<a class="headerlink" href="#os-init" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">void os_init(void)</span>
+</pre></div>
+</div>
+<p>Initializes the OS. Must be called before the OS is started (i.e.
+os_start() is called).</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<p>None</p>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>None</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>The call to os_init performs architecture and bsp initializations and
+initializes the idle task.</p>
+<p>This function does not start the OS, the OS time tick interrupt, or the
+scheduler.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/core_os/os_start.html b/develop/os/core_os/os_start.html
new file mode 100644
index 000000000..1403042af
--- /dev/null
+++ b/develop/os/core_os/os_start.html
@@ -0,0 +1,334 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>os_start &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    os_start
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/core_os/os_start.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="os-start">
+<h1>os_start<a class="headerlink" href="#os-start" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">void os_start(void)</span>
+</pre></div>
+</div>
+<p>Starts the OS by initializing and enabling the OS time tick and starting
+the scheduler.</p>
+<p>This function does not return.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<p>None</p>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>None (does not return).</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>Once os_start has been called, context is switched to the highest
+priority task that was initialized prior to calling os_start.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/core_os/os_started.html b/develop/os/core_os/os_started.html
new file mode 100644
index 000000000..802a36c58
--- /dev/null
+++ b/develop/os/core_os/os_started.html
@@ -0,0 +1,328 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>os_started &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    os_started
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/core_os/os_started.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="os-started">
+<h1>os_started<a class="headerlink" href="#os-started" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int os_started(void)</span>
+</pre></div>
+</div>
+<p>Returns ?true? (1) if the os has been started; 0 otherwise.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<p>None</p>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Integer value with 0 meaning the OS has not been started and 1
+indicating the OS has been started (i.e. os_start() has been called).</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/core_os/porting/port_bsp.html b/develop/os/core_os/porting/port_bsp.html
index 80d1fafba..25fbc9189 100644
--- a/develop/os/core_os/porting/port_bsp.html
+++ b/develop/os/core_os/porting/port_bsp.html
@@ -522,7 +522,7 @@ <h2><a class="toc-backref" href="#id7">Check the BSP linker scripts</a><a class=
 <p>The second linker script, <code class="docutils literal notranslate"><span class="pre">boot-myboard.ld</span></code>, is quite similar to the first. The important difference is the <code class="docutils literal notranslate"><span class="pre">FLASH</span></code>
 region: it describes the area of flash which contains the boot loader rather than an image. The bounds of this region
 should match those of the <code class="docutils literal notranslate"><span class="pre">FLASH_AREA_BOOTLOADER</span></code> area in the BSP?s flash map. For more information about the Mynewt
-boot loader, see <span class="xref std std-doc">this page</span>.</p>
+boot loader, see <a class="reference internal" href="../../modules/bootloader/bootloader.html"><span class="doc">this page</span></a>.</p>
 </div>
 <div class="section" id="copy-the-download-and-debug-scripts">
 <h2><a class="toc-backref" href="#id8">Copy the download and debug scripts</a><a class="headerlink" href="#copy-the-download-and-debug-scripts" title="Permalink to this headline">?</a></h2>
@@ -725,13 +725,13 @@ <h2><a class="toc-backref" href="#id13">Appendix A: BSP files</a><a class="heade
 </thead>
 <tbody valign="top">
 <tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">split-myboard.ld</span></code></td>
-<td>A linker script providing the memory map for the ?application? half of a <span class="xref std std-doc">split image</span></td>
+<td>A linker script providing the memory map for the ?application? half of a <a class="reference internal" href="../../modules/split/split.html"><span class="doc">split image</span></a></td>
 </tr>
 <tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">no-boot-myboard.ld</span></code></td>
 <td>A linker script providing the memory map for your bootloader</td>
 </tr>
 <tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">src/arch/&lt;ARCH&gt;/gcc_startup_myboard_split.s</span></code></td>
-<td>Startup assembly code to bring up the ?application? half of a <span class="xref std std-doc">split image</span>.</td>
+<td>Startup assembly code to bring up the ?application? half of a <a class="reference internal" href="../../modules/split/split.html"><span class="doc">split image</span></a>.</td>
 </tr>
 <tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">myboard_download.cmd</span></code></td>
 <td>An MSDOS batch file to download code onto your platform; required for Windows support.</td>
diff --git a/develop/os/core_os/porting/port_os.html b/develop/os/core_os/porting/port_os.html
index f8f70f122..e755244d0 100644
--- a/develop/os/core_os/porting/port_os.html
+++ b/develop/os/core_os/porting/port_os.html
@@ -358,7 +358,7 @@ <h2><a class="toc-backref" href="#id4">MCU HAL</a><a class="headerlink" href="#m
 etc. Even if your MCU is supported for the core OS, you may find that
 you need to implement the HAL functionality for a new peripheral. For a
 description of the HAL abstraction and implementation information, see
-the <span class="xref std std-doc">HAL API</span></p>
+the <a class="reference internal" href="../../modules/hal/hal.html"><span class="doc">HAL API</span></a></p>
 </div>
 <div class="section" id="cpu-core-dependency">
 <h2><a class="toc-backref" href="#id5">CPU Core Dependency</a><a class="headerlink" href="#cpu-core-dependency" title="Permalink to this headline">?</a></h2>
diff --git a/develop/os/core_os/sanity/sanity.html b/develop/os/core_os/sanity/sanity.html
new file mode 100644
index 000000000..79c9ca839
--- /dev/null
+++ b/develop/os/core_os/sanity/sanity.html
@@ -0,0 +1,583 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Sanity &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/>
+          <link rel="up" title="Mynewt Core OS" href="../mynewt_os.html"/>
+          <link rel="next" title="Callout" href="../callout/callout.html"/>
+          <link rel="prev" title="Mqueue" href="../mqueue/mqueue.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+      <a href="../../os_user_guide.html">OS User Guide</a> /
+    
+      <a href="../mynewt_os.html">Mynewt Core OS</a> /
+    
+    Sanity
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/core_os/sanity/sanity.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a><ul class="current">
+<li class="toctree-l2 current"><a class="reference internal" href="../mynewt_os.html">OS Core</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../context_switch/context_switch.html">Scheduler</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../cputime/os_cputime.html">CPU Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../time/os_time.html">OS Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../task/task.html">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../heap/heap.html">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../msys/msys.html">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../callout/callout.html">Callout</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../API.html">API</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../porting/port_os.html">Porting Mynewt OS</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/console/console.html">Console</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/sysinitconfig/sysinitconfig.html">System Configuration and Initialization</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="sanity">
+<h1>Sanity<a class="headerlink" href="#sanity" title="Permalink to this headline">?</a></h1>
+<p>The Sanity task is a software watchdog task, which runs periodically to
+check system state, and ensure that everything is still operating
+properly.</p>
+<p>In a typical system design, there are multiple stages of watchdog:</p>
+<ul class="simple">
+<li>Internal Watchdog</li>
+<li>External Watchdog</li>
+<li>Sanity Watchdog</li>
+</ul>
+<p>The <em>Internal Watchdog</em> is typically an MCU watchdog, which is tickled
+in the core of the OS. The internal watchdog is tickled frequently, and
+is meant to be an indicator the OS is running.</p>
+<p>The <em>External Watchdog</em> is a watchdog that?s typically run slower. The
+purpose of an external watchdog is to provide the system with a hard
+reset when it has lost its mind.</p>
+<p>The <em>Sanity Watchdog</em> is the least frequently run watchdog, and is meant
+as an application watchdog.</p>
+<p>This document is about the operation of the Mynewt Sanity Watchdog.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+</div>
+<div class="section" id="sanity-task">
+<h2>Sanity Task<a class="headerlink" href="#sanity-task" title="Permalink to this headline">?</a></h2>
+<p>Mynewt OS uses the OS Idle task to check sanity. The <code class="docutils literal notranslate"><span class="pre">SANITY_INTERVAL</span></code>
+syscfg setting specifies the interval in seconds to perform the sanity
+checks.</p>
+<p>By default, every operating system task provides the frequency it will
+check in with the sanity task, with the <code class="docutils literal notranslate"><span class="pre">sanity_itvl</span></code> parameter in the
+<code class="docutils literal notranslate"><span class="pre">os_task_init()</span></code> function:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int os_task_init(struct os_task *t, char *name, os_task_func_t func,
+    void *arg, uint8_t prio, os_time_t sanity_itvl, os_stack_t *bottom,
+    uint16_t stack_size);
+</pre></div>
+</div>
+<p><code class="docutils literal notranslate"><span class="pre">sanity_itvl</span></code> is the time in OS time ticks that the task being created
+must register in with the sanity task.</p>
+</div>
+<div class="section" id="checking-in-with-sanity-task">
+<h2>Checking in with Sanity Task<a class="headerlink" href="#checking-in-with-sanity-task" title="Permalink to this headline">?</a></h2>
+<p>The task must then register in with the sanity task every
+<code class="docutils literal notranslate"><span class="pre">sanity_itvl</span></code> seconds. In order to do that, the task should call the
+<code class="docutils literal notranslate"><span class="pre">os_sanity_task_checkin</span></code> function, which will reset the sanity check
+associated with this task. Here is an example of a task that uses a
+callout to checkin with the sanity task every 50 seconds:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#define TASK1_SANITY_CHECKIN_ITVL (50 * OS_TICKS_PER_SEC)
+struct os_eventq task1_evq;
+
+static void
+task1(void *arg)
+{
+    struct os_task *t;
+    struct os_event *ev;
+    struct os_callout c;
+
+    /* Get current OS task */
+    t = os_sched_get_current_task();
+
+    /* Initialize the event queue. */
+    os_eventq_init(&amp;task1_evq);
+
+    /* Initialize the callout */
+    os_callout_init(&amp;c, &amp;task1_evq, NULL);
+
+    /* reset the callout to checkin with the sanity task
+     * in 50 seconds to kick off timing.
+     */
+    os_callout_reset(&amp;c, TASK1_SANITY_CHECKIN_ITVL);
+
+    while (1) {
+        ev = os_eventq_get(&amp;task1_evq);
+
+        /* The sanity timer has reset */
+        if (ev-&gt;ev_arg == &amp;c) {
+            os_sanity_task_checkin(t);
+        } else {
+            /* not expecting any other events */
+            assert(0);
+        }
+    }
+
+    /* Should never reach */
+    assert(0);
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="registering-a-custom-sanity-check">
+<h2>Registering a Custom Sanity Check<a class="headerlink" href="#registering-a-custom-sanity-check" title="Permalink to this headline">?</a></h2>
+<p>If a particular task wants to further hook into the sanity framework to
+perform other checks during the sanity task?s operation, it can do so by
+registering a <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">os_sanity_check</span></code> using the
+<code class="docutils literal notranslate"><span class="pre">os_sanity_check_register</span></code> function.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static int
+mymodule_perform_sanity_check(struct os_sanity_check *sc, void *arg)
+{
+    /* Perform your checking here.  In this case, we check if there
+     * are available buffers in mymodule, and return 0 (all good)
+     * if true, and -1 (error) if not.
+     */
+    if (mymodule_has_buffers()) {
+        return (0);
+    } else {
+        return (-1);
+    }
+}
+
+static int
+mymodule_register_sanity_check(void)
+{
+    struct os_sanity_check sc;
+
+    os_sanity_check_init(&amp;sc);
+    /* Only assert() if mymodule_perform_sanity_check() fails 50
+     * times.  SANITY_TASK_INTERVAL is defined by the user, and
+     * is the frequency at which the sanity_task runs in seconds.
+     */
+    OS_SANITY_CHECK_SETFUNC(&amp;sc, mymodule_perform_sanity_check, NULL,
+        50 * SANITY_TASK_INTERVAL);
+
+    rc = os_sanity_check_register(&amp;sc);
+    if (rc != 0) {
+        goto err;
+    }
+
+    return (0);
+err:
+    return (rc);
+}
+</pre></div>
+</div>
+<p>In the above example, every time the custom sanity check
+<code class="docutils literal notranslate"><span class="pre">mymodule_perform_sanity_check</span></code> returns successfully (0), the sanity
+check is reset. In the <code class="docutils literal notranslate"><span class="pre">OS_SANITY_CHECK_SETFUNC</span></code> macro, the sanity
+checkin interval is specified as 50 * SANITY_TASK_INTERVAL (which is
+the interval at which the sanity task runs.) This means that the
+<code class="docutils literal notranslate"><span class="pre">mymodule_perform_sanity_check()</span></code> function needs to fail 50 times
+consecutively before the sanity task will crash the system.</p>
+<p><strong>TIP:</strong> When checking things like memory buffers, which can be
+temporarily be exhausted, it?s a good idea to have the sanity check fail
+multiple consecutive times before crashing the system. This will avoid
+crashing for temporary failures.</p>
+</div>
+<div class="section" id="data-structures">
+<h2>Data structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+</div>
+<div class="section" id="os-sanity-check">
+<h2>OS Sanity Check<a class="headerlink" href="#os-sanity-check" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct os_sanity_check {
+    os_time_t sc_checkin_last;
+    os_time_t sc_checkin_itvl;
+    os_sanity_check_func_t sc_func;
+    void *sc_arg;
+
+    SLIST_ENTRY(os_sanity_check) sc_next;
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><strong>Element</strong></th>
+<th class="head"><a href="#id1"><span class="problematic" id="id2">**</span></a>Description*
+*</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">sc_checkin</span>
+<span class="pre">_last</span></code></td>
+<td>The last time
+this sanity
+check checked
+in with the
+sanity task,
+in OS time
+ticks.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">sc_checkin</span>
+<span class="pre">_itvl</span></code></td>
+<td>How frequently
+the sanity
+check is
+supposed to
+check in with
+the sanity
+task, in OS
+time ticks.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">sc_func</span></code></td>
+<td>If not
+<code class="docutils literal notranslate"><span class="pre">NULL</span></code>, call
+this function
+when running
+the sanity
+task. If the
+function
+returns 0,
+reset the
+sanity check.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">sc_arg</span></code></td>
+<td>Argument to
+pass to
+<code class="docutils literal notranslate"><span class="pre">sc_func</span></code>
+when calling
+it.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">sc_next</span></code></td>
+<td>Sanity checks
+are chained in
+the sanity
+task when
+<a href="#id3"><span class="problematic" id="id4">``</span></a>os_sanity_ch
+eck_register()
+``
+is called.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="api">
+<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">?</a></h2>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">doxygengroup: Cannot find namespace ?OSSanity? in doxygen xml output for project ?mynewt-core? from directory: mynewt-core-xml</p>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
+      
+        <a href="../callout/callout.html" class="btn btn-neutral float-right" title="Callout" accesskey="n">Next: Callout <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../mqueue/mqueue.html" class="btn btn-neutral" title="Mqueue" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Mqueue</a>
+      
+    </div>
+
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/core_os/semaphore/semaphore.html b/develop/os/core_os/semaphore/semaphore.html
new file mode 100644
index 000000000..35606e7ac
--- /dev/null
+++ b/develop/os/core_os/semaphore/semaphore.html
@@ -0,0 +1,449 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Semaphore &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/>
+          <link rel="up" title="Mynewt Core OS" href="../mynewt_os.html"/>
+          <link rel="next" title="Mutex" href="../mutex/mutex.html"/>
+          <link rel="prev" title="Event Queues" href="../event_queue/event_queue.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+      <a href="../../os_user_guide.html">OS User Guide</a> /
+    
+      <a href="../mynewt_os.html">Mynewt Core OS</a> /
+    
+    Semaphore
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/core_os/semaphore/semaphore.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a><ul class="current">
+<li class="toctree-l2 current"><a class="reference internal" href="../mynewt_os.html">OS Core</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../context_switch/context_switch.html">Scheduler</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../cputime/os_cputime.html">CPU Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../time/os_time.html">OS Time</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../task/task.html">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../heap/heap.html">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../msys/msys.html">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../callout/callout.html">Callout</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../API.html">API</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../porting/port_os.html">Porting Mynewt OS</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/console/console.html">Console</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../modules/sysinitconfig/sysinitconfig.html">System Configuration and Initialization</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="semaphore">
+<h1>Semaphore<a class="headerlink" href="#semaphore" title="Permalink to this headline">?</a></h1>
+<p>A semaphore is a structure used for gaining exclusive access (much like
+a mutex), synchronizing task operations and/or use in a
+?producer/consumer? roles. Semaphores like the ones used by the myNewt
+OS are called ?counting? semaphores as they are allowed to have more
+than one token (explained below).</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>A semaphore is a fairly simple construct consisting of a queue for
+waiting tasks and the number of tokens currently owned by the semaphore.
+A semaphore can be obtained as long as there are tokens in the
+semaphore. Any task can add tokens to the semaphore and any task can
+request the semaphore, thereby removing tokens. When creating the
+semaphore, the initial number of tokens can be set as well.</p>
+<p>When used for exclusive access to a shared resource the semaphore only
+needs a single token. In this case, a single task ?creates? the
+semaphore by calling <em>os_sem_init</em> with a value of one (1) for the
+token. When a task desires exclusive access to the shared resource it
+requests the semaphore by calling <em>os_sem_pend</em>. If there is a token
+the requesting task will acquire the semaphore and continue operation.
+If no tokens are available the task will be put to sleep until there is
+a token. A common ?problem? with using a semaphore for exclusive access
+is called <em>priority inversion</em>. Consider the following scenario: a high
+and low priority task both share a resource which is locked using a
+semaphore. If the low priority task obtains the semaphore and then the
+high priority task requests the semaphore, the high priority task is now
+blocked until the low priority task releases the semaphore. Now suppose
+that there are tasks between the low priority task and the high priority
+task that want to run. These tasks will preempt the low priority task
+which owns the semaphore. Thus, the high priority task is blocked
+waiting for the low priority task to finish using the semaphore but the
+low priority task cannot run since other tasks are running. Thus, the
+high priority tasks is ?inverted? in priority; in effect running at a
+much lower priority as normally it would preempt the other (lower
+priority) tasks. If this is an issue a mutex should be used instead of a
+semaphore.</p>
+<p>Semaphores can also be used for task synchronization. A simple example
+of this would be the following. A task creates a semaphore and
+initializes it with no tokens. The task then waits on the semaphore, and
+since there are no tokens, the task is put to sleep. When other tasks
+want to wake up the sleeping task they simply add a token by calling
+<em>os_sem_release</em>. This will cause the sleeping task to wake up
+(instantly if no other higher priority tasks want to run).</p>
+<p>The other common use of a counting semaphore is in what is commonly
+called a ?producer/consumer? relationship. The producer adds tokens (by
+calling <em>os_sem_release</em>) and the consumer consumes them by calling
+<em>os_sem_pend</em>. In this relationship, the producer has work for the
+consumer to do. Each token added to the semaphore will cause the
+consumer to do whatever work is required. A simple example could be the
+following: every time a button is pressed there is some work to do (ring
+a bell). Each button press causes the producer to add a token. Each
+token consumed rings the bell. There will exactly the same number of
+bell rings as there are button presses. In other words, each call to
+<em>os_sem_pend</em> subtracts exactly one token and each call to
+<em>os_sem_release</em> adds exactly one token.</p>
+</div>
+<div class="section" id="data-structures">
+<h2>Data structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct os_sem
+{
+    SLIST_HEAD(, os_task) sem_head;     /* chain of waiting tasks */
+    uint16_t    _pad;
+    uint16_t    sem_tokens;             /* # of tokens */
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="22%" />
+<col width="78%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Element</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>sem_head</td>
+<td>Queue head for list of tasks waiting on semaphore</td>
+</tr>
+<tr class="row-odd"><td>_pad</td>
+<td>Padding for alignment</td>
+</tr>
+<tr class="row-even"><td>sem_tokens</td>
+<td>Current number of tokens</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="api">
+<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">?</a></h2>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">doxygengroup: Cannot find namespace ?OSSem? in doxygen xml output for project ?mynewt-core? from directory: mynewt-core-xml</p>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
+      
+        <a href="../mutex/mutex.html" class="btn btn-neutral float-right" title="Mutex" accesskey="n">Next: Mutex <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../event_queue/event_queue.html" class="btn btn-neutral" title="Event Queues" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Event Queues</a>
+      
+    </div>
+
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/core_os/task/task.html b/develop/os/core_os/task/task.html
index 106486d8a..14fd0feda 100644
--- a/develop/os/core_os/task/task.html
+++ b/develop/os/core_os/task/task.html
@@ -42,7 +42,7 @@
           <link rel="search" title="Search" href="../../../search.html"/>
       <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/>
           <link rel="up" title="Mynewt Core OS" href="../mynewt_os.html"/>
-          <link rel="next" title="Core OS API" href="../API.html"/>
+          <link rel="next" title="Event Queues" href="../event_queue/event_queue.html"/>
           <link rel="prev" title="OS Time" href="../time/os_time.html"/> 
 
     
@@ -229,6 +229,16 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l3"><a class="reference internal" href="../cputime/os_cputime.html">CPU Time</a></li>
 <li class="toctree-l3"><a class="reference internal" href="../time/os_time.html">OS Time</a></li>
 <li class="toctree-l3 current"><a class="current reference internal" href="#">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../heap/heap.html">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../msys/msys.html">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../callout/callout.html">Callout</a></li>
 <li class="toctree-l3"><a class="reference internal" href="../API.html">API</a></li>
 </ul>
 </li>
@@ -375,7 +385,7 @@ <h2>Description<a class="headerlink" href="#description" title="Permalink to thi
                   
     <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
       
-        <a href="../API.html" class="btn btn-neutral float-right" title="Core OS API" accesskey="n">Next: Core OS API <span class="fa fa-arrow-circle-right"></span></a>
+        <a href="../event_queue/event_queue.html" class="btn btn-neutral float-right" title="Event Queues" accesskey="n">Next: Event Queues <span class="fa fa-arrow-circle-right"></span></a>
       
       
         <a href="../time/os_time.html" class="btn btn-neutral" title="OS Time" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: OS Time</a>
diff --git a/develop/os/core_os/time/os_time.html b/develop/os/core_os/time/os_time.html
index e66b3ffbf..6d774faf3 100644
--- a/develop/os/core_os/time/os_time.html
+++ b/develop/os/core_os/time/os_time.html
@@ -229,6 +229,16 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l3"><a class="reference internal" href="../cputime/os_cputime.html">CPU Time</a></li>
 <li class="toctree-l3 current"><a class="current reference internal" href="#">OS Time</a></li>
 <li class="toctree-l3"><a class="reference internal" href="../task/task.html">Task</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../event_queue/event_queue.html">Event Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../semaphore/semaphore.html">Semaphore</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mutex/mutex.html">Mutex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../memory_pool/memory_pool.html">Memory Pools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../heap/heap.html">Heap</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mbuf/mbuf.html">Mbufs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../msys/msys.html">Msys</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mqueue/mqueue.html">Mqueue</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../sanity/sanity.html">Sanity</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../callout/callout.html">Callout</a></li>
 <li class="toctree-l3"><a class="reference internal" href="../API.html">API</a></li>
 </ul>
 </li>
diff --git a/develop/os/modules/baselibc.html b/develop/os/modules/baselibc.html
new file mode 100644
index 000000000..4e7063ed9
--- /dev/null
+++ b/develop/os/modules/baselibc.html
@@ -0,0 +1,350 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Baselibc &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Baselibc
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/baselibc.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="baselibc">
+<h1>Baselibc<a class="headerlink" href="#baselibc" title="Permalink to this headline">?</a></h1>
+<p>Baselibc is a very simple libc for embedded systems geared primarily for
+32-bit microcontrollers in the 10-100kB memory range. The library of
+basic system calls and facilities compiles to less than 5kB total on
+Cortex-M3, and much less if some functions aren?t used.</p>
+<p>The code is based on klibc and tinyprintf modules, and licensed under
+the BSD license.</p>
+<p>Baselibc comes from <a class="reference external" href="https://github.com/PetteriAimonen/Baselibc.git">https://github.com/PetteriAimonen/Baselibc.git</a></p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>Mynewt OS can utilize libc which comes with compiler (e.g. newlib
+bundled with some binary distributions of arm-none-eabi-gcc). However,
+you may choose to replace the libc with baselibc for a reduced image
+size. Baselibc optimizes for size rather than performance, which is
+usually a more important goal in embedded environments.</p>
+</div>
+<div class="section" id="how-to-switch-to-baselibc">
+<h2>How to switch to baselibc<a class="headerlink" href="#how-to-switch-to-baselibc" title="Permalink to this headline">?</a></h2>
+<p>In order to switch from using libc to using baselibc you have to add the
+baselibc pkg as a dependency in the project pkg. Specifying this
+dependency ensures that the linker first looks for the functions in
+baselibc before falling back to libc while creating the executable. For
+example, project <code class="docutils literal notranslate"><span class="pre">boot</span></code> uses baselibc. Its project description file
+<code class="docutils literal notranslate"><span class="pre">boot.yml</span></code> looks like the following:</p>
+<p><code class="docutils literal notranslate"><span class="pre">no-highlight</span>&#160;&#160;&#160; <span class="pre">project.name:</span> <span class="pre">boot</span>&#160;&#160;&#160; <span class="pre">project.identities:</span> <span class="pre">bootloader</span>&#160;&#160;&#160; <span class="pre">project.pkgs:</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">-</span> <span class="pre">libs/os</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">-</span> <span class="pre">libs/bootutil</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">-</span> <span class="pre">libs/nffs</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">-</span> <span class="pre">libs/console/stub</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">-</span> <span class="pre">libs/util</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">-</span> <span class="pre">libs/baselibc</span></code></p>
+</div>
+<div class="section" id="list-of-functions">
+<h2>List of Functions<a class="headerlink" href="#list-of-functions" title="Permalink to this headline">?</a></h2>
+<p>Documentation for libc functions is available from multiple places. One
+example are the on-line manual pages at
+<a class="reference external" href="#https://www.freebsd.org/cgi/man.cgi">https://www.freebsd.org/cgi/man.cgi</a>.</p>
+<p>baselibc supports most libc functionality; malloc(), printf-family,
+string handling, and conversion routines.</p>
+<p>There is some functionality which is not available, e.g. support for
+floating point numbers, and limited support for ?long long?.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_build_status.html b/develop/os/modules/bootloader/boot_build_status.html
new file mode 100644
index 000000000..94264f9f2
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_build_status.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_build_status.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_build_status_one.html b/develop/os/modules/bootloader/boot_build_status_one.html
new file mode 100644
index 000000000..fc5d57a28
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_build_status_one.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_build_status_one.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_clear_status.html b/develop/os/modules/bootloader/boot_clear_status.html
new file mode 100644
index 000000000..7315fd46b
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_clear_status.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_clear_status.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_copy_area.html b/develop/os/modules/bootloader/boot_copy_area.html
new file mode 100644
index 000000000..308103025
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_copy_area.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_copy_area.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_copy_image.html b/develop/os/modules/bootloader/boot_copy_image.html
new file mode 100644
index 000000000..45acac51d
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_copy_image.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_copy_image.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_erase_area.html b/develop/os/modules/bootloader/boot_erase_area.html
new file mode 100644
index 000000000..f29579be6
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_erase_area.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_erase_area.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_fill_slot.html b/develop/os/modules/bootloader/boot_fill_slot.html
new file mode 100644
index 000000000..8ee33e77f
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_fill_slot.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_fill_slot.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_find_image_area_idx.html b/develop/os/modules/bootloader/boot_find_image_area_idx.html
new file mode 100644
index 000000000..811f1f6de
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_find_image_area_idx.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_find_image_area_idx.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_find_image_part.html b/develop/os/modules/bootloader/boot_find_image_part.html
new file mode 100644
index 000000000..1668ad944
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_find_image_part.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_find_image_part.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_find_image_slot.html b/develop/os/modules/bootloader/boot_find_image_slot.html
new file mode 100644
index 000000000..c2023f96f
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_find_image_slot.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_find_image_slot.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_go.html b/develop/os/modules/bootloader/boot_go.html
new file mode 100644
index 000000000..7e812eb3d
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_go.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_go.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_init_flash.html b/develop/os/modules/bootloader/boot_init_flash.html
new file mode 100644
index 000000000..e8082160f
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_init_flash.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_init_flash.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_move_area.html b/develop/os/modules/bootloader/boot_move_area.html
new file mode 100644
index 000000000..b3915ae29
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_move_area.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_move_area.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_read_image_header.html b/develop/os/modules/bootloader/boot_read_image_header.html
new file mode 100644
index 000000000..55f39161f
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_read_image_header.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_read_image_header.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_read_image_headers.html b/develop/os/modules/bootloader/boot_read_image_headers.html
new file mode 100644
index 000000000..28ff5c929
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_read_image_headers.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_read_image_headers.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_read_status.html b/develop/os/modules/bootloader/boot_read_status.html
new file mode 100644
index 000000000..4f65d3697
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_read_status.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_read_status.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_select_image_slot.html b/develop/os/modules/bootloader/boot_select_image_slot.html
new file mode 100644
index 000000000..aa63416ed
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_select_image_slot.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_select_image_slot.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_slot_addr.html b/develop/os/modules/bootloader/boot_slot_addr.html
new file mode 100644
index 000000000..56569f323
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_slot_addr.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_slot_addr.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_slot_to_area_idx.html b/develop/os/modules/bootloader/boot_slot_to_area_idx.html
new file mode 100644
index 000000000..6ab175e58
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_slot_to_area_idx.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_slot_to_area_idx.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_swap_areas.html b/develop/os/modules/bootloader/boot_swap_areas.html
new file mode 100644
index 000000000..ef30e06c1
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_swap_areas.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_swap_areas.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_vect_delete_main.html b/develop/os/modules/bootloader/boot_vect_delete_main.html
new file mode 100644
index 000000000..f81eb4d08
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_vect_delete_main.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_vect_delete_main.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_vect_delete_test.html b/develop/os/modules/bootloader/boot_vect_delete_test.html
new file mode 100644
index 000000000..f69fcc105
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_vect_delete_test.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_vect_delete_test.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_vect_read_main.html b/develop/os/modules/bootloader/boot_vect_read_main.html
new file mode 100644
index 000000000..cfd15c43d
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_vect_read_main.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_vect_read_main.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_vect_read_one.html b/develop/os/modules/bootloader/boot_vect_read_one.html
new file mode 100644
index 000000000..8666adce1
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_vect_read_one.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_vect_read_one.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_vect_read_test.html b/develop/os/modules/bootloader/boot_vect_read_test.html
new file mode 100644
index 000000000..c7e9fb1bf
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_vect_read_test.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_vect_read_test.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/boot_write_status.html b/develop/os/modules/bootloader/boot_write_status.html
new file mode 100644
index 000000000..1f9f6b0fa
--- /dev/null
+++ b/develop/os/modules/bootloader/boot_write_status.html
@@ -0,0 +1,312 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>&lt;no title&gt; &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    &lt;no title&gt;
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/boot_write_status.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/bootloader/bootloader.html b/develop/os/modules/bootloader/bootloader.html
new file mode 100644
index 000000000..824f3927a
--- /dev/null
+++ b/develop/os/modules/bootloader/bootloader.html
@@ -0,0 +1,886 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Bootloader &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Bootloader
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/bootloader/bootloader.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="bootloader">
+<h1>Bootloader<a class="headerlink" href="#bootloader" title="Permalink to this headline">?</a></h1>
+<p>The ?bootloader? is the code that loads the Mynewt OS image into memory
+and conducts some checks before allowing the OS to be run. It manages
+images for the embedded system and upgrades of those images using
+protocols over various interfaces (e.g. serial, BLE, etc.). Typically,
+systems with bootloaders have at least two program images coexisting on
+the same microcontroller, and hence must include branch code that
+performs a check to see if an attempt to update software is already
+underway and manage the progress of the process.</p>
+<p>The bootloader in the Apache Mynewt project verifies the cryptographic
+signature of the firmware image before running it. It maintains a
+detailed status log for each stage of the boot process. For verification
+of the authenticity of the OS image, it:</p>
+<p>The ?secure bootloader? should be placed in protected memory on a given
+microcontroller.</p>
+<p>The Mynewt bootloader comprises two packages:</p>
+<ul class="simple">
+<li>The bootutil library (boot/bootutil)</li>
+<li>The boot application (apps/boot)</li>
+</ul>
+<p>The Mynewt code is thus structured so that the generic bootutil library
+performs most of the functions of a boot loader. The final step of
+actually jumping to the main image is kept out of the bootutil library.
+This last step should instead be implemented in an architecture-specific
+project. Boot loader functionality is separated in this manner for the
+following two reasons:</p>
+<ol class="arabic simple">
+<li>By keeping architecture-dependent code separate, the bootutil library
+can be reused among several boot loaders.</li>
+<li>By excluding the last boot step from the library, the bootloader can
+be unit tested since a library can be unit tested but an applicant
+can?t.</li>
+</ol>
+<div class="section" id="limitations">
+<h2>Limitations<a class="headerlink" href="#limitations" title="Permalink to this headline">?</a></h2>
+<p>The boot loader currently only supports images with the following
+characteristics:</p>
+<ul class="simple">
+<li>Built to run from flash.</li>
+<li>Build to run from a fixed location (i.e., position-independent).</li>
+</ul>
+</div>
+<div class="section" id="image-format">
+<h2>Image Format<a class="headerlink" href="#image-format" title="Permalink to this headline">?</a></h2>
+<p>The following definitions describe the image header format.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#define IMAGE_MAGIC                 0x96f3b83c
+#define IMAGE_MAGIC_NONE            0xffffffff
+
+struct image_version {
+    uint8_t iv_major;
+    uint8_t iv_minor;
+    uint16_t iv_revision;
+    uint32_t iv_build_num;
+};
+
+/** Image header.  All fields are in little endian byte order. */
+struct image_header {
+    uint32_t ih_magic;
+    uint16_t ih_tlv_size; /* Trailing TLVs */
+    uint8_t  ih_key_id;
+    uint8_t  _pad1;
+    uint16_t ih_hdr_size;
+    uint16_t _pad2;
+    uint32_t ih_img_size; /* Does not include header. */
+    uint32_t ih_flags;
+    struct image_version ih_ver;
+    uint32_t _pad3;
+};
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">ih_hdr_size</span></code> field indicates the length of the header, and
+therefore the offset of the image itself. This field provides for
+backwards compatibility in case of changes to the format of the image
+header.</p>
+<p>The following are the image header flags available.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#define IMAGE_F_PIC                    0x00000001
+#define IMAGE_F_SHA256                 0x00000002 /* Image contains hash TLV */
+#define IMAGE_F_PKCS15_RSA2048_SHA256  0x00000004 /* PKCS15 w/RSA and SHA */
+#define IMAGE_F_ECDSA224_SHA256        0x00000008 /* ECDSA256 over SHA256 */
+#define IMAGE_F_NON_BOOTABLE           0x00000010
+#define IMAGE_HEADER_SIZE              32
+</pre></div>
+</div>
+<p>Optional type-length-value records (TLVs) containing image metadata are
+placed after the end of the image. For example, security data gets added
+as a footer at the end of the image.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/** Image trailer TLV format. All fields in little endian. */
+struct image_tlv {
+    uint8_t  it_type;   /* IMAGE_TLV_[...]. */
+    uint8_t  _pad;
+    uint16_t it_len     /* Data length (not including TLV header). */
+};
+
+/*
+ * Image trailer TLV types.
+ */
+#define IMAGE_TLV_SHA256            1   /* SHA256 of image hdr and body */
+#define IMAGE_TLV_RSA2048           2   /* RSA2048 of hash output */
+#define IMAGE_TLV_ECDSA224          3   /* ECDSA of hash output */
+</pre></div>
+</div>
+</div>
+<div class="section" id="flash-map">
+<h2>Flash Map<a class="headerlink" href="#flash-map" title="Permalink to this headline">?</a></h2>
+<p>A Mynewt device?s flash is partitioned according to its <em>flash map</em>. At
+a high level, the flash map maps numeric IDs to <em>flash areas</em>. A flash
+area is a region of disk with the following properties:</p>
+<ol class="arabic simple">
+<li>An area can be fully erased without affecting any other areas.</li>
+<li>A write to one area does not restrict writes to other areas.</li>
+</ol>
+<p>The boot loader uses the following flash areas:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#define FLASH_AREA_BOOTLOADER                    0
+#define FLASH_AREA_IMAGE_0                       1
+#define FLASH_AREA_IMAGE_1                       2
+#define FLASH_AREA_IMAGE_SCRATCH                 3
+</pre></div>
+</div>
+</div>
+<div class="section" id="image-slots">
+<h2>Image Slots<a class="headerlink" href="#image-slots" title="Permalink to this headline">?</a></h2>
+<p>A portion of the flash memory is partitioned into two image slots: a
+primary slot and a secondary slot. The boot loader will only run an
+image from the primary slot, so images must be built such that they can
+run from that fixed location in flash. If the boot loader needs to run
+the image resident in the secondary slot, it must swap the two images in
+flash prior to booting.</p>
+<p>In addition to the two image slots, the boot loader requires a scratch
+area to allow for reliable image swapping.</p>
+</div>
+<div class="section" id="boot-states">
+<h2>Boot States<a class="headerlink" href="#boot-states" title="Permalink to this headline">?</a></h2>
+<p>Logically, you can think of a pair of flags associated with each image
+slot: pending and confirmed. On startup, the boot loader determines the
+state of the device by inspecting each pair of flags. These flags have
+the following meanings:</p>
+<ul class="simple">
+<li>pending: image gets tested on next reboot; absent subsequent confirm
+command, revert to original image on second reboot.</li>
+<li>confirmed: always use image unless excluded by a test image.</li>
+</ul>
+<p>In English, when the user wants to run the secondary image, they set the
+pending flag for the second slot and reboot the device. On startup, the
+boot loader will swap the two images in flash, clear the secondary
+slot?s pending flag, and run the newly-copied image in slot 0. This is a
+temporary state; if the device reboots again, the boot loader swaps the
+images back to their original slots and boots into the original image.
+If the user doesn?t want to revert to the original state, they can make
+the current state permanent by setting the confirmed flag in slot 0.</p>
+<p>Switching to an alternate image is a two-step process (set + confirm) to
+prevent a device from becoming ?bricked? by bad firmware. If the device
+crashes immediately upon booting the second image, the boot loader
+reverts to the working image, rather than repeatedly rebooting into the
+bad image.</p>
+<p>The following set of tables illustrate the three possible states that
+the device can be in:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>               | slot-0 | slot-1 |
+---------------+--------+--------|
+       pending |        |        |
+     confirmed |   X    |        |
+---------------+--------+--------&#39;
+Image 0 confirmed;               |
+No change on reboot              |
+---------------------------------&#39;
+
+               | slot-0 | slot-1 |
+---------------+--------+--------|
+       pending |        |   X    |
+     confirmed |   X    |        |
+---------------+--------+--------&#39;
+Image 0 confirmed;               |
+Test image 1 on next reboot      |
+---------------------------------&#39;
+
+               | slot-0 | slot-1 |
+---------------+--------+--------|
+       pending |        |        |
+     confirmed |        |   X    |
+---------------+--------+--------&#39;
+Testing image 0;                 |
+Revert to image 1 on next reboot |
+---------------------------------&#39;
+</pre></div>
+</div>
+</div>
+<div class="section" id="boot-vector">
+<h2>Boot Vector<a class="headerlink" href="#boot-vector" title="Permalink to this headline">?</a></h2>
+<p>At startup, the boot loader determines which of the above three boot
+states a device is in by inspecting the boot vector. The boot vector
+consists of two records (called ?image trailers?), one written at the
+end of each image slot. An image trailer has the following structure:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span> 0                   1                   2                   3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+~                       MAGIC (16 octets)                       ~
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+~                                                               ~
+~             Swap status (128 * min-write-size * 3)            ~
+~                                                               ~
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+|   Copy done   |     0xff padding (up to min-write-sz - 1)     ~
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+|   Image OK    |     0xff padding (up to min-write-sz - 1)     ~
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+</pre></div>
+</div>
+<p>These records are at the end of each image slot. The offset immediately
+following such a record represents the start of the next flash area.</p>
+<p>Note: <code class="docutils literal notranslate"><span class="pre">min-write-size</span></code> is a property of the flash hardware. If the
+hardware allows individual bytes to be written at arbitrary addresses,
+then <code class="docutils literal notranslate"><span class="pre">min-write-size</span></code> is 1. If the hardware only allows writes at even
+addresses, then <code class="docutils literal notranslate"><span class="pre">min-write-size</span></code> is 2, and so on.</p>
+<p>The fields are defined as follows:</p>
+<ol class="arabic">
+<li><p class="first">MAGIC: The following 16 bytes, written in host-byte-order:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>const uint32_t boot_img_magic[4] = {
+    0xf395c277,
+    0x7fefd260,
+    0x0f505235,
+    0x8079b62c,
+};
+</pre></div>
+</div>
+</li>
+<li><p class="first">Swap status: A series of single-byte records. Each record corresponds
+to a flash sector in an image slot. A swap status byte indicate the
+location of the corresponding sector data. During an image swap,
+image data is moved one sector at a time. The swap status is
+necessary for resuming a swap operation if the device rebooted before
+a swap operation completed.</p>
+</li>
+<li><p class="first">Copy done: A single byte indicating whether the image in this slot is
+complete (<code class="docutils literal notranslate"><span class="pre">0x01=done,</span> <span class="pre">0xff=not</span> <span class="pre">done</span></code>).</p>
+</li>
+<li><p class="first">Image OK: A single byte indicating whether the image in this slot has
+been confirmed as good by the user
+(<code class="docutils literal notranslate"><span class="pre">0x01=confirmed;</span> <span class="pre">0xff=not</span> <span class="pre">confirmed</span></code>).</p>
+</li>
+</ol>
+<p>The boot vector records are structured around the limitations imposed by
+flash hardware. As a consequence, they do not have a very intuitive
+design, and it is difficult to get a sense of the state of the device
+just by looking at the boot vector. It is better to map all the possible
+vector states to the swap types (None, Test, Revert) via a set of
+tables. These tables are reproduced below. In these tables, the
+?pending? and ?confirmed? flags are shown for illustrative purposes;
+they are not actually present in the boot vector.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>State I
+                 | slot-0 | slot-1 |
+-----------------+--------+--------|
+           magic | Unset  | Unset  |
+        image-ok | Any    | N/A    |
+-----------------+--------+--------&#39;
+         pending |        |        |
+      confirmed  |   X    |        |
+-----------------+--------+--------&#39;
+ swap: none                        |
+-----------------------------------&#39;
+
+
+State II
+                 | slot-0 | slot-1 |
+-----------------+--------+--------|
+           magic | Any    | Good   |
+        image-ok | Any    | N/A    |
+-----------------+--------+--------&#39;
+         pending |        |   X    |
+      confirmed  |   X    |        |
+-----------------+--------+--------&#39;
+ swap: test                        |
+-----------------------------------&#39;
+
+
+State III
+                 | slot-0 | slot-1 |
+-----------------+--------+--------|
+           magic | Good   | Unset  |
+        image-ok | 0xff   | N/A    |
+-----------------+--------+--------&#39;
+         pending |        |        |
+      confirmed  |        |   X    |
+-----------------+--------+--------&#39;
+ swap: revert (test image running) |
+-----------------------------------&#39;
+
+
+State IV
+                 | slot-0 | slot-1 |
+-----------------+--------+--------|
+           magic | Good   | Unset  |
+        image-ok | 0x01   | N/A    |
+-----------------+--------+--------&#39;
+         pending |        |        |
+      confirmed  |   X    |        |
+-----------------+--------+--------&#39;
+ swap: none (confirmed test image) |
+-----------------------------------&#39;
+</pre></div>
+</div>
+</div>
+<div class="section" id="high-level-operation">
+<h2>High-level Operation<a class="headerlink" href="#high-level-operation" title="Permalink to this headline">?</a></h2>
+<p>With the terms defined, we can now explore the boot loader?s operation.
+First, a high-level overview of the boot process is presented. Then, the
+following sections describe each step of the process in more detail.</p>
+<p>Procedure:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>A. Inspect swap status region; is an interrupted swap is being resumed?
+    Yes: Complete the partial swap operation; skip to step C.
+    No: Proceed to step B.
+
+B. Inspect boot vector; is a swap requested?
+    Yes.
+        1. Is the requested image valid (integrity and security check)?
+            Yes.
+                a. Perform swap operation.
+                b. Persist completion of swap procedure to boot vector.
+                c. Proceed to step C.
+            No.
+                a. Erase invalid image.
+                b. Persist failure of swap procedure to boot vector.
+                c. Proceed to step C.
+    No: Proceed to step C.
+
+C. Boot into image in slot 0.
+</pre></div>
+</div>
+</div>
+<div class="section" id="image-swapping">
+<h2>Image Swapping<a class="headerlink" href="#image-swapping" title="Permalink to this headline">?</a></h2>
+<p>The boot loader swaps the contents of the two image slots for two
+reasons:</p>
+<ul class="simple">
+<li>User has issued an ?image test? operation; the image in slot-1 should
+be run once (state II).</li>
+<li>Test image rebooted without being confirmed; the boot loader should
+revert to the original image currently in slot-1 (state III).</li>
+</ul>
+<p>If the boot vector indicates that the image in the secondary slot should
+be run, the boot loader needs to copy it to the primary slot. The image
+currently in the primary slot also needs to be retained in flash so that
+it can be used later. Furthermore, both images need to be recoverable if
+the boot loader resets in the middle of the swap operation. The two
+images are swapped according to the following procedure:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>1. Determine how many flash sectors each image slot consists of.  This
+   number must be the same for both slots.
+2. Iterate the list of sector indices in descending order (i.e., starting
+   with the greatest index); current element = &quot;index&quot;.
+    b. Erase scratch area.
+    c. Copy slot0[index] to scratch area.
+    d. Write updated swap status (i).
+
+    e. Erase slot1[index]
+    f. Copy slot0[index] to slot1[index]
+        - If these are the last sectors (i.e., first swap being perfomed),
+          copy the full sector *except* the image trailer.
+        - Else, copy entire sector contents.
+    g. Write updated swap status (ii).
+
+    h. Erase slot0[index].
+    i. Copy scratch area slot0[index].
+    j. Write updated swap status (iii).
+
+3. Persist completion of swap procedure to slot 0 image trailer.
+</pre></div>
+</div>
+<p>The additional caveats in step 2f are necessary so that the slot 1 image
+trailer can be written by the user at a later time. With the image
+trailer unwritten, the user can test the image in slot 1 (i.e.,
+transition to state II).</p>
+<p>The particulars of step 3 vary depending on whether an image is being
+tested or reverted:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>* test:
+    o Write slot0.copy_done = 1
+    (should now be in state III)
+
+* revert:
+    o Write slot0.magic = BOOT_MAGIC
+    o Write slot0.copy_done = 1
+    o Write slot0.image_ok = 1
+    (should now be in state IV)
+</pre></div>
+</div>
+</div>
+<div class="section" id="swap-status">
+<h2>Swap Status<a class="headerlink" href="#swap-status" title="Permalink to this headline">?</a></h2>
+<p>The swap status region allows the boot loader to recover in case it
+restarts in the middle of an image swap operation. The swap status
+region consists of a series of single-byte records. These records are
+written independently, and therefore must be padded according to the
+minimum write size imposed by the flash hardware. In the below figure, a
+<code class="docutils literal notranslate"><span class="pre">min-write-size</span></code> of 1 is assumed for simplicity. The structure of the
+swap status region is illustrated below. In this figure, a
+<code class="docutils literal notranslate"><span class="pre">min-write-size</span></code> of 1 is assumed for simplicity.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span> 0                   1                   2                   3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+|sec127,state 0 |sec127,state 1 |sec127,state 2 |sec126,state 0 |
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+|sec126,state 1 |sec126,state 2 |sec125,state 0 |sec125,state 1 |
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+|sec125,state 2 |                                               |
++-+-+-+-+-+-+-+-+                                               +
+~                                                               ~
+~               [Records for indices 124 through 1              ~
+~                                                               ~
+~               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+~               |sec000,state 0 |sec000,state 1 |sec000,state 2 |
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+</pre></div>
+</div>
+<p>And now, in English?</p>
+<p>Each image slot is partitioned into a sequence of flash sectors. If we
+were to enumerate the sectors in a single slot, starting at 0, we would
+have a list of sector indices. Since there are two image slots, each
+sector index would correspond to a pair of sectors. For example, sector
+index 0 corresponds to the first sector in slot 0 and the first sector
+in slot 1. Furthermore, we impose a limit of 128 indices. If an image
+slot consists of more than 128 sectors, the flash layout is not
+compatible with this boot loader. Finally, reverse the list of indices
+such that the list starts with index 127 and ends with 0. The swap
+status region is a representation of this reversed list.</p>
+<p>During a swap operation, each sector index transitions through four
+separate states:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>0. slot 0: image 0,   slot 1: image 1,   scratch: N/A
+1. slot 0: image 0,   slot 1: N/A,       scratch: image 1 (1-&gt;s, erase 1)
+2. slot 0: N/A,       slot 1: image 0,   scratch: image 1 (0-&gt;1, erase 0)
+3. slot 0: image 1,   slot 1: image 0,   scratch: N/A     (s-&gt;0)
+</pre></div>
+</div>
+<p>Each time a sector index transitions to a new state, the boot loader
+writes a record to the swap status region. Logically, the boot loader
+only needs one record per sector index to keep track of the current swap
+state. However, due to limitations imposed by flash hardware, a record
+cannot be overwritten when an index?s state changes. To solve this
+problem, the boot loader uses three records per sector index rather than
+just one.</p>
+<p>Each sector-state pair is represented as a set of three records. The
+record values map to the above four states as follows</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>        | rec0 | rec1 | rec2
+--------+------+------+------
+state 0 | 0xff | 0xff | 0xff
+state 1 | 0x01 | 0xff | 0xff
+state 2 | 0x01 | 0x02 | 0xff
+state 3 | 0x01 | 0x02 | 0x03
+</pre></div>
+</div>
+<p>The swap status region can accommodate 128 sector indices. Hence, the
+size of the region, in bytes, is <code class="docutils literal notranslate"><span class="pre">128</span> <span class="pre">*</span> <span class="pre">min-write-size</span> <span class="pre">*</span> <span class="pre">3</span></code>. The
+number 128 is chosen somewhat arbitrarily and will likely be made
+configurable. The only requirement for the index count is that is is
+great enough to account for a maximum-sized image (i.e., at least as
+great as the total sector count in an image slot). If a device?s image
+slots use less than 128 sectors, the first record that gets written will
+be somewhere in the middle of the region. For example, if a slot uses 64
+sectors, the first sector index that gets swapped is 63, which
+corresponds to the exact halfway point within the region.</p>
+</div>
+<div class="section" id="reset-recovery">
+<h2>Reset Recovery<a class="headerlink" href="#reset-recovery" title="Permalink to this headline">?</a></h2>
+<p>If the boot loader resets in the middle of a swap operation, the two
+images may be discontiguous in flash. Bootutil recovers from this
+condition by using the boot vector to determine how the image parts are
+distributed in flash.</p>
+<p>The first step is determine where the relevant swap status region is
+located. Because this region is embedded within the image slots, its
+location in flash changes during a swap operation. The below set of
+tables map boot vector contents to swap status location. In these
+tables, the ?source? field indicates where the swap status region is
+located.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>          | slot-0     | scratch    |
+----------+------------+------------|
+    magic | Good       | Any        |
+copy-done | 0x01       | N/A        |
+----------+------------+------------&#39;
+source: none                        |
+------------------------------------&#39;
+
+          | slot-0     | scratch    |
+----------+------------+------------|
+    magic | Good       | Any        |
+copy-done | 0xff       | N/A        |
+----------+------------+------------&#39;
+source: slot 0                      |
+------------------------------------&#39;
+
+          | slot-0     | scratch    |
+----------+------------+------------|
+    magic | Any        | Good       |
+copy-done | Any        | N/A        |
+----------+------------+------------&#39;
+source: scratch                     |
+------------------------------------&#39;
+
+          | slot-0     | scratch    |
+----------+------------+------------|
+    magic | Unset      | Any        |
+copy-done | 0xff       | N/A        |
+----------+------------+------------|
+source: varies                      |
+------------------------------------+------------------------------+
+This represents one of two cases:                                  |
+o No swaps ever (no status to read, so no harm in checking).       |
+o Mid-revert; status in slot 0.                                    |
+-------------------------------------------------------------------&#39;
+</pre></div>
+</div>
+<p>If the swap status region indicates that the images are not contiguous,
+bootutil completes the swap operation that was in progress when the
+system was reset. In other words, it applies the procedure defined in
+the previous section, moving image 1 into slot 0 and image 0 into slot
+1. If the boot status file indicates that an image part is present in
+the scratch area, this part is copied into the correct location by
+starting at step e or step h in the area-swap procedure, depending on
+whether the part belongs to image 0 or image 1.</p>
+<p>After the swap operation has been completed, the boot loader proceeds as
+though it had just been started.</p>
+</div>
+<div class="section" id="integrity-check">
+<h2>Integrity Check<a class="headerlink" href="#integrity-check" title="Permalink to this headline">?</a></h2>
+<p>An image is checked for integrity immediately before it gets copied into
+the primary slot. If the boot loader doesn?t perform an image swap, then
+it doesn?t perform an integrity check.</p>
+<p>During the integrity check, the boot loader verifies the following
+aspects of an image:</p>
+<ul class="simple">
+<li>32-bit magic number must be correct (0x96f3b83c).</li>
+<li>Image must contain a SHA256 TLV.</li>
+<li>Calculated SHA256 must matche SHA256 TLV contents.</li>
+<li>Image <em>may</em> contain a signature TLV. If it does, its contents must be
+verifiable using a key embedded in the boot loader.</li>
+</ul>
+</div>
+<div class="section" id="image-signing-and-verification">
+<h2>Image Signing and Verification<a class="headerlink" href="#image-signing-and-verification" title="Permalink to this headline">?</a></h2>
+<p>As indicated above, the final step of the integrity check is signature
+verification. The boot loader can have one or more public keys embedded
+in it at build time. During signature verification, the boot loader
+verifies that an image was signed with a private key that corresponds to
+one of its public keys. The image signature TLV indicates the index of
+the key that is has been signed with. The boot loader uses this index to
+identify the corresponding public key.</p>
+<p>For information on embedding public keys in the boot loader, as well as
+producing signed images, see: boot/bootutil/signed_images.md</p>
+<ul class="simple">
+<li><a class="reference external" href="boot_build_status.html">boot_build_status</a></li>
+<li><a class="reference external" href="boot_build_status_one.html">boot_build_status_one</a></li>
+<li><a class="reference external" href="boot_clear_status.html">boot_clear_status</a></li>
+<li><a class="reference external" href="boot_copy_area.html">boot_copy_area</a></li>
+<li><a class="reference external" href="boot_copy_image.html">boot_copy_image</a></li>
+<li><a class="reference external" href="boot_erase_area.html">boot_erase_area</a></li>
+<li><a class="reference external" href="boot_fill_slot.html">boot_fill_slot</a></li>
+<li><a class="reference external" href="boot_find_image_area_idx.html">boot_find_image_area_idx</a></li>
+<li><a class="reference external" href="boot_find_image_part.html">boot_find_image_part</a></li>
+<li><a class="reference external" href="boot_find_image_slot.html">boot_find_image_slot</a></li>
+<li><a class="reference external" href="boot_go.html">boot_go</a></li>
+<li><a class="reference external" href="boot_init_flash.html">boot_init_flash</a></li>
+<li><a class="reference external" href="boot_move_area.html">boot_move_area</a></li>
+<li><a class="reference external" href="boot_read_image_header.html">boot_read_image_header</a></li>
+<li><a class="reference external" href="boot_read_image_headers.html">boot_read_image_headers</a></li>
+<li><a class="reference external" href="boot_read_status.html">boot_read_status</a></li>
+<li><a class="reference external" href="boot_select_image_slot.html">boot_select_image_slot</a></li>
+<li><a class="reference external" href="boot_slot_addr.html">boot_slot_addr</a></li>
+<li><a class="reference external" href="boot_slot_to_area_idx.html">boot_slot_to_area_idx</a></li>
+<li><a class="reference external" href="boot_swap_areas.html">boot_swap_areas</a></li>
+<li><a class="reference external" href="boot_vect_delete_main.html">boot_vect_delete_main</a></li>
+<li><a class="reference external" href="boot_vect_delete_test.html">boot_vect_delete_test</a></li>
+<li><a class="reference external" href="boot_vect_read_main.html">boot_vect_read_main</a></li>
+<li><a class="reference external" href="boot_vect_read_one.html">boot_vect_read_one</a></li>
+<li><a class="reference external" href="boot_vect_read_test.html">boot_vect_read_test</a></li>
+<li><a class="reference external" href="boot_write_status.html">boot_write_status</a></li>
+</ul>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/config/config.html b/develop/os/modules/config/config.html
new file mode 100644
index 000000000..daf667ed7
--- /dev/null
+++ b/develop/os/modules/config/config.html
@@ -0,0 +1,494 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Config &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Config
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/config/config.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="config">
+<h1>Config<a class="headerlink" href="#config" title="Permalink to this headline">?</a></h1>
+<p>Config subsystem is meant for persisting per-device configuration
+and runtime state for packages.</p>
+<p>Configuration items are stored as key-value pairs, where both the key and
+the value are expected to be strings. Keys are divided into component
+elements, where packages register their subtree using the first element.
+E.g key <code class="docutils literal notranslate"><span class="pre">id/serial</span></code> consists of 2 components, <code class="docutils literal notranslate"><span class="pre">id</span></code> and <code class="docutils literal notranslate"><span class="pre">serial</span></code>.
+Package sys/id registered it?s subtree of configuration elements to be
+under <code class="docutils literal notranslate"><span class="pre">id</span></code>.</p>
+<p>There are convenience routines for converting value back and forth
+from string.</p>
+<div class="section" id="handlers">
+<h2>Handlers<a class="headerlink" href="#handlers" title="Permalink to this headline">?</a></h2>
+<p>Config handlers for subtree implement a set of handler functions.
+These are registered using a call to <code class="docutils literal notranslate"><span class="pre">conf_register()</span></code>.</p>
+<ul class="simple">
+<li><dl class="first docutils">
+<dt>ch_get</dt>
+<dd>This gets called when somebody asks for a config element value
+by it?s name using <code class="docutils literal notranslate"><span class="pre">conf_get_value()</span></code>.</dd>
+</dl>
+</li>
+<li><dl class="first docutils">
+<dt>ch_set</dt>
+<dd>This is called when value is being set using <code class="docutils literal notranslate"><span class="pre">conf_set_value()</span></code>, and
+also when configuration is loaded from persisted storage with
+<code class="docutils literal notranslate"><span class="pre">conf_load()</span></code>.</dd>
+</dl>
+</li>
+<li><dl class="first docutils">
+<dt>ch_commit</dt>
+<dd>This gets called after configuration has been loaded in full.
+Sometimes you don?t want individual configuration value to take
+effect right away, for example if there are multiple settings
+which are interdependent.</dd>
+</dl>
+</li>
+<li><dl class="first docutils">
+<dt>ch_export</dt>
+<dd>This gets called to dump all current configuration. This happens
+when <code class="docutils literal notranslate"><span class="pre">conf_save()</span></code> tries to save the settings, or when CLI is
+dumping current system configuration to console.</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="section" id="persistence">
+<h2>Persistence<a class="headerlink" href="#persistence" title="Permalink to this headline">?</a></h2>
+<p>Backend storage for the config can be either FCB, a file in filesystem,
+or both.</p>
+<p>You can declare multiple sources for configuration; settings from
+all of these are restored when <code class="docutils literal notranslate"><span class="pre">conf_load()</span></code> is called.</p>
+<p>There can be only one target for writing configuration; this is where
+data is stored when you call <code class="docutils literal notranslate"><span class="pre">conf_save()</span></code>, or conf_save_one().</p>
+<p>FCB read target is registered using <code class="docutils literal notranslate"><span class="pre">conf_fcb_src()</span></code>, and write target
+using <code class="docutils literal notranslate"><span class="pre">conf_fcb_dst()</span></code>. <code class="docutils literal notranslate"><span class="pre">conf_fcb_src()</span></code> as side-effect initializes the
+FCB area, so it must be called when calling <code class="docutils literal notranslate"><span class="pre">conf_fcb_dst()</span></code>.
+File read target is registered using <code class="docutils literal notranslate"><span class="pre">conf_file_src()</span></code>, and write target
+<code class="docutils literal notranslate"><span class="pre">conf_file_dst()</span></code>.</p>
+<p>Convenience initialization of one config area can be enabled by
+setting either syscfg variable CONFIG_FCB or CONFIG_NFFS. These
+use other syscfg variables to figure which flash_map entry of BSP
+defines flash area, or which file to use. Check the syscfg.yml in
+sys/config package for more detailed description.</p>
+</div>
+<div class="section" id="cli">
+<h2>CLI<a class="headerlink" href="#cli" title="Permalink to this headline">?</a></h2>
+<p>This can be enabled when shell package is enabled by setting syscfg
+variable CONFIG_CLI to 1.</p>
+<p>Here you can set config variables, inspect their values and print
+both saved configuration as well as running configuration.</p>
+<ul class="simple">
+<li><dl class="first docutils">
+<dt>config dump</dt>
+<dd>Dump the current running configuration</dd>
+</dl>
+</li>
+<li><dl class="first docutils">
+<dt>config dump saved</dt>
+<dd>Dump the saved configuration. The values are printed in the ordered
+they?re restored.</dd>
+</dl>
+</li>
+<li><dl class="first docutils">
+<dt>config &lt;key&gt;</dt>
+<dd>Print the value of config variable identified by &lt;key&gt;</dd>
+</dl>
+</li>
+<li><dl class="first docutils">
+<dt>config &lt;key&gt; &lt;value&gt;</dt>
+<dd>Set the value of config variable &lt;key&gt; to be &lt;value&gt;</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="section" id="example-device-configuration">
+<h2>Example: Device Configuration<a class="headerlink" href="#example-device-configuration" title="Permalink to this headline">?</a></h2>
+<p>This is a simple example, config handler only implements <code class="docutils literal notranslate"><span class="pre">ch_set</span></code> and
+<code class="docutils literal notranslate"><span class="pre">ch_export</span></code>. <code class="docutils literal notranslate"><span class="pre">ch_set</span></code> is called when value is restored from storage (or
+when set initially), and <code class="docutils literal notranslate"><span class="pre">ch_export</span></code> is used to write the value to
+storage (or dump to console).</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static int8 foo_val;
+
+struct conf_handler my_conf = {
+    .ch_name = &quot;foo&quot;,
+    .ch_set = foo_conf_set,
+    .ch_export = foo_conf_export
+}
+
+static int
+foo_conf_set(int argc, char **argv, char *val)
+{
+     if (argc == 1) {
+          if (!strcmp(argv[0], &quot;bar&quot;)) {
+                 return CONF_VALUE_SET(val, CONF_INT8, foo_val);
+          }
+     }
+     return OS_ENOENT;
+}
+
+static int
+foo_conf_export(void (*func)(char *name, char *val), enum conf_export_tgt tgt)
+{
+    char buf[4];
+
+    conf_str_from_value(CONF_INT8, &amp;foo_val, buf, sizeof(buf));
+    func(&quot;foo/bar&quot;, buf)
+    return 0;
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="example-persist-runtime-state">
+<h2>Example: Persist Runtime State<a class="headerlink" href="#example-persist-runtime-state" title="Permalink to this headline">?</a></h2>
+<p>This is a simple example showing how to persist runtime state. Here
+there is only <code class="docutils literal notranslate"><span class="pre">ch_set</span></code> defined, which is used when restoring value from
+persisted storage.</p>
+<p>There?s a os_callout function which increments foo_val, and then
+persists the latest number. When system restarts, and calls <code class="docutils literal notranslate"><span class="pre">conf_load()</span></code>,
+foo_val will continue counting up from where it was before restart.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static int8 foo_val;
+
+struct conf_handler my_conf = {
+    .ch_name = &quot;foo&quot;,
+    .ch_set = foo_conf_set
+}
+
+static int
+foo_conf_set(int argc, char **argv, char *val)
+{
+     if (argc == 1) {
+          if (!strcmp(argv[0], &quot;bar&quot;)) {
+                 return CONF_VALUE_SET(val, CONF_INT8, foo_val);
+          }
+     }
+     return OS_ENOENT;
+}
+
+static void
+foo_callout(struct os_event *ev)
+{
+    struct os_callout *c = (struct os_callout *)ev;
+    char buf[4];
+
+    foo_val++;
+    conf_str_from_value(CONF_INT8, &amp;foo_val, buf, sizeof(buf));
+    conf_save_one(&quot;foo/bar&quot;, bar);
+
+    callout_reset(c, OS_TICKS_PER_SEC * 120);
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="api">
+<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">?</a></h2>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">doxygengroup: Cannot find namespace ?sys_config? in doxygen xml output for project ?mynewt-core? from directory: mynewt-core-xml</p>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/devmgmt/customize_newtmgr.html b/develop/os/modules/devmgmt/customize_newtmgr.html
new file mode 100644
index 000000000..2c1484148
--- /dev/null
+++ b/develop/os/modules/devmgmt/customize_newtmgr.html
@@ -0,0 +1,352 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Customizing Newt Manager Usage with mgmt &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Customizing Newt Manager Usage with mgmt
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/devmgmt/customize_newtmgr.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="customizing-newt-manager-usage-with-mgmt">
+<h1>Customizing Newt Manager Usage with mgmt<a class="headerlink" href="#customizing-newt-manager-usage-with-mgmt" title="Permalink to this headline">?</a></h1>
+<p>The <strong>mgmt</strong> package enables you to customize Newt Manager (in either
+the newtmgr or oicmgr framerwork) to only process the commands that your
+application uses. The newtmgr commands are divided into management
+groups. A manager package implements the commands for a group. It
+implements the handlers that process the commands for the group and
+registers the handlers with mgmt. When newtmgr or oicmgr receives a
+newtmgr command, it looks up the handler for the command (by management
+group id and command id) from mgmt and calls the handler to process the
+command.</p>
+<p>The system level management groups are listed in following table:</p>
+<table style="width:90%" align="center"><td><p>Management Group</p>
+</td><td><p>newtmgr Commands</p>
+</td><td><p>Package</p>
+</td><tr><td><p>MGMT_GROUP_ID_DEFAULT</p>
+</td><td><p><code class="docutils literal notranslate"><span class="pre">echo</span></code> <code class="docutils literal notranslate"><span class="pre">taskstat</span></code> <code class="docutils literal notranslate"><span class="pre">mpstat</span></code> <code class="docutils literal notranslate"><span class="pre">datetime</span></code> <code class="docutils literal notranslate"><span class="pre">reset</span></code></p>
+</td><td><p>mgmt/newtmgr/nmgr_os</p>
+</td></tr><tr><td><p>MGMT_GROUP_ID_IMAGE</p>
+</td><td><p><code class="docutils literal notranslate"><span class="pre">image</span></code></p>
+</td><td><p>mgmt/imgmgr</p>
+</td></tr><tr><td><p>MGMT_GROUP_ID_STATS</p>
+</td><td><p><code class="docutils literal notranslate"><span class="pre">stat</span></code></p>
+</td><td><p>sys/stats</p>
+</td></tr><tr><td><p>MGMT_GROUP_ID_CONFIG</p>
+</td><td><p><code class="docutils literal notranslate"><span class="pre">config</span></code></p>
+</td><td><p>sys/config</p>
+</td></tr><tr><td><p>MGMT_GROUP_ID_LOGS</p>
+</td><td><p><code class="docutils literal notranslate"><span class="pre">log</span></code></p>
+</td><td><p>sys/log</p>
+</td></tr><tr><td><p>MGMT_GROUP_ID_CRASH</p>
+</td><td><p><code class="docutils literal notranslate"><span class="pre">crash</span></code></p>
+</td><td><p>test/crash_test</p>
+</td></tr><tr><td><p>MGMT_GROUP_ID_RUNTEST</p>
+</td><td><p><code class="docutils literal notranslate"><span class="pre">run</span></code></p>
+</td><td><p>test/runtest</p>
+</td></tr></table><p>Both newtmgr and ocimgr process the MGMT_GROUP_ID_DEFAULT commands by
+default. You can also use mgmt to add user defined management group
+commands.</p>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/devmgmt/newtmgr.html b/develop/os/modules/devmgmt/newtmgr.html
new file mode 100644
index 000000000..01212d183
--- /dev/null
+++ b/develop/os/modules/devmgmt/newtmgr.html
@@ -0,0 +1,354 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Newt Manager &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Newt Manager
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/devmgmt/newtmgr.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="newt-manager">
+<h1>Newt Manager<a class="headerlink" href="#newt-manager" title="Permalink to this headline">?</a></h1>
+<p>Newt Manager is the protocol that enables your Mynewt application to
+communicate remotely with your device running the Mynewt OS in order to
+configure, manage, conduct maintenance, and monitor it. The core device
+management module is called <code class="docutils literal notranslate"><span class="pre">mgmt</span></code> and offers multiple options for
+invoking the appropriate newt manager commands for various operations on
+the device e.g. enabling and collecting logs, configuring and retrieving
+stats, resetting the device etc.</p>
+<ol class="arabic simple">
+<li>Use the <code class="docutils literal notranslate"><span class="pre">newtmgr</span></code> package if reduced code footprint is your primary
+requirement and you do not have interoperability requirements
+upstream for device information, discovery, and connectivity.</li>
+<li>Use the <code class="docutils literal notranslate"><span class="pre">oicmgr</span></code> package if interoperability and standards-based
+connectivity for device interaction is your primary requirement. This
+package supports the OIC (Open Interconnect Consortium) Specification
+1.1.0 framework from Open Connectivity Foundation (OCF).</li>
+</ol>
+<div class="section" id="invoking-newt-manager-commands">
+<h2>Invoking Newt Manager commands<a class="headerlink" href="#invoking-newt-manager-commands" title="Permalink to this headline">?</a></h2>
+<p>The diagram below indicates the two options available to the application
+developer to issue Newt Manager (<code class="docutils literal notranslate"><span class="pre">newtmgr</span></code>) commands on a Mynewt
+device. The application may leverage the <code class="docutils literal notranslate"><span class="pre">newtmgr</span></code> framework or the
+<code class="docutils literal notranslate"><span class="pre">oicmgr</span></code> framework to call the newtmgr commands. The latter is
+described in the next chapter.</p>
+<div class="figure" id="id1">
+<img alt="Device Management" src="../../../_images/device-mgmt.png" />
+<p class="caption"><span class="caption-text">Device Management</span></p>
+</div>
+</div>
+<div class="section" id="newtmgr">
+<h2>newtmgr<a class="headerlink" href="#newtmgr" title="Permalink to this headline">?</a></h2>
+<p>The newtmgr framework uses a simple request and response message format
+to send commands to the device. A message consists of an eight byte
+header and the message payload. The message header specifies the newtmgr
+command. The message payload contains the newtmgr request/response data
+and is encoded in CBOR (Concise Binary Object Representation) format.
+newtmgr supports BLE and serial connections.</p>
+<p>The newtmgr framework has a smaller code size and memory footprint than
+oicmgr but does not support open connectivity.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/devmgmt/oicmgr.html b/develop/os/modules/devmgmt/oicmgr.html
new file mode 100644
index 000000000..ad7bb153d
--- /dev/null
+++ b/develop/os/modules/devmgmt/oicmgr.html
@@ -0,0 +1,344 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Using the OIC Framework &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Using the OIC Framework
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/devmgmt/oicmgr.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="using-the-oic-framework">
+<h1>Using the OIC Framework<a class="headerlink" href="#using-the-oic-framework" title="Permalink to this headline">?</a></h1>
+<p>Apache Mynewt includes support for the OIC interoperability standard
+through the <code class="docutils literal notranslate"><span class="pre">oicmgr</span></code> framework. Mynewt defines and exposes oicmgr as
+an OIC Server resource with the following identity and properties:</p>
+<table style="width:50%" align="center"><tr><td><p><strong>URI</strong></p>
+</td><td><p>/omgr</p>
+</td></tr><tr><td><p><strong>Resource Type</strong>(rt)</p>
+</td><td><p>x.mynewt.nmgr</p>
+</td></tr><td><p><strong>Interface</strong>(if)</p>
+</td><td><p>oic.if_rw (default), oic.if.baseline</p>
+</td></tr><td><p><strong>Discoverable</strong></p>
+</td><td><p>Yes</p>
+</td></tr></table><div class="line-block">
+<div class="line">The newtmgr application tool uses CoAP (Constrained Application
+Protocol) requests to send commands to oicmgr.</div>
+<div class="line">It sends a CoAP request for <strong>/omgr</strong> as follows:</div>
+</div>
+<ul class="simple">
+<li>Specifies the newtmgr command to execute in the URI query string.</li>
+<li>Uses a GET method for newtmgr commands that retreive information from
+your application, for example, the <code class="docutils literal notranslate"><span class="pre">taskstat</span></code> and <code class="docutils literal notranslate"><span class="pre">mpstat</span></code>
+commands.</li>
+<li>Uses a PUT method for newtmgr commands that send data to or modify
+the state of your application, for example, the <code class="docutils literal notranslate"><span class="pre">echo</span></code> or
+<code class="docutils literal notranslate"><span class="pre">datetime</span></code> commands.</li>
+<li>Sends the CBOR-encoded command request data in the CoAP message
+payload.</li>
+</ul>
+<p>The <code class="docutils literal notranslate"><span class="pre">oicmgr</span></code> framework supports transport over BLE, serial, and IP
+connections to the device.</p>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/drivers/driver.html b/develop/os/modules/drivers/driver.html
new file mode 100644
index 000000000..c3fa34fbc
--- /dev/null
+++ b/develop/os/modules/drivers/driver.html
@@ -0,0 +1,436 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Drivers &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Drivers
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/drivers/driver.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="drivers">
+<h1>Drivers<a class="headerlink" href="#drivers" title="Permalink to this headline">?</a></h1>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>Device drivers in the Mynewt context includes libraries that interface
+with devices external to the CPU. These devices are connected to the CPU
+via standard peripherals such as SPI, GPIO, I2C etc. Device drivers
+leverage the base HAL services in Mynewt to provide friendly
+abstractions to application developers.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">+???????????????????????????+</span>
+<span class="go">|            app            |</span>
+<span class="go">+???????????????????????????+</span>
+<span class="go">|          (n)drivers       |</span>
+<span class="go">+???????????????????????????+</span>
+<span class="go">|     HAL     |     BSP     |</span>
+<span class="go">+?????????????+?????????????+</span>
+</pre></div>
+</div>
+<ul class="simple">
+<li>The Board Support Package (BSP) abstracts board specific
+configurations e.g. CPU frequency, input voltage, LED pins, on-chip
+flash map etc.</li>
+<li>The Hardware Abstraction Layer (HAL) abstracts architecture-specific
+functionality. It initializes and enables components within a master
+processor. It is designed to be portable across all the various MCUs
+supported in Mynewt (e.g. Nordic?s nRF51, Nordic?s nRF52, NXP?s
+MK64F12 etc.). It includes code that initializes and manages access
+to components of the board such as board buses (I2C, PCI, PCMCIA,
+etc.), off-chip memory (controllers, level 2+ cache, Flash, etc.),
+and off-chip I/O (Ethernet, RS-232, display, mouse, etc.)</li>
+<li>The driver sits atop the BSP and HAL. It abstracts the common modes
+of operation for each peripheral device connected via the standard
+interfaces to the processor. There may be multiple driver
+implementations of differing complexities for a particular peripheral
+device. For example, for an Analog to Digital Converter (ADC)
+peripheral you might have a simple driver that does blocking ADC
+reads and uses the HAL only. You might have a more complex driver
+that can deal with both internal and external ADCs, and has chip
+specific support for doing things like DMA?ing ADC reads into a
+buffer and posting an event to a task every ?n? samples. The drivers
+are the ones that register with the kernel?s power management APIs,
+and manage turning on and off peripherals and external chipsets, etc.
+The Mynewt core repository comes with a base set of drivers to help
+the user get started.</li>
+</ul>
+</div>
+<div class="section" id="general-design-principles">
+<h2>General design principles<a class="headerlink" href="#general-design-principles" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>Device drivers should have a consistent structure and unified
+interface whenever possible. For example, we have a top-level
+package, ?adc?, which contains the interface for all ADC drivers, and
+then we have the individual implementation of the driver itself. The
+following source files point to this:<ul>
+<li>high-level ADC API: <code class="docutils literal notranslate"><span class="pre">hw/drivers/adc/include/adc/adc.h</span></code></li>
+<li>implementation of ADC for STM32F4:
+<code class="docutils literal notranslate"><span class="pre">hw/drivers/adc/adc_stm32f4/src/adc_stm32f4.c</span></code> (As of the
+1.0.0-beta release, ADC for nRF51 and nRF52 are available at an
+external
+<a class="reference external" href="https://github.com/runtimeco/mynewt_nordic/tree/master/hw/drivers/adc">repo</a>.
+They are expected to be pulled into the core repo on Apache Mynewt
+after the license terms are clarified.). The only exported call in
+this example is
+<code class="docutils literal notranslate"><span class="pre">int</span> <span class="pre">stm32f4_adc_dev_init(struct</span> <span class="pre">os_dev</span> <span class="pre">*,</span> <span class="pre">void</span> <span class="pre">*)</span></code> which is
+passed as a function pointer to <code class="docutils literal notranslate"><span class="pre">os_dev_create()</span></code> in
+<code class="docutils literal notranslate"><span class="pre">hal_bsp.c</span></code>, when the adc device is created.</li>
+</ul>
+</li>
+<li>Device drivers should be easy to use. In Mynewt, creating a device
+initializes it as well, making it readily available for the user to
+open, use (e.g. read, configure etc.) and close. Creating a device is
+simple using
+<code class="docutils literal notranslate"><span class="pre">os_dev_create(struct</span> <span class="pre">os_dev</span> <span class="pre">*dev,</span> <span class="pre">char</span> <span class="pre">*name,</span> <span class="pre">uint8_t</span> <span class="pre">stage,</span> <span class="pre">uint8_t</span> <span class="pre">priority,</span> <span class="pre">os_dev_init_func_t</span> <span class="pre">od_init,</span> <span class="pre">void</span> <span class="pre">*arg)</span></code>.
+The <code class="docutils literal notranslate"><span class="pre">od_init</span></code> function is defined within the appropriate driver
+directory e.g. <code class="docutils literal notranslate"><span class="pre">stm32f4_adc_dev_init</span></code> in
+<code class="docutils literal notranslate"><span class="pre">hw/drivers/adc/adc_stm32f4/src/adc_stm32f4.c</span></code> for the ADC device
+initialization function.</li>
+<li>The implementation should allow for builds optimized for minimal
+memory usage. Additional functionality can be enabled by writing a
+more complex driver (usually based on the simple implementation
+included by default in the core repository) and optionally compiling
+the relevant packages in. Typically, only a basic driver that
+addresses a device?s core functionality (covering ~90% of use cases)
+is included in the Mynewt core repository, thus keeping the footprint
+small.</li>
+<li>The implementation should allow a user to be able to instantiate
+multiple devices of a certain kind. In the Mynewt environment the
+user can, for example, maintain separate contexts for multiple ADCs
+over different peripheral connections such as SPI, I2C etc. It is
+also possible for a user to use a single peripheral interface (e.g.
+SPI) to drive multiple devices (e.g. ADC), and in that case the
+device driver has to handle the proper synchronization of the various
+tasks.</li>
+<li>Device drivers should be MCU independent. In Mynewt, device creation
+and operation functions are independent of the underlying MCU.</li>
+<li>Device drivers should be able to offer high-level interfaces for
+generic operations common to a particular device group. An example of
+such a class or group of devices is a group for sensors with generic
+operations such as channel discovery, configure, and read values. The
+organization of the driver directory is work in progress - so we
+encourage you to hop on the dev&#64; mailing list and offer your
+insights!</li>
+<li>Device drivers should be searchable. The plan is to have the newt
+tool offer a <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">pkg</span> <span class="pre">search</span></code> capability. This is work in
+progress. You are welcome to join the conversation on the dev&#64;
+mailing list!</li>
+</ul>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>The Mynewt core repo includes an example of a driver using the HAL to
+provide extra functionality - the UART driver. It uses HAL GPIO and UART
+to provide multiple serial ports on the NRF52 (but allowed on other
+platforms too.)</p>
+<p>The gist of the driver design is that there is an API for the driver
+(for use by applications), and then sub-packages to that driver that
+implement that driver API using the HAL and BSP APIs.</p>
+</div>
+<div class="section" id="implemented-drivers">
+<h2>Implemented drivers<a class="headerlink" href="#implemented-drivers" title="Permalink to this headline">?</a></h2>
+<p>Drivers live under <code class="docutils literal notranslate"><span class="pre">hw/drivers</span></code>. The current list of supported drivers
+includes:</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/drivers/flash.html b/develop/os/modules/drivers/flash.html
new file mode 100644
index 000000000..83ed91785
--- /dev/null
+++ b/develop/os/modules/drivers/flash.html
@@ -0,0 +1,424 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>flash &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    flash
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/drivers/flash.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="flash">
+<h1>flash<a class="headerlink" href="#flash" title="Permalink to this headline">?</a></h1>
+<p>The flash driver subsystem is a work in progress which aims at
+supporting common external SPI/I2C flash/eeprom memory chips. This is
+equivalent to what Linux calls <code class="docutils literal notranslate"><span class="pre">MTD</span></code> for
+<code class="docutils literal notranslate"><span class="pre">Memory</span> <span class="pre">Technology</span> <span class="pre">Devices</span></code>.</p>
+<p>At the moment the only <code class="docutils literal notranslate"><span class="pre">flash</span></code> device that is already supported is the
+AT45DBxxx SPI flash family with the <code class="docutils literal notranslate"><span class="pre">at45db</span></code> driver.</p>
+<p>The flash driver aims for full compatibility with the <code class="docutils literal notranslate"><span class="pre">hal_flash</span></code> API,
+which means initialization and usage can be performed by any <code class="docutils literal notranslate"><span class="pre">fs</span></code> that
+supports the <code class="docutils literal notranslate"><span class="pre">hal_flash</span></code> interface.</p>
+<div class="section" id="initialization">
+<h2>Initialization<a class="headerlink" href="#initialization" title="Permalink to this headline">?</a></h2>
+<p>To be compatible with the standard <code class="docutils literal notranslate"><span class="pre">hal_flash</span></code> interface, the
+<code class="docutils literal notranslate"><span class="pre">at45db</span></code> driver embeds a <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">hal_flash</span></code> to its own
+<code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">at45db_dev</span></code>. The whole <code class="docutils literal notranslate"><span class="pre">at45db_dev</span></code> struct is shown below.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct at45db_dev {
+    struct hal_flash hal;
+    struct hal_spi_settings *settings;
+    int spi_num;
+    void *spi_cfg;                  /** Low-level MCU SPI config */
+    int ss_pin;
+    uint32_t baudrate;
+    uint16_t page_size;             /** Page size to be used, valid: 512 and 528 */
+    uint8_t disable_auto_erase;     /** Reads and writes auto-erase by default */
+};
+</pre></div>
+</div>
+<p>To ease with initialization a helper function <code class="docutils literal notranslate"><span class="pre">at45db_default_config</span></code>
+was added. It returns an already initialized <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">at45db_dev</span></code>
+leaving the user with just having to provide the SPI related config.</p>
+<p>To initialize the device, pass the <code class="docutils literal notranslate"><span class="pre">at45db_dev</span></code> struct to
+<code class="docutils literal notranslate"><span class="pre">at45db_init</span></code>.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int at45db_init(const struct hal_flash *dev);
+</pre></div>
+</div>
+<p>For low-level access to the device the following functions are provided:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int at45db_read(const struct hal_flash *dev, uint32_t addr, void *buf,
+                uint32_t len);
+int at45db_write(const struct hal_flash *dev, uint32_t addr, const void *buf,
+                 uint32_t len);
+int at45db_erase_sector(const struct hal_flash *dev, uint32_t sector_address);
+int at45db_sector_info(const struct hal_flash *dev, int idx, uint32_t *address,
+                       uint32_t *sz);
+</pre></div>
+</div>
+<p>Also, <code class="docutils literal notranslate"><span class="pre">nffs</span></code> is able to run on the device due to the fact that
+standard <code class="docutils literal notranslate"><span class="pre">hal_flash</span></code> interface compatibility is provided. Due to
+current limitations of <code class="docutils literal notranslate"><span class="pre">nffs</span></code>, it can only run on <code class="docutils literal notranslate"><span class="pre">at45db</span></code> if the
+internal flash of the MCU is not being used.</p>
+</div>
+<div class="section" id="dependencies">
+<h2>Dependencies<a class="headerlink" href="#dependencies" title="Permalink to this headline">?</a></h2>
+<p>To include the <code class="docutils literal notranslate"><span class="pre">at45db</span></code> driver on a project, just include it as a
+dependency in your pkg.yml:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>pkg.deps:
+    - hw/drivers/flash/at45db
+</pre></div>
+</div>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">at45db</span></code> SPI flash follows the standard <code class="docutils literal notranslate"><span class="pre">hal_flash</span></code> interface
+but requires that a special struct</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &lt;at45db/at45db.h&gt;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>This following examples assume that the <code class="docutils literal notranslate"><span class="pre">at45db</span></code> is being used on a
+STM32F4 MCU.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static const int SPI_SS_PIN   = MCU_GPIO_PORTA(4);
+static const int SPI_SCK_PIN  = MCU_GPIO_PORTA(5);
+static const int SPI_MISO_PIN = MCU_GPIO_PORTA(6);
+static const int SPI_MOSI_PIN = MCU_GPIO_PORTA(7);
+
+struct stm32f4_hal_spi_cfg spi_cfg = {
+    .ss_pin   = SPI_SS_PIN,
+    .sck_pin  = SPI_SCK_PIN,
+    .miso_pin = SPI_MISO_PIN,
+    .mosi_pin = SPI_MOSI_PIN,
+    .irq_prio = 2
+};
+
+struct at45db_dev *my_at45db_dev = NULL;
+
+my_at45db_dev = at45db_default_config();
+my_at45db_dev-&gt;spi_num = 0;
+my_at45db_dev-&gt;spi_cfg = &amp;spi_cfg;
+my_at45db_dev-&gt;ss_pin = spi_cfg.ss_pin;
+
+rc = at45db_init((struct hal_flash *) my_at45db_dev);
+if (rc) {
+    /* XXX: error handling */
+}
+</pre></div>
+</div>
+<p>The enable <code class="docutils literal notranslate"><span class="pre">nffs</span></code> to run on the <code class="docutils literal notranslate"><span class="pre">at45db</span></code>, the <code class="docutils literal notranslate"><span class="pre">flash_id</span></code> 0 needs
+to map to provide a mapping from 0 to this struct.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>const struct hal_flash *
+hal_bsp_flash_dev(uint8_t id)
+{
+    if (id != 0) {
+        return NULL;
+    }
+    return &amp;my_at45db_dev;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/drivers/mmc.html b/develop/os/modules/drivers/mmc.html
new file mode 100644
index 000000000..0fc04d635
--- /dev/null
+++ b/develop/os/modules/drivers/mmc.html
@@ -0,0 +1,433 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>mmc &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    mmc
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/drivers/mmc.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="mmc">
+<h1>mmc<a class="headerlink" href="#mmc" title="Permalink to this headline">?</a></h1>
+<p>The MMC driver provides support for SPI based MMC/SDcard interfaces. It
+exports a <code class="docutils literal notranslate"><span class="pre">disk_ops</span></code> struct that can be used by any FS. Currently only
+<code class="docutils literal notranslate"><span class="pre">fatfs</span></code> can run over MMC.</p>
+<div class="section" id="initialization">
+<h2>Initialization<a class="headerlink" href="#initialization" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int mmc_init(int spi_num, void *spi_cfg, int ss_pin)
+</pre></div>
+</div>
+<p>Initializes the mmc driver to be used by a FS.</p>
+<p>MMC uses the <code class="docutils literal notranslate"><span class="pre">hal_gpio</span></code> interface to access the SPI <code class="docutils literal notranslate"><span class="pre">ss_pin</span></code> and the
+<code class="docutils literal notranslate"><span class="pre">hal_spi</span></code> interface for the communication with the card. <code class="docutils literal notranslate"><span class="pre">spi_cfg</span></code>
+must be a hw dependent structure used by <code class="docutils literal notranslate"><span class="pre">hal_spi_init</span></code> to initialize
+the SPI subsystem.</p>
+</div>
+<div class="section" id="dependencies">
+<h2>Dependencies<a class="headerlink" href="#dependencies" title="Permalink to this headline">?</a></h2>
+<p>To include the <code class="docutils literal notranslate"><span class="pre">mmc</span></code> driver on a project, just include it as a
+dependency in your pkg.yml:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>pkg.deps:
+    - hw/drivers/mmc
+</pre></div>
+</div>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>MMC functions return one of the following status codes:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="31%" />
+<col width="69%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Return code</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>MMC_OK</td>
+<td>Success.</td>
+</tr>
+<tr class="row-odd"><td>MMC_CARD_ERROR</td>
+<td>General failure on the card.</td>
+</tr>
+<tr class="row-even"><td>MMC_READ_ERROR</td>
+<td>Error reading from the card.</td>
+</tr>
+<tr class="row-odd"><td>MMC_WRITE_ERROR</td>
+<td>Error writing to the card.</td>
+</tr>
+<tr class="row-even"><td>MMC_TIMEOUT</td>
+<td>Timed out waiting for the execution of a command.</td>
+</tr>
+<tr class="row-odd"><td>MMC_PARAM_ERROR</td>
+<td>An invalid parameter was given to a function.</td>
+</tr>
+<tr class="row-even"><td>MMC_CRC_ERROR</td>
+<td>CRC error reading card.</td>
+</tr>
+<tr class="row-odd"><td>MMC_DEVICE_ERROR</td>
+<td>Tried to use an invalid device.</td>
+</tr>
+<tr class="row-even"><td>MMC_RESPONSE_ERROR</td>
+<td>A command received an invalid response.</td>
+</tr>
+<tr class="row-odd"><td>MMC_VOLTAGE_ERROR</td>
+<td>The interface doesn?t support the requested voltage.</td>
+</tr>
+<tr class="row-even"><td>MMC_INVALID_COMMAND</td>
+<td>The interface haven?t accepted some command.</td>
+</tr>
+<tr class="row-odd"><td>MMC_ERASE_ERROR</td>
+<td>Error erasing the current card.</td>
+</tr>
+<tr class="row-even"><td>MMC_ADDR_ERROR</td>
+<td>Tried to access an invalid address.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;mmc/mmc.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>This example runs on the STM32F4-Discovery and prints out a listing of
+the root directory on the currently installed card.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>// NOTE: error handling removed for clarity!
+
+struct stm32f4_hal_spi_cfg spi_cfg = {
+    .ss_pin   = SPI_SS_PIN,
+    .sck_pin  = SPI_SCK_PIN,
+    .miso_pin = SPI_MISO_PIN,
+    .mosi_pin = SPI_MOSI_PIN,
+    .irq_prio = 2
+};
+
+mmc_init(0, &amp;spi_cfg, spi_cfg.ss_pin);
+disk_register(&quot;mmc0&quot;, &quot;fatfs&quot;, &amp;mmc_ops);
+
+fs_opendir(&quot;mmc0:/&quot;, &amp;dir);
+
+while (1) {
+    rc = fs_readdir(dir, &amp;dirent);
+    if (rc == FS_ENOENT) {
+        break;
+    }
+
+    fs_dirent_name(dirent, sizeof(out_name), out_name, &amp;u8_len);
+    printf(&quot;%s\n&quot;, out_name);
+}
+
+fs_closedir(dir);
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/elua/elua.html b/develop/os/modules/elua/elua.html
new file mode 100644
index 000000000..4e07c6bbf
--- /dev/null
+++ b/develop/os/modules/elua/elua.html
@@ -0,0 +1,333 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>elua &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    elua
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/elua/elua.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="elua">
+<h1>elua<a class="headerlink" href="#elua" title="Permalink to this headline">?</a></h1>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>This package contains a Lua interpreter. See <a class="reference external" href="http://lua.org">http://lua.org</a> for
+documentation of the language.</p>
+<p>You can execute lua scripts either from console with shell or start the
+execution programmatically.</p>
+</div>
+<div class="section" id="data-structures">
+<h2>Data structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>Currently we don?t have language extension modules which would go
+together with this one, but those should be added.</p>
+</div>
+<div class="section" id="list-of-functions">
+<h2>List of Functions<a class="headerlink" href="#list-of-functions" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/elua/lua_init.html b/develop/os/modules/elua/lua_init.html
new file mode 100644
index 000000000..658bf568b
--- /dev/null
+++ b/develop/os/modules/elua/lua_init.html
@@ -0,0 +1,349 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>lua_init &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    lua_init
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/elua/lua_init.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="lua-init">
+<h1>lua_init<a class="headerlink" href="#lua-init" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int</span>
+<span class="go">lua_init(void)</span>
+</pre></div>
+</div>
+<p>Registers ?lua? command with shell. This function should be called while
+initializing the project, preferably after shell itself has been
+initialized.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<p>N/A</p>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>Calling this is meaningful only if you include the shell package in your
+project.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int main(int argc, char **argv)</span>
+<span class="go">{</span>
+<span class="go">    ...</span>
+<span class="go">    shell_task_init(SHELL_TASK_PRIO, shell_stack, SHELL_TASK_STACK_SIZE,</span>
+<span class="go">                         SHELL_MAX_INPUT_LEN);</span>
+<span class="go">    ...</span>
+<span class="go">    lua_init();</span>
+<span class="go">    ...</span>
+<span class="go">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/elua/lua_main.html b/develop/os/modules/elua/lua_main.html
new file mode 100644
index 000000000..dbd8c300c
--- /dev/null
+++ b/develop/os/modules/elua/lua_main.html
@@ -0,0 +1,361 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>lua_main &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    lua_main
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/elua/lua_main.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="lua-main">
+<h1>lua_main<a class="headerlink" href="#lua-main" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int</span>
+<span class="go">lua_main(int argc, char **argv)</span>
+</pre></div>
+</div>
+<p>Executes lua script in current task?s context. Arguments given are
+passed to lua interpreter.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="27%" />
+<col width="73%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>argc</td>
+<td>Number of elements in argv array</td>
+</tr>
+<tr class="row-odd"><td>argv</td>
+<td>Array of character strings</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns the return code from the lua interpreter.</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">static int</span>
+<span class="go">lua_cmd(int argc, char **argv)</span>
+<span class="go">{</span>
+<span class="go">    lua_main(argc, argv);</span>
+<span class="go">    return 0;</span>
+<span class="go">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fcb/fcb.html b/develop/os/modules/fcb/fcb.html
new file mode 100644
index 000000000..bf88efade
--- /dev/null
+++ b/develop/os/modules/fcb/fcb.html
@@ -0,0 +1,558 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Flash Circular Buffer (FCB) &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Flash Circular Buffer (FCB)
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fcb/fcb.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="flash-circular-buffer-fcb">
+<h1>Flash Circular Buffer (FCB)<a class="headerlink" href="#flash-circular-buffer-fcb" title="Permalink to this headline">?</a></h1>
+<p>Flash circular buffer provides an abstration through which you can treat
+flash like a FIFO. You append entries to the end, and read data from the
+beginning.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>Elements in the flash contain the length of the element, the data within
+the element, and checksum over the element contents.</p>
+<p>Storage of elements in flash is done in a FIFO fashion. When user
+requests space for the next element, space is located at the end of the
+used area. When user starts reading, the first element served is the
+oldest element in flash.</p>
+<p>Elements can be appended to the end of the area until storage space is
+exhausted. User has control over what happens next; either erase oldest
+block of data, thereby freeing up some space, or stop writing new data
+until existing data has been collected. FCB treats underlying storage as
+an array of flash sectors; when it erases old data, it does this a
+sector at a time.</p>
+<p>Elements in the flash are checksummed. That is how FCB detects whether
+writing element to flash completed ok. It will skip over entries which
+don?t have a valid checksum.</p>
+</div>
+<div class="section" id="usage">
+<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">?</a></h2>
+<p>To add an element to circular buffer:</p>
+<ul class="simple">
+<li>Call fcb_append() to get the location where data can be written. If
+this fails due to lack of space, you can call fcb_rotate() to make
+some. And then call fcb_append() again.</li>
+<li>Use flash_area_write() to write element contents.</li>
+<li>Call fcb_append_finish() when done. This completes the entry by
+calculating the checksum.</li>
+</ul>
+<p>To read contents of the circular buffer: * Call fcb_walk() with a
+pointer to your callback function. * Within callback function copy in
+data from the element using flash_area_read(). You can tell when all
+data from within a sector has been read by monitoring returned element?s
+area pointer. Then you can call fcb_rotate(), if you?re done with that
+data.</p>
+<p>Alternatively: * Call fcb_getnext() with 0 in element offset to get
+the pointer to oldest element. * Use flash_area_read() to read
+element contents. * Call fcb_getnext() with pointer to current element
+to get the next one. And so on.</p>
+</div>
+<div class="section" id="data-structures">
+<h2>Data structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<p>This data structure describes the element location in the flash. You
+would use it figure out what parameters to pass to flash_area_read()
+to read element contents. Or to flash_area_write() when adding a new
+element.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct fcb_entry {
+    struct flash_area *fe_area;
+    uint32_t fe_elem_off;
+    uint32_t fe_data_off;
+    uint16_t fe_data_len;
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="43%" />
+<col width="57%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Element</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>fe_area</td>
+<td>Pointer to
+info about the
+flash sector.
+Pass this to
+flash_area_x
+x()
+routines.</td>
+</tr>
+<tr class="row-odd"><td>fe_elem_
+off</td>
+<td>Byte offset
+from the start
+of the sector
+to beginning
+of element.</td>
+</tr>
+<tr class="row-even"><td>fe_data_
+off</td>
+<td>Byte offset
+from start of
+the sector to
+beginning of
+element data.
+Pass this to
+to
+flash_area_x
+x()
+routines.</td>
+</tr>
+<tr class="row-odd"><td>fe_data_
+len</td>
+<td>Number of
+bytes in the
+element.</td>
+</tr>
+</tbody>
+</table>
+<p>The following data structure describes the FCB itself. First part should
+be filled in by the user before calling fcb_init(). The second part is
+used by FCB for its internal bookkeeping.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct fcb {
+    /* Caller of fcb_init fills this in */
+    uint32_t f_magic;           /* As placed on the disk */
+    uint8_t f_version;          /* Current version number of the data */
+    uint8_t f_sector_cnt;       /* Number of elements in sector array */
+    uint8_t f_scratch_cnt;      /* How many sectors should be kept empty */
+    struct flash_area *f_sectors; /* Array of sectors, must be contiguous */
+
+    /* Flash circular buffer internal state */
+    struct os_mutex f_mtx;      /* Locking for accessing the FCB data */
+    struct flash_area *f_oldest;
+    struct fcb_entry f_active;
+    uint16_t f_active_id;
+    uint8_t f_align;            /* writes to flash have to aligned to this */
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="43%" />
+<col width="57%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Element</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>f_magic</td>
+<td>Magic number
+in the
+beginning of
+FCB flash
+sector. FCB
+uses this when
+determining
+whether sector
+contains valid
+data or not.</td>
+</tr>
+<tr class="row-odd"><td>f_version</td>
+<td>Current
+version number
+of the data.
+Also stored in
+flash sector
+header.</td>
+</tr>
+<tr class="row-even"><td>f_sector_cnt</td>
+<td>Number of
+elements in
+the f_sectors
+array.</td>
+</tr>
+<tr class="row-odd"><td>f_scratch
+_cnt</td>
+<td>Number of
+sectors to
+keep empty.
+This can be
+used if you
+need to have
+scratch space
+for garbage
+collecting
+when FCB fills
+up.</td>
+</tr>
+<tr class="row-even"><td>f_sectors</td>
+<td>Array of
+entries
+describing
+flash sectors
+to use.</td>
+</tr>
+<tr class="row-odd"><td>f_mtx</td>
+<td>Lock
+protecting
+access to FCBs
+internal data.</td>
+</tr>
+<tr class="row-even"><td>f_oldest</td>
+<td>Pointer to
+flash sector
+containing the
+oldest data.
+This is where
+data is served
+when read is
+started.</td>
+</tr>
+<tr class="row-odd"><td>f_active</td>
+<td>Flash location
+where the
+newest data
+is. This is
+used by
+fcb_append()
+to figure out
+where the data
+should go to.</td>
+</tr>
+<tr class="row-even"><td>f_active_id</td>
+<td>Flash sectors
+are assigned
+ever-increasin
+g
+serial
+numbers. This
+is how FCB
+figures out
+where oldest
+data is on
+system
+restart.</td>
+</tr>
+<tr class="row-odd"><td>f_align</td>
+<td>Some flashes
+have
+restrictions
+on alignment
+for writes.
+FCB keeps a
+copy of this
+number for the
+flash here.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="list-of-functions">
+<h2>List of Functions<a class="headerlink" href="#list-of-functions" title="Permalink to this headline">?</a></h2>
+<p>The functions available in this OS feature are:</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fcb/fcb_append.html b/develop/os/modules/fcb/fcb_append.html
new file mode 100644
index 000000000..6c51d6f2c
--- /dev/null
+++ b/develop/os/modules/fcb/fcb_append.html
@@ -0,0 +1,375 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fcb_append &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fcb_append
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fcb/fcb_append.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fcb-append">
+<h1>fcb_append<a class="headerlink" href="#fcb-append" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int fcb_append(struct fcb *fcb, uint16_t len, struct fcb_entry *append_loc);</span>
+</pre></div>
+</div>
+<p>Start writing a new element to flash. This routine reserves the space in
+the flash by writing out the element header.</p>
+<p>When writing the contents for the entry, use append_loc-&gt;fl_area and
+append_loc-&gt;fl_data_off as arguments to flash_area_write(). When
+finished, call fcb_append_finish() with append_loc as argument.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>fcb</td>
+<td>Points to FCB
+where data is
+written to.</td>
+</tr>
+<tr class="row-odd"><td>len</td>
+<td>Number of
+bytes to
+reserve for
+the element.</td>
+</tr>
+<tr class="row-even"><td>loc</td>
+<td>Pointer to
+fcb_entry.
+fcb_append()
+will fill this
+with info
+about where
+the element
+can be written
+to.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns 0 on success; nonzero on failure. FCB_ERR_NOSPACE is returned
+if FCB is full.</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>If FCB is full, you need to make more space. This can be done by calling
+fcb_rotate(). Or if you?ve reserved scratch sectors, you can take those
+into use by calling fcb_append_to_scratch().</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fcb/fcb_append_finish.html b/develop/os/modules/fcb/fcb_append_finish.html
new file mode 100644
index 000000000..b3aa9343c
--- /dev/null
+++ b/develop/os/modules/fcb/fcb_append_finish.html
@@ -0,0 +1,362 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fcb_append_finish &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fcb_append_finish
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fcb/fcb_append_finish.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fcb-append-finish">
+<h1>fcb_append_finish<a class="headerlink" href="#fcb-append-finish" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int fcb_append_finish(struct fcb *fcb, struct fcb_entry *append_loc);</span>
+</pre></div>
+</div>
+<p>Finalizes the write of new element. FCB computes the checksum over the
+element and updates it in flash.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>fcb</td>
+<td>Points to FCB
+where data is
+written to.</td>
+</tr>
+<tr class="row-odd"><td>append_loc</td>
+<td>Pointer to
+fcb_entry.
+Use the
+fcb_entry
+returned by
+fcb_append().</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns 0 on success; nonzero on failure.</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>You need to call fcb_append_finish() after writing the element
+contents. Otherwise FCB will consider this entry to be invalid, and
+skips over it when reading.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fcb/fcb_append_to_scratch.html b/develop/os/modules/fcb/fcb_append_to_scratch.html
new file mode 100644
index 000000000..7d8c5890f
--- /dev/null
+++ b/develop/os/modules/fcb/fcb_append_to_scratch.html
@@ -0,0 +1,350 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fcb_append_to_scratch &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fcb_append_to_scratch
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fcb/fcb_append_to_scratch.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fcb-append-to-scratch">
+<h1>fcb_append_to_scratch<a class="headerlink" href="#fcb-append-to-scratch" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int fcb_append_to_scratch(struct fcb *fcb);</span>
+</pre></div>
+</div>
+<p>This can be used if FCB created to have scratch block(s). Once FCB fills
+up with data, fcb_append() will fail. This routine can be called to
+start using the reserve block.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="42%" />
+<col width="58%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>fcb</td>
+<td>Points to FCB.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns 0 on success; nonzero on failure.</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fcb/fcb_clear.html b/develop/os/modules/fcb/fcb_clear.html
new file mode 100644
index 000000000..726b312b2
--- /dev/null
+++ b/develop/os/modules/fcb/fcb_clear.html
@@ -0,0 +1,348 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fcb_clear &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fcb_clear
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fcb/fcb_clear.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fcb-clear">
+<h1>fcb_clear<a class="headerlink" href="#fcb-clear" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int fcb_clear(struct fcb *fcb);</span>
+</pre></div>
+</div>
+<p>Wipes out all data in FCB.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="42%" />
+<col width="58%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>fcb</td>
+<td>Points to FCB.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns 0 on success; non-zero otherwise.</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fcb/fcb_getnext.html b/develop/os/modules/fcb/fcb_getnext.html
new file mode 100644
index 000000000..66c3e1b8a
--- /dev/null
+++ b/develop/os/modules/fcb/fcb_getnext.html
@@ -0,0 +1,358 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fcb_getnext &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fcb_getnext
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fcb/fcb_getnext.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fcb-getnext">
+<h1>fcb_getnext<a class="headerlink" href="#fcb-getnext" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int fcb_getnext(struct fcb *, struct fcb_entry *loc);</span>
+</pre></div>
+</div>
+<p>Given element in location in loc, return with loc filled in with
+information about next element.</p>
+<p>If loc-&gt;le_elem_off is set to 0, fcb_getnext() will return info about
+the oldest element in FCB.</p>
+<p>Entry data can be read within the callback using flash_area_read(),
+using loc-&gt;fe_area, loc-&gt;fe_data_off, and loc-&gt;fe_data_len as
+arguments.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="23%" />
+<col width="77%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>fcb</td>
+<td>Points to FCB where data is written to.</td>
+</tr>
+<tr class="row-odd"><td>loc</td>
+<td>Info about element. On successful call</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns 0 on success; nonzero on failure. Returns FCB_ERR_NOVAR when
+there are no more elements left.</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fcb/fcb_init.html b/develop/os/modules/fcb/fcb_init.html
new file mode 100644
index 000000000..7ec84064c
--- /dev/null
+++ b/develop/os/modules/fcb/fcb_init.html
@@ -0,0 +1,351 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fcb_init &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fcb_init
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fcb/fcb_init.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fcb-init">
+<h1>fcb_init<a class="headerlink" href="#fcb-init" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int fcb_init(struct fcb *);</span>
+</pre></div>
+</div>
+<p>Initializes FCB. This function walks through the given sectors, finding
+out how much data already exists in the flash. After calling this, you
+can start reading/writing data from FCB.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="28%" />
+<col width="72%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>fcb</td>
+<td>Structure describing the FCB.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns 0 on success; nonzero on failure.</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>User should fill in their portion of fcb before calling this function.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fcb/fcb_is_empty.html b/develop/os/modules/fcb/fcb_is_empty.html
new file mode 100644
index 000000000..c57d23a5e
--- /dev/null
+++ b/develop/os/modules/fcb/fcb_is_empty.html
@@ -0,0 +1,348 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fcb_is_empty &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fcb_is_empty
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fcb/fcb_is_empty.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fcb-is-empty">
+<h1>fcb_is_empty<a class="headerlink" href="#fcb-is-empty" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int fcb_is_empty(struct fcb *fcb);</span>
+</pre></div>
+</div>
+<p>Returns 1 if there are no elements stored in FCB, otherwise returns 0.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="42%" />
+<col width="58%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>fcb</td>
+<td>Points to FCB.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>See description.</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fcb/fcb_offset_last_n.html b/develop/os/modules/fcb/fcb_offset_last_n.html
new file mode 100644
index 000000000..5aef13508
--- /dev/null
+++ b/develop/os/modules/fcb/fcb_offset_last_n.html
@@ -0,0 +1,357 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fcb_offset_last_n &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fcb_offset_last_n
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fcb/fcb_offset_last_n.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fcb-offset-last-n">
+<h1>fcb_offset_last_n<a class="headerlink" href="#fcb-offset-last-n" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int fcb_offset_last_n(struct fcb *fcb, uint8_t entries, uint32_t *last_n_off);</span>
+</pre></div>
+</div>
+<p>Returns the offset of n-th last element.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="35%" />
+<col width="65%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>fcb</td>
+<td>Points to FCB.</td>
+</tr>
+<tr class="row-odd"><td>entries</td>
+<td>How many entries to leave.</td>
+</tr>
+<tr class="row-even"><td>last_n_off</td>
+<td>Returned offset.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>0 on success; non-zero on failure.</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>Returned offset is relative to beginning of the sector where the element
+is. Therefore, n-th last element must be found within the last sector of
+FCB.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fcb/fcb_rotate.html b/develop/os/modules/fcb/fcb_rotate.html
new file mode 100644
index 000000000..2e2b43cfc
--- /dev/null
+++ b/develop/os/modules/fcb/fcb_rotate.html
@@ -0,0 +1,348 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fcb_rotate &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fcb_rotate
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fcb/fcb_rotate.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fcb-rotate">
+<h1>fcb_rotate<a class="headerlink" href="#fcb-rotate" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int fcb_rotate(struct fcb *fcb);</span>
+</pre></div>
+</div>
+<p>Erase the oldest sector in FCB.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="42%" />
+<col width="58%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>fcb</td>
+<td>Points to FCB.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns 0 on success; nonzero on failure.</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fcb/fcb_walk.html b/develop/os/modules/fcb/fcb_walk.html
new file mode 100644
index 000000000..69ac0ee24
--- /dev/null
+++ b/develop/os/modules/fcb/fcb_walk.html
@@ -0,0 +1,384 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fcb_walk &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fcb_walk
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fcb/fcb_walk.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fcb-walk">
+<h1>fcb_walk<a class="headerlink" href="#fcb-walk" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">typedef int (*fcb_walk_cb)(struct fcb_entry *loc, void *arg);</span>
+
+<span class="go">int fcb_walk(struct fcb *fcb, struct flash_area *area, fcb_walk_cb cb,</span>
+<span class="go">    void *cb_arg);</span>
+</pre></div>
+</div>
+<p>Walks over all log entries in FCB. Callback function cb gets called for
+every entry. If cb wants to stop the walk, it should return a non-zero
+value.</p>
+<p>If specific flash_area is specified, only entries within that sector
+are walked over.</p>
+<p>Entry data can be read within the callback using flash_area_read(),
+using loc-&gt;fe_area, loc-&gt;fe_data_off, and loc-&gt;fe_data_len as
+arguments.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>fcb</td>
+<td>Points to FCB
+where data is
+written to.</td>
+</tr>
+<tr class="row-odd"><td>area</td>
+<td>Optional.
+Pointer to
+specific entry
+in fcb?s array
+of sectors.</td>
+</tr>
+<tr class="row-even"><td>cb</td>
+<td>Callback
+function which
+gets called
+for every
+valid entry
+fcb_walk
+encounters.</td>
+</tr>
+<tr class="row-odd"><td>cb_arg</td>
+<td>Optional.
+Parameter
+which gets
+passed to
+callback
+function.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns 0 on success; nonzero on failure.</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fatfs.html b/develop/os/modules/fs/fatfs.html
new file mode 100644
index 000000000..817717325
--- /dev/null
+++ b/develop/os/modules/fs/fatfs.html
@@ -0,0 +1,360 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>The FAT File System &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    The FAT File System
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fatfs.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="the-fat-file-system">
+<h1>The FAT File System<a class="headerlink" href="#the-fat-file-system" title="Permalink to this headline">?</a></h1>
+<p>Mynewt provides an implementation of the FAT filesystem which is
+currently supported on MMC/SD cards.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<blockquote>
+<div>File Allocation Table (FAT) is a computer file system architecture
+and a family of industry-standard file systems utilizing it. The FAT
+file system is a legacy file system which is simple and robust. It
+offers good performance even in lightweight implementations, but
+cannot deliver the same performance, reliability and scalability as
+some modern file systems.</div></blockquote>
+</div>
+<div class="section" id="configuration">
+<h2>Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline">?</a></h2>
+<p><code class="docutils literal notranslate"><span class="pre">fatfs</span></code> configuration can be tweaked by editing
+<code class="docutils literal notranslate"><span class="pre">fs/fatfs/include/fatfs/ffconf.h</span></code>. The current configuraton was chosen
+to minimize memory use and some options address limitations existing in
+the OS:</p>
+<ul class="simple">
+<li>Write support is enabled by default (can be disabled to minimize
+memory use).</li>
+<li>Long filename (up to 255) support is disabled.</li>
+<li>When writing files, time/dates are not persisted due to current lack
+of a standard <code class="docutils literal notranslate"><span class="pre">hal_rtc</span></code> interface.</li>
+<li>No unicode support. Vanilla config uses standard US codepage 437.</li>
+<li>Formatting of new volumes is disabled.</li>
+<li>Default number of volumes is configured to 1.</li>
+</ul>
+</div>
+<div class="section" id="api">
+<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">?</a></h2>
+<p>To include <code class="docutils literal notranslate"><span class="pre">fatfs</span></code> on a project just include it as a dependency in
+your project:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>pkg.deps:
+    - fs/fatfs
+</pre></div>
+</div>
+<p>It can now be used through the standard file system abstraction
+functions as described in <a class="reference external" href="/os/modules/fs/fs/fs#API">FS API</a>.</p>
+<div class="section" id="example">
+<h3>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h3>
+<p>An example of using <code class="docutils literal notranslate"><span class="pre">fatfs</span></code> on a MMC card is provided on the
+<a class="reference external" href="/os/modules/drivers/mmc#Example">MMC</a> documentation.</p>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs.html b/develop/os/modules/fs/fs/fs.html
new file mode 100644
index 000000000..48bf692e0
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs.html
@@ -0,0 +1,491 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>File System Abstraction &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    File System Abstraction
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="file-system-abstraction">
+<h1>File System Abstraction<a class="headerlink" href="#file-system-abstraction" title="Permalink to this headline">?</a></h1>
+<p>Mynewt provides a file system abstraction layer (<code class="docutils literal notranslate"><span class="pre">fs/fs</span></code>) to allow
+client code to be file system agnostic. By accessing the file system via
+the <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> API, client code can perform file system operations
+without being tied to a particular implementation. When possible,
+library code should use the <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> API rather than accessing the
+underlying file system directly.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>Applications should aim to minimize the amount of code which depends on
+a particular file system implementation. When possible, only depend on
+the <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> package. In terms of the Mynewt hierarchy, an <strong>app</strong>
+package must depend on a specific file system package, while <strong>library</strong>
+packages should only depend on <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code>.</p>
+<p>Applications wanting to access a filesystem are required to include the
+necessary packages in their applications pkg.yml file. In the following
+example, the <code class="docutils literal notranslate"><span class="pre">`Newtron</span> <span class="pre">Flash</span> <span class="pre">File</span> <span class="pre">System</span></code> &lt;../nffs/nffs.html&gt;`__ is
+used.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">#</span> repos/apache-mynewt-core/apps/slinky/pkg.yml
+
+<span class="go">pkg.name: repos/apache-mynewt-core/apps/slinky</span>
+<span class="go">pkg.deps:</span>
+<span class="go">    - fs/fs         # include the file operations interfaces</span>
+<span class="go">    - fs/nffs       # include the NFFS filesystem implementation</span>
+</pre></div>
+</div>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span># repos/apache-mynewt-core/apps/slinky/syscfg.yml
+# [...]
+ # Package: apps/&lt;example app&gt;
+# [...]
+    CONFIG_NFFS: 1  # initialize and configure NFFS into the system
+#   NFFS_DETECT_FAIL: 1   # Ignore NFFS detection issues
+#   NFFS_DETECT_FAIL: 2   # Format a new NFFS file system on failure to detect
+
+# [...]
+</pre></div>
+</div>
+<p>Consult the documentation for <code class="docutils literal notranslate"><span class="pre">`nffs</span></code> &lt;../nffs/nffs.html&gt;`__ for a more
+detailed explanation of NFFS_DETECT_FAIL</p>
+<p>Code which uses the file system after the system has been initialized
+need only depend on <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code>. For example, the <code class="docutils literal notranslate"><span class="pre">libs/imgmgr</span></code> package
+is a library which provides firmware upload and download functionality
+via the use of a file system. This library is only used after the system
+has been initialized, and therefore only depends on the <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code>
+package.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">#</span> repos/apache-mynewt-core/libs/imgmgr/pkg.yml
+<span class="go">pkg.name: libs/imgmgr</span>
+<span class="go">pkg.deps:</span>
+<span class="go">    - fs/fs</span>
+
+<span class="gp">#</span> <span class="o">[</span>...<span class="o">]</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">libs/imgmgr</span></code> package uses the <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> API for all file system
+operations.</p>
+</div>
+<div class="section" id="support-for-multiple-filesystems">
+<h2>Support for multiple filesystems<a class="headerlink" href="#support-for-multiple-filesystems" title="Permalink to this headline">?</a></h2>
+<p>When using a single filesystem/disk, it is valid to provide paths in the
+standard unix way, eg, <code class="docutils literal notranslate"><span class="pre">/&lt;dir-name&gt;/&lt;file-name&gt;</span></code>. When trying to run
+more than one filesystem or a single filesystem in multiple devices
+simultaneosly, an extra name has to be given to the disk that is being
+used. The abstraction for that was added as the <code class="docutils literal notranslate"><span class="pre">fs/disk</span></code> package
+which is a dependency of <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code>. It adds the following extra user
+function:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int disk_register(const char *disk_name, const char *fs_name, struct disk_ops *dops)
+</pre></div>
+</div>
+<p>As an example os usage:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>disk_register(&quot;mmc0&quot;, &quot;fatfs&quot;, &amp;mmc_ops);
+disk_register(&quot;flash0&quot;, &quot;nffs&quot;, NULL);
+</pre></div>
+</div>
+<p>This registers the name <code class="docutils literal notranslate"><span class="pre">mmc0</span></code> to use <code class="docutils literal notranslate"><span class="pre">fatfs</span></code> as the filesystem and
+<code class="docutils literal notranslate"><span class="pre">mmc_ops</span></code> for the low-level disk driver and also registers <code class="docutils literal notranslate"><span class="pre">flash0</span></code>
+to use <code class="docutils literal notranslate"><span class="pre">nffs</span></code>. <code class="docutils literal notranslate"><span class="pre">nffs</span></code> is currently strongly bound to the
+<code class="docutils literal notranslate"><span class="pre">hal_flash</span></code> interface, ignoring any other possible <code class="docutils literal notranslate"><span class="pre">disk_ops</span></code> given.</p>
+<div class="section" id="struct-disk-ops">
+<h3>struct disk_ops<a class="headerlink" href="#struct-disk-ops" title="Permalink to this headline">?</a></h3>
+<p>To support a new low-level disk interface, the <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">disk_ops</span></code>
+interface must be implemented by the low-level driver. Currently only
+<code class="docutils literal notranslate"><span class="pre">read</span></code> and <code class="docutils literal notranslate"><span class="pre">write</span></code> are effectively used (by <code class="docutils literal notranslate"><span class="pre">fatfs</span></code>).</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct disk_ops {
+    int (*read)(uint8_t, uint32_t, void *, uint32_t);
+    int (*write)(uint8_t, uint32_t, const void *, uint32_t);
+    int (*ioctl)(uint8_t, uint32_t, void *);
+    SLIST_ENTRY(disk_ops) sc_next;
+}
+</pre></div>
+</div>
+</div>
+</div>
+<div class="section" id="thread-safety">
+<h2>Thread Safety<a class="headerlink" href="#thread-safety" title="Permalink to this headline">?</a></h2>
+<p>All <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> functions are thread safe.</p>
+</div>
+<div class="section" id="header-files">
+<h2>Header Files<a class="headerlink" href="#header-files" title="Permalink to this headline">?</a></h2>
+<p>All code which uses the <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> package needs to include the following
+header:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="data-structures">
+<h2>Data Structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<p>All <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> data structures are opaque to client code.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct fs_file;
+struct fs_dir;
+struct fs_dirent;
+</pre></div>
+</div>
+</div>
+<div class="section" id="api">
+<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">?</a></h2>
+<p>Functions in <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> that indicate success or failure do so with the
+following set of return codes:</p>
+<ul class="simple">
+<li><a class="reference external" href="fs_return_codes.html">Return Codes</a></li>
+</ul>
+<p>The functions available in this OS feature are:</p>
+<p>Additional file system utilities that bundle some of the basic functions
+above are:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="43%" />
+<col width="57%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Function</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><a href="#id3"><span class="problematic" id="id4">`fsutil\_r
+ead\_file
+&lt;fsutil_re
+ad_file.md
+&gt;`__</span></a></td>
+<td>Opens a file
+at the
+specified
+path, retrieve
+data from the
+file starting
+from the
+specified
+offset, and
+close the file
+and invalidate
+the file
+handle.</td>
+</tr>
+<tr class="row-odd"><td><p class="first"><a href="#id1"><span class="problematic" id="id2">`</span></a>fsutil_w
+rite_file</p>
+<blockquote>
+<div>&lt;fsutil_w</div></blockquote>
+<p class="last">rite_file.
+md&gt;`__</p>
+</td>
+<td>Open a file at
+the specified
+path, write
+the supplied
+data to the
+current offset
+of the
+specified file
+handle, and
+close the file
+and invalidate
+the file
+handle.</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_close.html b/develop/os/modules/fs/fs/fs_close.html
new file mode 100644
index 000000000..0f243c8c2
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_close.html
@@ -0,0 +1,390 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_close &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_close
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_close.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-close">
+<h1>fs_close<a class="headerlink" href="#fs-close" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_close(struct fs_file *file)
+</pre></div>
+</div>
+<p>Closes the specified file and invalidates the file handle.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="30%" />
+<col width="70%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>file</td>
+<td>Pointer to the file to close</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="fs_return_codes.html">FS error code</a> on failure</li>
+</ul>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>If the file has already been unlinked, and the file has no other open
+handles, the <code class="docutils literal notranslate"><span class="pre">fs_close()</span></code> function causes the file to be deleted from
+the disk.</p>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>The below code opens the file <code class="docutils literal notranslate"><span class="pre">/settings/config.txt</span></code> for reading,
+reads some data, and then closes the file.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+read_config(void)
+{
+    struct fs_file *file;
+    uint32_t bytes_read;
+    uint8_t buf[16];
+    int rc;
+
+    /* Open the file for reading. */
+    rc = fs_open(&quot;/settings/config.txt&quot;, FS_ACCESS_READ, &amp;file);
+    if (rc != 0) {
+        return -1;
+    }
+
+    /* Read up to 16 bytes from the file. */
+    rc = fs_read(file, sizeof buf, buf, &amp;bytes_read);
+    if (rc == 0) {
+        /* buf now contains up to 16 bytes of file data. */
+        console_printf(&quot;read %u bytes\n&quot;, bytes_read)
+    }
+
+    /* Close the file. */
+    fs_close(file);
+
+    return rc == 0 ? 0 : -1;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_closedir.html b/develop/os/modules/fs/fs/fs_closedir.html
new file mode 100644
index 000000000..232faef69
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_closedir.html
@@ -0,0 +1,402 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_closedir &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_closedir
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_closedir.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-closedir">
+<h1>fs_closedir<a class="headerlink" href="#fs-closedir" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_closedir(struct fs_dir *dir)
+</pre></div>
+</div>
+<p>Closes the specified directory handle.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="27%" />
+<col width="73%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>dir</td>
+<td>The name of the directory to close</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="fs_return_codes.html">FS error code</a> on failure</li>
+</ul>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>This example iterates through the contents of a directory, printing the
+name of each child node. When the traversal is complete, the code closes
+the directory handle.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+traverse_dir(const char *dirname)
+{
+    struct fs_dirent *dirent;
+    struct fs_dir *dir;
+    char buf[64];
+    uint8_t name_len;
+    int rc;
+
+    rc = fs_opendir(dirname, &amp;dir);
+    if (rc != 0) {
+        return -1;
+    }
+
+    /* Iterate through the parent directory, printing the name of each child
+     * entry.  The loop only terminates via a function return.
+     */
+    while (1) {
+        /* Retrieve the next child node. */
+        rc = fs_readdir(dir, &amp;dirent);
+        if (rc == FS_ENOENT) {
+            /* Traversal complete. */
+            return 0;
+        } else if (rc != 0) {
+            /* Unexpected error. */
+            return -1;
+        }
+
+        /* Read the child node&#39;s name from the file system. */
+        rc = fs_dirent_name(dirent, sizeof buf, buf, &amp;name_len);
+        if (rc != 0) {
+            return -1;
+        }
+
+        /* Print the child node&#39;s name to the console. */
+        if (fs_dirent_is_dir(dirent)) {
+            console_printf(&quot; dir: &quot;);
+        } else {
+            console_printf(&quot;file: &quot;);
+        }
+        console_printf(&quot;%s\n&quot;, buf);
+    }
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_dirent_is_dir.html b/develop/os/modules/fs/fs/fs_dirent_is_dir.html
new file mode 100644
index 000000000..36592638e
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_dirent_is_dir.html
@@ -0,0 +1,403 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_dirent_is_dir &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_dirent_is_dir
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_dirent_is_dir.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-dirent-is-dir">
+<h1>fs_dirent_is_dir<a class="headerlink" href="#fs-dirent-is-dir" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_dirent_is_dir(const struct fs_dirent *dirent)
+</pre></div>
+</div>
+<p>Tells you whether the specified directory entry is a sub-directory or a
+regular file.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="25%" />
+<col width="75%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>dirent</td>
+<td>Pointer to the directory entry to query</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>1: The entry is a directory</li>
+<li>0: The entry is a regular file.</li>
+</ul>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>This example iterates through the contents of a directory, printing the
+name of each child node. When the traversal is complete, the code closes
+the directory handle.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+traverse_dir(const char *dirname)
+{
+    struct fs_dirent *dirent;
+    struct fs_dir *dir;
+    char buf[64];
+    uint8_t name_len;
+    int rc;
+
+    rc = fs_opendir(dirname, &amp;dir);
+    if (rc != 0) {
+        return -1;
+    }
+
+    /* Iterate through the parent directory, printing the name of each child
+     * entry.  The loop only terminates via a function return.
+     */
+    while (1) {
+        /* Retrieve the next child node. */
+        rc = fs_readdir(dir, &amp;dirent);
+        if (rc == FS_ENOENT) {
+            /* Traversal complete. */
+            return 0;
+        } else if (rc != 0) {
+            /* Unexpected error. */
+            return -1;
+        }
+
+        /* Read the child node&#39;s name from the file system. */
+        rc = fs_dirent_name(dirent, sizeof buf, buf, &amp;name_len);
+        if (rc != 0) {
+            return -1;
+        }
+
+        /* Print the child node&#39;s name to the console. */
+        if (fs_dirent_is_dir(dirent)) {
+            console_printf(&quot; dir: &quot;);
+        } else {
+            console_printf(&quot;file: &quot;);
+        }
+        console_printf(&quot;%s\n&quot;, buf);
+    }
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_dirent_name.html b/develop/os/modules/fs/fs/fs_dirent_name.html
new file mode 100644
index 000000000..3bd8b49ce
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_dirent_name.html
@@ -0,0 +1,437 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_dirent_name &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_dirent_name
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_dirent_name.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-dirent-name">
+<h1>fs_dirent_name<a class="headerlink" href="#fs-dirent-name" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_dirent_name(const struct fs_dirent *dirent, size_t max_len,
+                   char *out_name, uint8_t *out_name_len)
+</pre></div>
+</div>
+<p>Retrieves the filename of the specified directory entry.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>dirent</td>
+<td>Pointer to the
+directory
+entry to query</td>
+</tr>
+<tr class="row-odd"><td>max_len</td>
+<td>Size of the
+?out_name?
+character
+buffer</td>
+</tr>
+<tr class="row-even"><td>out_name</td>
+<td>On success,
+the entry?s
+filename is
+written here;
+always
+null-terminate
+d</td>
+</tr>
+<tr class="row-odd"><td>out_name_l
+en</td>
+<td>On success,
+contains the
+actual length
+of the
+filename, NOT
+including the
+null-terminato
+r</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="fs_return_codes.html">FS error code</a> on failure</li>
+</ul>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>The retrieved filename is always null-terminated. To ensure enough space
+to hold the full filename plus a null-termintor, a destination buffer of
+size <em>filename-max-length + 1</em> should be used.</p>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>This example iterates through the contents of a directory, printing the
+name of each child node. When the traversal is complete, the code closes
+the directory handle.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+traverse_dir(const char *dirname)
+{
+    struct fs_dirent *dirent;
+    struct fs_dir *dir;
+    char buf[64];
+    uint8_t name_len;
+    int rc;
+
+    rc = fs_opendir(dirname, &amp;dir);
+    if (rc != 0) {
+        return -1;
+    }
+
+    /* Iterate through the parent directory, printing the name of each child
+     * entry.  The loop only terminates via a function return.
+     */
+    while (1) {
+        /* Retrieve the next child node. */
+        rc = fs_readdir(dir, &amp;dirent);
+        if (rc == FS_ENOENT) {
+            /* Traversal complete. */
+            return 0;
+        } else if (rc != 0) {
+            /* Unexpected error. */
+            return -1;
+        }
+
+        /* Read the child node&#39;s name from the file system. */
+        rc = fs_dirent_name(dirent, sizeof buf, buf, &amp;name_len);
+        if (rc != 0) {
+            return -1;
+        }
+
+        /* Print the child node&#39;s name to the console. */
+        if (fs_dirent_is_dir(dirent)) {
+            console_printf(&quot; dir: &quot;);
+        } else {
+            console_printf(&quot;file: &quot;);
+        }
+        console_printf(&quot;%s\n&quot;, buf);
+    }
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_filelen.html b/develop/os/modules/fs/fs/fs_filelen.html
new file mode 100644
index 000000000..24abeb28c
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_filelen.html
@@ -0,0 +1,384 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_filelen &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_filelen
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_filelen.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-filelen">
+<h1>fs_filelen<a class="headerlink" href="#fs-filelen" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_filelen(const struct fs_file *file, uint32_t *out_len)
+</pre></div>
+</div>
+<p>Retrieves the current length of the specified open file.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="18%" />
+<col width="82%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>file</td>
+<td>Pointer to the file to query</td>
+</tr>
+<tr class="row-odd"><td>out_len</td>
+<td>On success, the number of bytes in the file gets written here</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="fs_return_codes.html">FS error code</a> on failure</li>
+</ul>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+write_config(void)
+{
+    struct fs_file *file;
+    int rc;
+
+    /* If the file doesn&#39;t exist, create it.  If it does exist, truncate it to
+     * zero bytes.
+     */
+    rc = fs_open(&quot;/settings/config.txt&quot;, FS_ACCESS_WRITE | FS_ACCESS_TRUNCATE,
+                 &amp;file);
+    if (rc == 0) {
+        /* Write 5 bytes of data to the file. */
+        rc = fs_write(file, &quot;hello&quot;, 5);
+        if (rc == 0) {
+            /* The file should now contain exactly five bytes. */
+            assert(fs_filelen(file) == 5);
+        }
+
+        /* Close the file. */
+        fs_close(file);
+    }
+
+    return rc == 0 ? 0 : -1;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_getpos.html b/develop/os/modules/fs/fs/fs_getpos.html
new file mode 100644
index 000000000..ded95cbce
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_getpos.html
@@ -0,0 +1,357 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_getpos &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_getpos
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_getpos.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-getpos">
+<h1>fs_getpos<a class="headerlink" href="#fs-getpos" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>uint32_t fs_getpos(const struct fs_file *file)
+</pre></div>
+</div>
+<p>Retrieves the current read and write position of the specified open
+file.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="30%" />
+<col width="70%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>file</td>
+<td>Pointer to the file to query</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>The file offset, in bytes</li>
+</ul>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>If a file is opened in append mode, its write pointer is always
+positioned at the end of the file. Calling this function on such a file
+only indicates the read position.</p>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_mkdir.html b/develop/os/modules/fs/fs/fs_mkdir.html
new file mode 100644
index 000000000..3c063db24
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_mkdir.html
@@ -0,0 +1,386 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_mkdir &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_mkdir
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_mkdir.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-mkdir">
+<h1>fs_mkdir<a class="headerlink" href="#fs-mkdir" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_mkdir(const char *path)
+</pre></div>
+</div>
+<p>Creates the directory represented by the specified path.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="26%" />
+<col width="74%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>path</td>
+<td>The name of the directory to create</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="fs_return_codes.html">FS error code</a> on failure.</li>
+</ul>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>All intermediate directories must already exist. The specified path must
+start with a ?/? character.</p>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>This example demonstrates creating a series of nested directories.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+create_path(void)
+{
+    int rc;
+
+    rc = fs_mkdir(&quot;/data&quot;);
+    if (rc != 0) goto err;
+
+    rc = fs_mkdir(&quot;/data/logs&quot;);
+    if (rc != 0) goto err;
+
+    rc = fs_mkdir(&quot;/data/logs/temperature&quot;);
+    if (rc != 0) goto err;
+
+    rc = fs_mkdir(&quot;/data/logs/temperature/current&quot;);
+    if (rc != 0) goto err;
+
+    return 0;
+
+err:
+    /* Clean up the incomplete directory tree, if any. */
+    fs_unlink(&quot;/data&quot;);
+    return -1;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_open.html b/develop/os/modules/fs/fs/fs_open.html
new file mode 100644
index 000000000..03c8ab370
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_open.html
@@ -0,0 +1,433 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_open &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_open
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_open.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-open">
+<h1>fs_open<a class="headerlink" href="#fs-open" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_open(const char *filename, uint8_t access_flags,
+            struct fs_file **out_file)
+</pre></div>
+</div>
+<p>Opens a file at the specified path. The result of opening a nonexistent
+file depends on the access flags specified. All intermediate directories
+must already exist.</p>
+<p>The access flags are best understood by comparing them to their
+equivalent mode strings accepted by the C standard library function
+<code class="docutils literal notranslate"><span class="pre">fopen()</span></code>. The mode strings passed to <code class="docutils literal notranslate"><span class="pre">fopen()</span></code> map to
+<code class="docutils literal notranslate"><span class="pre">fs_open()</span></code>?s access flags as follows:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">&quot;r&quot;  -  FS_ACCESS_READ</span>
+<span class="go">&quot;r+&quot; -  FS_ACCESS_READ  | FS_ACCESS_WRITE</span>
+<span class="go">&quot;w&quot;  -  FS_ACCESS_WRITE | FS_ACCESS_TRUNCATE</span>
+<span class="go">&quot;w+&quot; -  FS_ACCESS_READ  | FS_ACCESS_WRITE    | FS_ACCESS_TRUNCATE</span>
+<span class="go">&quot;a&quot;  -  FS_ACCESS_WRITE | FS_ACCESS_APPEND</span>
+<span class="go">&quot;a+&quot; -  FS_ACCESS_READ  | FS_ACCESS_WRITE    | FS_ACCESS_APPEND</span>
+</pre></div>
+</div>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="45%" />
+<col width="55%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>filename</td>
+<td>Null-terminate
+d
+string
+indicating the
+full path of
+the file to
+open</td>
+</tr>
+<tr class="row-odd"><td>access_fla
+gs</td>
+<td>Flags
+controlling
+file access;
+see above
+table</td>
+</tr>
+<tr class="row-even"><td>out_file</td>
+<td>On success, a
+pointer to the
+newly-created
+file handle
+gets written
+here</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="fs_return_codes.html">FS error code</a> on failure</li>
+</ul>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>There is no concept of current working directory. Therefore all file
+names should start with ?/?.</li>
+<li>Always close files when you are done using them. If you forget to
+close a file, the file stays open forever. Do this too many times,
+and the underlying file system will run out of file handles, causing
+subsequent open operations to fail. This type of bug is known as a
+file handle leak or a file descriptor leak.</li>
+</ul>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>The below code opens the file <code class="docutils literal notranslate"><span class="pre">/settings/config.txt</span></code> for reading,
+reads some data, and then closes the file.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+read_config(void)
+{
+    struct fs_file *file;
+    uint32_t bytes_read;
+    uint8_t buf[16];
+    int rc;
+
+    /* Open the file for reading. */
+    rc = fs_open(&quot;/settings/config.txt&quot;, FS_ACCESS_READ, &amp;file);
+    if (rc != 0) {
+        return -1;
+    }
+
+    /* Read up to 16 bytes from the file. */
+    rc = fs_read(file, sizeof buf, buf, &amp;bytes_read);
+    if (rc == 0) {
+        /* buf now contains up to 16 bytes of file data. */
+        console_printf(&quot;read %u bytes\n&quot;, bytes_read)
+    }
+
+    /* Close the file. */
+    fs_close(file);
+
+    return rc == 0 ? 0 : -1;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_opendir.html b/develop/os/modules/fs/fs/fs_opendir.html
new file mode 100644
index 000000000..f8a2362e7
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_opendir.html
@@ -0,0 +1,422 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_opendir &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_opendir
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_opendir.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-opendir">
+<h1>fs_opendir<a class="headerlink" href="#fs-opendir" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_opendir(const char *path, struct fs_dir **out_dir)
+</pre></div>
+</div>
+<p>Opens the directory at the specified path. The directory?s contents can
+be read with subsequent calls to fs_readdir(). When you are done with
+the directory handle, close it with fs_closedir().</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="23%" />
+<col width="77%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>path</td>
+<td>The name of the directory to open</td>
+</tr>
+<tr class="row-odd"><td>out_dir</td>
+<td>On success, points to the directory handle</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li>FS_ENOENT if the specified directory does not exist</li>
+<li>Other <a class="reference external" href="fs_return_codes.html">FS error code</a> on error.</li>
+</ul>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>Unlinking files from the directory while it is open may result in
+unpredictable behavior during subsequent calls to <code class="docutils literal notranslate"><span class="pre">fs_readdir()</span></code>.
+New files can be created inside the directory without causing
+problems.</li>
+<li>Always close a directory when you are done reading from it. If you
+forget to close a directory, the directory stays open forever. Do
+this too many times, and the underlying file system will run out of
+directory handles, causing subsequent open operations to fail. This
+type of bug is known as a file handle leak or a file descriptor leak.</li>
+</ul>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>This example iterates through the contents of a directory, printing the
+name of each child node. When the traversal is complete, the code closes
+the directory handle.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+traverse_dir(const char *dirname)
+{
+    struct fs_dirent *dirent;
+    struct fs_dir *dir;
+    char buf[64];
+    uint8_t name_len;
+    int rc;
+
+    rc = fs_opendir(dirname, &amp;dir);
+    if (rc != 0) {
+        return -1;
+    }
+
+    /* Iterate through the parent directory, printing the name of each child
+     * entry.  The loop only terminates via a function return.
+     */
+    while (1) {
+        /* Retrieve the next child node. */
+        rc = fs_readdir(dir, &amp;dirent);
+        if (rc == FS_ENOENT) {
+            /* Traversal complete. */
+            return 0;
+        } else if (rc != 0) {
+            /* Unexpected error. */
+            return -1;
+        }
+
+        /* Read the child node&#39;s name from the file system. */
+        rc = fs_dirent_name(dirent, sizeof buf, buf, &amp;name_len);
+        if (rc != 0) {
+            return -1;
+        }
+
+        /* Print the child node&#39;s name to the console. */
+        if (fs_dirent_is_dir(dirent)) {
+            console_printf(&quot; dir: &quot;);
+        } else {
+            console_printf(&quot;file: &quot;);
+        }
+        console_printf(&quot;%s\n&quot;, buf);
+    }
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_ops.html b/develop/os/modules/fs/fs/fs_ops.html
new file mode 100644
index 000000000..48b4e5ad7
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_ops.html
@@ -0,0 +1,356 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>struct fs_ops &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    struct fs_ops
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_ops.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="struct-fs-ops">
+<h1>struct fs_ops<a class="headerlink" href="#struct-fs-ops" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct fs_ops {
+    int (*f_open)(const char *filename, uint8_t access_flags,
+              struct fs_file **out_file);
+    int (*f_close)(struct fs_file *file);
+    int (*f_read)(struct fs_file *file, uint32_t len, void *out_data,
+      uint32_t *out_len);
+    int (*f_write)(struct fs_file *file, const void *data, int len);
+
+    int (*f_seek)(struct fs_file *file, uint32_t offset);
+    uint32_t (*f_getpos)(const struct fs_file *file);
+    int (*f_filelen)(const struct fs_file *file, uint32_t *out_len);
+
+    int (*f_unlink)(const char *filename);
+    int (*f_rename)(const char *from, const char *to);
+    int (*f_mkdir)(const char *path);
+
+    int (*f_opendir)(const char *path, struct fs_dir **out_dir);
+    int (*f_readdir)(struct fs_dir *dir, struct fs_dirent **out_dirent);
+    int (*f_closedir)(struct fs_dir *dir);
+
+    int (*f_dirent_name)(const struct fs_dirent *dirent, size_t max_len,
+      char *out_name, uint8_t *out_name_len);
+    int (*f_dirent_is_dir)(const struct fs_dirent *dirent);
+
+    const char *f_name;
+};
+</pre></div>
+</div>
+<p>This data structure consists of a set of function pointers. Each
+function pointer corresponds to a file system operation. When
+registering a file system with the abstraction layer, each function
+pointer must be pointed at the corresponding routine in the custom file
+system package.</p>
+<p>The required behavior of each corresponding function is documented in
+the <a class="reference external" href="fs.md#api">file system abstraction layer API</a>.</p>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs_if.h&quot;
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_read.html b/develop/os/modules/fs/fs/fs_read.html
new file mode 100644
index 000000000..4b40e62f7
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_read.html
@@ -0,0 +1,410 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_read &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_read
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_read.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-read">
+<h1>fs_read<a class="headerlink" href="#fs-read" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_read(struct fs_file *file, uint32_t len, void *out_data, uint32_t *out_len)
+</pre></div>
+</div>
+<p>Reads data from the specified file. If more data is requested than
+remains in the file, all available data is retrieved and a success code
+is returned.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>file</td>
+<td>Pointer to the
+the file to
+read from</td>
+</tr>
+<tr class="row-odd"><td>len</td>
+<td>The number of
+bytes to
+attempt to
+read</td>
+</tr>
+<tr class="row-even"><td>out_data</td>
+<td>The
+destination
+buffer to read
+into</td>
+</tr>
+<tr class="row-odd"><td>out_len</td>
+<td>On success,
+the number of
+bytes actually
+read gets
+written here.
+Pass null if
+you don?t
+care.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="fs_return_codes.html">FS error code</a> on failure</li>
+</ul>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>The below code opens the file <code class="docutils literal notranslate"><span class="pre">/settings/config.txt</span></code> for reading,
+reads some data, and then closes the file.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+read_config(void)
+{
+    struct fs_file *file;
+    uint32_t bytes_read;
+    uint8_t buf[16];
+    int rc;
+
+    /* Open the file for reading. */
+    rc = fs_open(&quot;/settings/config.txt&quot;, FS_ACCESS_READ, &amp;file);
+    if (rc != 0) {
+        return -1;
+    }
+
+    /* Read up to 16 bytes from the file. */
+    rc = fs_read(file, sizeof buf, buf, &amp;bytes_read);
+    if (rc == 0) {
+        /* buf now contains up to 16 bytes of file data. */
+        console_printf(&quot;read %u bytes\n&quot;, bytes_read)
+    }
+
+    /* Close the file. */
+    fs_close(file);
+
+    return rc == 0 ? 0 : -1;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_readdir.html b/develop/os/modules/fs/fs/fs_readdir.html
new file mode 100644
index 000000000..2a422e92a
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_readdir.html
@@ -0,0 +1,413 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_readdir &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_readdir
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_readdir.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-readdir">
+<h1>fs_readdir<a class="headerlink" href="#fs-readdir" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_readdir(struct fs_dir *dir, struct fs_dirent **out_dirent);
+</pre></div>
+</div>
+<p>Reads the next entry in an open directory.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>dir</td>
+<td>The directory
+handle to read
+from</td>
+</tr>
+<tr class="row-odd"><td>out_dirent</td>
+<td>On success,
+points to the
+next child
+entry in the
+specified
+directory</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li>FS_ENOENT if there are no more entries in the parent directory</li>
+<li>Other <a class="reference external" href="fs_return_codes.html">FS error code</a> on error.</li>
+</ul>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>This example iterates through the contents of a directory, printing the
+name of each child node. When the traversal is complete, the code closes
+the directory handle.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+traverse_dir(const char *dirname)
+{
+    struct fs_dirent *dirent;
+    struct fs_dir *dir;
+    char buf[64];
+    uint8_t name_len;
+    int rc;
+
+    rc = fs_opendir(dirname, &amp;dir);
+    if (rc != 0) {
+        return -1;
+    }
+
+    /* Iterate through the parent directory, printing the name of each child
+     * entry.  The loop only terminates via a function return.
+     */
+    while (1) {
+        /* Retrieve the next child node. */
+        rc = fs_readdir(dir, &amp;dirent);
+        if (rc == FS_ENOENT) {
+            /* Traversal complete. */
+            return 0;
+        } else if (rc != 0) {
+            /* Unexpected error. */
+            return -1;
+        }
+
+        /* Read the child node&#39;s name from the file system. */
+        rc = fs_dirent_name(dirent, sizeof buf, buf, &amp;name_len);
+        if (rc != 0) {
+            return -1;
+        }
+
+        /* Print the child node&#39;s name to the console. */
+        if (fs_dirent_is_dir(dirent)) {
+            console_printf(&quot; dir: &quot;);
+        } else {
+            console_printf(&quot;file: &quot;);
+        }
+        console_printf(&quot;%s\n&quot;, buf);
+    }
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_register.html b/develop/os/modules/fs/fs/fs_register.html
new file mode 100644
index 000000000..02a999d30
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_register.html
@@ -0,0 +1,341 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_register &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_register
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_register.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-register">
+<h1>fs_register<a class="headerlink" href="#fs-register" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_register(const struct fs_ops *fops)
+</pre></div>
+</div>
+<p>Registers a file system with the abstraction layer. On success, all
+calls into <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> will use the registered file system.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><em>FS_EEXIST</em> if a file system has already been registered</li>
+</ul>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>Only one file system can be registered. The registered file system is
+mounted in the root directory (<em>/</em>).</p>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_rename.html b/develop/os/modules/fs/fs/fs_rename.html
new file mode 100644
index 000000000..0334dff03
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_rename.html
@@ -0,0 +1,404 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_rename &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_rename
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_rename.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-rename">
+<h1>fs_rename<a class="headerlink" href="#fs-rename" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_rename(const char *from, const char *to)
+</pre></div>
+</div>
+<p>Performs a rename and / or move of the specified source path to the
+specified destination. The source path can refer to a file or a
+directory.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="37%" />
+<col width="63%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>from</td>
+<td>The source path</td>
+</tr>
+<tr class="row-odd"><td>to</td>
+<td>The destination path</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="fs_return_codes.html">FS error code</a> on failure</li>
+</ul>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>The source path can refer to either a file or a directory. All
+intermediate directories in the destination path must already exist. If
+the source path refers to a file, the destination path must contain a
+full filename path, rather than just the new parent directory. If an
+object already exists at the specified destination path, this function
+causes it to be unlinked prior to the rename (i.e., the destination gets
+clobbered).</p>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>This example demonstrates how to use fs_rename() to perform a log
+rotation. In this example, there is one primary log and three archived
+logs. <code class="docutils literal notranslate"><span class="pre">FS_ENOENT</span></code> errors returned by <code class="docutils literal notranslate"><span class="pre">fs_rename()</span></code> are ignored; it
+is not an error if an archived log was never created.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+rotate_logs(void)
+{
+    struct fs_file *file;
+    int rc;
+
+    /* Rotate each of the log files. */
+    rc = fs_rename(&quot;/var/log/messages.2&quot;, &quot;/var/log/messages.3&quot;)
+    if (rc != 0 &amp;&amp; rc != FS_ENOENT) return -1;
+
+    rc = fs_rename(&quot;/var/log/messages.1&quot;, &quot;/var/log/messages.2&quot;)
+    if (rc != 0 &amp;&amp; rc != FS_ENOENT) return -1;
+
+    rc = fs_rename(&quot;/var/log/messages.0&quot;, &quot;/var/log/messages.1&quot;)
+    if (rc != 0 &amp;&amp; rc != FS_ENOENT) return -1;
+
+    rc = fs_rename(&quot;/var/log/messages&quot;, &quot;/var/log/messages.0&quot;)
+    if (rc != 0 &amp;&amp; rc != FS_ENOENT) return -1;
+
+    /* Now create the new log file. */
+    rc = fs_open(&quot;/var/log/messages&quot;, FS_ACCESS_WRITE | FS_ACCESS_TRUNCATE,
+                 &amp;file);
+    if (rc != 0) return -1;
+
+    rc = fs_write(file, &quot;Creating new log file.\n&quot;, 23);
+    fs_close(file);
+
+    return rc == 0 ? 0 : -1;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_return_codes.html b/develop/os/modules/fs/fs/fs_return_codes.html
new file mode 100644
index 000000000..07ebcdd8d
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_return_codes.html
@@ -0,0 +1,378 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs/fs Return Codes &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs/fs Return Codes
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_return_codes.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-fs-return-codes">
+<h1>fs/fs Return Codes<a class="headerlink" href="#fs-fs-return-codes" title="Permalink to this headline">?</a></h1>
+<p>Functions in <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> that indicate success or failure do so with the
+following set of return codes:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="26%" />
+<col width="74%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Return code</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>FS_EOK</td>
+<td>Success</td>
+</tr>
+<tr class="row-odd"><td>FS_ECORRUPT</td>
+<td>File system corrupt</td>
+</tr>
+<tr class="row-even"><td>FS_EHW</td>
+<td>Error accessing storage medium</td>
+</tr>
+<tr class="row-odd"><td>FS_EOFFSET</td>
+<td>Invalid offset</td>
+</tr>
+<tr class="row-even"><td>FS_EINVAL</td>
+<td>Invalid argument</td>
+</tr>
+<tr class="row-odd"><td>FS_ENOMEM</td>
+<td>Insufficient memory</td>
+</tr>
+<tr class="row-even"><td>FS_ENOENT</td>
+<td>No such file or directory</td>
+</tr>
+<tr class="row-odd"><td>FS_EEMPTY</td>
+<td>Specified region is empty (internal only)</td>
+</tr>
+<tr class="row-even"><td>FS_EFULL</td>
+<td>Disk full</td>
+</tr>
+<tr class="row-odd"><td>FS_EUNEXP</td>
+<td>Disk contains unexpected metadata</td>
+</tr>
+<tr class="row-even"><td>FS_EOS</td>
+<td>OS error</td>
+</tr>
+<tr class="row-odd"><td>FS_EEXIST</td>
+<td>File or directory already exists</td>
+</tr>
+<tr class="row-even"><td>FS_EACCESS</td>
+<td>Operation prohibited by file open mode</td>
+</tr>
+<tr class="row-odd"><td>FS_EUNINIT</td>
+<td>File system not initialized</td>
+</tr>
+</tbody>
+</table>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_seek.html b/develop/os/modules/fs/fs/fs_seek.html
new file mode 100644
index 000000000..1c01b5ac1
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_seek.html
@@ -0,0 +1,397 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_seek &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_seek
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_seek.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-seek">
+<h1>fs_seek<a class="headerlink" href="#fs-seek" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_seek(struct fs_file *file, uint32_t offset)
+</pre></div>
+</div>
+<p>Positions a file?s read and write pointer at the specified offset. The
+offset is expressed as the number of bytes from the start of the file
+(i.e., seeking to offset 0 places the pointer at the first byte in the
+file).</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="27%" />
+<col width="73%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>file</td>
+<td>Pointer to the file to reposition</td>
+</tr>
+<tr class="row-odd"><td>offset</td>
+<td>The 0-based file offset to seek to</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="fs_return_codes.html">FS error code</a> on failure</li>
+</ul>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>If a file is opened in append mode, its write pointer is always
+positioned at the end of the file. Calling this function on such a file
+only affects the read pointer.</p>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>The following example reads four bytes from a file, starting at an
+offset of eight.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+read_part1_middle(void)
+{
+    struct fs_file *file;
+    uint32_t bytes_read;
+    uint8_t buf[4];
+    int rc;
+
+    rc = fs_open(&quot;/data/parts/1.bin&quot;, FS_ACCESS_READ, &amp;file);
+    if (rc == 0) {
+        /* Advance to offset 8. */
+        rc = fs_seek(file, 8);
+        if (rc == 0) {
+            /* Read bytes 8, 9, 10, and 11. */
+            rc = fs_read(file, 4, buf, &amp;bytes_read);
+            if (rc == 0) {
+                /* buf now contains up to 4 bytes of file data. */
+                console_printf(&quot;read %u bytes\n&quot;, bytes_read)
+            }
+        }
+
+        /* Close the file. */
+        fs_close(file);
+    }
+
+    return rc == 0 ? 0 : -1;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_unlink.html b/develop/os/modules/fs/fs/fs_unlink.html
new file mode 100644
index 000000000..11cc1e4dd
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_unlink.html
@@ -0,0 +1,389 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_unlink &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_unlink
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_unlink.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-unlink">
+<h1>fs_unlink<a class="headerlink" href="#fs-unlink" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_unlink(const char *filename)
+</pre></div>
+</div>
+<p>Unlinks the file or directory at the specified path. This is the
+function to use if you want to delete a file or directory from the disk.
+If the path refers to a directory, all the directory?s descendants are
+recursively unlinked. Any open file handles referring to an unlinked
+file remain valid, and can be read from and written to as long as they
+remain open.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="23%" />
+<col width="77%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>filename</td>
+<td>The path of the file or directory to unlink</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="fs_return_codes.html">FS error code</a> on failure</li>
+</ul>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>The following example creates a file and then immediately unlinks it. By
+unlinking the file, this function prevents other OS tasks from accessing
+it. When the function closes the file, it is deleted from the disk.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+process_data(void)
+{
+    struct fs_file *file;
+    int rc;
+
+    /* If the file doesn&#39;t exist, create it.  If it does exist, truncate it to
+     * zero bytes.
+     */
+    rc = fs_open(&quot;/tmp/buffer.bin&quot;, FS_ACCESS_WRITE | FS_ACCESS_TRUNCATE, &amp;file);
+    if (rc == 0) {
+        /* Unlink the file so that other tasks cannot access it. */
+        fs_unlink(&quot;/tmp/buffer.bin&quot;)
+
+        /* &lt;use the file as a data buffer&gt; */
+
+        /* Close the file.  This operation causes the file to be deleted from
+         * the disk because it was unlinked earlier (and it has no other open
+         * file handles).
+         */
+        fs_close(file);
+    }
+
+    return rc == 0 ? 0 : -1;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fs_write.html b/develop/os/modules/fs/fs/fs_write.html
new file mode 100644
index 000000000..b10385c02
--- /dev/null
+++ b/develop/os/modules/fs/fs/fs_write.html
@@ -0,0 +1,393 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fs_write &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fs_write
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fs_write.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fs-write">
+<h1>fs_write<a class="headerlink" href="#fs-write" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fs_write(struct fs_file *file, const void *data, int len)
+</pre></div>
+</div>
+<p>Writes the supplied data to the current offset of the specified file
+handle.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="29%" />
+<col width="71%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>file</td>
+<td>Pointer to the file to write to</td>
+</tr>
+<tr class="row-odd"><td>data</td>
+<td>The data to write</td>
+</tr>
+<tr class="row-even"><td>len</td>
+<td>The number of bytes to write</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="fs_return_codes.html">FS error code</a> on failure</li>
+</ul>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>For files opened in append mode, the specified data is always written to
+the end.</p>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+write_config(void)
+{
+    struct fs_file *file;
+    int rc;
+
+    /* If the file doesn&#39;t exist, create it.  If it does exist, truncate it to
+     * zero bytes.
+     */
+    rc = fs_open(&quot;/settings/config.txt&quot;, FS_ACCESS_WRITE | FS_ACCESS_TRUNCATE,
+                 &amp;file);
+    if (rc == 0) {
+        /* Write 5 bytes of data to the file. */
+        rc = fs_write(file, &quot;hello&quot;, 5);
+        if (rc == 0) {
+            /* The file should now contain exactly five bytes. */
+            assert(fs_filelen(file) == 5);
+        }
+
+        /* Close the file. */
+        fs_close(file);
+    }
+
+    return rc == 0 ? 0 : -1;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fsutil_read_file.html b/develop/os/modules/fs/fs/fsutil_read_file.html
new file mode 100644
index 000000000..dd1a4b9dc
--- /dev/null
+++ b/develop/os/modules/fs/fs/fsutil_read_file.html
@@ -0,0 +1,415 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fsutil_read_file &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fsutil_read_file
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fsutil_read_file.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fsutil-read-file">
+<h1>fsutil_read_file<a class="headerlink" href="#fsutil-read-file" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fsutil_read_file(const char *path, uint32_t offset, uint32_t len,
+                     void *dst, uint32_t *out_len)
+</pre></div>
+</div>
+<p>Calls fs_open(), fs_read(), and fs_close() to open a file at the
+specified path, retrieve data from the file starting from the specified
+offset, and close the file and invalidate the file handle.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>path</td>
+<td>Pointer to the
+directory
+entry to query</td>
+</tr>
+<tr class="row-odd"><td>offset</td>
+<td>Position of
+the file?s
+read pointer</td>
+</tr>
+<tr class="row-even"><td>len</td>
+<td>Number of
+bytes to
+attempt to
+read</td>
+</tr>
+<tr class="row-odd"><td>dst</td>
+<td>Destination
+buffer to read
+into</td>
+</tr>
+<tr class="row-even"><td>out_len</td>
+<td>On success,
+the number of
+bytes actually
+read gets
+written here.
+Pass null if
+you don?t
+care.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="fs_return_codes.html">FS error code</a> on failure</li>
+</ul>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>This is a convenience function. It is useful when the amount of data to
+be read from the file is small (i.e., all the data read can easily fit
+in a single buffer).</p>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>This example demonstrates reading a small text file in its entirety and
+printing its contents to the console.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+print_status(void)
+{
+    uint32_t bytes_read;
+    uint8_t buf[16];
+    int rc;
+
+    /* Read up to 15 bytes from the start of the file. */
+    rc = fsutil_read_file(&quot;/cfg/status.txt&quot;, 0, sizeof buf - 1, buf,
+                          &amp;bytes_read);
+    if (rc != 0) return -1;
+
+    /* Null-terminate the string just read. */
+    buf[bytes_read] = &#39;\0&#39;;
+
+    /* Print the file contents to the console. */
+    console_printf(&quot;%s\n&quot;, buf);
+
+    return 0;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/fs/fsutil_write_file.html b/develop/os/modules/fs/fs/fsutil_write_file.html
new file mode 100644
index 000000000..d6501e3e2
--- /dev/null
+++ b/develop/os/modules/fs/fs/fsutil_write_file.html
@@ -0,0 +1,386 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>fsutil_write_file &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    fsutil_write_file
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/fs/fsutil_write_file.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="fsutil-write-file">
+<h1>fsutil_write_file<a class="headerlink" href="#fsutil-write-file" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int fsutil_write_file(const char *path, const void *data, uint32_t len)
+</pre></div>
+</div>
+<p>Calls fs_open(), fs_write(), and fs_close() to open a file at the
+specified path, write the supplied data to the current offset of the
+specified file handle, and close the file and invalidate the file
+handle. If the specified file already exists, it is truncated and
+overwritten with the specified data.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="29%" />
+<col width="71%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>path</td>
+<td>Pointer to the file to write to</td>
+</tr>
+<tr class="row-odd"><td>data</td>
+<td>The data to write</td>
+</tr>
+<tr class="row-even"><td>len</td>
+<td>The number of bytes to write</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="fs_return_codes.html">FS error code</a> on failure</li>
+</ul>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>This example creates a 4-byte file.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+write_id(void)
+{
+    int rc;
+
+    /* Create the parent directory. */
+    rc = fs_mkdir(&quot;/cfg&quot;);
+    if (rc != 0 &amp;&amp; rc != FS_EALREADY) {
+        return -1;
+    }
+
+    /* Create a file and write four bytes to it. */
+    rc = fsutil_write_file(&quot;/cfg/id.txt&quot;, &quot;1234&quot;, 4);
+    if (rc != 0) {
+        return -1;
+    }
+
+    return 0;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/nffs/nffs.html b/develop/os/modules/fs/nffs/nffs.html
new file mode 100644
index 000000000..de39d83c2
--- /dev/null
+++ b/develop/os/modules/fs/nffs/nffs.html
@@ -0,0 +1,410 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Newtron Flash Filesystem (nffs) &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Newtron Flash Filesystem (nffs)
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/nffs/nffs.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="newtron-flash-filesystem-nffs">
+<h1>Newtron Flash Filesystem (nffs)<a class="headerlink" href="#newtron-flash-filesystem-nffs" title="Permalink to this headline">?</a></h1>
+<p>Mynewt includes the Newtron Flash File System (nffs). This file system
+is designed with two priorities that makes it suitable for embedded use:</p>
+<ul class="simple">
+<li>Minimal RAM usage</li>
+<li>Reliability</li>
+</ul>
+<p>Mynewt also provides an abstraction layer API (fs) to allow you to swap
+out nffs with a different file system of your choice.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<div class="section" id="areas">
+<h3>Areas<a class="headerlink" href="#areas" title="Permalink to this headline">?</a></h3>
+<p>At the top level, an nffs disk is partitioned into <em>areas</em>. An area is a
+region of disk with the following properties:</p>
+<ol class="arabic simple">
+<li>An area can be fully erased without affecting any other areas.</li>
+<li>Writing to one area does not restrict writes to other areas.</li>
+</ol>
+<p><strong>Regarding property 1:</strong> Generally, flash hardware divides its memory
+space into ?blocks.? When erasing flash, entire blocks must be erased in
+a single operation; partial erases are not possible.</p>
+<p><strong>Regarding property 2:</strong> Furthermore, some flash hardware imposes a
+restriction with regards to writes: writes within a block must be
+strictly sequential. For example, if you wish to write to the first 16
+bytes of a block, you must write bytes 1 through 15 before writing byte
+16. This restriction only applies at the block level; writes to one
+block have no effect on what parts of other blocks can be written.</p>
+<p>Thus, each area must comprise a discrete number of blocks.</p>
+</div>
+<div class="section" id="initialization">
+<h3>Initialization<a class="headerlink" href="#initialization" title="Permalink to this headline">?</a></h3>
+<p>As part of overall system initialization, mynewt re-initialized the
+filesystem as follows:</p>
+<ol class="arabic simple">
+<li>Restores an existing file system via detection.</li>
+<li>Creates a new file system via formatting.</li>
+</ol>
+<p>A typical initialization sequence is the following:</p>
+<ol class="arabic simple">
+<li>Detect an nffs file system in a specific region of flash.</li>
+<li>If no file system was detected, if configured to do so, format a new
+file system in the same flash region.</li>
+</ol>
+<p>Note that in the latter case, the behavior is controlled with a variable
+in the syscfg.yml file. If NFFS_DETECT_FAIL is set to 1, the system
+ignores NFFS filesystem detection issues, but unless a new filesystem is
+formatted manually, all filesystem access will fail. If
+NFFS_DETECT_FAIL is set to 2, the system will format a new filesystem
+- note however this effectively deletes all existing data in the NFFS
+flash areas.</p>
+<p>Both methods require the user to describe how the flash memory should be
+divided into nffs areas. This is accomplished with an array of <a class="reference external" href="nffs_area_desc.html">struct
+nffs_area_desc</a> configured as part of the BSP
+configureation.</p>
+<p>After nffs has been initialized, the application can access the file
+system via the <a class="reference external" href="../fs/fs.html">file system abstraction layer</a>.</p>
+</div>
+</div>
+<div class="section" id="data-structures">
+<h2>Data Structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">fs/nffs</span></code> package exposes the following data structures:</p>
+</div>
+<div class="section" id="api">
+<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">?</a></h2>
+<p>The functions available in this OS feature are:</p>
+</div>
+<div class="section" id="miscellaneous-measures">
+<h2>Miscellaneous measures<a class="headerlink" href="#miscellaneous-measures" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>RAM usage:<ul>
+<li>24 bytes per inode</li>
+<li>12 bytes per data block</li>
+<li>36 bytes per inode cache entry</li>
+<li>32 bytes per data block cache entry</li>
+</ul>
+</li>
+<li>Maximum filename size: 256 characters (no null terminator required)</li>
+<li>Disallowed filename characters: ?/? and ?<a href="#id1"><span class="problematic" id="id2">:raw-latex:`\0`</span></a>?</li>
+</ul>
+</div>
+<div class="section" id="internals">
+<h2>Internals<a class="headerlink" href="#internals" title="Permalink to this headline">?</a></h2>
+<p>nffs implementation details can be found here:</p>
+<ul class="simple">
+<li><a class="reference external" href="nffs_internals.html">nffs_internals</a></li>
+</ul>
+</div>
+<div class="section" id="future-enhancements">
+<h2>Future enhancements<a class="headerlink" href="#future-enhancements" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>Error correction.</li>
+<li>Encryption.</li>
+<li>Compression.</li>
+</ul>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/nffs/nffs_area_desc.html b/develop/os/modules/fs/nffs/nffs_area_desc.html
new file mode 100644
index 000000000..ae155162b
--- /dev/null
+++ b/develop/os/modules/fs/nffs/nffs_area_desc.html
@@ -0,0 +1,354 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>struct nffs_area_desc &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    struct nffs_area_desc
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/nffs/nffs_area_desc.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="struct-nffs-area-desc">
+<h1>struct nffs_area_desc<a class="headerlink" href="#struct-nffs-area-desc" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct nffs_area_desc {
+    uint32_t nad_offset;    /* Flash offset of start of area. */
+    uint32_t nad_length;    /* Size of area, in bytes. */
+    uint8_t nad_flash_id;   /* Logical flash id */
+};
+</pre></div>
+</div>
+<p>Descriptor for a single nffs area. An area is a region of disk with the
+following properties:</p>
+<ol class="arabic simple">
+<li>An area can be fully erased without affecting any other areas.</li>
+<li>Writing to one area does not restrict writes to other areas.</li>
+</ol>
+<p><strong>Regarding property 1:</strong> Generally, flash hardware divides its memory
+space into ?blocks.? When erasing flash, entire blocks must be erased in
+a single operation; partial erases are not possible.</p>
+<p><strong>Regarding property 2:</strong> Furthermore, some flash hardware imposes a
+restriction with regards to writes: writes within a block must be
+strictly sequential. For example, if you wish to write to the first 16
+bytes of a block, you must write bytes 1 through 15 before writing byte
+16. This restriction only applies at the block level; writes to one
+block have no effect on what parts of other blocks can be written.</p>
+<p>Thus, each area must comprise a discrete number of blocks.</p>
+<p>An array of area descriptors is terminated by an entry with a
+<em>nad_length</em> value of 0.</p>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>Typically, a product?s flash layout is exposed via its BSP-specific
+<code class="docutils literal notranslate"><span class="pre">bsp_flash_dev()</span></code> function. This function retrieves the layout of the
+specified flash device resident in the BSP. The result of this function
+can then be converted into the <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">nffs_area_desc[]</span></code> that nffs
+requires.</p>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;nffs/nffs.h&quot;
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/nffs/nffs_config.html b/develop/os/modules/fs/nffs/nffs_config.html
new file mode 100644
index 000000000..5fb636a82
--- /dev/null
+++ b/develop/os/modules/fs/nffs/nffs_config.html
@@ -0,0 +1,354 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>struct nffs_config &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    struct nffs_config
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/nffs/nffs_config.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="struct-nffs-config">
+<h1>struct nffs_config<a class="headerlink" href="#struct-nffs-config" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct nffs_config {
+    /** Maximum number of inodes; default=1024. */
+    uint32_t nc_num_inodes;
+
+    /** Maximum number of data blocks; default=4096. */
+    uint32_t nc_num_blocks;
+
+    /** Maximum number of open files; default=4. */
+    uint32_t nc_num_files;
+
+    /** Inode cache size; default=4. */
+    uint32_t nc_num_cache_inodes;
+
+    /** Data block cache size; default=64. */
+    uint32_t nc_num_cache_blocks;
+};
+</pre></div>
+</div>
+<p>The file system is configured by populating fields in a global
+<code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">nffs_config</span></code> instance. Each field in the structure corresponds
+to a setting. All configuration must be done prior to calling
+nffs_init().</p>
+<p>Any fields that are set to 0 (or not set at all) inherit the
+corresponding default value. This means that it is impossible to
+configure any setting with a value of zero.</p>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>The global <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">nffs_config</span></code> instance is exposed in <code class="docutils literal notranslate"><span class="pre">nffs/nffs.h</span></code>
+as follows:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>extern struct nffs_config nffs_config;
+</pre></div>
+</div>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;nffs/nffs.h&quot;
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/nffs/nffs_detect.html b/develop/os/modules/fs/nffs/nffs_detect.html
new file mode 100644
index 000000000..24a812c17
--- /dev/null
+++ b/develop/os/modules/fs/nffs/nffs_detect.html
@@ -0,0 +1,404 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>nffs_detect &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    nffs_detect
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/nffs/nffs_detect.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="nffs-detect">
+<h1>nffs_detect<a class="headerlink" href="#nffs-detect" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int nffs_detect(const struct nffs_area_desc *area_descs)
+</pre></div>
+</div>
+<p>Searches for a valid nffs file system among the specified areas. This
+function succeeds if a file system is detected among any subset of the
+supplied areas. If the area set does not contain a valid file system, a
+new one can be created via a separate call to nffs_format().</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="35%" />
+<col width="65%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>area_descs</td>
+<td>The set of areas to search. This
+array must be terminated with a
+0-length area.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li>FS_ECORRUPT if no valid file system was detected</li>
+<li>Other <a class="reference external" href="../fs/fs_return_codes.html">FS error code</a> on failure</li>
+</ul>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;nffs/nffs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/*** hw/hal/include/hal/flash_map.h */
+
+/*
+ * Flash area types
+ */
+#define FLASH_AREA_BOOTLOADER           0
+#define FLASH_AREA_IMAGE_0              1
+#define FLASH_AREA_IMAGE_1              2
+#define FLASH_AREA_IMAGE_SCRATCH        3
+#define FLASH_AREA_NFFS                 4
+</pre></div>
+</div>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/*** project/slinky/src/main.c */
+
+int
+main(int argc, char **argv)
+{
+    int rc;
+    int cnt;
+
+    /* NFFS_AREA_MAX is defined in the BSP-specified bsp.h header file. */
+    struct nffs_area_desc descs[NFFS_AREA_MAX];
+
+    /* Initialize nffs&#39;s internal state. */
+    rc = nffs_init();
+    assert(rc == 0);
+
+    /* Convert the set of flash blocks we intend to use for nffs into an array
+     * of nffs area descriptors.
+     */
+    cnt = NFFS_AREA_MAX;
+    rc = flash_area_to_nffs_desc(FLASH_AREA_NFFS, &amp;cnt, descs);
+    assert(rc == 0);
+
+    /* Attempt to restore an existing nffs file system from flash. */
+    if (nffs_detect(descs) == FS_ECORRUPT) {
+        /* No valid nffs instance detected; format a new one. */
+        rc = nffs_format(descs);
+        assert(rc == 0);
+    }
+    /* [ ... ] */
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/nffs/nffs_format.html b/develop/os/modules/fs/nffs/nffs_format.html
new file mode 100644
index 000000000..9320c43e1
--- /dev/null
+++ b/develop/os/modules/fs/nffs/nffs_format.html
@@ -0,0 +1,399 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>nffs_format &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    nffs_format
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/nffs/nffs_format.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="nffs-format">
+<h1>nffs_format<a class="headerlink" href="#nffs-format" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int nffs_format(const struct nffs_area_desc *area_descs)
+</pre></div>
+</div>
+<p>Erases all the specified areas and initializes them with a clean nffs
+file system.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="33%" />
+<col width="67%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head"><em>Argument</em></th>
+<th class="head"><em>Description</em></th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>area_descs</td>
+<td>The set of areas to format</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="../fs/fs_return_codes.html">FS error code</a> on failure.</li>
+</ul>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;nffs/nffs.h&quot;
+</pre></div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/*** hw/hal/include/hal/flash_map.h */
+
+/*
+ * Flash area types
+ */
+#define FLASH_AREA_BOOTLOADER           0
+#define FLASH_AREA_IMAGE_0              1
+#define FLASH_AREA_IMAGE_1              2
+#define FLASH_AREA_IMAGE_SCRATCH        3
+#define FLASH_AREA_NFFS                 4
+</pre></div>
+</div>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/*** project/slinky/src/main.c */
+
+int
+main(int argc, char **argv)
+{
+    int rc;
+    int cnt;
+
+    /* NFFS_AREA_MAX is defined in the BSP-specified bsp.h header file. */
+    struct nffs_area_desc descs[NFFS_AREA_MAX];
+
+    /* Initialize nffs&#39;s internal state. */
+    rc = nffs_init();
+    assert(rc == 0);
+
+    /* Convert the set of flash blocks we intend to use for nffs into an array
+     * of nffs area descriptors.
+     */
+    cnt = NFFS_AREA_MAX;
+    rc = flash_area_to_nffs_desc(FLASH_AREA_NFFS, &amp;cnt, descs);
+    assert(rc == 0);
+
+    /* Attempt to restore an existing nffs file system from flash. */
+    if (nffs_detect(descs) == FS_ECORRUPT) {
+        /* No valid nffs instance detected; format a new one. */
+        rc = nffs_format(descs);
+        assert(rc == 0);
+    }
+    /* [ ... ] */
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/nffs/nffs_init.html b/develop/os/modules/fs/nffs/nffs_init.html
new file mode 100644
index 000000000..caadf3c58
--- /dev/null
+++ b/develop/os/modules/fs/nffs/nffs_init.html
@@ -0,0 +1,333 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>nffs_init &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    nffs_init
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/nffs/nffs_init.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="nffs-init">
+<h1>nffs_init<a class="headerlink" href="#nffs-init" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int nffs_init(void)
+</pre></div>
+</div>
+<p>Initializes internal nffs memory and data structures. This must be
+called before any nffs operations are attempted.</p>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>0 on success</li>
+<li><a class="reference external" href="../fs/fs_return_codes.html">FS error code</a> on failure</li>
+</ul>
+</div>
+<div class="section" id="header-file">
+<h2>Header file<a class="headerlink" href="#header-file" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;nffs/nffs.h&quot;
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/nffs/nffs_internals.html b/develop/os/modules/fs/nffs/nffs_internals.html
new file mode 100644
index 000000000..372cc3c8e
--- /dev/null
+++ b/develop/os/modules/fs/nffs/nffs_internals.html
@@ -0,0 +1,795 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Internals of nffs &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Internals of nffs
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/nffs/nffs_internals.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="internals-of-nffs">
+<h1>Internals of nffs<a class="headerlink" href="#internals-of-nffs" title="Permalink to this headline">?</a></h1>
+<div class="section" id="disk-structure">
+<h2>Disk structure<a class="headerlink" href="#disk-structure" title="Permalink to this headline">?</a></h2>
+<p>On disk, each area is prefixed with the following header:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/** On-disk representation of an area header. */
+struct nffs_disk_area {
+    uint32_t nda_magic[4];  /* NFFS_AREA_MAGIC{0,1,2,3} */
+    uint32_t nda_length;    /* Total size of area, in bytes. */
+    uint8_t nda_ver;        /* Current nffs version: 0 */
+    uint8_t nda_gc_seq;     /* Garbage collection count. */
+    uint8_t reserved8;
+    uint8_t nda_id;         /* 0xff if scratch area. */
+};
+</pre></div>
+</div>
+<p>Beyond its header, an area contains a sequence of disk objects,
+representing the contents of the file system. There are two types of
+objects: <em>inodes</em> and <em>data blocks</em>. An inode represents a file or
+directory; a data block represents part of a file?s contents.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/** On-disk representation of an inode (file or directory). */
+struct nffs_disk_inode {
+    uint32_t ndi_magic;         /* NFFS_INODE_MAGIC */
+    uint32_t ndi_id;            /* Unique object ID. */
+    uint32_t ndi_seq;           /* Sequence number; greater supersedes
+                                   lesser. */
+    uint32_t ndi_parent_id;     /* Object ID of parent directory inode. */
+    uint8_t reserved8;
+    uint8_t ndi_filename_len;   /* Length of filename, in bytes. */
+    uint16_t ndi_crc16;         /* Covers rest of header and filename. */
+    /* Followed by filename. */
+};
+</pre></div>
+</div>
+<p>An inode filename?s length cannot exceed 256 bytes. The filename is not
+null-terminated. The following ASCII characters are not allowed in a
+filename:</p>
+<ul class="simple">
+<li>/ (slash character)</li>
+<li><a href="#id1"><span class="problematic" id="id2">:raw-latex:`\0`</span></a> (NUL character)</li>
+</ul>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/** On-disk representation of a data block. */
+struct nffs_disk_block {
+    uint32_t ndb_magic;     /* NFFS_BLOCK_MAGIC */
+    uint32_t ndb_id;        /* Unique object ID. */
+    uint32_t ndb_seq;       /* Sequence number; greater supersedes lesser. */
+    uint32_t ndb_inode_id;  /* Object ID of owning inode. */
+    uint32_t ndb_prev_id;   /* Object ID of previous block in file;
+                               NFFS_ID_NONE if this is the first block. */
+    uint16_t ndb_data_len;  /* Length of data contents, in bytes. */
+    uint16_t ndb_crc16;     /* Covers rest of header and data. */
+    /* Followed by &#39;ndb_data_len&#39; bytes of data. */
+};
+</pre></div>
+</div>
+<p>Each data block contains the ID of the previous data block in the file.
+Together, the set of blocks in a file form a reverse singly-linked list.</p>
+<p>The maximum number of data bytes that a block can contain is determined
+at initialization-time. The result is the greatest number which
+satisfies all of the following restrictions:</p>
+<ul class="simple">
+<li>No more than 2048.</li>
+<li>At least two maximum-sized blocks can fit in the smallest area.</li>
+</ul>
+<p>The 2048 number was chosen somewhat arbitrarily, and may change in the
+future.</p>
+</div>
+<div class="section" id="id-space">
+<h2>ID space<a class="headerlink" href="#id-space" title="Permalink to this headline">?</a></h2>
+<p>All disk objects have a unique 32-bit ID. The ID space is partitioned as
+follows:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="48%" />
+<col width="52%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">ID range</th>
+<th class="head">Node type</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>0x00000000 - 0x0fffffff</td>
+<td>Directory inodes</td>
+</tr>
+<tr class="row-odd"><td>0x10000000 - 0x7fffffff</td>
+<td>File inodes</td>
+</tr>
+<tr class="row-even"><td>0x80000000 - 0xfffffffe</td>
+<td>Data blocks</td>
+</tr>
+<tr class="row-odd"><td>0xffffffff</td>
+<td>Reserved (NFFS_ID_NONE)</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="scratch-area">
+<h2>Scratch area<a class="headerlink" href="#scratch-area" title="Permalink to this headline">?</a></h2>
+<p>A valid nffs file system must contain a single ?scratch area.? The
+scratch area does not contain any objects of its own, and is only used
+during garbage collection. The scratch area must have a size greater
+than or equal to each of the other areas in flash.</p>
+</div>
+<div class="section" id="ram-representation">
+<h2>RAM representation<a class="headerlink" href="#ram-representation" title="Permalink to this headline">?</a></h2>
+<p>Every object in the file system is stored in a 256-entry hash table. An
+object?s hash key is derived from its 32-bit ID. Each list in the hash
+table is sorted by time of use; most-recently-used is at the front of
+the list. All objects are represented by the following structure:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/**
+ * What gets stored in the hash table.  Each entry represents a data block or
+ * an inode.
+ */
+struct nffs_hash_entry {
+    SLIST_ENTRY(nffs_hash_entry) nhe_next;
+    uint32_t nhe_id;        /* 0 - 0x7fffffff if inode; else if block. */
+    uint32_t nhe_flash_loc; /* Upper-byte = area idx; rest = area offset. */
+};
+</pre></div>
+</div>
+<p>For each data block, the above structure is all that is stored in RAM.
+To acquire more information about a data block, the block header must be
+read from flash.</p>
+<p>Inodes require a fuller RAM representation to capture the structure of
+the file system. There are two types of inodes: <em>files</em> and
+<em>directories</em>. Each inode hash entry is actually an instance of the
+following structure:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/** Each inode hash entry is actually one of these. */
+struct nffs_inode_entry {
+    struct nffs_hash_entry nie_hash_entry;
+    SLIST_ENTRY(nffs_inode_entry) nie_sibling_next;
+    union {
+        struct nffs_inode_list nie_child_list;           /* If directory */
+        struct nffs_hash_entry *nie_last_block_entry;    /* If file */
+    };
+    uint8_t nie_refcnt;
+};
+</pre></div>
+</div>
+<p>A directory inode contains a list of its child files and directories
+(<em>fie_child_list</em>). These entries are sorted alphabetically using the
+ASCII character set.</p>
+<p>A file inode contains a pointer to the last data block in the file
+(<em>nie_last_block_entry</em>). For most file operations, the reversed
+block list must be walked backwards. This introduces a number of speed
+inefficiencies:</p>
+<ul class="simple">
+<li>All data blocks must be read to determine the length of the file.</li>
+<li>Data blocks often need to be processed sequentially. The reversed
+nature of the block list transforms this from linear time to an
+O(n^2) operation.</li>
+</ul>
+<p>Furthermore, obtaining information about any constituent data block
+requires a separate flash read.</p>
+</div>
+<div class="section" id="inode-cache-and-data-block-cache">
+<h2>Inode cache and Data Block cache<a class="headerlink" href="#inode-cache-and-data-block-cache" title="Permalink to this headline">?</a></h2>
+<p>The speed issues are addressed by a pair of caches. Cached inodes
+entries contain the file length and a much more convenient doubly-linked
+list of cached data blocks. The benefit of using caches is that the size
+of the caches need not be proportional to the size of the file system.
+In other words, caches can address speed efficiency concerns without
+negatively impacting the file system?s scalability.</p>
+<p>nffs requires both caches during normal operation, so it is not possible
+to disable them. However, the cache sizes are configurable, and both
+caches can be configured with a size of one if RAM usage must be
+minimized.</p>
+<p>The following data structures are used in the inode and data block
+caches.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/** Full data block representation; not stored permanently in RAM. */
+struct nffs_block {
+    struct nffs_hash_entry *nb_hash_entry;   /* Points to real block entry. */
+    uint32_t nb_seq;                         /* Sequence number; greater
+                                                supersedes lesser. */
+    struct nffs_inode_entry *nb_inode_entry; /* Owning inode. */
+    struct nffs_hash_entry *nb_prev;         /* Previous block in file. */
+    uint16_t nb_data_len;                    /* # of data bytes in block. */
+    uint16_t reserved16;
+};
+</pre></div>
+</div>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/** Represents a single cached data block. */
+struct nffs_cache_block {
+    TAILQ_ENTRY(nffs_cache_block) ncb_link; /* Next / prev cached block. */
+    struct nffs_block ncb_block;            /* Full data block. */
+    uint32_t ncb_file_offset;               /* File offset of this block. */
+};
+</pre></div>
+</div>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/** Full inode representation; not stored permanently in RAM. */
+struct nffs_inode {
+    struct nffs_inode_entry *ni_inode_entry; /* Points to real inode entry. */
+    uint32_t ni_seq;                         /* Sequence number; greater
+                                                supersedes lesser. */
+    struct nffs_inode_entry *ni_parent;      /* Points to parent directory. */
+    uint8_t ni_filename_len;                 /* # chars in filename. */
+    uint8_t ni_filename[NFFS_SHORT_FILENAME_LEN]; /* First 3 bytes. */
+};
+</pre></div>
+</div>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/** Doubly-linked tail queue of cached blocks; contained in cached inodes. */
+TAILQ_HEAD(nffs_block_cache_list, nffs_block_cache_entry);
+
+/** Represents a single cached file inode. */
+struct nffs_cache_inode {
+    TAILQ_ENTRY(nffs_cache_inode) nci_link;        /* Sorted; LRU at tail. */
+    struct nffs_inode nci_inode;                   /* Full inode. */
+    struct nffs_cache_block_list nci_block_list;   /* List of cached blocks. */
+    uint32_t nci_file_size;                        /* Total file size. */
+};
+</pre></div>
+</div>
+<p>Only file inodes are cached; directory inodes are never cached.</p>
+<p>Within a cached inode, all cached data blocks are contiguous. E.g., if
+the start and end of a file are cached, then the middle must also be
+cached. A data block is only cached if its owning file is also cached.</p>
+<p>Internally, cached inodes are stored in a singly-linked list, ordered by
+time of use. The most-recently-used entry is the first element in the
+list. If a new inode needs to be cached, but the inode cache is full,
+the least-recently-used entry is freed to make room for the new one. The
+following operations cause an inode to be cached:</p>
+<ul class="simple">
+<li>Querying a file?s length.</li>
+<li>Seeking within a file.</li>
+<li>Reading from a file.</li>
+<li>Writing to a file.</li>
+</ul>
+<p>The following operations cause a data block to be cached:</p>
+<ul class="simple">
+<li>Reading from the block.</li>
+<li>Writing to the block.</li>
+</ul>
+<p>If one of the above operations is applied to a data block that is not
+currently cached, nffs uses the following procedure to cache the
+necessary block:</p>
+<ol class="arabic simple">
+<li>If none of the owning inode?s blocks are currently cached, allocate a
+cached block entry corresponding to the requested block and insert it
+into the inode?s list.</li>
+<li>Else if the requested file offset is less than that of the first
+cached block, bridge the gap between the inode?s sequence of cached
+blocks and the block that now needs to be cached. This is
+accomplished by caching each block in the gap, finishing with the
+requested block.</li>
+<li>Else (the requested offset is beyond the end of the cache),<ol class="arabic">
+<li>If the requested offset belongs to the block that immediately
+follows the end of the cache, cache the block and append it to the
+list.</li>
+<li>Else, clear the cache, and populate it with the single entry
+corresponding to the requested block.</li>
+</ol>
+</li>
+</ol>
+<p>If the system is unable to allocate a cached block entry at any point
+during the above procedure, the system frees up other blocks currently
+in the cache. This is accomplished as follows:</p>
+<ul class="simple">
+<li>Iterate the inode cache in reverse (i.e., start with the
+least-recently-used entry). For each entry:<ol class="arabic">
+<li>If the entry?s cached block list is empty, advance to the next
+entry.</li>
+<li>Else, free all the cached blocks in the entry?s list.</li>
+</ol>
+</li>
+</ul>
+<p>Because the system imposes a minimum block cache size of one, the above
+procedure will always reclaim at least one cache block entry. The above
+procedure may result in the freeing of the block list that belongs to
+the very inode being operated on. This is OK, as the final block to get
+cached is always the block being requested.</p>
+</div>
+<div class="section" id="detection">
+<h2>Detection<a class="headerlink" href="#detection" title="Permalink to this headline">?</a></h2>
+<p>The file system detection process consists of scanning a specified set
+of flash regions for valid nffs areas, and then populating the RAM
+representation of the file system with the detected objects. Detection
+is initiated with the <a class="reference external" href="nffs_detect.html">nffs_detect()</a> function.</p>
+<p>Not every area descriptor passed to <code class="docutils literal notranslate"><span class="pre">nffs_detect()</span></code> needs to reference
+a valid nffs area. Detection is successful as long as a complete file
+system is detected somewhere in the specified regions of flash. If an
+application is unsure where a file system might be located, it can
+initiate detection across the entire flash region.</p>
+<p>A detected file system is valid if:</p>
+<ol class="arabic simple">
+<li>At least one non-scratch area is present.</li>
+<li>At least one scratch area is present (only the first gets used if
+there is more than one).</li>
+<li>The root directory inode is present.</li>
+</ol>
+<p>During detection, each indicated region of flash is checked for a valid
+area header. The contents of each valid non-scratch area are then
+restored into the nffs RAM representation. The following procedure is
+applied to each object in the area:</p>
+<ol class="arabic simple">
+<li>Verify the object?s integrity via a crc16 check. If invalid, the
+object is discarded and the procedure restarts on the next object in
+the area.</li>
+<li>Convert the disk object into its corresponding RAM representation and
+insert it into the hash table. If the object is an inode, its
+reference count is initialized to 1, indicating ownership by its
+parent directory.</li>
+<li>If an object with the same ID is already present, then one supersedes
+the other. Accept the object with the greater sequence number and
+discard the other.</li>
+<li>If the object references a nonexistent inode (parent directory in the
+case of an inode; owning file in the case of a data block), insert a
+temporary ?dummy? inode into the hash table so that inter-object
+links can be maintained until the absent inode is eventually
+restored. Dummy inodes are identified by a reference count of 0.</li>
+<li>If a delete record for an inode is encountered, the inode?s parent
+pointer is set to null to indicate that it should be removed from
+RAM.</li>
+</ol>
+<p>If nffs encounters an object that cannot be identified (i.e., its magic
+number is not valid), it scans the remainder of the flash area for the
+next valid magic number. Upon encountering a valid object, nffs resumes
+the procedure described above.</p>
+<p>After all areas have been restored, a sweep is performed across the
+entire RAM representation so that invalid inodes can be deleted from
+memory.</p>
+<p>For each directory inode:</p>
+<ul class="simple">
+<li>If its reference count is 0 (i.e., it is a dummy), migrate its
+children to the <em>/lost+found</em> directory, and delete it from the RAM
+representation. This should only happen in the case of file system
+corruption.</li>
+<li>If its parent reference is null (i.e., it was deleted), delete it and
+all its children from the RAM representation.</li>
+</ul>
+<p>For each file inode:</p>
+<ul class="simple">
+<li>If its reference count is 0 (i.e., it is a dummy), delete it from the
+RAM representation. This should only happen in the case of file
+system corruption. (We should try to migrate the file to the
+lost+found directory in this case, as mentioned in the todo section).</li>
+</ul>
+<p>When an object is deleted during this sweep, it is only deleted from the
+RAM representation; nothing is written to disk.</p>
+<p>When objects are migrated to the lost+found directory, their parent
+inode reference is permanently updated on the disk.</p>
+<p>In addition, a single scratch area is identified during the detection
+process. The first area whose <em>fda_id</em> value is set to 0xff is
+designated as the file system scratch area. If no valid scratch area is
+found, the cause could be that the system was restarted while a garbage
+collection cycle was in progress. Such a condition is identified by the
+presence of two areas with the same ID. In such a case, the shorter of
+the two areas is erased and designated as the scratch area.</p>
+</div>
+<div class="section" id="formatting">
+<h2>Formatting<a class="headerlink" href="#formatting" title="Permalink to this headline">?</a></h2>
+<p>A new nffs file system is created via formatting. Formatting is achieved
+via the <a class="reference external" href="nffs_format.html">nffs_format()</a> function.</p>
+<p>During a successful format, an area header is written to each of the
+specified locations. One of the areas in the set is designated as the
+initial scratch area.</p>
+</div>
+<div class="section" id="flash-writes">
+<h2>Flash writes<a class="headerlink" href="#flash-writes" title="Permalink to this headline">?</a></h2>
+<p>The nffs implementation always writes in a strictly sequential fashion
+within an area. For each area, the system keeps track of the current
+offset. Whenever an object gets written to an area, it gets written to
+that area?s current offset, and the offset is increased by the object?s
+disk size.</p>
+<p>When a write needs to be performed, the nffs implementation selects the
+appropriate destination area by iterating though each area until one
+with sufficient free space is encountered.</p>
+<p>There is no write buffering. Each call to a write function results in a
+write operation being sent to the flash hardware.</p>
+</div>
+<div class="section" id="new-objects">
+<h2>New objects<a class="headerlink" href="#new-objects" title="Permalink to this headline">?</a></h2>
+<p>Whenever a new object is written to disk, it is assigned the following
+properties:</p>
+<ul class="simple">
+<li><em>ID:</em> A unique value is selected from the 32-bit ID space, as
+appropriate for the object?s type.</li>
+<li><em>Sequence number:</em> 0</li>
+</ul>
+<p>When a new file or directory is created, a corresponding inode is
+written to flash. Likewise, a new data block also results in the writing
+of a corresponding disk object.</p>
+</div>
+<div class="section" id="moving-renaming-files-and-directories">
+<h2>Moving/Renaming files and directories<a class="headerlink" href="#moving-renaming-files-and-directories" title="Permalink to this headline">?</a></h2>
+<p>When a file or directory is moved or renamed, its corresponding inode is
+rewritten to flash with the following properties:</p>
+<ul class="simple">
+<li><em>ID:</em> Unchanged</li>
+<li><em>Sequence number:</em> Previous value plus one.</li>
+<li><em>Parent inode:</em> As specified by the move / rename operation.</li>
+<li><em>Filename:</em> As specified by the move / rename operation.</li>
+</ul>
+<p>Because the inode?s ID is unchanged, all dependent objects remain valid.</p>
+</div>
+<div class="section" id="unlinking-files-and-directories">
+<h2>Unlinking files and directories<a class="headerlink" href="#unlinking-files-and-directories" title="Permalink to this headline">?</a></h2>
+<p>When a file or directory is unlinked from its parent directory, a
+deletion record for the unlinked inode gets written to flash. The
+deletion record is an inode with the following properties:</p>
+<ul class="simple">
+<li><em>ID:</em> Unchanged</li>
+<li><em>Sequence number:</em> Previous value plus one.</li>
+<li><em>Parent inode ID:</em> NFFS_ID_NONE</li>
+</ul>
+<p>When an inode is unlinked, no deletion records need to be written for
+the inode?s dependent objects (constituent data blocks or child inodes).
+During the next file system detection, it is recognized that the objects
+belong to a deleted inode, so they are not restored into the RAM
+representation.</p>
+<p>If a file has an open handle at the time it gets unlinked, application
+code can continued to use the file handle to read and write data. All
+files retain a reference count, and a file isn?t deleted from the RAM
+representation until its reference code drops to 0. Any attempt to open
+an unlinked file fails, even if the file is referenced by other file
+handles.</p>
+</div>
+<div class="section" id="writing-to-a-file">
+<h2>Writing to a file<a class="headerlink" href="#writing-to-a-file" title="Permalink to this headline">?</a></h2>
+<p>The following procedure is used whenever the application code writes to
+a file. First, if the write operation specifies too much data to fit
+into a single block, the operation is split into several separate write
+operations. Then, for each write operation:</p>
+<ol class="arabic simple">
+<li>Determine which existing blocks the write operation overlaps (n =
+number of overwritten blocks).</li>
+<li>If <em>n = 0</em>, this is an append operation. Write a data block with the
+following properties:<ul>
+<li><em>ID:</em> New unique value.</li>
+<li><em>Sequence number:</em> 0.</li>
+</ul>
+</li>
+<li>Else <em>(n &gt; 1)</em>, this write overlaps existing data.<ol class="arabic">
+<li>For each block in <em>[1, 2, ? n-1]</em>, write a new block containing
+the updated contents. Each new block supersedes the block it
+overwrites. That is, each block has the following properties:<ul>
+<li><em>ID:</em> Unchanged</li>
+<li><em>Sequence number:</em> Previous value plus one.</li>
+</ul>
+</li>
+<li>Write the nth block. The nth block includes all appended data, if
+any. As with the other blocks, its ID is unchanged and its
+sequence number is incremented.</li>
+</ol>
+</li>
+</ol>
+<p>Appended data can only be written to the end of the file. That is,
+?holes? are not supported.</p>
+</div>
+<div class="section" id="garbage-collection">
+<h2>Garbage collection<a class="headerlink" href="#garbage-collection" title="Permalink to this headline">?</a></h2>
+<p>When the file system is too full to accommodate a write operation, the
+system must perform garbage collection to make room. The garbage
+collection procedure is described below:</p>
+<ul class="simple">
+<li>The non-scratch area with the lowest garbage collection sequence
+number is selected as the ?source area.? If there are other areas
+with the same sequence number, the one with the smallest flash offset
+is selected.</li>
+<li>The source area?s ID is written to the scratch area?s header,
+transforming it into a non-scratch ID. This former scratch area is
+now known as the ?destination area.?</li>
+<li>The RAM representation is exhaustively searched for collectible
+objects. The following procedure is applied to each inode in the
+system:<ul>
+<li>If the inode is resident in the source area, copy the inode record
+to the destination area.</li>
+<li>If the inode is a file inode, walk the inode?s list of data
+blocks, starting with the last block in the file. Each block that
+is resident in the source area is copied to the destination area.
+If there is a run of two or more blocks that are resident in the
+source area, they are consolidated and copied to the destination
+area as a single new block (subject to the maximum block size
+restriction).</li>
+</ul>
+</li>
+<li>The source area is reformatted as a scratch sector (i.e., is is fully
+erased, and its header is rewritten with an ID of 0xff). The area?s
+garbage collection sequence number is incremented prior to rewriting
+the header. This area is now the new scratch sector.</li>
+</ul>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/fs/otherfs.html b/develop/os/modules/fs/otherfs.html
new file mode 100644
index 000000000..6b25344b1
--- /dev/null
+++ b/develop/os/modules/fs/otherfs.html
@@ -0,0 +1,385 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Other File Systems &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Other File Systems
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/fs/otherfs.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="other-file-systems">
+<h1>Other File Systems<a class="headerlink" href="#other-file-systems" title="Permalink to this headline">?</a></h1>
+<p>Libraries use Mynewt?s file system abstraction layer (<code class="docutils literal notranslate"><span class="pre">fs/fs</span></code>) for all
+file operations. Because clients use an abstraction layer, the
+underlying file system can be swapped out without affecting client code.
+This page documents the procedure for plugging a custom file system into
+the Mynewt file system abstraction layer.</p>
+<div class="section" id="specify-fs-fs-as-a-dependency-of-your-file-system-package">
+<h2>1. Specify <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> as a dependency of your file system package.<a class="headerlink" href="#specify-fs-fs-as-a-dependency-of-your-file-system-package" title="Permalink to this headline">?</a></h2>
+<p>The file system package must register itself with the <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> package,
+so it must specify <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> as a dependency. As an example, part of the
+Newtron Flash File System (nffs) <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> is reproduced below. Notice
+the first item in the <code class="docutils literal notranslate"><span class="pre">pkg.deps</span></code> list.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">pkg.name: fs/nffs</span>
+<span class="go">pkg.deps:</span>
+<span class="go">    - fs/fs</span>
+<span class="go">    - hw/hal</span>
+<span class="go">    - libs/os</span>
+<span class="go">    - libs/testutil</span>
+<span class="go">    - sys/log</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="register-your-package-s-api-with-the-fs-fs-interface">
+<h2>2. Register your package?s API with the <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> interface.<a class="headerlink" href="#register-your-package-s-api-with-the-fs-fs-interface" title="Permalink to this headline">?</a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> package calls into the underlying file system via a
+collection of function pointers. To plug your file system into the
+<code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> API, you must assign these function pointers to the
+corresponding routines in your file system package.</p>
+<p>For example, <code class="docutils literal notranslate"><span class="pre">nffs</span></code> registers itself with <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code> as follows (from
+<code class="docutils literal notranslate"><span class="pre">fs/nffs/src/nffs.c</span></code>):</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static const struct fs_ops nffs_ops = {
+    .f_open = nffs_open,
+    .f_close = nffs_close,
+    .f_read = nffs_read,
+    .f_write = nffs_write,
+
+    .f_seek = nffs_seek,
+    .f_getpos = nffs_getpos,
+    .f_filelen = nffs_file_len,
+
+    .f_unlink = nffs_unlink,
+    .f_rename = nffs_rename,
+    .f_mkdir = nffs_mkdir,
+
+    .f_opendir = nffs_opendir,
+    .f_readdir = nffs_readdir,
+    .f_closedir = nffs_closedir,
+
+    .f_dirent_name = nffs_dirent_name,
+    .f_dirent_is_dir = nffs_dirent_is_dir,
+
+    .f_name = &quot;nffs&quot;
+};
+
+int
+nffs_init(void)
+{
+    /* [...] */
+    fs_register(&amp;nffs_ops);
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="header-files">
+<h2>Header Files<a class="headerlink" href="#header-files" title="Permalink to this headline">?</a></h2>
+<p>To gain access to <code class="docutils literal notranslate"><span class="pre">fs/fs</span></code>?s registration interface, include the
+following header:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;fs/fs_if.h&quot;
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal.html b/develop/os/modules/hal/hal.html
new file mode 100644
index 000000000..7f37e820e
--- /dev/null
+++ b/develop/os/modules/hal/hal.html
@@ -0,0 +1,398 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Hardware Abstraction Layer &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Hardware Abstraction Layer
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="hardware-abstraction-layer">
+<h1>Hardware Abstraction Layer<a class="headerlink" href="#hardware-abstraction-layer" title="Permalink to this headline">?</a></h1>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>The Hardware Abstraction Layer (HAL) in Mynewt is a low-level, base
+peripheral abstraction. HAL provides a core set of services that is
+implemented for each MCU supported by Mynewt. Device drivers are
+typically the software libraries that initialize the hardware and manage
+access to the hardware by higher layers of software. In the Mynewt OS,
+the layers can be depicted in the following manner.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>+???????????????????????????+
+|            app            |
++???????????????????????????+
+|          (n)drivers       |
++???????????????????????????+
+|     HAL     |     BSP     |
++?????????????+?????????????+
+</pre></div>
+</div>
+<ul class="simple">
+<li>The Board Support Package (BSP) abstracts board specific
+configurations e.g. CPU frequency, input voltage, LED pins, on-chip
+flash map etc.</li>
+<li>The Hardware Abstraction Layer (HAL) abstracts architecture-specific
+functionality. It initializes and enables components within a master
+processor. It is designed to be portable across all the various MCUs
+supported in Mynewt (e.g. Nordic?s nRF51, Nordic?s nRF52, NXP?s
+MK64F12 etc.). It includes code that initializes and manages access
+to components of the board such as board buses (I2C, PCI, PCMCIA,
+etc.), off-chip memory (controllers, level 2+ cache, Flash, etc.),
+and off-chip I/O (Ethernet, RS-232, display, mouse, etc.)</li>
+<li>The driver sits atop the BSP and HAL. It abstracts the common modes
+of operation for each peripheral device connected via the standard
+interfaces to the processor. There may be multiple driver
+implementations of differing complexities for a particular peripheral
+device. The drivers are the ones that register with the kernel?s
+power management APIs, and manage turning on and off peripherals and
+external chipsets, etc.</li>
+</ul>
+</div>
+<div class="section" id="general-design-principles">
+<h2>General design principles<a class="headerlink" href="#general-design-principles" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>The HAL API should be simple. It should be as easy to implement for
+hardware as possible. A simple HAL API makes it easy to bring up new
+MCUs quickly.</li>
+<li>The HAL API should portable across all the various MCUs supported in
+Mynewt (e.g. Nordic?s nRF51, Nordic?s nRF52, NXP?s MK64F12 etc.).</li>
+</ul>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>A Mynewt contributor might write a light-switch driver that provides the
+functionality of an intelligent light switch. This might involve using a
+timer, a General Purpose Output (GPO) to set the light to the on or off
+state, and flash memory to log the times the lights were turned on or
+off. The contributor would like this package to work with as many
+different hardware platforms as possible, but can?t possibly test across
+the complete set of hardware supported by Mynewt.</p>
+<p><strong>Solution</strong>: The contributor uses the HAL APIs to control the
+peripherals. The Mynewt team ensures that the underlying HAL devices all
+work equivalently through the HAL APIs. The contributors library is
+independent of the specifics of the hardware.</p>
+</div>
+<div class="section" id="dependency">
+<h2>Dependency<a class="headerlink" href="#dependency" title="Permalink to this headline">?</a></h2>
+<p>To include the HAL within your project, simply add it to your package
+dependencies as follows:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">pkg.deps:</span>
+<span class="go">    . . .</span>
+<span class="go">    hw/hal</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="platform-support">
+<h2>Platform Support<a class="headerlink" href="#platform-support" title="Permalink to this headline">?</a></h2>
+<p>Not all platforms (MCU and BSP) support all HAL devices. Consult your
+MCU or BSP documentation to find out if you have hardware support for
+the peripherals you are interested in using. Once you verify support,
+then consult the MCU implementation and see if the specific HAL
+interface (xxxx) you are using is in the
+<code class="docutils literal notranslate"><span class="pre">mcu/&lt;mcu-name&gt;/src/hal_xxxx.c</span></code> implementation. Finally, you can build
+your project and ensure that there are no unresolved hal_xxxx
+externals.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal_api.html b/develop/os/modules/hal/hal_api.html
new file mode 100644
index 000000000..dcca0a0e5
--- /dev/null
+++ b/develop/os/modules/hal/hal_api.html
@@ -0,0 +1,317 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>HAL Interfaces &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    HAL Interfaces
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_api.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="hal-interfaces">
+<h1>HAL Interfaces<a class="headerlink" href="#hal-interfaces" title="Permalink to this headline">?</a></h1>
+<p>The HAL supports separate interfaces for many peripherals. A brief
+description of the interfaces are shown below.</p>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal_bsp/hal_bsp.html b/develop/os/modules/hal/hal_bsp/hal_bsp.html
new file mode 100644
index 000000000..0acb6e3f3
--- /dev/null
+++ b/develop/os/modules/hal/hal_bsp/hal_bsp.html
@@ -0,0 +1,330 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>hal_bsp &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    hal_bsp
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_bsp/hal_bsp.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="hal-bsp">
+<h1>hal_bsp<a class="headerlink" href="#hal-bsp" title="Permalink to this headline">?</a></h1>
+<p>This is the hardware independent BSP (Board Support Package) Interface
+for Mynewt.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>Contains the basic operations to initialize, specify memory to include
+in coredump, configure interrupt priority etc.</p>
+</div>
+<div class="section" id="definition">
+<h2>Definition<a class="headerlink" href="#definition" title="Permalink to this headline">?</a></h2>
+<p><a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_bsp.h">hal_bsp.h</a></p>
+</div>
+<div class="section" id="examples">
+<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">?</a></h2>
+<hr class="docutils" />
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal_creation.html b/develop/os/modules/hal/hal_creation.html
new file mode 100644
index 000000000..33d476c83
--- /dev/null
+++ b/develop/os/modules/hal/hal_creation.html
@@ -0,0 +1,333 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Creating New HAL Interfaces &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Creating New HAL Interfaces
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_creation.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="creating-new-hal-interfaces">
+<h1>Creating New HAL Interfaces<a class="headerlink" href="#creating-new-hal-interfaces" title="Permalink to this headline">?</a></h1>
+<div class="section" id="hal-api">
+<h2>HAL API<a class="headerlink" href="#hal-api" title="Permalink to this headline">?</a></h2>
+<p>A HAL always includes header file with function declarations for the HAL
+functionality in <code class="docutils literal notranslate"><span class="pre">/hw/hal/include/hal</span></code>. The first argument of all
+functions in the interface typically include the virtual device_id of
+the device you are controlling.</p>
+<p>For example, in
+<code class="docutils literal notranslate"><span class="pre">`hal_gpio.h</span></code> &lt;<a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_gpio.h">https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_gpio.h</a>&gt;`__
+the device enumeration is the first argument to most methods and called
+<code class="docutils literal notranslate"><span class="pre">pin</span></code>.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">void hal_gpio_write(int pin, int val);</span>
+</pre></div>
+</div>
+<p>The device_id (in this case called <code class="docutils literal notranslate"><span class="pre">pin</span></code>) is not a physical device
+(actual hardware pin), but a virtual pin which is defined by the
+implementation of the HAL (and documented in the implementation of the
+HAL).</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal_flash/hal_flash.html b/develop/os/modules/hal/hal_flash/hal_flash.html
new file mode 100644
index 000000000..5a2adb2cd
--- /dev/null
+++ b/develop/os/modules/hal/hal_flash/hal_flash.html
@@ -0,0 +1,329 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>hal_flash &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    hal_flash
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_flash/hal_flash.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="hal-flash">
+<h1>hal_flash<a class="headerlink" href="#hal-flash" title="Permalink to this headline">?</a></h1>
+<p>The hardware independent interface to flash memory that is used by
+applications.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>The API offers basic initialization, read, write, erase, sector erase,
+and other operations.</p>
+</div>
+<div class="section" id="definition">
+<h2>Definition<a class="headerlink" href="#definition" title="Permalink to this headline">?</a></h2>
+<p><a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_flash.h">hal_flash.h</a></p>
+</div>
+<div class="section" id="examples">
+<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal_flash/hal_flash_int.html b/develop/os/modules/hal/hal_flash/hal_flash_int.html
new file mode 100644
index 000000000..b3184edba
--- /dev/null
+++ b/develop/os/modules/hal/hal_flash/hal_flash_int.html
@@ -0,0 +1,342 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>hal_flash_int &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    hal_flash_int
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_flash/hal_flash_int.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="hal-flash-int">
+<h1>hal_flash_int<a class="headerlink" href="#hal-flash-int" title="Permalink to this headline">?</a></h1>
+<p>The API that flash drivers have to implement.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>The BSP for the hardware will implement the structs defined in this API.</p>
+</div>
+<div class="section" id="definition">
+<h2>Definition<a class="headerlink" href="#definition" title="Permalink to this headline">?</a></h2>
+<p><a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_flash_int.h">hal_flash_int.h</a></p>
+</div>
+<div class="section" id="examples">
+<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">?</a></h2>
+<p>The Nordic nRF52 bsp implements the hal_flash_int API as seen in
+<a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/bsp/stm32f4discovery/src/hal_bsp.c">hal_bsp.c</a></p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>const struct hal_flash *
+hal_bsp_flash_dev(uint8_t id)
+{
+    /*
+     * Internal flash mapped to id 0.
+     */
+    if (id != 0) {
+        return NULL;
+    }
+    return &amp;nrf52k_flash_dev;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal_gpio/hal_gpio.html b/develop/os/modules/hal/hal_gpio/hal_gpio.html
new file mode 100644
index 000000000..2f365278d
--- /dev/null
+++ b/develop/os/modules/hal/hal_gpio/hal_gpio.html
@@ -0,0 +1,372 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>hal_gpio &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    hal_gpio
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_gpio/hal_gpio.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="hal-gpio">
+<h1>hal_gpio<a class="headerlink" href="#hal-gpio" title="Permalink to this headline">?</a></h1>
+<p>This is the hardware independent GPIO (General Purpose Input Output)
+Interface for Mynewt.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>Contains the basic operations to set and read General Purpose Digital
+I/O Pins within a Mynewt system.</p>
+<p>Individual GPIOs are referenced in the APIs as <code class="docutils literal notranslate"><span class="pre">pins</span></code>. However, in
+this interface the <code class="docutils literal notranslate"><span class="pre">pins</span></code> are virtual GPIO pins. The MCU header file
+maps these virtual <code class="docutils literal notranslate"><span class="pre">pins</span></code> to the physical GPIO ports and pins.</p>
+<p>Typically, the BSP code may define named I/O pins in terms of these
+virtual <code class="docutils literal notranslate"><span class="pre">pins</span></code> to describe the devices attached to the physical pins.</p>
+<p>Here?s a brief example so you can get the gist of the translation.</p>
+<p>Suppose my product uses the stm32F4xx processor. There already exists
+support for this processor within Mynewt. The processor has N ports
+(A,B,C..) of 16 GPIO pins per port. The MCU hal_gpio driver maps these
+to a set of virtual pins 0-N where port A maps to 0-15, Port B maps to
+16-31, Port C maps to 32-47 and so on. The exact number of physical port
+(and virtual port pins) depends on the specific variant of the
+stm32F4xx.</p>
+<p>So if I want to turn on port B pin 3, that would be virtual pin 1*16 +
+3 = 19. This translation is defined in the MCU implementation of
+<a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/mcu/stm/stm32f4xx/src/hal_gpio.c">hal_gpio.c</a>
+for the stmf32F4xx. Each MCU will typically have a different translation
+method depending on its GPIO architecture.</p>
+<p>Now, when writing a BSP, it?s common to give names to the relevant port
+pins that you are using. Thus, the BSP may define a mapping between a
+function and a virtual port pin in the <code class="docutils literal notranslate"><span class="pre">bsp.h</span></code> header file for the
+BSP. For example,</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">#</span>define SYSTEM_LED              <span class="o">(</span><span class="m">37</span><span class="o">)</span>
+<span class="gp">#</span>define FLASH_SPI_CHIP_SELECT   <span class="o">(</span><span class="m">3</span><span class="o">)</span>
+</pre></div>
+</div>
+<p>would map the system indicator LED to virtual pin 37 which on the
+stm32F4xx would be Port C pin 5 and the chip select line for the
+external SPI flash to virtual pin 3 which on the stm32F4xxis port A pin
+3.</p>
+<p>Said another way, in this specific system we get</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">SYSTEM_LED --&gt; hal_gpio virtual pin 37 --&gt; port C pin 5 on the stm34F4xx</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="definition">
+<h2>Definition<a class="headerlink" href="#definition" title="Permalink to this headline">?</a></h2>
+<p><a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_gpio.h">hal_gpio.h</a></p>
+</div>
+<div class="section" id="examples">
+<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">?</a></h2>
+<div class="section" id="blinky">
+<h3>Blinky<a class="headerlink" href="#blinky" title="Permalink to this headline">?</a></h3>
+<p>Blinky uses the hal_gpio to blink the system LED. The blinky source
+code is available in the <a class="reference external" href="https://github.com/apache/incubator-mynewt-blinky/blob/master/apps/blinky/src/main.c">blinky
+repo</a>.
+Examine how <code class="docutils literal notranslate"><span class="pre">blinky_task_handler</span></code> initializes and toggles the GPIO to
+control the LED.</p>
+<hr class="docutils" />
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal_i2c/hal_i2c.html b/develop/os/modules/hal/hal_i2c/hal_i2c.html
new file mode 100644
index 000000000..047dac458
--- /dev/null
+++ b/develop/os/modules/hal/hal_i2c/hal_i2c.html
@@ -0,0 +1,425 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>hal_i2c &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    hal_i2c
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_i2c/hal_i2c.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="hal-i2c">
+<h1>hal_i2c<a class="headerlink" href="#hal-i2c" title="Permalink to this headline">?</a></h1>
+<p>The hardware independent interface to I2C Devices.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>An Inter-Integrated Circuit (I?C ] I-squared-C) bus is a multi-master,
+multi-save serial interface used to connect components on a circuit
+board and often peripherals devices located off the circuit board.</p>
+<p>I2C is often though of as a 2-wire protocol because it uses two wires
+(SDA, SCL) to send data between devices.</p>
+<p>For a detailed description of I2C, see the <a class="reference external" href="https://en.wikipedia.org/wiki/I?C">I?C wikipedia
+page</a></p>
+</div>
+<div class="section" id="definition">
+<h2>Definition<a class="headerlink" href="#definition" title="Permalink to this headline">?</a></h2>
+<p><a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_i2c.h">hal_i2c.h</a></p>
+</div>
+<div class="section" id="hal-i2c-theory-of-operation">
+<h2>HAL_I2C Theory Of Operation<a class="headerlink" href="#hal-i2c-theory-of-operation" title="Permalink to this headline">?</a></h2>
+<p>An I?C transaction typically involves acquiring the bus, sending and/or
+receiving data and release the bus. The bus acquisition portion is
+important because the bus is typically multi-master so other devices may
+be trying to read/write the same peripheral.</p>
+<p>HAL_I2C implements a master interface to the I?C bus. Typical usage of
+the interface would involve the following steps.</p>
+<p>Initialize an i2c device with: hal_i2c_init()</p>
+<p>When you wish to perform an i2c transaction, you call one or both of:
+hal_i2c_master_write(); hal_i2c_master_read();</p>
+<p>These functions will issue a START condition, followed by the device?s
+7-bit I2C address, and then send or receive the payload based on the
+data provided. This will cause a repeated start on the bus, which is
+valid in I2C specification, and the decision to use repeated starts was
+made to simplify the I2C HAL. To set the STOP condition at an
+appropriate moment, you set the <code class="docutils literal notranslate"><span class="pre">last_op</span></code> field to a <code class="docutils literal notranslate"><span class="pre">1</span></code> in either
+function.</p>
+<p>For example, in an I2C memory access you might write a register address
+and then read data back via: hal_i2c_write(); ? write to a specific
+register on the device hal_i2c_read(); ? read back data, setting
+?last_op? to ?1?</p>
+<p>An addition API was added called <code class="docutils literal notranslate"><span class="pre">hal_i2c_probe</span></code>. This command
+combines <code class="docutils literal notranslate"><span class="pre">hal_i2c_begin()</span></code>, <code class="docutils literal notranslate"><span class="pre">hal_i2c_read</span></code>, and <code class="docutils literal notranslate"><span class="pre">hal_i2c_end()</span></code> to
+try to read 0-bytes from a specific bus address. its intended to provide
+an easy way to probe the bus for a specific device. NOTE: if the device
+is write-only, it will not appear with this command.</p>
+<p>A slave API is pending for further release.</p>
+</div>
+<div class="section" id="hal-i2c-data">
+<h2>HAL_I2C Data<a class="headerlink" href="#hal-i2c-data" title="Permalink to this headline">?</a></h2>
+<p>Data to read/write is passed to the hal_i2c APIs via the</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>struct hal_i2c_master_data {
+    uint8_t  address;   /* destination address */
+    uint16_t len;       /* number of bytes to transmit or receive */
+    uint8_t *buffer;    /* data buffer for transmit or receive */
+};
+</pre></div>
+</div>
+<p><code class="docutils literal notranslate"><span class="pre">buffer</span></code> is a pointer to the data to send. <code class="docutils literal notranslate"><span class="pre">len</span></code> is the number of
+bytes to send over the bus. <code class="docutils literal notranslate"><span class="pre">address</span></code> is a 7-bit bus address of the
+device.</p>
+<p>When I?C builds its address, it uses the 7-bit address plus a 1-bit R/W
+(read/write) indicator to identify the device and direction of the
+transaction. Thus when using this API, you should use a 7-bit address in
+the data structure and ensure that address is a value between 0-127.</p>
+<p>As an example, consider an I?C device address that looks like this:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="14%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="14%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">B7</th>
+<th class="head">B6</th>
+<th class="head">B5</th>
+<th class="head">B4</th>
+<th class="head">B3</th>
+<th class="head">B2</th>
+<th class="head">B1</th>
+<th class="head">B0</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>1</td>
+<td>0</td>
+<td>0</td>
+<td>0</td>
+<td>1</td>
+<td>1</td>
+<td>0</td>
+<td>R/W</td>
+</tr>
+<tr class="row-odd"><td>MSB</td>
+<td>&#160;</td>
+<td>&#160;</td>
+<td>&#160;</td>
+<td>&#160;</td>
+<td>&#160;</td>
+<td>&#160;</td>
+<td>LSB</td>
+</tr>
+</tbody>
+</table>
+<p>In the HAL_I2C API you would communicate with this device with address
+<code class="docutils literal notranslate"><span class="pre">0b1000110</span></code>, which is hex 0x46 or decimal 70. The I?C drive would add
+the R/W bit and transmit it as hex 0x8C (binary 10001100) or 0x8D
+(binary 10001101) depending whether it was a read or write command.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal_in_libraries.html b/develop/os/modules/hal/hal_in_libraries.html
new file mode 100644
index 000000000..4d678c224
--- /dev/null
+++ b/develop/os/modules/hal/hal_in_libraries.html
@@ -0,0 +1,322 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Using HAL in Your Libraries &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Using HAL in Your Libraries
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_in_libraries.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="using-hal-in-your-libraries">
+<h1>Using HAL in Your Libraries<a class="headerlink" href="#using-hal-in-your-libraries" title="Permalink to this headline">?</a></h1>
+<p>This page describes the recommended way to implement libraries that
+utilize HAL functionality.</p>
+<p>An example of the GPIO HAL being used by a driver for a UART bitbanger
+that programs the start bit, data bits, and stop bit can be seen in
+<a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/drivers/uart/uart_bitbang/src/uart_bitbang.c">hw/drivers/uart/uart_bitbang/src/uart_bitbang.c</a></p>
+<p>An example of the flash HAL being used by a file sytem can be seen in
+<a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/fs/nffs/src/nffs_flash.c">fs/nffs/src/nffs_flash.c</a>.</p>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal_os_tick/hal_os_tick.html b/develop/os/modules/hal/hal_os_tick/hal_os_tick.html
new file mode 100644
index 000000000..06c6b2338
--- /dev/null
+++ b/develop/os/modules/hal/hal_os_tick/hal_os_tick.html
@@ -0,0 +1,343 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>hal_os_tick &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    hal_os_tick
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_os_tick/hal_os_tick.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="hal-os-tick">
+<h1>hal_os_tick<a class="headerlink" href="#hal-os-tick" title="Permalink to this headline">?</a></h1>
+<p>The hardware independent interface to set up interrupt timers or halt
+CPU in terms of OS ticks.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>Set up the periodic timer to interrupt at a frequency of
+?os_ticks_per_sec? using the following function call where ?prio? is
+the cpu-specific priority of the periodic timer interrupt.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>void os_tick_init(uint32_t os_ticks_per_sec, int prio);
+</pre></div>
+</div>
+<p>You can halt CPU for up to <code class="docutils literal notranslate"><span class="pre">n</span></code> ticks:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>void os_tick_idle(os_time_t n);
+</pre></div>
+</div>
+<p>The function implementations are in the mcu-specific directories such as
+<code class="docutils literal notranslate"><span class="pre">hw/mcu/nordic/nrf51xxx/src/hal_os_tick.c</span></code>.</p>
+</div>
+<div class="section" id="definition">
+<h2>Definition<a class="headerlink" href="#definition" title="Permalink to this headline">?</a></h2>
+<p><a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_os_tick.h">hal_os_tick.h</a></p>
+</div>
+<div class="section" id="examples">
+<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">?</a></h2>
+<p>An example of the API being used by the OS kernel for the Cortex M0
+architecture to initialize and start the system clock timer can be seen
+in
+<a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/kernel/os/src/arch/cortex_m0/os_arch_arm.c">kernel/os/src/arch/cortex_m0/os_arch_arm.c</a>.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal_spi/hal_spi.html b/develop/os/modules/hal/hal_spi/hal_spi.html
new file mode 100644
index 000000000..11e0f64b8
--- /dev/null
+++ b/develop/os/modules/hal/hal_spi/hal_spi.html
@@ -0,0 +1,367 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>hal_spi &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    hal_spi
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_spi/hal_spi.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="hal-spi">
+<h1>hal_spi<a class="headerlink" href="#hal-spi" title="Permalink to this headline">?</a></h1>
+<p>SPI (Serial Peripheral Interface) is a synchronous 4-wire serial
+interface commonly used to connect components in embedded systems.</p>
+<p>For a detailed description of SPI, see
+<a class="reference external" href="https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus">Wikipedia</a>.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>The Mynewt HAL interface supports the SPI master functionality with both
+blocking and non-blocking interface. SPI slave functionality is
+supported in non-blocking mode.</p>
+</div>
+<div class="section" id="definition">
+<h2>Definition<a class="headerlink" href="#definition" title="Permalink to this headline">?</a></h2>
+<p><a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_spi.h">hal_spi.h</a></p>
+</div>
+<div class="section" id="hal-spi-theory-of-operation">
+<h2>HAL_SPI Theory Of Operation<a class="headerlink" href="#hal-spi-theory-of-operation" title="Permalink to this headline">?</a></h2>
+<p>SPI is called a 4-wire interface because of the 4 signals, MISO, MOSI,
+CLK, and SS. The SS signal (slave select) is an active low signal that
+activates a SPI slave device. This is how a master ?addresses? a
+particular slave device. Often this signal is also referred to as ?chip
+select? as it selects particular slave device for communications.</p>
+<p>The Mynewt SPI HAL has blocking and non-blocking transfers. Blocking
+means that the API call to transfer a byte will wait until the byte
+completes transmissions before the function returns. Blocking interface
+can be used for only the master slave SPI type. Non-blocking means he
+function returns control to the execution environment immediately after
+the API call and a callback function is executed at the completion of
+the transmission. Non-blocking interface can be used for both master and
+slave SPI types.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">hal_spi_config</span></code> method in the API above allows the SPI to be
+configured with appropriate settings for master or slave. It Must be
+called after the spi is initialized (i.e. after hal_spi_init is
+called) and when the spi is disabled (i.e. user must call
+hal_spi_disable if the spi has been enabled through hal_spi_enable
+prior to calling this function). It can also be used to reconfigure an
+initialized SPI (assuming it is disabled as described previously).</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int hal_spi_config(int spi_num, struct hal_spi_settings *psettings);
+</pre></div>
+</div>
+<p>The SPI settings consist of the following:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct hal_spi_settings {
+    uint8_t         data_mode;
+    uint8_t         data_order;
+    uint8_t         word_size;
+    uint32_t        baudrate;           /* baudrate in kHz */
+};
+</pre></div>
+</div>
+<p>The Mynewt SPI HAL does not include built-in SS (Slave Select)
+signaling. It?s up to the hal_spi user to control their own SS pins.
+Typically applications will do this with GPIO.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal_system/hal_sys.html b/develop/os/modules/hal/hal_system/hal_sys.html
new file mode 100644
index 000000000..450290d9c
--- /dev/null
+++ b/develop/os/modules/hal/hal_system/hal_sys.html
@@ -0,0 +1,332 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>hal_system &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    hal_system
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_system/hal_sys.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="hal-system">
+<h1>hal_system<a class="headerlink" href="#hal-system" title="Permalink to this headline">?</a></h1>
+<p>A hardware independent interface for starting and resetting the system.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>The API allows the user to detect whether a debugger is connected,
+sissue a soft reset, and enumerate the reset causes. The functions are
+implemented in the MCU specific directories e.g. <code class="docutils literal notranslate"><span class="pre">hal_reset_cause.c</span></code>,
+<code class="docutils literal notranslate"><span class="pre">hal_system.c</span></code>, and <code class="docutils literal notranslate"><span class="pre">hal_system_start.c</span></code> in
+<code class="docutils literal notranslate"><span class="pre">/hw/mcu/nordic/nrf52xxx/src/</span></code> directory for Nordic nRF52 series of
+chips.</p>
+</div>
+<div class="section" id="definition">
+<h2>Definition<a class="headerlink" href="#definition" title="Permalink to this headline">?</a></h2>
+<p><a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_system.h">hal_system.h</a></p>
+</div>
+<div class="section" id="examples">
+<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal_timer/hal_timer.html b/develop/os/modules/hal/hal_timer/hal_timer.html
new file mode 100644
index 000000000..f157a7650
--- /dev/null
+++ b/develop/os/modules/hal/hal_timer/hal_timer.html
@@ -0,0 +1,344 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>hal_timer &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    hal_timer
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_timer/hal_timer.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="hal-timer">
+<h1>hal_timer<a class="headerlink" href="#hal-timer" title="Permalink to this headline">?</a></h1>
+<p>The hardware independent timer structure and API to configure,
+initialize, and run timers.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>The HAL timer structure is shown below. The user can declare as many of
+these structures as required. They are enqueued on a particular HW timer
+queue when the user calls the hal_timer_start or hal_timer_start_at
+API. The user must have called hal_timer_set_cb before starting a
+timer.</p>
+<p>NOTE: the user should not have to modify/examine the contents of this
+structure; the hal timer API should be used.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct hal_timer
+{
+    void                *bsp_timer; /* Internal platform specific pointer */
+    hal_timer_cb        cb_func;    /* Callback function */
+    void                *cb_arg;    /* Callback argument */
+    uint32_t            expiry;     /* Tick at which timer should expire */
+    TAILQ_ENTRY(hal_timer) link;    /* Queue linked list structure */
+};
+</pre></div>
+</div>
+</div>
+<div class="section" id="definition">
+<h2>Definition<a class="headerlink" href="#definition" title="Permalink to this headline">?</a></h2>
+<p><a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_timer.h">hal_timer.h</a></p>
+</div>
+<div class="section" id="examples">
+<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal_uart/hal_uart.html b/develop/os/modules/hal/hal_uart/hal_uart.html
new file mode 100644
index 000000000..d320a4824
--- /dev/null
+++ b/develop/os/modules/hal/hal_uart/hal_uart.html
@@ -0,0 +1,344 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>hal_uart &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    hal_uart
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_uart/hal_uart.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="hal-uart">
+<h1>hal_uart<a class="headerlink" href="#hal-uart" title="Permalink to this headline">?</a></h1>
+<p>The hardware independent UART interface for Mynewt.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>Contains the basic operations to send and receive data over a UART
+(Universal Asynchronous Receiver Transmitter). It also includes the API
+to apply settings such as speed, parity etc. to the UART. The UART port
+should be closed before any reconfiguring.</p>
+</div>
+<div class="section" id="definition">
+<h2>Definition<a class="headerlink" href="#definition" title="Permalink to this headline">?</a></h2>
+<p><a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_uart.h">hal_uart.h</a></p>
+</div>
+<div class="section" id="examples">
+<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">?</a></h2>
+<p>This example shows a user writing a character to the uart in blocking
+mode where the UART has to block until character has been sent.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">/* write to the console with blocking */</span>
+<span class="go">{</span>
+<span class="go">    char *str = &quot;Hello World!&quot;;</span>
+<span class="go">    char *ptr = str;</span>
+
+<span class="go">    while(*ptr) {</span>
+<span class="go">        hal_uart_blocking_tx(MY_UART, *ptr++);</span>
+<span class="go">    }</span>
+<span class="go">    hal_uart_blocking_tx(MY_UART, &#39;\n&#39;);</span>
+<span class="go">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/hal/hal_watchdog/hal_watchdog.html b/develop/os/modules/hal/hal_watchdog/hal_watchdog.html
new file mode 100644
index 000000000..3f38bb82f
--- /dev/null
+++ b/develop/os/modules/hal/hal_watchdog/hal_watchdog.html
@@ -0,0 +1,339 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>hal_watchdog &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../../index.html"/> 
+
+    
+    <script src="../../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    hal_watchdog
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_watchdog/hal_watchdog.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="hal-watchdog">
+<h1>hal_watchdog<a class="headerlink" href="#hal-watchdog" title="Permalink to this headline">?</a></h1>
+<p>The hardware independent interface to enable internal hardware
+watchdogs.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">hal_watchdog_init</span></code> interface can be used to set a recurring
+watchdog timer to fire no sooner than in ?expire_secs? seconds.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int hal_watchdog_init(uint32_t expire_msecs);
+</pre></div>
+</div>
+<p>Watchdog needs to be then started with a call to
+<code class="docutils literal notranslate"><span class="pre">hal_watchdog_enable()</span></code>. Watchdog should be tickled periodically with
+a frequency smaller than ?expire_secs? using <code class="docutils literal notranslate"><span class="pre">hal_watchdog_tickle()</span></code>.</p>
+</div>
+<div class="section" id="definition">
+<h2>Definition<a class="headerlink" href="#definition" title="Permalink to this headline">?</a></h2>
+<p><a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/hw/hal/include/hal/hal_watchdog.h">hal_watchdog</a></p>
+</div>
+<div class="section" id="examples">
+<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">?</a></h2>
+<p>The OS initializes and starts a watchdog timer and tickles it
+periodically to check that the OS is running properly. This can be seen
+in
+<a class="reference external" href="https://github.com/apache/incubator-mynewt-core/blob/master/kernel/os/src/os.c">/kernel/os/src/os.c</a>.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/imgmgr/imgmgr.html b/develop/os/modules/imgmgr/imgmgr.html
new file mode 100644
index 000000000..5503857a1
--- /dev/null
+++ b/develop/os/modules/imgmgr/imgmgr.html
@@ -0,0 +1,344 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Image Manager &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Image Manager
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/imgmgr/imgmgr.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="image-manager">
+<h1>Image Manager<a class="headerlink" href="#image-manager" title="Permalink to this headline">?</a></h1>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>This library accepts incoming image management commands from newtmgr and
+acts on them.</p>
+<p>Images can be uploaded, present images listed, and system can be told to
+switch to another image.</p>
+<p>Currently the package assumes that there are 2 image slots, one active
+one and another one in standby. When new image is uploaded, it replaces
+the one in standby slot. This is the model for scenario when MCU has
+internal flash only, it executes the code from that flash, and there is
+enough space to store 2 full images.</p>
+<p>Image manager interacts with bootloader by telling it to boot to a
+specific image. At the moment this has to be done by writing a file
+which contains a version number of the image to boot. Note that image
+manager itself does not replace the active image.</p>
+<p>Image manager also can upload files to filesystem as well as download
+them.</p>
+<p>Note that commands accessing filesystems (next boot target, file
+upload/download) will not be available unless project includes
+filesystem implementation.</p>
+</div>
+<div class="section" id="data-structures">
+<h2>Data structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<p>N/A.</p>
+</div>
+<div class="section" id="list-of-functions">
+<h2>List of Functions<a class="headerlink" href="#list-of-functions" title="Permalink to this headline">?</a></h2>
+<p>The functions available in imgmgr are:</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/imgmgr/imgmgr_module_init.html b/develop/os/modules/imgmgr/imgmgr_module_init.html
new file mode 100644
index 000000000..d97fb7411
--- /dev/null
+++ b/develop/os/modules/imgmgr/imgmgr_module_init.html
@@ -0,0 +1,333 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>imgmgr_module_init &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    imgmgr_module_init
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/imgmgr/imgmgr_module_init.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="imgmgr-module-init">
+<h1>imgmgr_module_init<a class="headerlink" href="#imgmgr-module-init" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">void</span>
+<span class="go">imgmgr_module_init(void)</span>
+</pre></div>
+</div>
+<p>Registers the image manager commands with the <code class="docutils literal notranslate"><span class="pre">mgmt</span></code> package.
+<code class="docutils literal notranslate"><span class="pre">sysinit()</span></code> automatically calls this function during system
+initialization.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<p>N/A</p>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>N/A</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/imgmgr/imgr_ver_parse.html b/develop/os/modules/imgmgr/imgr_ver_parse.html
new file mode 100644
index 000000000..e2bde1e11
--- /dev/null
+++ b/develop/os/modules/imgmgr/imgr_ver_parse.html
@@ -0,0 +1,373 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>imgr_ver_parse &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    imgr_ver_parse
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/imgmgr/imgr_ver_parse.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="imgr-ver-parse">
+<h1>imgr_ver_parse<a class="headerlink" href="#imgr-ver-parse" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int</span>
+<span class="go">imgr_ver_parse(char *src, struct image_version *ver)</span>
+</pre></div>
+</div>
+<p>Parses character string containing image version number <code class="docutils literal notranslate"><span class="pre">src</span></code> and
+writes that to <code class="docutils literal notranslate"><span class="pre">ver</span></code>. Version number string should be in format ?.
+Major and minor numbers should be within range 0-255, revision between
+0-65535 and build_number 0-4294967295.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="17%" />
+<col width="83%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>src</td>
+<td>Pointer to C string that contains version number being parsed</td>
+</tr>
+<tr class="row-odd"><td>ver</td>
+<td>Image version number structure containing the returned value</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>0 on success and &lt;0 if version number string could not be parsed.</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>Numbers within the string are separated by <code class="docutils literal notranslate"><span class="pre">.</span></code>. The first number is
+the major number, and must be provided. Rest of the numbers (minor etc.)
+are optional.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int main(int argc, char **argv)</span>
+<span class="go">{</span>
+<span class="go">    struct image_version hdr_ver;</span>
+<span class="go">    int rc;</span>
+<span class="go">    ...</span>
+
+<span class="go">    rc = imgr_ver_parse(argv[3], &amp;hdr_ver);</span>
+<span class="go">    if (rc != 0) {</span>
+<span class="go">        print_usage(stderr);</span>
+<span class="go">        return 1;</span>
+<span class="go">    }</span>
+<span class="go">    ...</span>
+<span class="go">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/imgmgr/imgr_ver_str.html b/develop/os/modules/imgmgr/imgr_ver_str.html
new file mode 100644
index 000000000..e6842eabd
--- /dev/null
+++ b/develop/os/modules/imgmgr/imgr_ver_str.html
@@ -0,0 +1,371 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>imgr_ver_str &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    imgr_ver_str
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/imgmgr/imgr_ver_str.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="imgr-ver-str">
+<h1>imgr_ver_str<a class="headerlink" href="#imgr-ver-str" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int</span>
+<span class="go">imgr_ver_str(struct image_version *ver, char *dst)</span>
+</pre></div>
+</div>
+<p>Takes the version string from <code class="docutils literal notranslate"><span class="pre">ver</span></code> and formats that into a printable
+string to <code class="docutils literal notranslate"><span class="pre">dst</span></code>. Caller must make sure that <code class="docutils literal notranslate"><span class="pre">dst</span></code> contains enough
+space to hold maximum length version string. The convenience
+defininition for max length version string is named
+<code class="docutils literal notranslate"><span class="pre">IMGMGR_MAX_VER_STR</span></code>.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="15%" />
+<col width="85%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>ver</td>
+<td>Image version number structure containing the value being formatted</td>
+</tr>
+<tr class="row-odd"><td>dst</td>
+<td>Pointer to C string where results will be stored</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Function returns the number of characters filled into the destination
+string.</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>If build number is <code class="docutils literal notranslate"><span class="pre">0</span></code> in image version structure, it will be left out
+of the string.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">static void</span>
+<span class="go">imgr_ver_jsonstr(struct json_encoder *enc, char *key,</span>
+<span class="go">  struct image_version *ver)</span>
+<span class="go">{</span>
+<span class="go">    char ver_str[IMGMGR_MAX_VER_STR];</span>
+<span class="go">    int ver_len;</span>
+<span class="go">    ...</span>
+<span class="go">    ver_len = imgr_ver_str(ver, ver_str)</span>
+<span class="go">    ...</span>
+<span class="go">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/json/json.html b/develop/os/modules/json/json.html
new file mode 100644
index 000000000..23f52913f
--- /dev/null
+++ b/develop/os/modules/json/json.html
@@ -0,0 +1,487 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>JSON &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    JSON
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/json/json.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="json">
+<h1>JSON<a class="headerlink" href="#json" title="Permalink to this headline">?</a></h1>
+<p>JSON is a data interchange format. The description of this format can be
+found from IETF RFC 4627.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>This package helps in converting between C data types and JSON data
+objects. It supports both encoding and decoding.</p>
+</div>
+<div class="section" id="data-structures">
+<h2>Data structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<div class="section" id="encoding">
+<h3>Encoding<a class="headerlink" href="#encoding" title="Permalink to this headline">?</a></h3>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/* Encoding functions */
+typedef int (*json_write_func_t)(void *buf, char *data,
+        int len);
+
+struct json_encoder {
+    json_write_func_t je_write;
+    void *je_arg;
+    int je_wr_commas:1;
+    char je_encode_buf[64];
+};
+</pre></div>
+</div>
+<p>Here?s the data structure encoder funtions use, and it must be
+initialized by the caller. The key element is <em>je_write</em>, which is a
+function pointer which gets called whenever encoding routine is ready
+with encoded data. The element <em>je_arg</em> is passed to <em>je_write</em> as the
+first argument. The rest of the structure contents are for internal
+state management. This function should collect all the data encoder
+function generates. It can collect this data to a flat buffer, chain of
+mbufs or even stream through.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/**
+ * For encode.  The contents of a JSON value to encode.
+ */
+struct json_value {
+    uint8_t jv_pad1;
+    uint8_t jv_type;
+    uint16_t jv_len;
+
+    union {
+        uint64_t u;
+        float fl;
+        char *str;
+        struct {
+            char **keys;
+            struct json_value **values;
+        } composite;
+    } jv_val;
+};
+</pre></div>
+</div>
+<p>This data structure is filled with data to be encoded. It is best to
+fill this using the macros <em>JSON_VALUE_STRING()</em> or
+<em>JSON_VALUE_STRINGN()</em> when value is string, <em>JSON_VALUE_INT()</em> when
+value is an integer, and so forth.</p>
+</div>
+<div class="section" id="decoding">
+<h3>Decoding<a class="headerlink" href="#decoding" title="Permalink to this headline">?</a></h3>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/* when you implement a json buffer, you must implement these functions */
+
+/* returns the next character in the buffer or &#39;\0&#39;*/
+typedef char (*json_buffer_read_next_byte_t)(struct json_buffer *);
+/* returns the previous character in the buffer or &#39;\0&#39; */
+typedef char (*json_buffer_read_prev_byte_t)(struct json_buffer *);
+/* returns the number of characters read or zero */
+typedef int (*json_buffer_readn_t)(struct json_buffer *, char *buf, int n);
+
+struct json_buffer {
+    json_buffer_readn_t jb_readn;
+    json_buffer_read_next_byte_t jb_read_next;
+    json_buffer_read_prev_byte_t jb_read_prev;
+};
+</pre></div>
+</div>
+<p>Function pointers within this structure are used by decoder when it is
+reading in more data to decode.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct json_attr_t {
+    char *attribute;
+    json_type type;
+    union {
+        int *integer;
+        unsigned int *uinteger;
+        double *real;
+        char *string;
+        bool *boolean;
+        char *character;
+        struct json_array_t array;
+        size_t offset;
+    } addr;
+    union {
+        int integer;
+        unsigned int uinteger;
+        double real;
+        bool boolean;
+        char character;
+        char *check;
+    } dflt;
+    size_t len;
+    const struct json_enum_t *map;
+    bool nodefault;
+};
+</pre></div>
+</div>
+<p>This structure tells the decoder about a particular name/value pair.
+Structure must be filled in before calling the decoder routine
+<em>json_read_object()</em>.</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="19%" />
+<col width="81%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Element</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>attribute</td>
+<td>Name of the value</td>
+</tr>
+<tr class="row-odd"><td>type</td>
+<td>The type of the variable; see enum json_type</td>
+</tr>
+<tr class="row-even"><td>addr</td>
+<td>Contains the address where value should be stored</td>
+</tr>
+<tr class="row-odd"><td>dflt</td>
+<td>Default value to fill in, if this name is not found</td>
+</tr>
+<tr class="row-even"><td>len</td>
+<td>Max number of bytes to read in for value</td>
+</tr>
+<tr class="row-odd"><td>nodefault</td>
+<td>If set, default value is not copied name</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" id="list-of-functions">
+<h2>List of Functions<a class="headerlink" href="#list-of-functions" title="Permalink to this headline">?</a></h2>
+<p>Functions for encoding:</p>
+<p>Functions for decoding:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="43%" />
+<col width="57%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Function</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><a href="#id1"><span class="problematic" id="id2">`json\_rea
+d\_object
+&lt;json_read
+_object.md
+&gt;`__</span></a></td>
+<td>This function
+reads in JSON
+data stream,
+while looking
+for name/value
+pairs
+described in
+given
+attribites.</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/json/json_encode_object_entry.html b/develop/os/modules/json/json_encode_object_entry.html
new file mode 100644
index 000000000..e3fcd45f6
--- /dev/null
+++ b/develop/os/modules/json/json_encode_object_entry.html
@@ -0,0 +1,369 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>json_encode_object_entry &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    json_encode_object_entry
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/json/json_encode_object_entry.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="json-encode-object-entry">
+<h1>json_encode_object_entry<a class="headerlink" href="#json-encode-object-entry" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int json_encode_object_entry(struct json_encoder *encoder, char *key, struct json_value *val)</span>
+</pre></div>
+</div>
+<p>This function writes out a name for a field, followed by ?:? character,
+and the value itself. How value is treated depends on the type of the
+value.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="35%" />
+<col width="65%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>encoder</td>
+<td>json_encoder to use</td>
+</tr>
+<tr class="row-odd"><td>key</td>
+<td>name to write out</td>
+</tr>
+<tr class="row-even"><td>val</td>
+<td>value to write out</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>0 on success.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static int
+imgr_list(struct nmgr_jbuf *njb)
+{
+    struct json_encoder *enc;
+    struct json_value array;
+
+    ...
+
+    json_encode_object_start(enc);
+    json_encode_object_entry(enc, &quot;images&quot;, &amp;array);
+    json_encode_object_finish(enc);
+
+    return 0;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/json/json_encode_object_finish.html b/develop/os/modules/json/json_encode_object_finish.html
new file mode 100644
index 000000000..b1dd094c9
--- /dev/null
+++ b/develop/os/modules/json/json_encode_object_finish.html
@@ -0,0 +1,362 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>json_encode_object_finish &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    json_encode_object_finish
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/json/json_encode_object_finish.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="json-encode-object-finish">
+<h1>json_encode_object_finish<a class="headerlink" href="#json-encode-object-finish" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int json_encode_object_finish(struct json_encoder *encoder)</span>
+</pre></div>
+</div>
+<p>This function finalizes the encoded JSON object. This means writing out
+the last ?}? character.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="35%" />
+<col width="65%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>encoder</td>
+<td>json_encoder to use</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>0 on success.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static int
+imgr_list(struct nmgr_jbuf *njb)
+{
+    struct json_encoder *enc;
+    struct json_value array;
+
+    ...
+
+    json_encode_object_start(enc);
+    json_encode_object_entry(enc, &quot;images&quot;, &amp;array);
+    json_encode_object_finish(enc);
+
+    return 0;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/json/json_encode_object_key.html b/develop/os/modules/json/json_encode_object_key.html
new file mode 100644
index 000000000..247ae8b12
--- /dev/null
+++ b/develop/os/modules/json/json_encode_object_key.html
@@ -0,0 +1,366 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>json_encode_object_key &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    json_encode_object_key
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/json/json_encode_object_key.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="json-encode-object-key">
+<h1>json_encode_object_key<a class="headerlink" href="#json-encode-object-key" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int json_encode_object_key(struct json_encoder *encoder, char *key)</span>
+</pre></div>
+</div>
+<p>This function writes out a name for a field, followed by ?:? character.
+You would use this e.g. when the value that follows is a JSON object.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="35%" />
+<col width="65%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>encoder</td>
+<td>json_encoder to use</td>
+</tr>
+<tr class="row-odd"><td>key</td>
+<td>name to write out</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>0 on success.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+nmgr_def_taskstat_read(struct nmgr_jbuf *njb)
+{
+    ...
+
+    struct json_value jv;
+
+    json_encode_object_start(&amp;njb-&gt;njb_enc);
+    JSON_VALUE_INT(&amp;jv, NMGR_ERR_EOK);
+    json_encode_object_entry(&amp;njb-&gt;njb_enc, &quot;rc&quot;, &amp;jv);
+
+    json_encode_object_key(&amp;njb-&gt;njb_enc, &quot;tasks&quot;);
+    json_encode_object_start(&amp;njb-&gt;njb_enc);
+    ...
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/json/json_encode_object_start.html b/develop/os/modules/json/json_encode_object_start.html
new file mode 100644
index 000000000..735927960
--- /dev/null
+++ b/develop/os/modules/json/json_encode_object_start.html
@@ -0,0 +1,362 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>json_encode_object_start &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    json_encode_object_start
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/json/json_encode_object_start.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="json-encode-object-start">
+<h1>json_encode_object_start<a class="headerlink" href="#json-encode-object-start" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int json_encode_object_start(struct json_encoder *encoder)</span>
+</pre></div>
+</div>
+<p>This function starts the encoded JSON object. Usually this means writing
+out the initial ?{? character.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="35%" />
+<col width="65%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>encoder</td>
+<td>json_encoder to use</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>0 on success.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static int
+imgr_list(struct nmgr_jbuf *njb)
+{
+    struct json_encoder *enc;
+    struct json_value array;
+
+    ...
+
+    json_encode_object_start(enc);
+    json_encode_object_entry(enc, &quot;images&quot;, &amp;array);
+    json_encode_object_finish(enc);
+
+    return 0;
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/json/json_read_object.html b/develop/os/modules/json/json_read_object.html
new file mode 100644
index 000000000..3ae1b6d96
--- /dev/null
+++ b/develop/os/modules/json/json_read_object.html
@@ -0,0 +1,385 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>json_read_object &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    json_read_object
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/json/json_read_object.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="json-read-object">
+<h1>json_read_object<a class="headerlink" href="#json-read-object" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int json_read_object(struct json_buffer *jb, const struct json_attr_t *attrs)</span>
+</pre></div>
+</div>
+<p>This function reads in JSON data stream, while looking for name/value
+pairs described in <em>attrs</em>. <em>attrs</em> is an array; end of the array is
+indicated by an entry with <em>NULL</em> as the name.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="27%" />
+<col width="73%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>jb</td>
+<td>json_decoder to use</td>
+</tr>
+<tr class="row-odd"><td>attrs</td>
+<td>array of attributes to look for</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>0 on success.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static int
+imgr_upload(struct nmgr_jbuf *njb)
+{
+    ...
+    const struct json_attr_t off_attr[4] = {
+        [0] = {
+            .attribute = &quot;off&quot;,
+            .type = t_uinteger,
+            .addr.uinteger = &amp;off,
+            .nodefault = true
+        },
+        [1] = {
+            .attribute = &quot;data&quot;,
+            .type = t_string,
+            .addr.string = img_data,
+            .len = sizeof(img_data)
+        },
+        [2] = {
+            .attribute = &quot;len&quot;,
+            .type = t_uinteger,
+            .addr.uinteger = &amp;size,
+            .nodefault = true
+        }
+    };
+    ...
+
+    rc = json_read_object(&amp;njb-&gt;njb_buf, off_attr);
+    if (rc || off == UINT_MAX) {
+        rc = OS_EINVAL;
+        goto err;
+    }
+    ...
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/logs/logs.html b/develop/os/modules/logs/logs.html
new file mode 100644
index 000000000..b32097f9b
--- /dev/null
+++ b/develop/os/modules/logs/logs.html
@@ -0,0 +1,499 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Logging &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Logging
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/logs/logs.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="logging">
+<h1>Logging<a class="headerlink" href="#logging" title="Permalink to this headline">?</a></h1>
+<p>Mynewt log package supports logging of information within a Mynewt
+application. It allows packages to define their own log streams with
+separate names. It also allows an application to control the output
+destination of logs. ### Description</p>
+<p>In the Mynewt OS, the log package comes in two versions:</p>
+<ul class="simple">
+<li>The <code class="docutils literal notranslate"><span class="pre">sys/log/full</span></code> package implements the complete log
+functionality and API.</li>
+<li>The <code class="docutils literal notranslate"><span class="pre">sys/log/stub</span></code> package implements stubs for the API.</li>
+</ul>
+<p>Both packages export the <code class="docutils literal notranslate"><span class="pre">log</span></code> API, and any package that uses the log
+API must list <code class="docutils literal notranslate"><span class="pre">log</span></code> as a requirement in its <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file as
+follows:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">pkg.req_apis:</span>
+<span class="go">    - log</span>
+</pre></div>
+</div>
+<p>The application?s <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file specifies the version of the log
+package to use. A project that requires the full logging capability must
+list the <code class="docutils literal notranslate"><span class="pre">sys/log/full</span></code> package as a dependency in its <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code>
+file:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">pkg.deps:</span>
+<span class="go">    - sys/log/full</span>
+</pre></div>
+</div>
+<p>You can use the <code class="docutils literal notranslate"><span class="pre">sys/log/stub</span></code> package if you want to build your
+application without logging to reduce code size.</p>
+<div class="section" id="syscfg-settings">
+<h2>Syscfg Settings<a class="headerlink" href="#syscfg-settings" title="Permalink to this headline">?</a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">LOG_LEVEL</span></code> syscfg setting allows you to specify the level of logs
+to enable in your application. Only logs for levels higher or equal to
+the value of <code class="docutils literal notranslate"><span class="pre">LOG_LEVEL</span></code> are enabled. The amount of logs you include
+affects your application code size. <code class="docutils literal notranslate"><span class="pre">LOG_LEVEL:</span> <span class="pre">0</span></code> specifies
+LOG_LEVEL_DEBUG and includes all logs. You set <code class="docutils literal notranslate"><span class="pre">LOG_LEVEL:</span> <span class="pre">255</span></code> to
+disable all logging. The <code class="docutils literal notranslate"><span class="pre">#defines</span></code> for the log levels are specified
+in the <code class="docutils literal notranslate"><span class="pre">sys/log/full/include/log/log.h</span></code> file. For example the
+following setting corresponds to LOG_LEVEL_ERROR:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">syscfg.vals:</span>
+<span class="go">    LOG_LEVEL: 3</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">LOG_LEVEL</span></code> setting applies to all modules registered with the log
+package.</p>
+<div class="section" id="log">
+<h3>Log<a class="headerlink" href="#log" title="Permalink to this headline">?</a></h3>
+<p>Each log stream requires a <code class="docutils literal notranslate"><span class="pre">log</span></code> structure to define its logging
+properties.</p>
+</div>
+<div class="section" id="log-handler">
+<h3>Log Handler<a class="headerlink" href="#log-handler" title="Permalink to this headline">?</a></h3>
+<p>To use logs, a log handler that handles the I/O from the log is
+required. The log package comes with three pre-built log handlers:</p>
+<ul class="simple">
+<li>console ? streams log events directly to the console port. Does not
+support walking and reading.</li>
+<li>cbmem ? writes/reads log events to a circular buffer. Supports
+walking and reading for access by newtmgr and shell commands.</li>
+<li>fcb ? writes/reads log events to a <a class="reference external" href="/os/modules/fcb/fcb.html">flash circular
+buffer</a>. Supports walking and reading for
+access by newtmgr and shell commands.</li>
+</ul>
+<p>In addition, it is possible to create custom log handlers for other
+methods. Examples may include</p>
+<ul class="simple">
+<li>Flash file system</li>
+<li>Flat flash buffer</li>
+<li>Streamed over some other interface</li>
+</ul>
+<p>To use logging, you typically do not need to create your own log
+handler. You can use one of the pre-built ones.</p>
+<p>A package or an application must define a variable of type
+<code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">log</span></code> and register a log handler for it with the log package.
+It must call the <code class="docutils literal notranslate"><span class="pre">log_register()</span></code> function to specify the log handler
+to use:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>log_register(char *name, struct log *log, const struct log_handler *lh, void *arg, uint8_t level)
+</pre></div>
+</div>
+<p>The parameters are:</p>
+<ul class="simple">
+<li><code class="docutils literal notranslate"><span class="pre">name</span></code>- Name of the log stream.</li>
+<li><code class="docutils literal notranslate"><span class="pre">log</span></code> - Log instance to register,</li>
+<li><code class="docutils literal notranslate"><span class="pre">lh</span></code> - Pointer to the log handler. You can specify one of the
+pre-built ones:<ul>
+<li><code class="docutils literal notranslate"><span class="pre">&amp;log_console_handler</span></code> for console</li>
+<li><code class="docutils literal notranslate"><span class="pre">&amp;log_cbm_handler</span></code> for circular buffer</li>
+<li><code class="docutils literal notranslate"><span class="pre">&amp;log_fcb_handler</span></code> for flash circular buffer</li>
+</ul>
+</li>
+<li><code class="docutils literal notranslate"><span class="pre">arg</span></code> - Opaque argument that the specified log handler uses. The
+value of this argument depends on the log handler you specify:<ul>
+<li>NULL for the <code class="docutils literal notranslate"><span class="pre">log_console_handler</span></code>.</li>
+<li>Pointer to an initialized <code class="docutils literal notranslate"><span class="pre">cbmem</span></code> structure (see <code class="docutils literal notranslate"><span class="pre">util/cbmem</span></code>
+package) for the <code class="docutils literal notranslate"><span class="pre">log_cbm_handler</span></code>.</li>
+<li>Pointer to an initialized <code class="docutils literal notranslate"><span class="pre">fcb_log</span></code> structure (see <code class="docutils literal notranslate"><span class="pre">fs/fcb</span></code>
+package) for the <code class="docutils literal notranslate"><span class="pre">log_fcb_handler</span></code>.</li>
+</ul>
+</li>
+</ul>
+<p>Typically, a package that uses logging defines a global variable, such
+as <code class="docutils literal notranslate"><span class="pre">my_package_log</span></code>, of type <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">log</span></code>. The package can call the
+<code class="docutils literal notranslate"><span class="pre">log_register()</span></code> function with default values, but usually an
+application will override the logging properties and where to log to.
+There are two ways a package can allow an application to override the
+values:</p>
+<ul class="simple">
+<li>Define system configuration settings that an application can set and
+the package can then call the <code class="docutils literal notranslate"><span class="pre">log_register()</span></code> function with the
+configuration values.</li>
+<li>Make the <code class="docutils literal notranslate"><span class="pre">my_package_log</span></code> variable external and let the application
+call the <code class="docutils literal notranslate"><span class="pre">log_register()</span></code> function to specify a log handler for its
+specific purpose.</li>
+</ul>
+</div>
+<div class="section" id="configuring-logging-for-packages-that-an-application-uses">
+<h3>Configuring Logging for Packages that an Application Uses<a class="headerlink" href="#configuring-logging-for-packages-that-an-application-uses" title="Permalink to this headline">?</a></h3>
+<p>Here is an example of how an application can set the log handlers for
+the logs of the packages that the application includes.</p>
+<p>In this example, the <code class="docutils literal notranslate"><span class="pre">package1</span></code> package defines the variable
+<code class="docutils literal notranslate"><span class="pre">package1_log</span></code> of type <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">log</span></code> and externs the variable.
+Similarly, the <code class="docutils literal notranslate"><span class="pre">package2</span></code> package defines the variable
+<code class="docutils literal notranslate"><span class="pre">package2_log</span></code> and externs the variable. The application sets logs for
+<code class="docutils literal notranslate"><span class="pre">package1</span></code> to use console and sets logs for <code class="docutils literal notranslate"><span class="pre">package2</span></code> to use a
+circular buffer.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &lt;package1/package1.h&gt;
+#include &lt;package2/package2.h&gt;
+#include &lt;util/cbmem.h&gt;
+
+#include &lt;log/log.h&gt;
+
+static uint32_t cbmem_buf[MAX_CBMEM_BUF];
+static struct cbmem cbmem;
+
+
+void app_log_init(void)
+{
+
+
+
+    log_register(&quot;package1_log&quot;, &amp;package1_log, &amp;log_console_handler, NULL, LOG_SYSLEVEL);
+
+    cbmem_init(&amp;cbmem, cbmem_buf, MAX_CBMEM_BUF);
+    log_register(&quot;package2_log&quot;, &amp;package2_log, &amp;log_cbmem_handler, &amp;cbmem, LOG_SYSLEVEL);
+
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="implementing-a-package-that-uses-logging">
+<h3>Implementing a Package that Uses Logging<a class="headerlink" href="#implementing-a-package-that-uses-logging" title="Permalink to this headline">?</a></h3>
+<p>This example shows how a package logs to console. The package registers
+default logging properties to use the console, but allows an application
+to override the values. It defines the <code class="docutils literal notranslate"><span class="pre">my_package_log</span></code> variable and
+makes it external so an application can override log handler.</p>
+<p>Make the <code class="docutils literal notranslate"><span class="pre">my_package_log</span></code> variable external:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/* my_package.h*/
+
+/* pick a unique name here */
+extern struct log my_package_log;
+</pre></div>
+</div>
+<p>Define the <code class="docutils literal notranslate"><span class="pre">my_package_log</span></code> variable and register the console log
+handler:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/* my_package.c */
+
+struct log my_package_log;
+
+{
+    ...
+
+    /* register my log with a name to the system */
+    log_register(&quot;log&quot;, &amp;my_package_log, &amp;log_console_handler, NULL, LOG_LEVEL_DEBUG);
+
+    LOG_DEBUG(&amp;my_package_log, LOG_MODULE_DEFAULT, &quot;bla&quot;);
+    LOG_DEBUG(&amp;my_package_log, LOG_MODULE_DEFAULT, &quot;bab&quot;);
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="log-api-and-log-levels">
+<h3>Log API and Log Levels<a class="headerlink" href="#log-api-and-log-levels" title="Permalink to this headline">?</a></h3>
+<p>For more information on the <code class="docutils literal notranslate"><span class="pre">log</span></code> API and log levels, see the
+<code class="docutils literal notranslate"><span class="pre">sys/log/full/include/log/log.h</span></code> header file.</p>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/sensor_framework/sensor_api.html b/develop/os/modules/sensor_framework/sensor_api.html
new file mode 100644
index 000000000..e25e93a09
--- /dev/null
+++ b/develop/os/modules/sensor_framework/sensor_api.html
@@ -0,0 +1,710 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Sensor API &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Sensor API
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/sensor_framework/sensor_api.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="sensor-api">
+<h1>Sensor API<a class="headerlink" href="#sensor-api" title="Permalink to this headline">?</a></h1>
+<p>The sensor API implements the sensor abstraction and the functions:</p>
+<ul class="simple">
+<li>For a sensor device driver package to initialize a sensor object with
+the device specific information.</li>
+<li>For an application to read sensor data from a sensor and to configure
+a sensor for polling.</li>
+</ul>
+<p>A sensor is represented by the <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor</span></code> object.</p>
+<div class="section" id="sensor-api-functions-used-by-a-sensor-device-driver-package">
+<h2>Sensor API Functions Used by a Sensor Device Driver Package<a class="headerlink" href="#sensor-api-functions-used-by-a-sensor-device-driver-package" title="Permalink to this headline">?</a></h2>
+<p>A sensor device driver package must use the sensor API to initialize
+device specific information for a sensor object and to change sensor
+configuration types.</p>
+<div class="section" id="initializing-a-sensor-object">
+<h3>Initializing a Sensor Object<a class="headerlink" href="#initializing-a-sensor-object" title="Permalink to this headline">?</a></h3>
+<p>When the BSP or the sensor creator package creates an OS device for a
+sensor named <code class="docutils literal notranslate"><span class="pre">SENSORNAME</span></code>, it specifies the <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_init()</span></code>
+callback function, that the device driver exports, for the
+<code class="docutils literal notranslate"><span class="pre">os_dev_create()</span></code> function to call to initialize the device. The
+<code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_init()</span></code> function must use the following sensor API
+functions to set the driver and interface information in the sensor
+object:</p>
+<ul class="simple">
+<li>The <code class="docutils literal notranslate"><span class="pre">sensor_init()</span></code> function to initialize the <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor</span></code>
+object for the device.</li>
+<li>The <code class="docutils literal notranslate"><span class="pre">sensor_set_driver()</span></code> function to set the types that the sensor
+device supports and the sensor driver functions to read the sensor
+data from the device and to retrieve the value type for a given
+sensor type.</li>
+<li>The <code class="docutils literal notranslate"><span class="pre">sensor_set_interface()</span></code> function to set the interface to use
+to communicate with the sensor device.</li>
+</ul>
+<p><strong>Notes</strong>:</p>
+<ul class="simple">
+<li>See the <a class="reference external" href="/os/modules/sensor_framework/sensor_driver.html">Sensor Device
+Driver</a> page for
+the functions and data structures that a sensor driver package
+exports.</li>
+<li>The <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_init()</span></code> function must also call the
+<code class="docutils literal notranslate"><span class="pre">sensor_mgr_register()</span></code> function to register the sensor with the
+sensor manager. See the <a class="reference external" href="/os/modules/sensor_framework/sensor_manager_api.html">Sensor Manager
+API</a> for
+details.</li>
+</ul>
+</div>
+<div class="section" id="setting-the-configured-sensor-types">
+<h3>Setting the Configured Sensor Types<a class="headerlink" href="#setting-the-configured-sensor-types" title="Permalink to this headline">?</a></h3>
+<p>The BSP, or the sensor creator package, also calls the
+<code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_config()</span></code> function to configure the sensor device with
+default values. The <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_config()</span></code> function is exported by
+the sensor device driver and must call the sensor API
+<code class="docutils literal notranslate"><span class="pre">sensor_set_type_mask()</span></code> function to set the configured sensor types
+in the sensor object. The configured sensor types are a subset of the
+sensor types that the device supports. The sensor framework must know
+the sensor types that a sensor device is configured for because it only
+reads sensor data for the configured sensor types.</p>
+<p><strong>Note:</strong> An application may also call the <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_config()</span></code>
+function to configure the sensor device.</p>
+</div>
+</div>
+<div class="section" id="sensor-api-functions-used-by-an-application">
+<h2>Sensor API Functions Used By an Application<a class="headerlink" href="#sensor-api-functions-used-by-an-application" title="Permalink to this headline">?</a></h2>
+<p>The sensor API provides the functions for an application to read sensor
+data from a sensor and to configure a sensor for polling.</p>
+<div class="section" id="reading-sensor-data">
+<h3>Reading Sensor Data<a class="headerlink" href="#reading-sensor-data" title="Permalink to this headline">?</a></h3>
+<p>An application calls the <code class="docutils literal notranslate"><span class="pre">sensor_read()</span></code> function to read sensor data
+from a sensor device. You specify a bit mask of the configured sensor
+types to read from a sensor device and a callback function to call when
+the sensor data is read. The callback is called for each specified
+configured type and the data read for that sensor type is passed to the
+callback.</p>
+</div>
+<div class="section" id="setting-a-poll-rate-for-a-sensor">
+<h3>Setting a Poll Rate for A Sensor<a class="headerlink" href="#setting-a-poll-rate-for-a-sensor" title="Permalink to this headline">?</a></h3>
+<p>The sensor manager implements a poller that reads sensor data from a
+sensor at specified poll intervals. An application must call the
+<code class="docutils literal notranslate"><span class="pre">sensor_set_poll_rate_ms()</span></code> function to set the poll rate for a sensor
+in order for poller to poll the sensor.</p>
+<p><strong>Note:</strong> An application needs to register a <a class="reference external" href="/os/modules/sensor_framework/sensor_listener_api.html">sensor
+listener</a> to
+receive the sensor data that the sensor manager poller reads from a
+sensor.</p>
+</div>
+</div>
+<div class="section" id="data-structures">
+<h2>Data Structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<p>We list the main data structures that the sensor API uses and mention
+things to note. For more details, see the
+<a class="reference external" href="https://github.com/apache/mynewt-core/blob/master/hw/sensor/include/sensor/sensor.h">sensor.h</a>
+include file.</p>
+<div class="section" id="sensor-object">
+<h3>Sensor Object<a class="headerlink" href="#sensor-object" title="Permalink to this headline">?</a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor</span></code> data structure represents the sensor device. The
+sensor API, the <a class="reference external" href="/os/modules/sensor_framework/sensor_mgr_api.html">sensor manager
+API</a>, and the <a class="reference external" href="/os/modules/sensor_framework/sensor_listener_api.html">sensor
+listener API</a>
+all operate on the <code class="docutils literal notranslate"><span class="pre">sensor</span></code> object abstraction. A sensor is maintained
+in the sensor manager global sensors list.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct sensor {
+    /* The OS device this sensor inherits from, this is typically a sensor
+     * specific driver.
+     */
+    struct os_dev *s_dev;
+
+    /* The lock for this sensor object */
+    struct os_mutex s_lock;
+
+
+    /* A bit mask describing the types of sensor objects available from this
+     * sensor. If the bit corresponding to the sensor_type_t is set, then this
+     * sensor supports that variable.
+     */
+    sensor_type_t s_types;
+
+    /* Sensor mask of the configured sensor type s*/
+    sensor_type_t s_mask;
+    /**
+     * Poll rate in MS for this sensor.
+     */
+    uint32_t s_poll_rate;
+
+    /* The next time at which we want to poll data from this sensor */
+    os_time_t s_next_run;
+
+    /* Sensor driver specific functions, created by the device registering the
+     * sensor.
+     */
+    struct sensor_driver *s_funcs;
+
+    /* Sensor last reading timestamp */
+    struct sensor_timestamp s_sts;
+
+    /* Sensor interface structure */
+    struct sensor_itf s_itf;
+
+    /* A list of listeners that are registered to receive data off of this
+     * sensor
+     */
+    SLIST_HEAD(, sensor_listener) s_listener_list;
+    /* The next sensor in the global sensor list. */
+    SLIST_ENTRY(sensor) s_next;
+};
+</pre></div>
+</div>
+<p><strong>Note:</strong> There are two fields, <code class="docutils literal notranslate"><span class="pre">s_types</span></code> and <code class="docutils literal notranslate"><span class="pre">s_mask</span></code>, of type
+<code class="docutils literal notranslate"><span class="pre">sensor_type_t</span></code>. The <code class="docutils literal notranslate"><span class="pre">s_types</span></code> field is a bit mask that specifies
+the sensor types that the sensor device supports. The <code class="docutils literal notranslate"><span class="pre">s_mask</span></code> field
+is a bit mask that specifies the sensor types that the sensor device is
+configured for. Only sensor data for a configured sensor type can be
+read.</p>
+</div>
+<div class="section" id="sensor-types">
+<h3>Sensor Types<a class="headerlink" href="#sensor-types" title="Permalink to this headline">?</a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">sensor_type_t</span></code> type is an enumeration of a bit mask of sensor
+types, with each bit representing one sensor type. Here is an excerpt of
+the enumeration values. See the
+<a class="reference external" href="https://github.com/apache/mynewt-core/blob/master/hw/sensor/include/sensor/sensor.h">sensor.h</a>
+for details:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>typedef enum {
+ /* No sensor type, used for queries */
+    SENSOR_TYPE_NONE                 = 0,
+    /* Accelerometer functionality supported */
+    SENSOR_TYPE_ACCELEROMETER        = (1 &lt;&lt; 0),
+    /* Magnetic field supported */
+    SENSOR_TYPE_MAGNETIC_FIELD       = (1 &lt;&lt; 1),
+    /* Gyroscope supported */
+    SENSOR_TYPE_GYROSCOPE            = (1 &lt;&lt; 2),
+    /* Light supported */
+    SENSOR_TYPE_LIGHT                = (1 &lt;&lt; 3),
+    /* Temperature supported */
+    SENSOR_TYPE_TEMPERATURE          = (1 &lt;&lt; 4),
+
+                ....
+
+     SENSOR_TYPE_USER_DEFINED_6       = (1 &lt;&lt; 31),
+    /* A selector, describes all sensors */
+    SENSOR_TYPE_ALL                  = 0xFFFFFFFF
+
+} sensor_type_t;
+</pre></div>
+</div>
+</div>
+<div class="section" id="sensor-interface">
+<h3>Sensor Interface<a class="headerlink" href="#sensor-interface" title="Permalink to this headline">?</a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor_itf</span></code> data structure represents the interface the
+sensor device driver uses to communicate with the sensor device.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct sensor_itf {
+
+    /* Sensor interface type */
+    uint8_t si_type;
+
+    /* Sensor interface number */
+    uint8_t si_num;
+
+    /* Sensor CS pin */
+    uint8_t si_cs_pin;
+
+    /* Sensor address */
+    uint16_t si_addr;
+};
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">si_cs_pin</span></code> specifies the chip select pin and is optional. The
+<code class="docutils literal notranslate"><span class="pre">si_type</span></code> field must be of the following types:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#define SENSOR_ITF_SPI    (0)
+#define SENSOR_ITF_I2C    (1)
+#define SENSOR_ITF_UART   (2)
+</pre></div>
+</div>
+</div>
+<div class="section" id="sensor-value-type">
+<h3>Sensor Value Type<a class="headerlink" href="#sensor-value-type" title="Permalink to this headline">?</a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor_cfg</span></code> data structure represents the configuration
+sensor type:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/**
+ * Configuration structure, describing a specific sensor type off of
+ * an existing sensor.
+ */
+struct sensor_cfg {
+    /* The value type for this sensor (e.g. SENSOR_VALUE_TYPE_INT32).
+     * Used to describe the result format for the value corresponding
+     * to a specific sensor type.
+     */
+    uint8_t sc_valtype;
+    /* Reserved for future usage */
+    uint8_t _reserved[3];
+};
+</pre></div>
+</div>
+<p>Only the <code class="docutils literal notranslate"><span class="pre">sc_valtype</span></code> field is currently used and specifies the data
+value type of the sensor data. The valid value types are:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/**
+ * Opaque 32-bit value, must understand underlying sensor type
+ * format in order to interpret.
+ */
+#define SENSOR_VALUE_TYPE_OPAQUE (0)
+/**
+ * 32-bit signed integer
+ */
+#define SENSOR_VALUE_TYPE_INT32  (1)
+/**
+ * 32-bit floating point
+ */
+#define SENSOR_VALUE_TYPE_FLOAT  (2)
+/**
+ * 32-bit integer triplet.
+ */
+#define SENSOR_VALUE_TYPE_INT32_TRIPLET (3)
+/**
+ * 32-bit floating point number triplet.
+ */
+#define SENSOR_VALUE_TYPE_FLOAT_TRIPLET (4)
+</pre></div>
+</div>
+</div>
+<div class="section" id="sensor-driver-functions">
+<h3>Sensor Driver Functions<a class="headerlink" href="#sensor-driver-functions" title="Permalink to this headline">?</a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor_device</span></code> data structure represents the device driver
+functions. The sensor device driver must implement the functions and set
+up the function pointers.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>struct sensor_driver {
+    sensor_read_func_t sd_read;
+    sensor_get_config_func_t sd_get_config;
+};
+</pre></div>
+</div>
+</div>
+</div>
+<div class="section" id="list-of-functions">
+<h2>List of Functions:<a class="headerlink" href="#list-of-functions" title="Permalink to this headline">?</a></h2>
+<p>These are the functions defined by the sensor API. Please see the
+<a class="reference external" href="https://github.com/apache/mynewt-core/blob/master/hw/sensor/include/sensor/sensor.h">sensor.h</a>
+include file for details.</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="43%" />
+<col width="57%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Function</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>sensor_in
+it</td>
+<td>Initializes a
+sensor. A
+sensor device
+driver uses
+this function.</td>
+</tr>
+<tr class="row-odd"><td>sensor_se
+t_driver</td>
+<td>Sets the
+sensor types
+that the
+sensor device
+supports, and
+the driver
+functions to
+read data and
+to get value
+type for a
+sensor type. A
+sensor device
+driver uses
+this function.</td>
+</tr>
+<tr class="row-even"><td>sensor_se
+t_interfa
+ce</td>
+<td>Sets the
+sensor
+interface to
+use to
+communicate
+with the
+sensor device.
+A sensor
+device driver
+uses this
+function.</td>
+</tr>
+<tr class="row-odd"><td>sensor_se
+t_type_m
+ask</td>
+<td>Specifies the
+sensor types
+that a sensor
+device is
+configured
+for. A sensor
+device driver
+uses this
+function.</td>
+</tr>
+<tr class="row-even"><td>sensor_re
+ad</td>
+<td>Reads sensor
+data for the
+specified
+sensor types.
+An application
+uses this
+function.</td>
+</tr>
+<tr class="row-odd"><td>sensor_se
+t_poll_r
+ate_ms</td>
+<td>Sets poll rate
+for the sensor
+manager to
+poll the
+sensor device.
+An application
+uses this
+function.</td>
+</tr>
+<tr class="row-even"><td>sensor_lo
+ck</td>
+<td>Locks the
+sensor object
+for exclusive
+access.</td>
+</tr>
+<tr class="row-odd"><td>sensor_un
+lock</td>
+<td>Unlocks the
+sensor object.</td>
+</tr>
+<tr class="row-even"><td>SENSOR_GE
+T_DEV</td>
+<td>Macro that the
+sensor device
+driver uses to
+retrieve the
+os_dev from
+the sensor
+object.</td>
+</tr>
+<tr class="row-odd"><td>SENSOR_GE
+T_ITF</td>
+<td>Macro that the
+sensor device
+driver uses to
+retrieve the
+sensor_itf
+from the
+sensor object.</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/sensor_framework/sensor_create.html b/develop/os/modules/sensor_framework/sensor_create.html
new file mode 100644
index 000000000..bd1e9bceb
--- /dev/null
+++ b/develop/os/modules/sensor_framework/sensor_create.html
@@ -0,0 +1,526 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Creating and Configuring a Sensor Device &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Creating and Configuring a Sensor Device
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/sensor_framework/sensor_create.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="creating-and-configuring-a-sensor-device">
+<h1>Creating and Configuring a Sensor Device<a class="headerlink" href="#creating-and-configuring-a-sensor-device" title="Permalink to this headline">?</a></h1>
+<p>The steps to create and configure OS devices for onboard and off-board
+sensors are very similar. The BSP creates the OS devices for onboard
+sensors and the <code class="docutils literal notranslate"><span class="pre">hw/sensor/creator/</span></code> package creates the OS devices
+for off-board sensors.</p>
+<p>We discuss how a BSP creates a device for an onboard sensor and then
+discuss what the <code class="docutils literal notranslate"><span class="pre">hw/sensor/creator</span></code> package does differently to
+create an off-board sensor. We also discuss how an application can
+change the default configuration for a sensor device.</p>
+<div class="section" id="creating-an-onboard-sensor">
+<h2>Creating an Onboard Sensor<a class="headerlink" href="#creating-an-onboard-sensor" title="Permalink to this headline">?</a></h2>
+<p>To create and initialize a sensor device named <code class="docutils literal notranslate"><span class="pre">SENSORNAME</span></code>, the BSP implements the following in the
+<code class="docutils literal notranslate"><span class="pre">hal_bsp.c</span></code> file.</p>
+<p><strong>Note</strong>: All example excerpts are from the code that creates the
+LIS2DH12 onboard sensor in the nrf52_thingy BSP.</p>
+<p>1. Define a <code class="docutils literal notranslate"><span class="pre">&lt;SENSORNAME&gt;_ONB</span></code> syscfg setting to specify whether the
+onboard sensor named <code class="docutils literal notranslate"><span class="pre">SENSORNAME</span></code> is enabled. The setting is disabled
+by default. The setting is used to conditionally include the code to
+create a sensor device for <code class="docutils literal notranslate"><span class="pre">SENSORNAME</span></code> when it is enabled by the
+application. For example:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">syscfg.defs:</span>
+<span class="go">    LIS2DH12_ONB:</span>
+<span class="go">        description: &#39;NRF52 Thingy onboard lis2dh12 sensor&#39;</span>
+<span class="go">        value:  0</span>
+</pre></div>
+</div>
+<p>2. Include the ?&lt;sensorname&gt;/&lt;sensorname&gt;.h? header file. The BSP uses
+the functions and data structures that a device driver package exports.
+See the <a class="reference external" href="/os/modules/sensor_framework/sensor_driver.html">Sensor Device
+Driver</a> page for
+details.</p>
+<p>3. Declare a variable named <code class="docutils literal notranslate"><span class="pre">sensorname</span></code> of type
+<code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensorname</span></code>. For example:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#if MYNEWT_VAL(LIS2DH12_ONB)
+#include &lt;lis2dh12/lis2dh12.h&gt;
+static struct lis2dh12 lis2dh12;
+#endif
+</pre></div>
+</div>
+<p>4. Declare and specify the values for a variable of type
+<code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor_itf</span></code> that the sensor device driver uses to communicate
+with the sensor device. For example:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#if MYNEWT_VAL(LIS2DH12_ONB)
+static struct sensor_itf i2c_0_itf_lis = {
+    .si_type = SENSOR_ITF_I2C,
+    .si_num  = 0,
+    .si_addr = 0x19
+&lt;br&gt;
+</pre></div>
+</div>
+<p>5. In the <code class="docutils literal notranslate"><span class="pre">hal_bsp_init()</span></code> function, create an OS device for the
+sensor device. Call the <code class="docutils literal notranslate"><span class="pre">os_dev_create()</span></code> function and pass the
+following to the function:</p>
+<ul class="simple">
+<li>A pointer to the <code class="docutils literal notranslate"><span class="pre">sensorname</span></code> variable from step 3.</li>
+<li>A pointer to the <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_init()</span></code> callback function. Note that
+the device driver package exports this function.</li>
+<li>A pointer to the <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor_itf</span></code> variable from step 4.</li>
+</ul>
+<p>For example:</p>
+<p>```hl_lines=?7 8 9 10 11?</p>
+<p>static void sensor_dev_create(void) { int rc; (void)rc;</p>
+<div class="section" id="if-mynewt-val-lis2dh12-onb">
+<h3>if MYNEWT_VAL(LIS2DH12_ONB)<a class="headerlink" href="#if-mynewt-val-lis2dh12-onb" title="Permalink to this headline">?</a></h3>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>rc = os_dev_create((struct os_dev *) &amp;lis2dh12, &quot;lis2dh12_0&quot;,
+  OS_DEV_INIT_PRIMARY, 0, lis2dh12_init, (void *)&amp;i2c_0_itf_lis);
+assert(rc == 0);
+</pre></div>
+</div>
+</div>
+<div class="section" id="endif">
+<h3>endif<a class="headerlink" href="#endif" title="Permalink to this headline">?</a></h3>
+<p>}</p>
+<p>void hal_bsp_init(void) { int rc;</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>  ...
+
+
+sensor_dev_create();
+</pre></div>
+</div>
+<p>}</p>
+<p>``<code class="docutils literal notranslate"><span class="pre">&lt;br&gt;</span> <span class="pre">6.</span> <span class="pre">Define</span> <span class="pre">a</span></code>config__sensor()<code class="docutils literal notranslate"><span class="pre">function</span> <span class="pre">to</span> <span class="pre">set</span> <span class="pre">the</span> <span class="pre">default</span> <span class="pre">configuration</span> <span class="pre">for</span> <span class="pre">the</span> <span class="pre">sensor.</span> <span class="pre">This</span> <span class="pre">function</span> <span class="pre">opens</span> <span class="pre">the</span> <span class="pre">OS</span> <span class="pre">device</span> <span class="pre">for</span> <span class="pre">the</span> <span class="pre">sensor</span> <span class="pre">device,</span> <span class="pre">initializes</span> <span class="pre">the</span> <span class="pre">a</span></code>cfg<code class="docutils literal notranslate"><span class="pre">variable</span> <span class="pre">of</span> <span class="pre">type</span></code>struct
+_cfg<code class="docutils literal notranslate"><span class="pre">with</span> <span class="pre">the</span> <span class="pre">default</span> <span class="pre">settings,</span> <span class="pre">calls</span> <span class="pre">the</span></code>_config()` driver
+function to configure the device, and closes the device. This function
+is called when the BSP is initialized during sysinit(). For example:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+config_lis2dh12_sensor(void)
+{
+#if MYNEWT_VAL(LIS2DH12_ONB)
+    int rc;
+    struct os_dev *dev;
+    struct lis2dh12_cfg cfg;
+
+    dev = (struct os_dev *) os_dev_open(&quot;lis2dh12_0&quot;, OS_TIMEOUT_NEVER, NULL);
+    assert(dev != NULL);
+
+    memset(&amp;cfg, 0, sizeof(cfg));
+
+    cfg.lc_s_mask = SENSOR_TYPE_ACCELEROMETER;
+    cfg.lc_rate = LIS2DH12_DATA_RATE_HN_1344HZ_L_5376HZ;
+    cfg.lc_fs = LIS2DH12_FS_2G;
+    cfg.lc_pull_up_disc = 1;
+
+    rc = lis2dh12_config((struct lis2dh12 *)dev, &amp;cfg);
+    SYSINIT_PANIC_ASSERT(rc == 0);
+
+    os_dev_close(dev);
+#endif
+    return 0;
+}
+</pre></div>
+</div>
+<ol class="arabic simple" start="7">
+<li>Add the following in the BSP <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file:</li>
+</ol>
+<ul class="simple">
+<li>A conditional package dependency for the
+<code class="docutils literal notranslate"><span class="pre">hw/drivers/sensors/&lt;sensorname&gt;</span></code> package when the
+<code class="docutils literal notranslate"><span class="pre">&lt;SENSORNAME&gt;_ONB</span></code> setting is enabled.</li>
+<li>The <code class="docutils literal notranslate"><span class="pre">config_&lt;sensorname&gt;_sensor</span></code> function with an init stage of 400
+to the <code class="docutils literal notranslate"><span class="pre">pkg.init</span></code> parameter.</li>
+</ul>
+<p>For example:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">pkg.deps.LIS2DH12_ONB:</span>
+<span class="go">    - hw/drivers/sensors/lis2dh12</span>
+
+<span class="go">pkg.init:</span>
+<span class="go">    config_lis2dh12_sensor: 400</span>
+</pre></div>
+</div>
+</div>
+</div>
+<div class="section" id="creating-an-off-board-sensor">
+<h2>Creating an Off-Board Sensor<a class="headerlink" href="#creating-an-off-board-sensor" title="Permalink to this headline">?</a></h2>
+<p>The steps to create an off-board sensor is very similar to the steps for
+a BSP. The <code class="docutils literal notranslate"><span class="pre">hw/sensor/creator/</span></code> package also declares the variables
+and implements the <code class="docutils literal notranslate"><span class="pre">config_&lt;sensorname&gt;_sensor()</span></code> function described
+for a BSP. The package does the following differently.</p>
+<p><strong>Note</strong>: All example excerpts are from the code that creates the BNO055
+off-board sensor in <code class="docutils literal notranslate"><span class="pre">hw/sensor/creator</span></code> package.</p>
+<p>1. Define a <code class="docutils literal notranslate"><span class="pre">&lt;SENSORNAME&gt;_OFB</span></code> syscfg setting to specify whether the
+off-board sensor named <code class="docutils literal notranslate"><span class="pre">SENSORNAME</span></code> is enabled. This setting is
+disabled by default. The <code class="docutils literal notranslate"><span class="pre">hw/sensor/creator</span></code> package uses the setting
+to conditionally include the code to create the sensor device when it is
+enabled by the application.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">#</span> Package: hw/sensor/creator
+
+<span class="go">syscfg.defs:</span>
+<span class="go">      ...</span>
+
+<span class="go">    BNO055_OFB:</span>
+<span class="go">        description: &#39;BNO055 is present&#39;</span>
+<span class="go">        value : 0</span>
+
+<span class="go">       ...</span>
+</pre></div>
+</div>
+<p>2. Add the calls to the <code class="docutils literal notranslate"><span class="pre">os_dev_create()</span></code> and the
+<code class="docutils literal notranslate"><span class="pre">config_&lt;sensorname&gt;_sensor()</span></code> functions in the
+<code class="docutils literal notranslate"><span class="pre">sensor_dev_create()</span></code> function defined in the <code class="docutils literal notranslate"><span class="pre">sensor_creator.c</span></code>
+file . The <code class="docutils literal notranslate"><span class="pre">sensor_dev_create()</span></code> function is the <code class="docutils literal notranslate"><span class="pre">hw/sensor/creator</span></code>
+package initialization function that <code class="docutils literal notranslate"><span class="pre">sysinit()</span></code> calls.</p>
+<p>For example:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>void
+sensor_dev_create(void)
+{
+    int rc;
+
+     ...
+
+#if MYNEWT_VAL(BNO055_OFB)
+    rc = os_dev_create((struct os_dev *) &amp;bno055, &quot;bno055_0&quot;,
+      OS_DEV_INIT_PRIMARY, 0, bno055_init, (void *)&amp;i2c_0_itf_bno);
+    assert(rc == 0);
+
+    rc = config_bno055_sensor();
+    assert(rc == 0);
+#endif
+
+     ....
+
+}
+</pre></div>
+</div>
+<p>3. Add a conditional package dependency for the
+<code class="docutils literal notranslate"><span class="pre">hw/drivers/sensors/&lt;sensorname&gt;</span></code> package when the
+<code class="docutils literal notranslate"><span class="pre">&lt;SENSORNAME&gt;_OFB</span></code> setting is enabled. For example:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">pkg.deps.BNO055_OFB:</span>
+<span class="go">    - hw/drivers/sensors/bno055</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="reconfiguring-a-sensor-device-by-an-application">
+<h2>Reconfiguring A Sensor Device by an Application<a class="headerlink" href="#reconfiguring-a-sensor-device-by-an-application" title="Permalink to this headline">?</a></h2>
+<p>The BSP and sensor creator package use a default configuration and
+enable all supported sensors on a sensor device by default. If the
+default configuration does not meet your application requirements, you
+may change the default configuration for a sensor device. As in the
+<code class="docutils literal notranslate"><span class="pre">config_&lt;sensorname&gt;_sensor</span></code> function, an application must open the OS
+device for the sensor, set up the values for the <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_cfg</span></code>
+structure, call the <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_config()</span></code> device driver function to
+change the configuration in the device, and close the OS device.</p>
+<p>We recommend that you copy the <code class="docutils literal notranslate"><span class="pre">config_&lt;sensorname&gt;_sensor()</span></code> function
+from the BSP or the sensor creator package in to your application code
+and change the desired settings. Note that you must keep all the fields
+in the <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_cfg</span></code> structure initialized with the default
+values for the settings that you do not want to change.</p>
+<p>See the <a class="reference external" href="/os/tutorials/sensors/sensor_offboard_config/">Changing the Default Configuration for a Sensor
+Tutorial</a> for more
+details on how to change the default sensor configuration from an
+application.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/sensor_framework/sensor_driver.html b/develop/os/modules/sensor_framework/sensor_driver.html
new file mode 100644
index 000000000..084edcfaf
--- /dev/null
+++ b/develop/os/modules/sensor_framework/sensor_driver.html
@@ -0,0 +1,734 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Sensor Device Driver &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Sensor Device Driver
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/sensor_framework/sensor_driver.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="sensor-device-driver">
+<h1>Sensor Device Driver<a class="headerlink" href="#sensor-device-driver" title="Permalink to this headline">?</a></h1>
+<p>A Mynewt sensor device driver uses the sensor framework abstraction and
+API to enable applications to access sensor data from any Mynewt sensor
+device using a common interface. The sensor device driver must also use
+the Mynewt HAL interface to communicate with and control a sensor
+device.</p>
+<p>This guide describes what a sensor device driver must implement to
+enable a sensor device within the sensor framework. For information on
+using the HAL API to communicate with a sensor device, see the <a class="reference external" href="/os/modules/hal/hal.html">Hardware
+Layer Abstraction Guide</a>.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">hw/drivers/sensors/&lt;sensorname&gt;</span></code> package implements the device
+driver for the sensor named <code class="docutils literal notranslate"><span class="pre">SENSORNAME</span></code>.</p>
+<p><strong>Note:</strong> All example excerpts are from the BNO055 sensor device driver
+package.</p>
+<div class="section" id="initializing-and-configuring-a-sensor-device">
+<h2>Initializing and Configuring a Sensor Device<a class="headerlink" href="#initializing-and-configuring-a-sensor-device" title="Permalink to this headline">?</a></h2>
+<p>A driver package for a sensor named <code class="docutils literal notranslate"><span class="pre">SENSORNAME</span></code> must define and
+export the following data structures and functions to initialize and
+configure a device:</p>
+<ul>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">&lt;sensorname&gt;</span></code>: This data structure represents a sensor
+device. The structure must include a <code class="docutils literal notranslate"><span class="pre">dev</span></code> field of type
+<code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">os_dev</span></code> and a <code class="docutils literal notranslate"><span class="pre">sensor</span></code> field of type <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor</span></code>.
+For example:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>struct bno055 {
+    struct os_dev dev;
+    struct sensor sensor;
+    struct bno055_cfg cfg;
+    os_time_t last_read_time;
+};
+</pre></div>
+</div>
+</li>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">&lt;sensorname&gt;_cfg</span></code>: This data structure defines the
+configuration for a sensor device. The structure fields are specific
+to the device. This is the data structure that a BSP, the sensor
+creator package, or an application sets to configure a sensor device.
+For example:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>struct bno055_cfg {
+    uint8_t bc_opr_mode;
+    uint8_t bc_pwr_mode;
+    uint8_t bc_units;
+    uint8_t bc_placement;
+    uint8_t bc_acc_range;
+    uint8_t bc_acc_bw;
+
+         ...
+
+    uint32_t bc_mask;
+};
+</pre></div>
+</div>
+</li>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_init()</span></code>: This is the os device initialization
+callback of type
+<code class="docutils literal notranslate"><span class="pre">int</span> <span class="pre">(*os_dev_init_func_t)(struct</span> <span class="pre">os_dev</span> <span class="pre">*,</span> <span class="pre">void</span> <span class="pre">*)</span></code> that the
+<code class="docutils literal notranslate"><span class="pre">os_dev_create()</span></code> function calls to initialize the device. For
+example, the bno055 device driver package defines the following
+function:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>int bno055_init(struct os_dev *dev, void *arg)
+</pre></div>
+</div>
+<p>The BSP, which creates a device for an onboard sensor, and the sensor
+creator package, which creates a device for an off-board sensor,
+calls the <code class="docutils literal notranslate"><span class="pre">os_dev_create()</span></code> function and passes:</p>
+<ul class="simple">
+<li>A pointer to a <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">&lt;sensorname&gt;</span></code> variable.</li>
+<li>The <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_init()</span></code> function pointer.</li>
+<li>A pointer to a <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor_itf</span></code> variable that specifies the
+interface the driver uses to communicate with the sensor device.</li>
+</ul>
+<p>See the <a class="reference external" href="/os/modules/sensor_framework/sensor_create.html">Creating Sensor
+Devices</a> page for
+more details.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">os_dev_create()</span></code> function calls the <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_init()</span></code>
+function with a pointer to the <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">&lt;sensorname&gt;</span></code> for the
+<code class="docutils literal notranslate"><span class="pre">dev</span></code> parameter and a pointer to the <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor_itf</span></code> for the
+<code class="docutils literal notranslate"><span class="pre">arg</span></code> parameter.</p>
+</li>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_config()</span></code>: This is the sensor configuration function
+that the BSP, sensor creator package, or an application calls to
+configure the sensor device. For example:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>int bno055_config(struct bno055 *bno055, struct bno055_cfg *cfg)
+</pre></div>
+</div>
+</li>
+</ul>
+</div>
+<div class="section" id="defining-functions-to-read-sensor-data-and-get-sensor-value-type">
+<h2>Defining Functions to Read Sensor Data and Get Sensor Value Type<a class="headerlink" href="#defining-functions-to-read-sensor-data-and-get-sensor-value-type" title="Permalink to this headline">?</a></h2>
+<p>A device driver must implement the following functions that the sensor
+API uses to read sensor data and to get the configuration value type for
+a sensor:</p>
+<ul class="simple">
+<li>A function of type
+<code class="docutils literal notranslate"><span class="pre">int</span> <span class="pre">(*sensor_read_func_t)(struct</span> <span class="pre">sensor</span> <span class="pre">*,</span> <span class="pre">sensor_type_t,</span> <span class="pre">sensor_data_func_t,</span> <span class="pre">void</span> <span class="pre">*,</span> <span class="pre">uint32_t)</span></code>
+that the sensor framework uses to read a single value from a sensor
+for the specified sensor types. The device driver must implement this
+function such that it reads, for each sensor type set in the bit
+mask, a single value from the sensor and calls the
+<code class="docutils literal notranslate"><span class="pre">sensor_data_funct_t</span></code> callback with the opaque callback argument ,
+the sensor data, and the sensor type.</li>
+<li>A function of type
+<code class="docutils literal notranslate"><span class="pre">int</span> <span class="pre">(*sensor_get_config_func_t)(struct</span> <span class="pre">sensor</span> <span class="pre">*,</span> <span class="pre">sensor_type_t,</span> <span class="pre">struct</span> <span class="pre">sensor_cfg</span> <span class="pre">*)</span></code>
+that returns the value type for the specified sensor type. For
+example, the value type for a <code class="docutils literal notranslate"><span class="pre">SENSOR_VALUE_TYPE_TEMPERATURE</span></code>
+sensor might be <code class="docutils literal notranslate"><span class="pre">SENSOR_VALUE_TYPE_FLOAT</span></code> and the value type for a
+<code class="docutils literal notranslate"><span class="pre">SENSOR_TYPE_ACCELEROMETER</span></code> sensor might be
+<code class="docutils literal notranslate"><span class="pre">SENSOR_VALUE_TYPE_FLOAT_TRIPLET</span></code>.</li>
+</ul>
+<p>The driver initializes a <code class="docutils literal notranslate"><span class="pre">sensor_driver</span></code> structure, shown below, with
+the pointers to these functions:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct sensor_driver {
+    sensor_read_func_t sd_read;
+    sensor_get_config_func_t sd_get_config;
+};
+</pre></div>
+</div>
+<p>For example:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static int bno055_sensor_read(struct sensor *, sensor_type_t,
+        sensor_data_func_t, void *, uint32_t);
+static int bno055_sensor_get_config(struct sensor *, sensor_type_t,
+        struct sensor_cfg *);
+
+static const struct sensor_driver g_bno055_sensor_driver = {
+    bno055_sensor_read,
+    bno055_sensor_get_config
+};
+</pre></div>
+</div>
+</div>
+<div class="section" id="registering-the-sensor-in-the-sensor-framework">
+<h2>Registering the Sensor in the Sensor Framework<a class="headerlink" href="#registering-the-sensor-in-the-sensor-framework" title="Permalink to this headline">?</a></h2>
+<p>The device driver must initialize and register a <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor</span></code>
+object with the sensor manager. See the <a class="reference external" href="/os/modules/sensor_framework/sensor_api.html">Sensor
+API</a> and the <a class="reference external" href="/os/modules/sensor_framework/sensor_manager_api.html">Sensor
+Manager API</a>
+pages for more details.</p>
+<p>The device driver <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_init()</span></code> function initializes and
+registers a sensor object as follows:</p>
+<ul class="simple">
+<li>Calls the <code class="docutils literal notranslate"><span class="pre">sensor_init()</span></code> function to initialize the
+<code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor</span></code> object.</li>
+<li>Calls the <code class="docutils literal notranslate"><span class="pre">sensor_set_driver()</span></code> function to specify the sensor
+types that the sensor device supports, and the pointer to the
+<code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor_driver</span></code> variable that specifies the driver functions
+to read the sensor data and to get the value type for a sensor.</li>
+<li>Calls the <code class="docutils literal notranslate"><span class="pre">sensor_set_interface()</span></code> function to set the interface
+that the device driver uses to communicate with the sensor device.
+The BSP, or sensor creator package for an off-board sensors, sets up
+the <code class="docutils literal notranslate"><span class="pre">sensor_itf</span></code> and passes it to the <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_init()</span></code>
+function. The <code class="docutils literal notranslate"><span class="pre">sensor_set_interface()</span></code> functions saves this
+information in the sensor object. The device driver uses the
+<code class="docutils literal notranslate"><span class="pre">SENSOR_GET_ITF()</span></code> macro to retrieve the sensor_itf when it needs
+to communicate with the sensor device.</li>
+<li>Calls the <code class="docutils literal notranslate"><span class="pre">sensor_mgr_register()</span></code> function to register the sensor
+with the sensor manager.</li>
+</ul>
+<p>For example:</p>
+<p>```hl_lines=?13 20 25 31 32 33 34 35 41 46?</p>
+<p>int bno055_init(struct os_dev <a href="#id1"><span class="problematic" id="id2">*</span></a>dev, void <a href="#id3"><span class="problematic" id="id4">*</span></a>arg) { struct bno055
+<a href="#id5"><span class="problematic" id="id6">*</span></a>bno055; struct sensor <a href="#id7"><span class="problematic" id="id8">*</span></a>sensor; int rc;</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>if (!arg || !dev) {
+    rc = SYS_ENODEV;
+    goto err;
+}
+
+bno055 = (struct bno055 *) dev;
+
+rc = bno055_default_cfg(&amp;bno055-&gt;cfg);
+if (rc) {
+    goto err;
+}
+
+sensor = &amp;bno055-&gt;sensor;
+
+/* Code to setup logging and stats may go here */
+....
+
+rc = sensor_init(sensor, dev);
+if (rc != 0) {
+    goto err;
+}
+
+/* Add the accelerometer/magnetometer driver */
+rc = sensor_set_driver(sensor, SENSOR_TYPE_ACCELEROMETER         |
+        SENSOR_TYPE_MAGNETIC_FIELD | SENSOR_TYPE_GYROSCOPE       |
+        SENSOR_TYPE_TEMPERATURE    | SENSOR_TYPE_ROTATION_VECTOR |
+        SENSOR_TYPE_GRAVITY        | SENSOR_TYPE_LINEAR_ACCEL    |
+        SENSOR_TYPE_EULER, (struct sensor_driver *) &amp;g_bno055_sensor_driver);
+if (rc != 0) {
+    goto err;
+}
+
+/* Set the interface */
+rc = sensor_set_interface(sensor, arg);
+if (rc) {
+    goto err;
+}
+
+rc = sensor_mgr_register(sensor);
+if (rc != 0) {
+    goto err;
+}
+
+return (0);
+</pre></div>
+</div>
+<p>err: return (rc); }</p>
+<p>```</p>
+</div>
+<div class="section" id="configuring-the-sensor-device-and-setting-the-configured-sensor-types">
+<h2>Configuring the Sensor Device and Setting the Configured Sensor Types<a class="headerlink" href="#configuring-the-sensor-device-and-setting-the-configured-sensor-types" title="Permalink to this headline">?</a></h2>
+<p>After the BSP, or the sensor creator package for an off-board sensor,
+creates the OS device for a sensor, it calls the
+<code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_config()</span></code> function to configure sensor device
+information such as mode, power mode, and to set the configured sensor
+types. The <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_config()</span></code> function configures the settings on
+the sensor device. It must also call the <code class="docutils literal notranslate"><span class="pre">sensor_set_type_mask()</span></code>
+function to set the configured sensor types in the sensor object. The
+configured sensor types are a subset of the sensor types that the sensor
+device supports and the sensor framework only reads sensor data for
+configured sensor types.</p>
+<p><strong>Notes:</strong></p>
+<ul class="simple">
+<li>The device driver uses the <code class="docutils literal notranslate"><span class="pre">SENSOR_GET_ITF()</span></code> macro to retrieve the
+sensor interface to communicate with the sensor.</li>
+<li>If a sensor device has a chip ID that can be queried, we recommend
+that the device driver read and verify the chip ID with the data
+sheet.</li>
+<li>An application may call the <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_config()</span></code> function to
+configure the sensor device.</li>
+</ul>
+<p>For example:</p>
+<p>```hl_lines=?7 9 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
+28 29 37 38 39 40 41 42?</p>
+<p>int bno055_config(struct bno055 <a href="#id9"><span class="problematic" id="id10">*</span></a>bno055, struct bno055_cfg <a href="#id11"><span class="problematic" id="id12">*</span></a>cfg) {
+int rc; uint8_t id; uint8_t mode; struct sensor_itf *itf;</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>itf = SENSOR_GET_ITF(&amp;(bno055-&gt;sensor));
+
+/* Check if we can read the chip address */
+rc = bno055_get_chip_id(itf, &amp;id);
+if (rc) {
+    goto err;
+}
+
+if (id != BNO055_ID) {
+    os_time_delay((OS_TICKS_PER_SEC * 100)/1000 + 1);
+
+    rc = bno055_get_chip_id(itf, &amp;id);
+    if (rc) {
+        goto err;
+    }
+
+    if(id != BNO055_ID) {
+        rc = SYS_EINVAL;
+        goto err;
+    }
+}
+
+       ....
+
+/* Other code to set the configuration on the sensor device. */
+
+       ....
+
+rc = sensor_set_type_mask(&amp;(bno055-&gt;sensor), cfg-&gt;bc_mask);
+if (rc) {
+    goto err;
+}
+
+bno055-&gt;cfg.bc_mask = cfg-&gt;bc_mask;
+
+return 0;
+</pre></div>
+</div>
+<p>err: return rc; }</p>
+<p>```</p>
+</div>
+<div class="section" id="implementing-a-sensor-device-shell-command">
+<h2>Implementing a Sensor Device Shell Command<a class="headerlink" href="#implementing-a-sensor-device-shell-command" title="Permalink to this headline">?</a></h2>
+<p>A sensor device driver package may optionally implement a sensor device
+shell command that retrieves and sets sensor device information to aid
+in testing and debugging. While the sensor framework <a class="reference external" href="/os/modules/sensor_framework/sensor_shell.html">sensor shell
+command</a> reads sensor
+data for configured sensor types and is useful for testing an
+application, it does not access low level device information, such as
+reading register values and setting hardware configurations, that might
+be needed to test a sensor device or to debug the sensor device driver
+code. A sensor device shell command implementation is device specific
+but should minimally support reading sensor data for all the sensor
+types that the device supports because the sensor framework <code class="docutils literal notranslate"><span class="pre">sensor</span></code>
+shell command only reads sensor data for configured sensor types.</p>
+<p>The package should:</p>
+<ul class="simple">
+<li>Name the sensor device shell command <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;</span></code>. For example,
+the sensor device shell command for the BNO055 sensor device is
+<code class="docutils literal notranslate"><span class="pre">bno055</span></code>.</li>
+<li>Define a <code class="docutils literal notranslate"><span class="pre">&lt;SENSORNAME&gt;_CLI</span></code> syscfg setting to specify whether the
+shell command is enabled and disable the setting by default.</li>
+<li>Export a <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;_shell_init()</span></code> function that an application
+calls to initialize the sensor shell command when the
+<code class="docutils literal notranslate"><span class="pre">SENSORNAME_CLI</span></code> setting is enabled.</li>
+</ul>
+<p>For an example on how to implement a sensor device shell command, see
+the <a class="reference external" href="https://github.com/apache/mynewt-core/blob/master/hw/drivers/sensors/bno055/src/bno055_shell.c">bno055 shell
+command</a>
+source code. See the <a class="reference external" href="/os/tutorials/sensors/sensor_nrf52_bno055.html">Enabling an Off-Board Sensor in an Existing
+Application Tutorial</a>
+for examples of the bno055 shell command.</p>
+</div>
+<div class="section" id="defining-logs">
+<h2>Defining Logs<a class="headerlink" href="#defining-logs" title="Permalink to this headline">?</a></h2>
+<p>A sensor device driver should define logs for testing purposes. See the
+<a class="reference external" href="os/modules/logs/logs.html">Log OS Guide</a> for more details on how to
+add logs. The driver should define a <code class="docutils literal notranslate"><span class="pre">&lt;SENSORNAME&gt;_LOG</span></code> syscfg setting
+to specify whether logging is enabled and disable the setting by
+default.</p>
+<p>Here is an example from the BNO055 sensor driver package:</p>
+<p>```hl_lines=?1 2 3 5 6 7 8 9 10 11 12 13 14 28 29 30?</p>
+<div class="section" id="if-mynewt-val-bno055-log">
+<h3>if MYNEWT_VAL(BNO055_LOG)<a class="headerlink" href="#if-mynewt-val-bno055-log" title="Permalink to this headline">?</a></h3>
+</div>
+<div class="section" id="include-log-log-h">
+<h3>include ?log/log.h?<a class="headerlink" href="#include-log-log-h" title="Permalink to this headline">?</a></h3>
+</div>
+<div class="section" id="endif">
+<h3>endif<a class="headerlink" href="#endif" title="Permalink to this headline">?</a></h3>
+<p>if MYNEWT_VAL(BNO055_LOG) #define LOG_MODULE_BNO055 (305) #define
+BNO055_INFO(?) LOG_INFO(&amp;_log, LOG_MODULE_BNO055, <strong>VA_ARGS</strong>)
+#define BNO055_ERR(?) LOG_ERROR(&amp;_log, LOG_MODULE_BNO055,
+<strong>VA_ARGS</strong>) static struct log _log; #else #define BNO055_INFO(?)
+#define BNO055_ERR(?) #endif</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>...
+</pre></div>
+</div>
+<p>int bno055_init(struct os_dev <a href="#id13"><span class="problematic" id="id14">*</span></a>dev, void <a href="#id15"><span class="problematic" id="id16">*</span></a>arg) {</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>  ...
+
+rc = bno055_default_cfg(&amp;bno055-&gt;cfg);
+if (rc) {
+    goto err;
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="id17">
+<h3>if MYNEWT_VAL(BNO055_LOG)<a class="headerlink" href="#id17" title="Permalink to this headline">?</a></h3>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>log_register(dev-&gt;od_name, &amp;_log, &amp;log_console_handler, NULL, LOG_SYSLEVEL);
+</pre></div>
+</div>
+</div>
+<div class="section" id="id18">
+<h3>endif<a class="headerlink" href="#id18" title="Permalink to this headline">?</a></h3>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>...
+</pre></div>
+</div>
+<p>}</p>
+<p>```</p>
+</div>
+</div>
+<div class="section" id="defining-stats">
+<h2>Defining Stats<a class="headerlink" href="#defining-stats" title="Permalink to this headline">?</a></h2>
+<p>A sensor device driver may also define stats for the sensor. See the
+<a class="reference external" href="os/modules/stats/stats.html">Stats OS Guide</a> for more details on how
+to add stats. The driver should define a <code class="docutils literal notranslate"><span class="pre">&lt;SENSORNAME&gt;_STATS</span></code> syscfg
+setting to specify whether stats is enabled and disable the setting by
+default.</p>
+<p>Here is an example from the BNO055 sensor driver package:</p>
+<p>```hl_lines=?1 2 3 5 6 7 8 9 11 12 13 14 16 17 18 29 30 31 32 33 34
+35 36 37 38 39 ?</p>
+<div class="section" id="if-mynewt-val-bno055-stats">
+<h3>if MYNEWT_VAL(BNO055_STATS)<a class="headerlink" href="#if-mynewt-val-bno055-stats" title="Permalink to this headline">?</a></h3>
+</div>
+<div class="section" id="include-stats-stats-h">
+<h3>include ?stats/stats.h?<a class="headerlink" href="#include-stats-stats-h" title="Permalink to this headline">?</a></h3>
+</div>
+<div class="section" id="id19">
+<h3>endif<a class="headerlink" href="#id19" title="Permalink to this headline">?</a></h3>
+</div>
+<div class="section" id="id20">
+<h3>if MYNEWT_VAL(BNO055_STATS)<a class="headerlink" href="#id20" title="Permalink to this headline">?</a></h3>
+<p>/* Define the stats section and records */
+STATS_SECT_START(bno055_stat_section) STATS_SECT_ENTRY(errors)
+STATS_SECT_END</p>
+<p>/* Define stat names for querying */
+STATS_NAME_START(bno055_stat_section)
+STATS_NAME(bno055_stat_section, errors)
+STATS_NAME_END(bno055_stat_section)</p>
+<p>/* Global variable used to hold stats data */
+STATS_SECT_DECL(bno055_stat_section) g_bno055stats; #endif</p>
+<p>?</p>
+<p>int bno055_init(struct os_dev <a href="#id21"><span class="problematic" id="id22">*</span></a>dev, void <a href="#id23"><span class="problematic" id="id24">*</span></a>arg) {</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>...
+</pre></div>
+</div>
+</div>
+<div class="section" id="id25">
+<h3>if MYNEWT_VAL(BNO055_STATS)<a class="headerlink" href="#id25" title="Permalink to this headline">?</a></h3>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>/* Initialise the stats entry */
+rc = stats_init(
+    STATS_HDR(g_bno055stats),
+    STATS_SIZE_INIT_PARMS(g_bno055stats, STATS_SIZE_32),
+    STATS_NAME_INIT_PARMS(bno055_stat_section));
+SYSINIT_PANIC_ASSERT(rc == 0);
+/* Register the entry with the stats registry */
+rc = stats_register(dev-&gt;od_name, STATS_HDR(g_bno055stats));
+SYSINIT_PANIC_ASSERT(rc == 0);
+</pre></div>
+</div>
+</div>
+<div class="section" id="id26">
+<h3>endif<a class="headerlink" href="#id26" title="Permalink to this headline">?</a></h3>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>...
+</pre></div>
+</div>
+<p>}</p>
+<p>```</p>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/sensor_framework/sensor_framework_overview.html b/develop/os/modules/sensor_framework/sensor_framework_overview.html
new file mode 100644
index 000000000..5cb7cce73
--- /dev/null
+++ b/develop/os/modules/sensor_framework/sensor_framework_overview.html
@@ -0,0 +1,389 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Mynewt Sensor Framework Overview &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Mynewt Sensor Framework Overview
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/sensor_framework/sensor_framework_overview.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="mynewt-sensor-framework-overview">
+<h1>Mynewt Sensor Framework Overview<a class="headerlink" href="#mynewt-sensor-framework-overview" title="Permalink to this headline">?</a></h1>
+<p>The Mynewt sensor framework is an abstraction layer between an
+application and sensor devices. The sensor framework provides the
+following support:</p>
+<ul class="simple">
+<li>A set of APIs that allows developers to develop sensor device drivers
+within a common framework and enables application developers to
+develop applications that can access sensor data from any Mynewt
+sensor device using a common interface.</li>
+<li>Support for onboard and off-board sensors.</li>
+<li>An OIC sensor server that exposes sensors as OIC resources and
+handles OIC CoAP requests for the sensor resources. A developer can
+easily develop a MyNewt OIC sensor enabled application that serves
+sensor resource requests from OIC client applications.</li>
+<li>A sensor shell command and optional sensor device driver shell
+commands to view sensor data and manage sensor device settings for
+testing and debugging sensor enabled applications and sensor device
+drivers.</li>
+</ul>
+<p><img alt="Alt Layout - Sensor Framework" src="../../../_images/sensor_framework.png" /></p>
+<div class="section" id="overview-of-sensor-support-packages">
+<h2>Overview of Sensor Support Packages<a class="headerlink" href="#overview-of-sensor-support-packages" title="Permalink to this headline">?</a></h2>
+<p>In this guide and the package source code, we use <code class="docutils literal notranslate"><span class="pre">SENSORNAME</span></code> (all
+uppercase) to refer to a sensor product name. For each sensor named
+<code class="docutils literal notranslate"><span class="pre">SENSORNAME</span></code>:</p>
+<ul class="simple">
+<li>The package name for the sensor device driver is <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;</span></code>.
+All functions and data structures that the sensor device driver
+exports are prefixed with <code class="docutils literal notranslate"><span class="pre">&lt;sensorname&gt;</span></code>.</li>
+<li>All syscfg settings defined for the sensor are prefixed with
+<code class="docutils literal notranslate"><span class="pre">&lt;SENSORNAME&gt;</span></code>. For example:<ul>
+<li>The <code class="docutils literal notranslate"><span class="pre">&lt;SENSORNAME&gt;_CLI</span></code> syscfg setting defined in the device
+driver package to specify whether to enable the sensor device
+shell command.</li>
+<li>The <code class="docutils literal notranslate"><span class="pre">&lt;SENSORNAME&gt;_ONB</span></code> syscfg setting defined in the BSP to
+specify whether the onboard sensor is enabled.</li>
+<li>The <code class="docutils literal notranslate"><span class="pre">&lt;SENSORNAME&gt;_OFB</span></code> syscfg setting defined in the sensor
+creator package to specify whether to enable the off-board sensor.</li>
+</ul>
+</li>
+</ul>
+<p>The following Mynewt packages provide sensor support and are needed to
+build a sensor enabled application.</p>
+<ul>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">hw/sensor</span></code>: The sensor framework package. This package implements
+the <a class="reference external" href="/os/modules/sensor_framework/sensor_api.html">sensor framework
+APIs</a>, the <a class="reference external" href="/os/modules/sensor_framework/sensor_oic.html">OIC sensor
+server</a>, and the
+<a class="reference external" href="/os/modules/sensor_framework/sensor_shell.html">sensor shell
+command</a>.</p>
+</li>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">hw/sensor/creator</span></code>: The sensor creator package. This package
+supports off-board sensor devices. It creates the OS devices for the
+sensor devices that are enabled in an application and configures the
+sensor devices with default values. See the <a class="reference external" href="/os/modules/sensor_framework/sensor_create.html">Creating and Configuring
+a Sensor Device</a>
+page for more information.</p>
+<p><strong>Note:</strong> This package is only needed if you are building an
+application with off-board sensors enabled.</p>
+</li>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">hw/bsp/</span></code>: The BSP for boards that support onboard sensors. The BSP
+creates the OS devices for the onboard sensors that the board
+supports and configures the sensors with default values. See the
+<a class="reference external" href="/os/modules/sensor_framework/sensor_create.html">Creating and Configuring a Sensor
+Device</a> page for
+more information.</p>
+</li>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">hw/drivers/sensors/*</span></code>: These are the sensor device driver
+packages. The <code class="docutils literal notranslate"><span class="pre">hw/drivers/sensors/&lt;sensorname&gt;</span></code> package is the
+device driver for a sensor named <code class="docutils literal notranslate"><span class="pre">SENSORNAME</span></code>. See the <a class="reference external" href="/os/modules/sensor_framework/sensor_driver.html">Sensor
+Device Driver</a> page
+for more information.</p>
+</li>
+</ul>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/sensor_framework/sensor_listener_api.html b/develop/os/modules/sensor_framework/sensor_listener_api.html
new file mode 100644
index 000000000..4b7addde0
--- /dev/null
+++ b/develop/os/modules/sensor_framework/sensor_listener_api.html
@@ -0,0 +1,407 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Sensor Listener API &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Sensor Listener API
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/sensor_framework/sensor_listener_api.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="sensor-listener-api">
+<h1>Sensor Listener API<a class="headerlink" href="#sensor-listener-api" title="Permalink to this headline">?</a></h1>
+<p>The sensor listener API allows an application to register listeners for
+sensors and get notified whenever sensor data are read from the sensor
+devices. An application calls the <code class="docutils literal notranslate"><span class="pre">sensor_register_listener()</span></code>
+function to register a listener that specifies the callback function and
+the types of sensor data to listen for from a sensor device.</p>
+<p>When the <code class="docutils literal notranslate"><span class="pre">sensor_read()</span></code> function defined in the <a class="reference external" href="/os/modules/sensor_framework/sensor_api.html">sensor
+API</a> is called to read
+the sensor data for the specified sensor types from a sensor, the
+<code class="docutils literal notranslate"><span class="pre">sensor_read()</span></code> function calls the listener callback, passing it the
+sensor data that is read from the sensor.</p>
+<p>An application calls the <code class="docutils literal notranslate"><span class="pre">sensor_unregister_listener()</span></code> function to
+unregister a listener if it no longer needs notifications when data is
+read from a sensor.</p>
+<p>An application can use listeners in conjunction with the sensor manager
+poller. An application can configure a polling interval for a sensor and
+register a listener for the sensor types it wants to listen for from the
+sensor. When the sensor manager poller reads the sensor data from the
+sensor at each polling interval, the listener callback is called with
+the sensor data passed to it.</p>
+<p>An application can also use listeners for other purposes. For example,
+an application that uses the OIC sensor server may want to register
+listeners. The OIC sensor server handles all the OIC requests for the
+sensor resources and an application does not know about the OIC
+requests. An application can install a listener if it wants to know
+about a request for a sensor resource or use the sensor data that the
+OIC sensor server reads from the sensor.</p>
+<div class="section" id="data-structures">
+<h2>Data Structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor_listener</span></code> data structure represents a listener. You
+must initialize a listener structure with a bit mask of the sensor types
+to listen for from a sensor, a callback function that is called when
+sensor data is read for one of the sensor types, and an opaque argument
+to pass to the callback before you call the
+<code class="docutils literal notranslate"><span class="pre">sensor_register_listener()</span></code> function to register a listener.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct sensor_listener {
+{
+    /* The type of sensor data to listen for, this is interpreted as a
+     * mask, and this listener is called for all sensor types on this
+     * sensor that match the mask.
+     */
+    sensor_type_t sl_sensor_type;
+
+    /* Sensor data handler function, called when has data */
+    sensor_data_func_t sl_func;
+
+    /* Argument for the sensor listener */
+    void *sl_arg;
+
+    /* Next item in the sensor listener list.  The head of this list is
+     * contained within the sensor object.
+     */
+    SLIST_ENTRY(sensor_listener) sl_next;
+};
+</pre></div>
+</div>
+</div>
+<div class="section" id="list-of-functions">
+<h2>List of Functions:<a class="headerlink" href="#list-of-functions" title="Permalink to this headline">?</a></h2>
+<p>These are the functions defined by the sensor listener API. Please see
+the
+<a class="reference external" href="https://github.com/apache/mynewt-core/blob/master/hw/sensor/include/sensor/sensor.h">sensor.h</a>
+include file for details.</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="43%" />
+<col width="57%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Function</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>sensor_re
+gister_li
+stener</td>
+<td>Registers the
+specified
+listener for a
+given sensor.</td>
+</tr>
+<tr class="row-odd"><td>sensor_un
+register_
+listener</td>
+<td>Unregisters
+the specified
+listener for a
+given sensor.</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/sensor_framework/sensor_mgr_api.html b/develop/os/modules/sensor_framework/sensor_mgr_api.html
new file mode 100644
index 000000000..500155583
--- /dev/null
+++ b/develop/os/modules/sensor_framework/sensor_mgr_api.html
@@ -0,0 +1,517 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Sensor Manager API &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Sensor Manager API
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/sensor_framework/sensor_mgr_api.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="sensor-manager-api">
+<h1>Sensor Manager API<a class="headerlink" href="#sensor-manager-api" title="Permalink to this headline">?</a></h1>
+<p>The sensor manager API manages the sensors that are enabled in an
+application. The API allows a sensor device to register itself with the
+sensor manager and an application to look up the sensors that are
+enabled. The sensor manager maintains a list of sensors, each
+represented by a <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor</span></code> object defined in the the <a class="reference external" href="/os/modules/sensor_framework/sensor_api.html">Sensor
+API</a>.</p>
+<div class="section" id="registering-sensors">
+<h2>Registering Sensors<a class="headerlink" href="#registering-sensors" title="Permalink to this headline">?</a></h2>
+<p>When the BSP or the sensor creator package creates a sensor device in
+the kernel, via the <code class="docutils literal notranslate"><span class="pre">os_dev_create()</span></code> function, the sensor device init
+function must initialize a <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor</span></code> object and call the
+<code class="docutils literal notranslate"><span class="pre">sensor_mgr_register()</span></code> function to register itself with the sensor
+manager.</p>
+</div>
+<div class="section" id="looking-up-sensors">
+<h2>Looking Up Sensors<a class="headerlink" href="#looking-up-sensors" title="Permalink to this headline">?</a></h2>
+<p>An application uses the sensor manager API to look up the
+<code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor</span></code> object for a sensor. The <a class="reference external" href="/os/modules/sensor_framework/sensor_api.html">sensor
+API</a> and the <a class="reference external" href="/os/modules/sensor_framework/sensor_listener_api.html">sensor
+listener API</a>
+perform operations on a sensor object. The sensor manager API provides
+the following sensor lookup functions:</p>
+<ul>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">sensor_mgr_find_next_bytype()</span></code>: This function returns the next
+sensor, on the sensors list, whose configured sensor types match one
+of the specified sensor types to search for. The sensor types to
+search are specified as a bit mask. You can use the function to
+search for the first sensor that matches or to iterate through the
+list and search for all sensors that match. If you are iterating
+through the list to find the next match, you must call the
+<code class="docutils literal notranslate"><span class="pre">sensor_mgr_lock()</span></code> function to lock the sensors list before you
+start the iteration and call the <code class="docutils literal notranslate"><span class="pre">sensor_mgr_unlock()</span></code> unlock the
+list when you are done. You do not need to lock the sensor list if
+you use the function to find the first match because the
+<code class="docutils literal notranslate"><span class="pre">sensor_mgr_find_next_bytype()</span></code> locks the sensors list before the
+search.</p>
+</li>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">sensor_mgr_find_next_bydevname()</span></code>: This function returns the
+sensor that matches the specified device name.</p>
+<p><strong>Note:</strong> There should only be one sensor that matches a specified
+device name even though the function name suggests that there can be
+multiple sensors with the same device name.</p>
+</li>
+</ul>
+</div>
+<div class="section" id="checking-configured-sensor-types">
+<h2>Checking Configured Sensor Types<a class="headerlink" href="#checking-configured-sensor-types" title="Permalink to this headline">?</a></h2>
+<p>An application may configure a sensor device to only support a subset of
+supported sensor types. The <code class="docutils literal notranslate"><span class="pre">sensor_mgr_match_bytype()</span></code> function
+allows an application to check whether a sensor is configured for one of
+the specified sensor types. The type to check is a bit mask and can
+include multiple types. The function returns a match when there is a
+match for one, not all, of the specified types in the bit mask.</p>
+</div>
+<div class="section" id="polling-sensors">
+<h2>Polling Sensors<a class="headerlink" href="#polling-sensors" title="Permalink to this headline">?</a></h2>
+<p>The sensor manager implements a poller that reads sensor data from
+sensors at specified poll rates. If an application configures a sensor
+to be polled, using the <code class="docutils literal notranslate"><span class="pre">sensor_set_poll_rate_ms()</span></code> function defined
+in the <a class="reference external" href="/os/modules/sensor_framework/sensor_api.html">sensor API</a>, the
+sensor manager poller will poll and read the configured sensor data from
+the sensor at the specified interval.</p>
+<p>The sensor manager poller uses an OS callout to set up a timer event to
+poll the sensors, and uses the default OS event queue and the OS main
+task to process timer events. The <code class="docutils literal notranslate"><span class="pre">SENSOR_MGR_WAKEUP_RATE</span></code> syscfg
+setting specifies the default wakeup rate the sensor manager poller
+wakes up to poll sensors. The sensor manager poller uses the poll rate
+for a sensor if the sensor is configured for a higher poll rate than the
+<code class="docutils literal notranslate"><span class="pre">SENSOR_MGR_WAKEUP_RATE</span></code> setting value.</p>
+<p><strong>Note:</strong> An application needs to register a <a class="reference external" href="/os/modules/sensor_framework/sensor_listener_api.html">sensor
+listener</a> to
+receive the sensor data that the sensor manager poller reads from a
+sensor.</p>
+</div>
+<div class="section" id="data-structures">
+<h2>Data Structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<p>The sensor manager API uses the <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sensor</span></code> and <code class="docutils literal notranslate"><span class="pre">sensor_type_t</span></code>
+types.</p>
+</div>
+<div class="section" id="list-of-functions">
+<h2>List of Functions:<a class="headerlink" href="#list-of-functions" title="Permalink to this headline">?</a></h2>
+<p>These are the functions defined by the sensor manager API. Please see
+the
+<a class="reference external" href="https://github.com/apache/mynewt-core/blob/master/hw/sensor/include/sensor/sensor.h">sensor.h</a>
+include file for details.</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="43%" />
+<col width="57%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Function</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>sensor_mg
+r_find_n
+ext_bynam
+e</td>
+<td>Returns the
+next sensor
+from the
+sensor manager
+list that
+matches the
+specified
+device name.
+An application
+uses this
+function. You
+must call the
+sensor_mgr_l
+ock()
+function to
+lock the
+sensor manager
+list if you
+are iterating
+through the
+sensor manager
+list.</td>
+</tr>
+<tr class="row-odd"><td>sensor_mg
+r_find_n
+ext_bytyp
+e</td>
+<td>Returns the
+next sensor
+from the
+sensor manager
+list that
+matches one of
+the specified
+sensor types.
+An application
+uses this
+function.You
+must call the
+sensor_mgr_l
+ock()
+function to
+lock the
+sensor manager
+list if you
+are iterating
+through the
+sensor manager
+list.</td>
+</tr>
+<tr class="row-even"><td>sensor_mg
+r_lock</td>
+<td>Locks the
+sensor manager
+list. An
+application
+uses this
+function.</td>
+</tr>
+<tr class="row-odd"><td>sensor_mg
+r_match_
+bytype</td>
+<td>Indicates
+whether a
+given sensor
+is configured
+for one of the
+specified
+sensor types.
+An application
+uses this
+function.
+Note: The
+function takes
+a pointer to a
+variable with
+the bit mask
+of the types
+to match.</td>
+</tr>
+<tr class="row-even"><td>sensor_mg
+r_registe
+r</td>
+<td>Registers a
+sensor object.
+A sensor
+device driver
+uses this
+function.</td>
+</tr>
+<tr class="row-odd"><td>sensor_mg
+r_unlock</td>
+<td>Unlocks the
+sensor manager
+list. An
+application
+uses this
+function.</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/sensor_framework/sensor_oic.html b/develop/os/modules/sensor_framework/sensor_oic.html
new file mode 100644
index 000000000..18e070564
--- /dev/null
+++ b/develop/os/modules/sensor_framework/sensor_oic.html
@@ -0,0 +1,346 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>OIC Sensor Support &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    OIC Sensor Support
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/sensor_framework/sensor_oic.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="oic-sensor-support">
+<h1>OIC Sensor Support<a class="headerlink" href="#oic-sensor-support" title="Permalink to this headline">?</a></h1>
+<p>The sensor framework provides support for an OIC enabled application to
+host the sensor devices as OIC resources. The sensor framework provides
+the following OIC support:</p>
+<ul class="simple">
+<li>Creates OIC resources for each sensor device that is enabled in the
+application. It creates an OIC discoverable and observable resource
+for each sensor type that the sensor device is configured for.</li>
+<li>Processes CoAP GET requests for the sensor OIC resources. It reads
+the sensor data samples, encodes the data, and sends back a response.</li>
+</ul>
+<p>The sensor package (<code class="docutils literal notranslate"><span class="pre">hw/sensor</span></code>) defines the following syscfg settings
+for OIC support:</p>
+<ul class="simple">
+<li><code class="docutils literal notranslate"><span class="pre">SENSOR_OIC</span></code>: This setting specifies whether to enable sensor OIC
+server support. The setting is enabled by default. The sensor package
+includes the <code class="docutils literal notranslate"><span class="pre">net/oic</span></code> package for the OIC support when this
+setting is enabled. The <code class="docutils literal notranslate"><span class="pre">OC_SERVER</span></code> syscfg setting that specifies
+whether to enable OIC server support in the <code class="docutils literal notranslate"><span class="pre">net/oic</span></code> package must
+also be enabled.</li>
+<li><code class="docutils literal notranslate"><span class="pre">SENSOR_OIC_OBS_RATE</span></code>: Sets the OIC server observation rate.</li>
+</ul>
+<p>An application defines an OIC application initialization handler that
+sets up the OIC resources it supports and calls the <code class="docutils literal notranslate"><span class="pre">oc_main_init()</span></code>
+function to initialize the OC server. The application must call the
+<code class="docutils literal notranslate"><span class="pre">sensor_oic_init()</span></code> function from the the OIC application
+initialization handler. The <code class="docutils literal notranslate"><span class="pre">sensor_oic_init()</span></code> function creates all
+the OIC resources for the sensors and registers request callbacks to
+process CoAP GET requests for the sensor OIC resources.</p>
+<p>See the <a class="reference external" href="/os/tutorials/sensors/sensor_oic_overview.html">Enabling OIC Sensor Data Monitoring
+Tutorials</a> to run and
+develop sample OIC sensor server applications.</p>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/sensor_framework/sensor_shell.html b/develop/os/modules/sensor_framework/sensor_shell.html
new file mode 100644
index 000000000..8e9f176d7
--- /dev/null
+++ b/develop/os/modules/sensor_framework/sensor_shell.html
@@ -0,0 +1,323 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Sensor Shell Command &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Sensor Shell Command
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/sensor_framework/sensor_shell.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="sensor-shell-command">
+<h1>Sensor Shell Command<a class="headerlink" href="#sensor-shell-command" title="Permalink to this headline">?</a></h1>
+<p>The sensor framework, <code class="docutils literal notranslate"><span class="pre">hw/sensor</span></code>, package implements a <code class="docutils literal notranslate"><span class="pre">sensor</span></code>
+shell command. The command allows a user to view the sensors that are
+enabled in an application and to read the sensor data from the sensors.
+See the <a class="reference external" href="/os/tutorials/sensors/sensor_nrf52_bno055.html">Enabling an Off-Board Sensor in an Existing Application
+Tutorial</a></p>
+<p>The package defines the <code class="docutils literal notranslate"><span class="pre">SENSOR_CLI</span></code> syscfg setting to specify whether
+to enable to <code class="docutils literal notranslate"><span class="pre">sensor</span></code> shell command and enables the setting by
+default.</p>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/shell/shell.html b/develop/os/modules/shell/shell.html
new file mode 100644
index 000000000..a5c93df61
--- /dev/null
+++ b/develop/os/modules/shell/shell.html
@@ -0,0 +1,649 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Shell &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Shell
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/shell/shell.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="shell">
+<h1>Shell<a class="headerlink" href="#shell" title="Permalink to this headline">?</a></h1>
+<p>The shell runs above the console and provides two functionalities:</p>
+<ul class="simple">
+<li>Processes console input. See the <a class="reference external" href="/os/tutorials/blinky_console.html">Enabling the Console and Shell
+tutorial</a> for example of the
+shell.</li>
+<li>Implements the <a class="reference external" href="../../../newtmgr/overview.html">newtmgr</a> line
+protocol over serial transport.</li>
+</ul>
+<p>The shell uses the OS default event queue for shell events and runs in
+the context of the main task. An application can, optionally, specify a
+dedicated event queue for the shell to use.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">sys/shell</span></code> package implements the shell. To use the shell you
+must:</p>
+<ul class="simple">
+<li>Include the <code class="docutils literal notranslate"><span class="pre">sys/shell</span></code> package.</li>
+<li>Set the <code class="docutils literal notranslate"><span class="pre">SHELL_TASK</span></code> syscfg setting value to 1 to enable the shell.</li>
+</ul>
+<p><strong>Note:</strong> The functions for the shell API are only compiled and linked
+with the application when the <code class="docutils literal notranslate"><span class="pre">SHELL_TASK</span></code> setting is enabled. When
+you develop a package that supports shell commands, we recommend that
+your pakcage define:</p>
+<ol class="arabic simple">
+<li>A syscfg setting that enables shell command processing for your
+package, with a restriction that when this setting is enabled, the
+<code class="docutils literal notranslate"><span class="pre">SHELL_TASK</span></code> setting must also be enabled.</li>
+<li>A conditional dependency on the <code class="docutils literal notranslate"><span class="pre">sys/shell</span></code> package when the
+setting defined in 1 above is enabled.</li>
+</ol>
+<p>Here are example definitions from the <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> and <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code>
+files for the <code class="docutils literal notranslate"><span class="pre">sys/log/full</span></code> package. It defines the <code class="docutils literal notranslate"><span class="pre">LOG_CLI</span></code>
+setting to enable the log command in the shell:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">#</span> sys/log/full syscfg.yml
+<span class="go"> LOG_CLI:</span>
+<span class="go">        description: &#39;Expose &quot;log&quot; command in shell.&#39;</span>
+<span class="go">        value: 0</span>
+<span class="go">        restrictions:</span>
+<span class="go">            - SHELL_TASK</span>
+
+<span class="gp">#</span> sys/log/full pkg.yml
+<span class="go">pkg.deps.LOG_CLI:</span>
+<span class="go">    - sys/shell</span>
+</pre></div>
+</div>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<div class="section" id="processing-console-input-commands">
+<h3>Processing Console Input Commands<a class="headerlink" href="#processing-console-input-commands" title="Permalink to this headline">?</a></h3>
+<p>The shell?s first job is to direct incoming commands to other
+subsystems. It parses the incoming character string into tokens and uses
+the first token to determine the subsystem command handler to call to
+process the command. When the shell calls the command handler, it passes
+the other tokens as arguments to the handler.</p>
+<div class="section" id="registering-command-handlers">
+<h4>Registering Command Handlers<a class="headerlink" href="#registering-command-handlers" title="Permalink to this headline">?</a></h4>
+<p>A package that implements a shell command must register a command
+handler to process the command.</p>
+<p><strong>New in release 1.1</strong>: The shell supports the concept of modules and
+allows a package to group shell commands under a name space. To run a
+command in the shell, you enter the module name and the command name.
+You can set a default module, using the <code class="docutils literal notranslate"><span class="pre">select</span></code> command, so that you
+only need to enter the command name to run a command from the default
+module. You can switch the module you designate as the default module.</p>
+<p>There are two methods to register command handlers in Mynewt 1.1:</p>
+<ul>
+<li><p class="first">Method 1 (New in release 1.1): Define and register a set of commands
+for a module. This method allows grouping shell commands into
+namespaces. A package calls the <code class="docutils literal notranslate"><span class="pre">shell_register()</span></code> function to
+define a module and register the command handlers for the module.</p>
+<p><strong>Note:</strong> The <code class="docutils literal notranslate"><span class="pre">SHELL_MAX_MODULES</span></code> syscfg setting specifies the
+maximum number of modules that can be registered. You can increase
+this value if your application and the packages it includes register
+more than the default value.</p>
+</li>
+<li><p class="first">Method 2: Register a command handler without defining a module. A
+package calls the <code class="docutils literal notranslate"><span class="pre">shell_cmd_register()</span></code> function defined in Mynewt
+1.0 to register a command handler. When a shell command is registered
+using this method, the command is automatically added to the
+<code class="docutils literal notranslate"><span class="pre">compat</span></code> module. The <code class="docutils literal notranslate"><span class="pre">compat</span></code> module supports backward
+compatibility for all the shell commands that are registered using
+the <code class="docutils literal notranslate"><span class="pre">shell_cmd_register()</span></code> function.</p>
+<p><strong>Notes:</strong></p>
+<ul class="simple">
+<li>The <code class="docutils literal notranslate"><span class="pre">SHELL_COMPAT</span></code> syscfg setting must be set to 1 to enable
+backward compatibility support and the <code class="docutils literal notranslate"><span class="pre">shell_cmd_register()</span></code>
+function. Since Mynewt packages use method 2 to register shell
+commands and Mynewt plans to continue this support in future
+releases, you must keep the default setting value of 1.</li>
+<li>The <code class="docutils literal notranslate"><span class="pre">SHELL_MAX_COMPAT_COMMANDS</span></code> syscfg setting specifies the
+maximum number of command handlers that can be registered using
+this method. You can increase this value if your application and
+the packages it includes register more than the default value.</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="enabling-help-information-for-shell-commands">
+<h4>Enabling Help Information for Shell Commands<a class="headerlink" href="#enabling-help-information-for-shell-commands" title="Permalink to this headline">?</a></h4>
+<p>The shell supports command help. A package that supports command help
+initializes the <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">shell_cmd</span></code> data structure with help text for
+the command before it registers the command with the shell. The
+<code class="docutils literal notranslate"><span class="pre">SHELL_CMD_HELP</span></code> syscfg setting enables or disbles help support for
+all shell commands. The feature is enabled by default.</p>
+<p><strong>Note:</strong> A package that implements help for a shell command should only
+initialize the help data structures within the
+<code class="docutils literal notranslate"><span class="pre">#if</span> <span class="pre">MYNEWT_VAL(SHELL_CMD_HELP)</span></code> preprocessor directive.</p>
+</div>
+<div class="section" id="enabling-the-os-and-prompt-shell-modules">
+<h4>Enabling the OS and Prompt Shell Modules<a class="headerlink" href="#enabling-the-os-and-prompt-shell-modules" title="Permalink to this headline">?</a></h4>
+<p>The shell implements the <code class="docutils literal notranslate"><span class="pre">os</span></code> and <code class="docutils literal notranslate"><span class="pre">prompt</span></code> modules. These modules
+support the shell commands to view OS resources.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">os</span></code> module implements commands to list task and mempool usage
+information and to view and change the time of day. The
+<code class="docutils literal notranslate"><span class="pre">SHELL_OS_MODULE</span></code> syscfg setting enables or disables the module. The
+module is enabled by default.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">prompt</span></code> module implements the <code class="docutils literal notranslate"><span class="pre">ticks</span></code> command that controls
+whether to print the current os ticks in the prompt. The
+<code class="docutils literal notranslate"><span class="pre">SHELL_PROMPT_MODULE</span></code> syscfg setting enables or disables this module.
+The module is disabled by default.</p>
+</div>
+<div class="section" id="enabling-command-name-completion">
+<h4>Enabling Command Name Completion<a class="headerlink" href="#enabling-command-name-completion" title="Permalink to this headline">?</a></h4>
+<p>The shell supports command name completion. The <code class="docutils literal notranslate"><span class="pre">SHELL_COMPLETION</span></code>
+syscfg setting enables or disables the feature. The feature is enabled
+by default.</p>
+</div>
+</div>
+<div class="section" id="processing-newtmgr-line-protocol-over-serial-transport">
+<h3>Processing Newtmgr Line Protocol Over Serial Transport<a class="headerlink" href="#processing-newtmgr-line-protocol-over-serial-transport" title="Permalink to this headline">?</a></h3>
+<p>The shell?s second job is to handle packet framing, encoding, and
+decoding of newtmgr protocol messages that are sent over the console.
+The Newtmgr serial transport package
+(<code class="docutils literal notranslate"><span class="pre">mgmt/newtmgr/transport/newtmgr_shell</span></code>) calls the
+<code class="docutils literal notranslate"><span class="pre">shell_nlip_input_register()</span></code> function to register a handler that the
+shell calls when it receives newtmgr request messages.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">SHELL_NEWTMGR</span></code> syscfg setting specifies whether newtmgr is
+enabled over shell. The setting is enabled by default.</p>
+</div>
+</div>
+<div class="section" id="data-structures">
+<h2>Data Structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">shell_cmd</span></code> data structure represents a shell command and
+is used to register a command.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">struct shell_cmd {</span>
+<span class="go">    const char *sc_cmd;</span>
+<span class="go">    shell_cmd_func_t sc_cmd_func;</span>
+<span class="go">    const struct shell_cmd_help *help;</span>
+<span class="go">};</span>
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="43%" />
+<col width="57%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Element</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">sc_cmd</span></code></td>
+<td>Character
+string of the
+command name.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">sc_cmd_f</span>
+<span class="pre">unc_t</span></code></td>
+<td>Pointer to the
+command
+handler that
+processes the
+command.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">help</span></code></td>
+<td>Pointer to the
+shell_cmd_he
+lp
+structure. If
+the pointer is
+NULL, help
+information is
+not provided.</td>
+</tr>
+</tbody>
+</table>
+<p>The <code class="docutils literal notranslate"><span class="pre">sc_cmd_func_t</span></code> is the command handler function type.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>typedef int (*shell_cmd_func_t)(int argc, char *argv[]);
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">argc</span></code> parameter specifies the number of command line arguments
+and the <code class="docutils literal notranslate"><span class="pre">argv</span></code> parameter is an array of character pointers to the
+command arguments. The <code class="docutils literal notranslate"><span class="pre">SHELL_CMD_ARGC_MAX</span></code> syscfg setting specifies
+the maximum number of command line arguments that any shell command can
+have. This value must be increased if a shell command requires more than
+<code class="docutils literal notranslate"><span class="pre">SHELL_CMD_ARGC_MAX</span></code> number of command line arguments.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">shell_module</span></code> data structure represents a shell module. It
+is used to register a shell module and the shell commands for the
+module.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct shell_module {
+    const char *name;
+    const struct shell_cmd *commands;
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="43%" />
+<col width="57%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Element</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">name</span></code></td>
+<td>Character
+string of the
+module name.</td>
+</tr>
+<tr class="row-odd"><td><a href="#id1"><span class="problematic" id="id2">``</span></a>commands
+``</td>
+<td>Array of
+<code class="docutils literal notranslate"><span class="pre">shell_cmd</span></code>
+structures
+that specify
+the commands
+for the
+module. The
+<code class="docutils literal notranslate"><span class="pre">sc_cmd</span></code>,
+<code class="docutils literal notranslate"><span class="pre">sc_cmd_func`</span>
+<span class="pre">`,</span>
+<span class="pre">and</span> <span class="pre">``help</span></code>
+fields in the
+last entry
+must be set to
+NULL to
+indicate the
+last entry in
+the array.</td>
+</tr>
+</tbody>
+</table>
+<p><strong>Note</strong>: A command handler registered via the <code class="docutils literal notranslate"><span class="pre">shell_cmd_register()</span></code>
+function is automatically added to the <code class="docutils literal notranslate"><span class="pre">compat</span></code> module.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">shell_param</span></code> and <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">shell_cmd_help</span></code> data
+structures hold help texts for a shell command.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct shell_param {
+    const char *param_name;
+    const char *help;
+};`
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="24%" />
+<col width="76%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Element</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">param_name</span></code></td>
+<td>Character string of the command parameter name.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">help</span></code></td>
+<td>Character string of the help text for the parameter.</td>
+</tr>
+</tbody>
+</table>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct shell_cmd_help {
+    const char *summary;
+    const char *usage;
+    const struct shell_param *params;
+};
+</pre></div>
+</div>
+<table border="1" class="docutils">
+<colgroup>
+<col width="43%" />
+<col width="57%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Element</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><a href="#id3"><span class="problematic" id="id4">``</span></a>summary`
+`</td>
+<td>Character
+string of a
+short
+description of
+the command.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">usage</span></code></td>
+<td>Character
+string of a
+usage
+description
+for the
+command.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">params</span></code></td>
+<td>Array of
+<code class="docutils literal notranslate"><span class="pre">shell_param`</span>
+<span class="pre">`</span>
+<span class="pre">structures</span>
+<span class="pre">that</span> <span class="pre">describe</span>
+<span class="pre">each</span> <span class="pre">parameter</span>
+<span class="pre">for</span> <span class="pre">the</span>
+<span class="pre">command.</span> <span class="pre">The</span>
+<span class="pre">last</span>
+<span class="pre">``struct</span> <span class="pre">shell</span>
+<span class="pre">_param</span></code>
+in the array
+must have the
+<code class="docutils literal notranslate"><span class="pre">param_name</span></code>
+and <code class="docutils literal notranslate"><span class="pre">help</span></code>
+fields set to
+NULL to
+indicate the
+last entry in
+the array.</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<div>##List of Functions</div></blockquote>
+<p>The functions available in this OS feature are:</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/shell/shell_cmd_register.html b/develop/os/modules/shell/shell_cmd_register.html
new file mode 100644
index 000000000..1efbdfc27
--- /dev/null
+++ b/develop/os/modules/shell/shell_cmd_register.html
@@ -0,0 +1,370 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>shell_cmd_register &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    shell_cmd_register
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/shell/shell_cmd_register.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="shell-cmd-register">
+<h1>shell_cmd_register<a class="headerlink" href="#shell-cmd-register" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int shell_cmd_register(struct shell_cmd *sc)</span>
+</pre></div>
+</div>
+<p>Registers a handler for incoming shell commands. The function adds the
+shell command to the <code class="docutils literal notranslate"><span class="pre">compat</span></code> module.</p>
+<p>The caller must initialize the <code class="docutils literal notranslate"><span class="pre">shell_cmd</span></code> structure with the command
+name and the pointer to the command handler. The caller must not free
+the memory for the command name string because the shell keeps a
+reference to the memory for internal use.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="15%" />
+<col width="85%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">sc</span></code></td>
+<td>Pointer to the <code class="docutils literal notranslate"><span class="pre">shell_cmd</span></code> structure for the command to register.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns 0 on success.</p>
+<p>Non-zero on failure. #### Notes</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">SHELL_MAX_COMPAT_COMMANDS</span></code> syscfg setting specifies the maximum
+number of shell commands that the <code class="docutils literal notranslate"><span class="pre">compat</span></code> module supports. This
+function aborts if the number of handlers registered exceeds this limit.
+You can increase the value for this setting.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">static int fs_ls_cmd(int argc, char **argv);</span>
+
+<span class="go">static struct shell_cmd fs_ls_struct = {</span>
+<span class="go">    .sc_cmd = &quot;ls&quot;,</span>
+<span class="go">    .sc_cmd_func = fs_ls_cmd</span>
+<span class="go">};</span>
+
+<span class="go">void</span>
+<span class="go">fs_cli_init(void)</span>
+<span class="go">{</span>
+<span class="go">    shell_cmd_register(&amp;fs_ls_struct);</span>
+<span class="go">    ....</span>
+<span class="go">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/shell/shell_evq_set.html b/develop/os/modules/shell/shell_evq_set.html
new file mode 100644
index 000000000..307a033fd
--- /dev/null
+++ b/develop/os/modules/shell/shell_evq_set.html
@@ -0,0 +1,349 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>shell_evq_set &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    shell_evq_set
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/shell/shell_evq_set.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="shell-evq-set">
+<h1>shell_evq_set<a class="headerlink" href="#shell-evq-set" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>void shell_evq_set(struct os_eventq *evq)
+</pre></div>
+</div>
+<p>Specifies an event queue to use for shell events. You must create the
+event queue and the task to process events from the queue before calling
+this function.</p>
+<p>By default, shell uses the OS default event queue and executes in the
+context of the main task that Mynewt creates.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="19%" />
+<col width="81%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">evq</span></code></td>
+<td>Pointer to the event queue to use for shell events.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>None</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/shell/shell_nlip_input_register.html b/develop/os/modules/shell/shell_nlip_input_register.html
new file mode 100644
index 000000000..f5ce9745d
--- /dev/null
+++ b/develop/os/modules/shell/shell_nlip_input_register.html
@@ -0,0 +1,376 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>shell_nlip_input_register &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    shell_nlip_input_register
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/shell/shell_nlip_input_register.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="shell-nlip-input-register">
+<h1>shell_nlip_input_register<a class="headerlink" href="#shell-nlip-input-register" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int shell_nlip_input_register(shell_nlip_input_func_t nf, void *arg)</span>
+</pre></div>
+</div>
+<p>Registers a handler for incoming newtmgr messages. The shell receives
+the incoming data stream from the UART, and when it detects a NLIP
+frame, decodes the datagram, and calls the registered handler,<code class="docutils literal notranslate"><span class="pre">nf</span></code>.</p>
+<p>The handler function is of type
+<code class="docutils literal notranslate"><span class="pre">int</span> <span class="pre">(*shell_nlip_input_func_t)(struct</span> <span class="pre">os_mbuf</span> <span class="pre">*m,</span> <span class="pre">void</span> <span class="pre">*arg)</span></code>. The
+shell passes the incoming newtmgr message stored in a <code class="docutils literal notranslate"><span class="pre">os_mbuf</span></code> and
+the <code class="docutils literal notranslate"><span class="pre">arg</span></code> that was passed to the <code class="docutils literal notranslate"><span class="pre">shell_nlip_input_register()</span></code>
+function as arguments to the handler function.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="16%" />
+<col width="84%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">nf</span></code></td>
+<td>Handler for incoming newtmgr datagrams.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">arg</span></code></td>
+<td>Argument that is passed to this handler, along with the datagram.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns 0 on success.</p>
+<p>Non-zero on failure.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">static int</span>
+<span class="go">nmgr_shell_in(struct os_mbuf *m, void *arg)</span>
+<span class="go">{</span>
+<span class="go">    ....</span>
+<span class="go">}</span>
+
+<span class="go">int</span>
+<span class="go">nmgr_task_init(uint8_t prio, os_stack_t *stack_ptr, uint16_t stack_len)</span>
+<span class="go">{</span>
+<span class="go">    int rc;</span>
+<span class="go">    ....</span>
+<span class="go">    rc = shell_nlip_input_register(nmgr_shell_in,</span>
+<span class="go">            (void *) &amp;g_nmgr_shell_transport);</span>
+<span class="go">    if (rc != 0) {</span>
+<span class="go">        goto err;</span>
+<span class="go">    }</span>
+<span class="go">    ....</span>
+<span class="go">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/shell/shell_nlip_output.html b/develop/os/modules/shell/shell_nlip_output.html
new file mode 100644
index 000000000..0c56bac47
--- /dev/null
+++ b/develop/os/modules/shell/shell_nlip_output.html
@@ -0,0 +1,364 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>shell_nlip_output &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    shell_nlip_output
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/shell/shell_nlip_output.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="shell-nlip-output">
+<h1>shell_nlip_output<a class="headerlink" href="#shell-nlip-output" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int shell_nlip_output(struct os_mbuf *m)</span>
+</pre></div>
+</div>
+<p>Queues the outgoing newtmgr message for transmission. The shell encodes
+the message, frames the message into packets, and writes each packet to
+the console.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="27%" />
+<col width="73%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>m</td>
+<td>os_mbuf containing the message</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns 0 on success.</p>
+<p>Non-zero on failure.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">static int</span>
+<span class="go">nmgr_shell_out(struct nmgr_transport *nt, struct os_mbuf *m)</span>
+<span class="go">{</span>
+<span class="go">    int rc;</span>
+
+<span class="go">    rc = shell_nlip_output(m);</span>
+<span class="go">    if (rc != 0) {</span>
+<span class="go">        goto err;</span>
+<span class="go">    }</span>
+
+<span class="go">    return (0);</span>
+<span class="go">err:</span>
+<span class="go">    return (rc);</span>
+<span class="go">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/shell/shell_register.html b/develop/os/modules/shell/shell_register.html
new file mode 100644
index 000000000..a8208df13
--- /dev/null
+++ b/develop/os/modules/shell/shell_register.html
@@ -0,0 +1,450 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>shell_register &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    shell_register
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/shell/shell_register.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="shell-register">
+<h1>shell_register<a class="headerlink" href="#shell-register" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>shell_register(const char *module_name, const struct shell_cmd *commands)
+</pre></div>
+</div>
+<p>Registers a module named <code class="docutils literal notranslate"><span class="pre">module_name</span></code> and the commands that the
+module supports. The caller must allocate and not free the memory for
+the <code class="docutils literal notranslate"><span class="pre">module_name</span></code> and the array of <code class="docutils literal notranslate"><span class="pre">shell_cmd</span></code> structures for the
+command. The shell keeps references to these structures for internal
+use.</p>
+<p>Each entry in the <code class="docutils literal notranslate"><span class="pre">commands</span></code> array specifies a shell command for the
+module and must be initialized with the command name and the pointer to
+the command handler. The help field is initialized with help information
+if the command supports help.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">module_nam</span>
+<span class="pre">e</span></code></td>
+<td>Character
+string of the
+module name.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">commands</span></code></td>
+<td>Array of
+<code class="docutils literal notranslate"><span class="pre">shell_cmd</span></code>
+structures
+that specify
+the commands
+for the
+module. The
+<code class="docutils literal notranslate"><span class="pre">sc_cmd</span></code>,
+<code class="docutils literal notranslate"><span class="pre">sc_cmd_func`</span>
+<span class="pre">`,</span>
+<span class="pre">and</span> <span class="pre">``help</span></code>
+fields in the
+last entry
+must be set to
+NULL to
+indicate the
+last entry in
+the array.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns 0 on success.</p>
+<p>Non-zero on failure. #### Notes The <code class="docutils literal notranslate"><span class="pre">SHELL_MAX_MODULES</span></code> syscfg setting
+specifies the maximum number of modules the shell supports. This
+function aborts if the number of registered modules exceeds this limit.
+You can increase the value for this setting. #### Example This is an
+example excerpt that shows how to declare and initialize the data
+structures for a module and some shell commands for the. Variables for
+the help structures are only declared and intialized if the
+<code class="docutils literal notranslate"><span class="pre">SHELL_CMD_HELP</span></code> syscfg setting is enabled. The <code class="docutils literal notranslate"><span class="pre">sample_commands</span></code>
+array of <code class="docutils literal notranslate"><span class="pre">shell_cmd</span></code> structures are declared and initialized. The
+fields in the last entry are all set to NULL to indicate the last entry
+in the array.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static int shell_sample_tasks_display_cmd(int argc, char **argv);
+static int shell_sample_mpool_display_cmd(int argc, char **argv);
+
+static const char *sample_module = &quot;sample_module&quot;;
+
+/*
+ * Initialize param and command help information if SHELL_CMD_HELP
+ * is enabled.
+ */
+
+#if MYNEWT_VAL(SHELL_CMD_HELP)
+static const struct shell_param sample_tasks_params[] = {
+    {&quot;&quot;, &quot;task name&quot;},
+    {NULL, NULL}
+};
+
+static const struct shell_cmd_help sample_tasks_help = {
+    .summary = &quot;show tasks info&quot;,
+    .usage = NULL,
+    .params = sample_tasks_params,
+};
+
+static const struct shell_param sample_mpool_params[] = {
+    {&quot;&quot;, &quot;mpool name&quot;},
+    {NULL, NULL}
+};
+
+static const struct shell_cmd_help sample_mpool_help = {
+    .summary = &quot;show system mpool&quot;,
+    .usage = NULL,
+    .params = sample_mpool_params,
+};
+
+#endif
+
+/*
+ * Initialize an array of shell_cmd structures for the commands
+ * in the os module.
+ */
+static const struct shell_cmd sample_module_commands[] = {
+    {
+        .sc_cmd = &quot;tasks&quot;,
+        .sc_cmd_func = shell_sample_tasks_display_cmd,
+#if MYNEWT_VAL(SHELL_CMD_HELP)
+        .help = &amp;sample_tasks_help,
+#endif
+    },
+    {
+        .sc_cmd = &quot;sample_mpool&quot;,
+        .sc_cmd_func = shell_sample_mpool_display_cmd,
+#if MYNEWT_VAL(SHELL_CMD_HELP)
+        .help = &amp;sample_mpool_help,
+#endif
+    },
+    { NULL, NULL, NULL },
+};
+
+
+void
+sample_module_init(void)
+{
+    shell_register(sample_module, sample_module_commands);
+
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/shell/shell_register_app_cmd_handler.html b/develop/os/modules/shell/shell_register_app_cmd_handler.html
new file mode 100644
index 000000000..92f45467a
--- /dev/null
+++ b/develop/os/modules/shell/shell_register_app_cmd_handler.html
@@ -0,0 +1,369 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>shell_register_app_cmd_handler &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    shell_register_app_cmd_handler
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/shell/shell_register_app_cmd_handler.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="shell-register-app-cmd-handler">
+<h1>shell_register_app_cmd_handler<a class="headerlink" href="#shell-register-app-cmd-handler" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>void shell_register_app_cmd_handler(struct shell_cmd *sc)
+</pre></div>
+</div>
+<p>Registers a command handler as an application command handler. The shell
+calls the application command handler, if one is set, when it receives a
+command that does not have a handler registered. When you implement a
+shell command for your application, you can register an application
+command handler. You do not need to define a command name for the shell
+to use to lookup an application command handler.</p>
+<p>For example, if your application uses the <code class="docutils literal notranslate"><span class="pre">shell_cmd_register()</span></code>
+function to register a handler for the <code class="docutils literal notranslate"><span class="pre">myapp_cmd</span></code> shell command and
+the handler supports two subcommands, <code class="docutils literal notranslate"><span class="pre">subcmd1</span></code> and `<code class="docutils literal notranslate"><span class="pre">subcmd2</span></code>,
+then you would enter <code class="docutils literal notranslate"><span class="pre">myapp_cmd</span> <span class="pre">subcmd1</span></code> and <code class="docutils literal notranslate"><span class="pre">myapp_cmd</span> <span class="pre">subcmd2</span></code> in
+the shell to run the commands. If you register the handler as an
+application command handler, then you would enter <code class="docutils literal notranslate"><span class="pre">subcmd1</span></code> and
+<code class="docutils literal notranslate"><span class="pre">subcmd2</span></code> in the shell to run the commands. #### Arguments</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="16%" />
+<col width="84%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">sc</span></code></td>
+<td>Pointer to the <code class="docutils literal notranslate"><span class="pre">shell_cmd</span></code> structure for the comman to register.</td>
+</tr>
+</tbody>
+</table>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>None</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static int myapp_cmd_handler(int argc, char **argv);
+
+static struct shell_cmd myapp_cmd = {
+    .sc_cmd = &quot;&quot;,
+    .sc_cmd_func = myapp_cmd_handler
+};
+
+void
+myapp_shell_init(void)
+{
+    shell_register_app_cmd_handler(&amp;myapp_cmd);
+    ....
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/shell/shell_register_default_module.html b/develop/os/modules/shell/shell_register_default_module.html
new file mode 100644
index 000000000..e49931303
--- /dev/null
+++ b/develop/os/modules/shell/shell_register_default_module.html
@@ -0,0 +1,371 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>shell_register_default_module &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    shell_register_default_module
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/shell/shell_register_default_module.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="shell-register-default-module">
+<h1>shell_register_default_module<a class="headerlink" href="#shell-register-default-module" title="Permalink to this headline">?</a></h1>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>void shell_register_default_module(const char *name)
+</pre></div>
+</div>
+<p>Sets the module named <code class="docutils literal notranslate"><span class="pre">name</span></code> as the default module. You can enter the
+commands for the default module without entering the module name in the
+shell.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="23%" />
+<col width="77%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">name</span></code></td>
+<td>Name of the module to set as the default</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>None</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static int sample_cmd_handler(int argc, char **argv);
+
+static const char * module_name = &quot;sample_module&quot;;
+static const struct shell_cmd sample_cmds[] = {
+    {
+        .sc_cmd = &quot;mycmd&quot;,
+        .sc_cmd_func = sample_cmd_handler,
+    },
+    {NULL, NULL, NULL},
+};
+
+int main (void)
+{
+
+
+    /* Register the module and the commands for the module */
+    shell_register(module_name, sample_cmds);
+
+    /* Set this module as the default module */
+    shell_register_default_module(module_name);
+
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/split/split.html b/develop/os/modules/split/split.html
new file mode 100644
index 000000000..d497188f4
--- /dev/null
+++ b/develop/os/modules/split/split.html
@@ -0,0 +1,781 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Split Images &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Split Images
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/split/split.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="split-images">
+<h1>Split Images<a class="headerlink" href="#split-images" title="Permalink to this headline">?</a></h1>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>The split image mechanism divides a target into two separate images: one
+capable of image upgrade; the other containing application code. By
+isolating upgrade functionality to a separate image, the application can
+support over-the-air upgrade without dedicating flash space to network
+stack and management code.</p>
+</div>
+<div class="section" id="concept">
+<h2>Concept<a class="headerlink" href="#concept" title="Permalink to this headline">?</a></h2>
+<p>Mynewt supports three image setups:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="20%" />
+<col width="80%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Setup</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Single</td>
+<td>One large image; upgrade not supported.</td>
+</tr>
+<tr class="row-odd"><td>Unified</td>
+<td>Two standalone images.</td>
+</tr>
+<tr class="row-even"><td>Split</td>
+<td>Kernel in slot 0; application in slot 1.</td>
+</tr>
+</tbody>
+</table>
+<p>Each setup has its tradeoffs. The Single setup gives you the most flash
+space, but doesn?t allow you to upgrade after manufacturing. The Unified
+setup allows for a complete failover in case a bad image gets uploaded,
+but requires a lot of redundancy in each image, limiting the amount of
+flash available to the application. The Split setup sits somewhere
+between these two options.</p>
+<p>Before exploring the split setup in more detail, it might be helpful to
+get a basic understanding of the Mynewt boot sequence. The boot process
+is summarized below.</p>
+<div class="section" id="boot-sequence-single">
+<h3>Boot Sequence - Single<a class="headerlink" href="#boot-sequence-single" title="Permalink to this headline">?</a></h3>
+<p>In the Single setup, there is no boot loader. Instead, the image is
+placed at address 0. The hardware boots directly into the image code.
+Upgrade is not possible because there is no boot loader to move an
+alternate image into place.</p>
+</div>
+<div class="section" id="boot-sequence-unified">
+<h3>Boot Sequence - Unified<a class="headerlink" href="#boot-sequence-unified" title="Permalink to this headline">?</a></h3>
+<p>In the Unified setup, the boot loader is placed at address 0. At
+startup, the boot loader arranges for the correct image to be in image
+slot 0, which may entail swapping the contents of the two image slots.
+Finally, the boot loader jumps to the image in slot 0.</p>
+</div>
+<div class="section" id="boot-sequence-split">
+<h3>Boot Sequence - Split<a class="headerlink" href="#boot-sequence-split" title="Permalink to this headline">?</a></h3>
+<p>The Split setup differs from the other setups mainly in that a target is
+not fully contained in a single image. Rather, the target is partitioned
+among two separate images: the <em>loader</em>, and the <em>application</em>.
+Functionality is divided among these two images as follows:</p>
+<ol class="arabic simple">
+<li>Loader:<ul>
+<li>Mynewt OS.</li>
+<li>Network stack for connectivity during upgrade e.g. BLE stack.</li>
+<li>Anything else required for image upgrade.</li>
+</ul>
+</li>
+<li>Application:<ul>
+<li>Parts of Mynewt not required for image upgrade.</li>
+<li>Application-specific code.</li>
+</ul>
+</li>
+</ol>
+<p>The loader image serves three purposes:</p>
+<ol class="arabic simple">
+<li><em>Second-stage boot loader:</em> it jumps into the application image at
+start up.</li>
+<li><em>Image upgrade server:</em> the user can upgrade to a new loader +
+application combo, even if an application image is not currently
+running.</li>
+<li><em>Functionality container:</em> the application image can directly access
+all the code present in the loader image</li>
+</ol>
+<p>From the perspective of the boot loader, a loader image is identical to
+a plain unified image. What makes a loader image different is a change
+to its start up sequence: rather than starting the Mynewt OS, it jumps
+to the application image in slot 1 if one is present.</p>
+</div>
+</div>
+<div class="section" id="tutorial">
+<h2>Tutorial<a class="headerlink" href="#tutorial" title="Permalink to this headline">?</a></h2>
+<p>We will be referring to the nRF51dk for examples in this document. Let?s
+take a look at this board?s flash map (defined in
+<code class="docutils literal notranslate"><span class="pre">hw/bsp/nrf51dk/bsp.yml</span></code>):</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="44%" />
+<col width="29%" />
+<col width="27%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Name</th>
+<th class="head">Offset</th>
+<th class="head">Size (kB)</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Boot loader</td>
+<td>0x00000000</td>
+<td>16</td>
+</tr>
+<tr class="row-odd"><td>Reboot log</td>
+<td>0x00004000</td>
+<td>16</td>
+</tr>
+<tr class="row-even"><td>Image slot 0</td>
+<td>0x00008000</td>
+<td>110</td>
+</tr>
+<tr class="row-odd"><td>Image slot 1</td>
+<td>0x00023800</td>
+<td>110</td>
+</tr>
+<tr class="row-even"><td>Image scratch</td>
+<td>0x0003f000</td>
+<td>2</td>
+</tr>
+<tr class="row-odd"><td>Flash file system</td>
+<td>0x0003f800</td>
+<td>2</td>
+</tr>
+</tbody>
+</table>
+<p>The application we will be building is
+<a class="reference external" href="../../tutorials/bleprph">bleprph</a>. First, we create a target to tie
+our BSP and application together.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>newt target create bleprph-nrf51dk
+newt target set bleprph-nrf51dk                     \
+    app=@apache-mynewt-core/apps/bleprph            \
+    bsp=@apache-mynewt-core/hw/bsp/nrf51dk          \
+    build_profile=optimized                         \
+    syscfg=BLE_LL_CFG_FEAT_LE_ENCRYPTION=0:BLE_SM_LEGACY=0
+</pre></div>
+</div>
+<p>The two syscfg settings disable bluetooth security and keep the code
+size down.</p>
+<p>We can verify the target using the <code class="docutils literal notranslate"><span class="pre">target</span> <span class="pre">show</span></code> command:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>[~/tmp/myproj2]$ newt target show bleprph-nrf51dk
+targets/bleprph-nrf51dk
+    app=@apache-mynewt-core/apps/bleprph
+    bsp=@apache-mynewt-core/hw/bsp/nrf51dk
+    build_profile=optimized
+    syscfg=BLE_LL_CFG_FEAT_LE_ENCRYPTION=0:BLE_SM_LEGACY=0
+</pre></div>
+</div>
+<p>Next, build the target:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>[~/tmp/myproj2]$ newt build bleprph-nrf51dk
+Building target targets/bleprph-nrf51dk
+# [...]
+Target successfully built: targets/bleprph-nrf51dk
+</pre></div>
+</div>
+<p>With our target built, we can view a code size breakdown using the
+<code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">size</span> <span class="pre">&lt;target&gt;</span></code> command. In the interest of brevity, the smaller
+entries are excluded from the below output:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>[~/tmp/myproj2]$ newt size bleprph-nrf51dk
+Size of Application Image: app
+  FLASH     RAM
+   2446    1533 apps_bleprph.a
+   1430     104 boot_bootutil.a
+   1232       0 crypto_mbedtls.a
+   1107       0 encoding_cborattr.a
+   2390       0 encoding_tinycbor.a
+   1764       0 fs_fcb.a
+   2959     697 hw_drivers_nimble_nrf51.a
+   4126     108 hw_mcu_nordic_nrf51xxx.a
+   8161    4049 kernel_os.a
+   2254      38 libc_baselibc.a
+   2612       0 libgcc.a
+   2232      24 mgmt_imgmgr.a
+   1499      44 mgmt_newtmgr_nmgr_os.a
+  23918    1930 net_nimble_controller.a
+  28537    2779 net_nimble_host.a
+   2207     205 sys_config.a
+   1074     197 sys_console_full.a
+   3268      97 sys_log.a
+   1296       0 time_datetime.a
+
+objsize
+   text    data     bss     dec     hex filename
+ 105592    1176   13392  120160   1d560 /home/me/tmp/myproj2/bin/targets/bleprph-nrf51dk/app/apps/bleprph/bleprph.elf
+</pre></div>
+</div>
+<p>The full image text size is about 103kB (where 1kB = 1024 bytes). With
+an image slot size of 110kB, this leaves only about 7kB of flash for
+additional application code and data. Not good. This is the situation we
+would be facing if we were using the Unified setup.</p>
+<p>The Split setup can go a long way in solving our problem. Our unified
+bleprph image consists mostly of components that get used during an
+image upgrade. By using the Split setup, we turn the unified image into
+two separate images: the loader and the application. The functionality
+related to image upgrade can be delegated to the loader image, freeing
+up a significant amount of flash in the application image slot.</p>
+<p>Let?s create a new target to use with the Split setup. We designate a
+target as a split target by setting the <code class="docutils literal notranslate"><span class="pre">loader</span></code> variable. In our
+example, we are going to use <code class="docutils literal notranslate"><span class="pre">bleprph</span></code> as the loader, and <code class="docutils literal notranslate"><span class="pre">splitty</span></code>
+as the application. <code class="docutils literal notranslate"><span class="pre">bleprph</span></code> makes sense as a loader because it
+contains the BLE stack and everything else required for an image
+upgrade.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>newt target create split-nrf51dk
+newt target set split-nrf51dk                       \
+    loader=@apache-mynewt-core/apps/bleprph         \
+    app=@apache-mynewt-core/apps/splitty            \
+    bsp=@apache-mynewt-core/hw/bsp/nrf51dk          \
+    build_profile=optimized                         \
+    syscfg=BLE_LL_CFG_FEAT_LE_ENCRYPTION=0:BLE_SM_LEGACY=0
+</pre></div>
+</div>
+<p>Verify that the target looks correct:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>[~/tmp/myproj2]$ newt target show split-nrf51dk
+targets/split-nrf51dk
+    app=@apache-mynewt-core/apps/splitty
+    bsp=@apache-mynewt-core/hw/bsp/nrf51dk
+    build_profile=optimized
+    loader=@apache-mynewt-core/apps/bleprph
+    syscfg=BLE_LL_CFG_FEAT_LE_ENCRYPTION=0:BLE_SM_LEGACY=0
+</pre></div>
+</div>
+<p>Now, let?s build the new target:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>[~/tmp/myproj2]$ newt build split-nrf51dk
+Building target targets/split-nrf51dk
+# [...]
+Target successfully built: targets/split-nrf51dk
+</pre></div>
+</div>
+<p>And look at the size breakdown (again, smaller entries are removed):</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>[~/tmp/myproj2]$ newt size split-nrf51dk
+Size of Application Image: app
+  FLASH     RAM
+   3064     251 sys_shell.a
+
+objsize
+   text    data     bss     dec     hex filename
+   4680     112   17572   22364    575c /home/me/tmp/myproj2/bin/targets/split-nrf51dk/app/apps/splitty/splitty.elf
+
+Size of Loader Image: loader
+  FLASH     RAM
+   2446    1533 apps_bleprph.a
+   1430     104 boot_bootutil.a
+   1232       0 crypto_mbedtls.a
+   1107       0 encoding_cborattr.a
+   2390       0 encoding_tinycbor.a
+   1764       0 fs_fcb.a
+   3168     705 hw_drivers_nimble_nrf51.a
+   4318     109 hw_mcu_nordic_nrf51xxx.a
+   8285    4049 kernel_os.a
+   2274      38 libc_baselibc.a
+   2612       0 libgcc.a
+   2232      24 mgmt_imgmgr.a
+   1491      44 mgmt_newtmgr_nmgr_os.a
+  25169    1946 net_nimble_controller.a
+  31397    2827 net_nimble_host.a
+   2259     205 sys_config.a
+   1318     202 sys_console_full.a
+   3424      97 sys_log.a
+   1053      60 sys_stats.a
+   1296       0 time_datetime.a
+
+objsize
+   text    data     bss     dec     hex filename
+ 112020    1180   13460  126660   1eec4 /home/me/tmp/myproj2/bin/targets/split-nrf51dk/loader/apps/bleprph/bleprph.elf
+</pre></div>
+</div>
+<p>The size command shows two sets of output: one for the application, and
+another for the loader. The addition of the split functionality did make
+bleprph slightly bigger, but notice how small the application is: 4.5
+kB! Where before we only had 7 kB left, now we have 105.5 kB.
+Furthermore, all the functionality in the loader is available to the
+application at any time. For example, if your application needs
+bluetooth functionality, it can use the BLE stack present in the loader
+instead of containing its own copy.</p>
+<p>Finally, let?s deploy the split image to our nRF51dk board. The
+procedure here is the same as if we were using the Unified setup, i.e.,
+via either the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">load</span></code> or <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">run</span></code> command.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>[~/repos/mynewt/core]$ newt load split-nrf51dk 0
+Loading app image into slot 2
+Loading loader image into slot 1
+</pre></div>
+</div>
+<div class="section" id="retrieve-current-state-image-list">
+<h3>Retrieve Current State (image list)<a class="headerlink" href="#retrieve-current-state-image-list" title="Permalink to this headline">?</a></h3>
+<p>Image management in the split setup is a bit more complicated than in
+the unified setup. You can determine a device?s image management state
+with the <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">list</span></code> command. Here is how a device responds
+to this command after our loader + application combo has been deployed:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>[~/tmp/myproj2]$ newtmgr -c A600ANJ1 image list
+Images:
+ slot=0
+    version: 0.0.0
+    bootable: true
+    flags: active confirmed
+    hash: 948f118966f7989628f8f3be28840fd23a200fc219bb72acdfe9096f06c4b39b
+ slot=1
+    version: 0.0.0
+    bootable: false
+    flags:
+    hash: 78e4d263eeb5af5635705b7cae026cc184f14aa6c6c59c6e80616035cd2efc8f
+Split status: matching
+</pre></div>
+</div>
+<p>There are several interesting things about this response:</p>
+<ol class="arabic simple">
+<li><em>Two images:</em> This is expected; we deployed both a loader image and
+an application image.</li>
+<li><em>bootable flag:</em> Notice slot 0?s bootable flag is set, while slot 1?s
+is not. This tells us that slot 0 contains a loader and slot 1
+contains an application. If an image is bootable, it can be booted
+directly from the boot loader. Non-bootable images can only be
+started from a loader image.</li>
+<li><em>flags:</em> Slot 0 is <code class="docutils literal notranslate"><span class="pre">active</span></code> and <code class="docutils literal notranslate"><span class="pre">confirmed</span></code>; none of slot 1?s
+flags are set. The <code class="docutils literal notranslate"><span class="pre">active</span></code> flag indicates that the image is
+currently running; the <code class="docutils literal notranslate"><span class="pre">confirmed</span></code> flag indicates that the image
+will continue to be used on subsequent reboots. Slot 1?s lack of
+enabled flags indicates that the image is not being used at all.</li>
+<li><em>Split status:</em> The split status field tells you if the loader and
+application are compatible. A loader + application combo is
+compatible only if both images were built at the same time with
+<code class="docutils literal notranslate"><span class="pre">newt</span></code>. If the loader and application are not compatible, the
+loader will not boot into the application.</li>
+</ol>
+<div class="section" id="enabling-a-split-application">
+<h4>Enabling a Split Application<a class="headerlink" href="#enabling-a-split-application" title="Permalink to this headline">?</a></h4>
+<p>By default, the application image in slot 1 is disabled. This is
+indicated in the <code class="docutils literal notranslate"><span class="pre">image</span> <span class="pre">list</span></code> response above. When you deploy a loader
+/ application combo to your device, the application image won?t actually
+run. Instead, the loader will act as though an application image is not
+present and remain in ?loader mode?. Typically, a device in loader mode
+simply acts as an image management server, listening for an image
+upgrade or a request to activate the application image.</p>
+<p>Use the following command sequence to enable the split application
+image:</p>
+<ol class="arabic simple">
+<li>Tell device to ?test out? the application image on next boot
+(<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">test</span> <span class="pre">&lt;application-image-hash&gt;</span></code>).</li>
+<li>Reboot device (<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">reset</span></code>).</li>
+<li>Make above change permanent (<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">confirm</span></code>).</li>
+</ol>
+<p>After the above sequence, a <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">list</span></code> command elicits the
+following response:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>[~/tmp/myproj2]$ newtmgr -c A600ANJ1 image confirm
+Images:
+ slot=0
+    version: 0.0.0
+    bootable: true
+    flags: active confirmed
+    hash: 948f118966f7989628f8f3be28840fd23a200fc219bb72acdfe9096f06c4b39b
+ slot=1
+    version: 0.0.0
+    bootable: false
+    flags: active confirmed
+    hash: 78e4d263eeb5af5635705b7cae026cc184f14aa6c6c59c6e80616035cd2efc8f
+Split status: matching
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">active</span> <span class="pre">confirmed</span></code> flags value on both slots indicates that both
+images are permanently running.</p>
+</div>
+<div class="section" id="image-upgrade">
+<h4>Image Upgrade<a class="headerlink" href="#image-upgrade" title="Permalink to this headline">?</a></h4>
+<p>First, let?s review of the image upgrade process for the Unified setup.
+The user upgrades to a new image in this setup with the following steps:</p>
+</div>
+</div>
+<div class="section" id="image-upgrade-unified">
+<h3>Image Upgrade - Unified<a class="headerlink" href="#image-upgrade-unified" title="Permalink to this headline">?</a></h3>
+<ol class="arabic simple">
+<li>Upload new image to slot 1 (<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">upload</span> <span class="pre">&lt;filename&gt;</span></code>).</li>
+<li>Tell device to ?test out? the new image on next boot
+(<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">test</span> <span class="pre">&lt;image-hash&gt;</span></code>).</li>
+<li>Reboot device (<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">reset</span></code>).</li>
+<li>Make new image permanent (<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">confirm</span></code>).</li>
+</ol>
+</div>
+<div class="section" id="image-upgrade-split">
+<h3>Image Upgrade - Split<a class="headerlink" href="#image-upgrade-split" title="Permalink to this headline">?</a></h3>
+<p>The image upgrade process is a bit more complicated in the Split setup.
+It is more complicated because two images need to be upgraded (loader
+and application) rather than just one. The split upgrade process is
+described below:</p>
+<ol class="arabic simple">
+<li>Disable split functionality; we need to deactivate the application
+image in slot 1 (<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">test</span> <span class="pre">&lt;current-loader-hash&gt;</span></code>).</li>
+<li>Reboot device (<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">reset</span></code>).</li>
+<li>Make above change permanent (<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">confirm</span></code>).</li>
+<li>Upload new loader to slot 1 (<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">upload</span> <span class="pre">&lt;filename&gt;</span></code>).</li>
+<li>Tell device to ?test out? the new loader on next boot
+(<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">test</span> <span class="pre">&lt;new-loader-hash&gt;</span></code>).</li>
+<li>Reboot device (<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">reset</span></code>).</li>
+<li>Make above change of loader permanent (<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">confirm</span></code>).</li>
+<li>Upload new application to slot 1
+(<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">upload</span> <span class="pre">&lt;filename&gt;</span></code>).</li>
+<li>Tell device to ?test out? the new application on next boot
+(<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">test</span> <span class="pre">&lt;new-application-hash&gt;</span></code>).</li>
+<li>Reboot device (<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">reset</span></code>).</li>
+<li>Make above change of application permanent
+(<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">confirm</span></code>).</li>
+</ol>
+<p>When performing this process manually, it may be helpful to use
+<code class="docutils literal notranslate"><span class="pre">image</span> <span class="pre">list</span></code> to check the image management state as you go.</p>
+</div>
+</div>
+<div class="section" id="syscfg">
+<h2>Syscfg<a class="headerlink" href="#syscfg" title="Permalink to this headline">?</a></h2>
+<p>Syscfg is Mynewt?s system-wide configuration mechanism. In a split
+setup, there is a single umbrella syscfg configuration that applies to
+both the loader and the application. Consequently, overriding a value in
+an application-only package potentially affects the loader (and
+vice-versa).</p>
+</div>
+<div class="section" id="loaders">
+<h2>Loaders<a class="headerlink" href="#loaders" title="Permalink to this headline">?</a></h2>
+<p>The following applications have been enabled as loaders. You may choose
+to build your own loader application, and these can serve as samples.</p>
+<ul class="simple">
+<li>&#64;apache-mynewt-core/apps/slinky</li>
+<li>&#64;apache-mynewt-core/apps/bleprph</li>
+</ul>
+</div>
+<div class="section" id="split-apps">
+<h2>Split Apps<a class="headerlink" href="#split-apps" title="Permalink to this headline">?</a></h2>
+<p>The following applications have been enabled as split applications. If
+you choose to build your own split application these can serve as
+samples. Note that slinky can be either a loader image or an application
+image.</p>
+<ul class="simple">
+<li>&#64;apache-mynewt-core/apps/slinky</li>
+<li>&#64;apache-mynewt-core/apps/splitty</li>
+</ul>
+</div>
+<div class="section" id="theory-of-operation">
+<h2>Theory of Operation<a class="headerlink" href="#theory-of-operation" title="Permalink to this headline">?</a></h2>
+<p>A split image is built as follows:</p>
+<p>First newt builds the application and loader images separately to ensure
+they are consistent (no errors) and to generate elf files which can
+inform newt of the symbols used by each part.</p>
+<p>Then newt collects the symbols used by both application and loader in
+two ways. It collects the set of symbols from the <code class="docutils literal notranslate"><span class="pre">.elf</span></code> files. It
+also collects all the possible symbols from the <code class="docutils literal notranslate"><span class="pre">.a</span></code> files for each
+application.</p>
+<p>Newt builds the set of packages that the two applications share. It
+ensures that all the symbols used in those packages are matching. NOTE:
+because of features and #ifdefs, its possible for the two package to
+have symbols that are not the same. In this case newt generates an error
+and will not build a split image.</p>
+<p>Then newt creates the list of symbols that the two applications share
+from those packages (using the .elf files).</p>
+<p>Newt re-links the loader to ensure all of these symbols are present in
+the loader application (by forcing the linker to include them in the
+<code class="docutils literal notranslate"><span class="pre">.elf</span></code>).</p>
+<p>Newt builds a special copy of the loader.elf with only these symbols
+(and the handful of symbols discussed in the linking section above).</p>
+<p>Finally, newt links the application, replacing the common .a libraries
+with the special loader.elf image during the link.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/stats/stats.html b/develop/os/modules/stats/stats.html
new file mode 100644
index 000000000..f25127405
--- /dev/null
+++ b/develop/os/modules/stats/stats.html
@@ -0,0 +1,542 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Statistics Module &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Statistics Module
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/stats/stats.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="statistics-module">
+<h1>Statistics Module<a class="headerlink" href="#statistics-module" title="Permalink to this headline">?</a></h1>
+<p>The statistics module allows application, libraries, or drivers to
+record statistics that can be shown via the Newtmgr tool and console.</p>
+<p>This allows easy integration of statistics for troubleshooting,
+maintenance, and usage monitoring.</p>
+<p>By creating and registering your statistics, they are automatically
+included in the Newtmgr shell and console APIs.</p>
+<div class="section" id="implementation-details">
+<h2>Implementation Details<a class="headerlink" href="#implementation-details" title="Permalink to this headline">?</a></h2>
+<p>A statistic is an unsigned integer that can be set by the code. When
+building stats, the implementer chooses the size of the statistic
+depending on the frequency of the statistic and the resolution required
+before the counter wraps.</p>
+<p>Typically the stats are incremented upon code events; however, they are
+not limted to that purpose.</p>
+<p>Stats are organized into sections. Each section of stats has its own
+name and can be queried separately through the API. Each section of
+stats also has its own statistic size, allowing the user to separate
+large (64-bit) statistics from small (16 bit statistics). NOTE: It is
+not currently possible to group different size stats into the same
+section. Please ensure all stats in a section have the same size.</p>
+<p>Stats sections are currently stored in a single global stats group.</p>
+<p>Statistics are stored in a simple structure which contains a small stats
+header followed by a list of stats. The stats header contains:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">struct stats_hdr {</span>
+<span class="go">     char *s_name;</span>
+<span class="go">     uint8_t s_size;</span>
+<span class="go">     uint8_t s_cnt;</span>
+<span class="go">     uint16_t s_pad1;</span>
+<span class="gp">#</span><span class="k">if</span> MYNEWT_VAL<span class="o">(</span>STATS_NAMES<span class="o">)</span>
+<span class="go">     const struct stats_name_map *s_map;</span>
+<span class="go">     int s_map_cnt;</span>
+<span class="gp">#</span>endif
+<span class="go">     STAILQ_ENTRY(stats_hdr) s_next;</span>
+<span class="go"> };</span>
+</pre></div>
+</div>
+<p>The fields define with in the <code class="docutils literal notranslate"><span class="pre">#if</span> <span class="pre">MYNEWT_VAL(STATS_NAME)</span></code> directive
+are only inincluded when the <code class="docutils literal notranslate"><span class="pre">STATS_NAMES</span></code> syscfg setting is set to 1
+and enables use statistic names.</p>
+<div class="section" id="enabling-statistic-names">
+<h3>Enabling Statistic Names<a class="headerlink" href="#enabling-statistic-names" title="Permalink to this headline">?</a></h3>
+<p>By default, statistics are queried by number. You can use the
+<code class="docutils literal notranslate"><span class="pre">STATS_NAMES</span></code> syscfg setting to enable statistic names and view the
+results by name. Enabling statistic names provides better descriptions
+in the reported statistics, but takes code space to store the strings
+within the image.</p>
+<p>To enable statistic names, set the <code class="docutils literal notranslate"><span class="pre">STATS_NAMES</span></code> value to 1 in the
+application <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file or use the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">set</span></code> command
+to set the syscfg setting value. Here are examples for each method:</p>
+<p>Method 1 - Set the value in the application <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> files:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">#</span> Package: apps/myapp
+
+<span class="go">syscfg.vals:</span>
+<span class="go">    STATS_NAMES: 1</span>
+</pre></div>
+</div>
+<p>Method 2 - Set the target <code class="docutils literal notranslate"><span class="pre">syscfg</span></code> variable:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">newt target set myapp syscfg=STATS_NAMES=1</span>
+</pre></div>
+</div>
+<p><strong>Note:</strong> This <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">set</span></code> command only sets the syscfg variable
+for the <code class="docutils literal notranslate"><span class="pre">STATS_NAMES</span></code> setting as an example. For your target, you
+should set the syscfg variable with the other settings that you want to
+override.</p>
+</div>
+</div>
+<div class="section" id="adding-stats-to-your-code">
+<h2>Adding Stats to your code.<a class="headerlink" href="#adding-stats-to-your-code" title="Permalink to this headline">?</a></h2>
+<p>Creating new stats table requires the following steps.</p>
+<ul class="simple">
+<li>Include the stats header file</li>
+<li>Define a stats section</li>
+<li>Declare an instance of the section</li>
+<li>Define the stat sections names table</li>
+<li>Implement stat in your code</li>
+<li>Initialize the stats</li>
+<li>Register the stats</li>
+</ul>
+<div class="section" id="include-the-stats-header-file">
+<h3>Include the stats header file<a class="headerlink" href="#include-the-stats-header-file" title="Permalink to this headline">?</a></h3>
+<p>Add the stats library to your pkg.yml file for your package or app by
+adding this line to your package dependencies.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>pkg.deps:
+    - &quot;@apache-mynewt-core/sys/stats&quot;
+</pre></div>
+</div>
+<p>Add this include directive to code files using the stats library.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>#include &lt;stats/stats.h&gt;
+</pre></div>
+</div>
+</div>
+<div class="section" id="define-a-stats-section">
+<h3>Define a stats section<a class="headerlink" href="#define-a-stats-section" title="Permalink to this headline">?</a></h3>
+<p>You must use the <code class="docutils literal notranslate"><span class="pre">stats.h</span></code> macros to define your stats table. A stats
+section definition looks like this.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>STATS_SECT_START(my_stat_section)
+    STATS_SECT_ENTRY(attempt_stat)
+    STATS_SECT_ENTRY(error_stat)
+STATS_SECT_END
+</pre></div>
+</div>
+<p>In this case we chose to make the stats 32-bits each. <code class="docutils literal notranslate"><span class="pre">stats.h</span></code>
+supports three different stats sizes through the following macros:</p>
+<ul class="simple">
+<li><code class="docutils literal notranslate"><span class="pre">STATS_SIZE_16</span></code> ? stats are 16 bits (wraps at 65536)</li>
+<li><code class="docutils literal notranslate"><span class="pre">STATS_SIZE_32</span></code> ? stats are 32 bits (wraps at 4294967296)</li>
+<li><code class="docutils literal notranslate"><span class="pre">STATS_SIZE_64</span></code> ? stats are 64-bits</li>
+</ul>
+<p>When this compiles/pre-processes, it produces a structure definition
+like this</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>struct stats_my_stat_section {
+    struct stats_hdr s_hdr;
+    uint32_t sattempt_stat;
+    uint32_t serror_stat;
+};
+</pre></div>
+</div>
+<p>You can see that the defined structure has a small stats structure
+header and the two stats we have defined.</p>
+<p>Depending on whether these stats are used in multiple modules, you may
+need to include this definition in a header file.</p>
+</div>
+<div class="section" id="declaring-a-variable-to-hold-the-stats">
+<h3>Declaring a variable to hold the stats<a class="headerlink" href="#declaring-a-variable-to-hold-the-stats" title="Permalink to this headline">?</a></h3>
+<p>Declare the global variable to hold your statistics. Since it is
+possible to have multiple copies of the same section (for example a stat
+section for each of 5 identical peripherals), the variable name of the
+stats section must be unique.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>STATS_SECT_DECL(my_stat_section) g_mystat;
+</pre></div>
+</div>
+<p>Again, if your stats section is used in multiple C files you will need
+to include the above definition in one of the C files and ?extern? this
+declaration in your header file.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>extern STATS_SECT_DECL(my_stat_section) g_mystat;
+</pre></div>
+</div>
+</div>
+<div class="section" id="define-the-stats-section-name-table">
+<h3>Define the stats section name table<a class="headerlink" href="#define-the-stats-section-name-table" title="Permalink to this headline">?</a></h3>
+<p>Whether or not you have <code class="docutils literal notranslate"><span class="pre">STATS_NAMES</span></code> enabled, you must define a stats
+name table. If <code class="docutils literal notranslate"><span class="pre">STATS_NAMES</span></code> is not enabled, this will not take any
+code space or image size.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>/* define a few stats for querying */
+STATS_NAME_START(my_stat_section)
+    STATS_NAME(my_stat_section, attempt_stat)
+    STATS_NAME(my_stat_section, error_stat)
+STATS_NAME_END(my_stat_section)
+</pre></div>
+</div>
+<p>When compiled by the preprocessor, it creates a structure that looks
+like this.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>struct stats_name_map g_stats_map_my_stat_section[] = {
+    { __builtin_offsetof (struct stats_my_stat_section, sattempt_stat), &quot;attempt_stat&quot; },
+    { __builtin_offsetof (struct stats_my_stat_section, serror_stat), &quot;error_stat&quot; },
+};
+</pre></div>
+</div>
+<p>This table will allow the UI components to find a nice string name for
+the stat.</p>
+</div>
+<div class="section" id="implement-stats-in-your-code">
+<h3>Implement stats in your code.<a class="headerlink" href="#implement-stats-in-your-code" title="Permalink to this headline">?</a></h3>
+<p>You can use the <code class="docutils literal notranslate"><span class="pre">STATS_INC</span></code> or <code class="docutils literal notranslate"><span class="pre">STATS_INCN</span></code> macros to increment your
+statistics within your C-code. For example, your code may do this:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>STATS_INC(g_mystat, attempt_stat);
+rc = do_task();
+if(rc == ERR) {
+    STATS_INC(g_mystat, error_stat);
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="initialize-the-statistics">
+<h3>Initialize the statistics<a class="headerlink" href="#initialize-the-statistics" title="Permalink to this headline">?</a></h3>
+<p>You must initialize the stats so they can be operated on by the stats
+library. As per our example above, it would look like the following.</p>
+<p>This tells the system how large each statistic is and the number of
+statistics in the section. It also initialize the name information for
+the statistics if enabled as shown above.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>rc = stats_init(
+    STATS_HDR(g_mystat),
+    STATS_SIZE_INIT_PARMS(g_mystat, STATS_SIZE_32),
+    STATS_NAME_INIT_PARMS(my_stat_section));
+assert(rc == 0);
+</pre></div>
+</div>
+</div>
+<div class="section" id="register-the-statistic-section">
+<h3>Register the statistic section<a class="headerlink" href="#register-the-statistic-section" title="Permalink to this headline">?</a></h3>
+<p>If you want the system to know about your stats, you must register them.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>rc = stats_register(&quot;my_stats&quot;, STATS_HDR(g_mystat));
+assert(rc == 0);
+</pre></div>
+</div>
+<p>There is also a method that does initialization and registration at the
+same time, called <code class="docutils literal notranslate"><span class="pre">stats_init_and_reg</span></code>.</p>
+</div>
+</div>
+<div class="section" id="retrieving-stats-through-console-or-newtmgr">
+<h2>Retrieving stats through console or Newtmgr<a class="headerlink" href="#retrieving-stats-through-console-or-newtmgr" title="Permalink to this headline">?</a></h2>
+<p>If you enable console in your project you can see stats through the
+serial port defined.</p>
+<p>This is the stats as shown from the example above with names enabled.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>stat my_stats
+12274:attempt_stat: 3
+12275:error_stat: 0
+</pre></div>
+</div>
+<p>This is the stats as shown from the example without names enabled.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>stat my_stats
+29149:s0: 3
+29150:s1: 0
+</pre></div>
+</div>
+</div>
+<div class="section" id="a-note-on-multiple-stats-sections">
+<h2>A note on multiple stats sections<a class="headerlink" href="#a-note-on-multiple-stats-sections" title="Permalink to this headline">?</a></h2>
+<p>If you are implementing a device with multiple instances, you may want
+multiple stats sections with the exact same format.</p>
+<p>For example, suppose I write a driver for an external distance sensor.
+My driver supports up to 5 sensors and I want to record the stats of
+each device separately.</p>
+<p>This works identically to the example above, except you would need to
+register each one separately with a unique name. The stats system will
+not let two sections be entered with the same name.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/testutil/test_assert.html b/develop/os/modules/testutil/test_assert.html
new file mode 100644
index 000000000..7dddac3c1
--- /dev/null
+++ b/develop/os/modules/testutil/test_assert.html
@@ -0,0 +1,441 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>TEST_ASSERT &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    TEST_ASSERT
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/testutil/test_assert.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="test-assert">
+<h1>TEST_ASSERT<a class="headerlink" href="#test-assert" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">TEST_ASSERT(expression, fail_msg, ...)</span>
+</pre></div>
+</div>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">TEST_ASSERT_FATAL(expression, fail_msg, ...)</span>
+</pre></div>
+</div>
+<p>Asserts that the specified condition is true. If the expression is true,
+nothing gets reported. <em>fail_msg</em> will be printed out if the expression
+is false. The expression argument is mandatory; the rest are optional.
+The fail_msg argument is a printf format string which specifies how the
+remaining arguments are parsed.</p>
+<p><code class="docutils literal notranslate"><span class="pre">TEST_ASSERT_FATAL()</span></code> causes the current test case to be aborted, if
+expression fails.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>expression</td>
+<td>Condition
+being tested.
+If it fails,
+test is
+considered a
+failure, and a
+message is
+printed out.</td>
+</tr>
+<tr class="row-odd"><td>fail_msg</td>
+<td>Pointer to C
+string that
+contains a
+format string
+that follows
+the same
+specifications
+as format in
+printf.</td>
+</tr>
+<tr class="row-even"><td>?</td>
+<td>Depending on
+the format
+string, the
+function may
+expect either
+a sequence of
+additional
+arguments to
+be used to
+replace a
+format
+specifier in
+the format
+string or a
+variable
+arguments
+list. va_list
+is a special
+type defined
+in in
+stdarg.h.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>None</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>While <code class="docutils literal notranslate"><span class="pre">console_printf</span></code>, with its well understood formatting options in
+C, is more convenient and easy on the eyes than the raw output of
+<code class="docutils literal notranslate"><span class="pre">console_write</span></code>, the associated code size is considerably larger.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>Example #1:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">TEST_CASE(config_test_insert)</span>
+<span class="go">{</span>
+<span class="go">    int rc;</span>
+
+<span class="go">    rc = conf_register(&amp;config_test_handler);</span>
+<span class="go">    TEST_ASSERT(rc == 0);</span>
+<span class="go">}</span>
+</pre></div>
+</div>
+<p>Example #2:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">TEST_CASE(nffs_test_unlink)</span>
+<span class="go">{</span>
+<span class="go">    int rc;</span>
+
+<span class="go">    ....</span>
+
+<span class="go">    rc = nffs_format(nffs_area_descs);</span>
+<span class="go">    TEST_ASSERT_FATAL(rc == 0);</span>
+
+<span class="go">    ....</span>
+<span class="go">}</span>
+</pre></div>
+</div>
+<p>Example #3:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">static int</span>
+<span class="go">cbmem_test_case_1_walk(struct cbmem *cbmem, struct cbmem_entry_hdr *hdr,</span>
+<span class="go">        void *arg)</span>
+<span class="go">{</span>
+<span class="go">    ....</span>
+
+<span class="go">    rc = cbmem_read(cbmem, hdr, &amp;actual, 0, sizeof(actual));</span>
+<span class="go">    TEST_ASSERT_FATAL(rc == 1, &quot;Couldn&#39;t read 1 byte from cbmem&quot;);</span>
+<span class="go">    TEST_ASSERT_FATAL(actual == expected,</span>
+<span class="go">            &quot;Actual doesn&#39;t equal expected (%d = %d)&quot;, actual, expected);</span>
+
+<span class="go">    ....</span>
+<span class="go">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/testutil/test_case.html b/develop/os/modules/testutil/test_case.html
new file mode 100644
index 000000000..ed357eca7
--- /dev/null
+++ b/develop/os/modules/testutil/test_case.html
@@ -0,0 +1,355 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>TEST_CASE &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    TEST_CASE
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/testutil/test_case.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="test-case">
+<h1>TEST_CASE<a class="headerlink" href="#test-case" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">TEST_CASE(test_case_name)</span>
+</pre></div>
+</div>
+<p>Defines a test case function with the following type
+<code class="docutils literal notranslate"><span class="pre">int</span> <span class="pre">test_case_name(void)</span></code>. This can then be called from regression
+test?s <code class="docutils literal notranslate"><span class="pre">TEST_SUITE()</span></code> function.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="29%" />
+<col width="71%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>test_case_name</td>
+<td>Used as the function name for this test case.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Return value is 0 if the test case passed; nonzero if it failed.
+Generally, the return code is not used. It is expected that the case
+will pass/fail with tests done using <code class="docutils literal notranslate"><span class="pre">TEST_ASSERT()</span></code>.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">TEST_CASE(config_test_insert)</span>
+<span class="go">{</span>
+<span class="go">     ....</span>
+<span class="go">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/testutil/test_decl.html b/develop/os/modules/testutil/test_decl.html
new file mode 100644
index 000000000..916fdf713
--- /dev/null
+++ b/develop/os/modules/testutil/test_decl.html
@@ -0,0 +1,356 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>TEST_CASE_DECL &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    TEST_CASE_DECL
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/testutil/test_decl.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="test-case-decl">
+<h1>TEST_CASE_DECL<a class="headerlink" href="#test-case-decl" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">TEST_CASE_DECL(test_case_name)</span>
+</pre></div>
+</div>
+<p>Declares a test case function with the following type
+<code class="docutils literal notranslate"><span class="pre">int</span> <span class="pre">test_case_name(void)</span></code>. This can then be called from regression
+test?s <code class="docutils literal notranslate"><span class="pre">TEST_SUITE()</span></code> function. This is only required if the test case
+function exists in a different file than the test suite. This will allow
+the test suite to find the test case</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="29%" />
+<col width="71%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>test_case_name</td>
+<td>Used as the function name for this test case.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Return value is 0 if the test case passed; nonzero if it failed.
+Generally, the return code is not used. It is expected that the case
+will pass/fail with tests done using <code class="docutils literal notranslate"><span class="pre">TEST_ASSERT()</span></code>.</p>
+</div>
+<div class="section" id="example-file-test-cases-h">
+<h2>Example file <code class="docutils literal notranslate"><span class="pre">test_cases.h</span></code><a class="headerlink" href="#example-file-test-cases-h" title="Permalink to this headline">?</a></h2>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">TEST_CASE_DECL(test_case_1)</span>
+<span class="go">TEST_CASE_DECL(test_case_2)</span>
+<span class="go">TEST_CASE_DECL(test_case_3)</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/testutil/test_pass.html b/develop/os/modules/testutil/test_pass.html
new file mode 100644
index 000000000..0f1c852af
--- /dev/null
+++ b/develop/os/modules/testutil/test_pass.html
@@ -0,0 +1,385 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>TEST_PASS &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    TEST_PASS
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/testutil/test_pass.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="test-pass">
+<h1>TEST_PASS<a class="headerlink" href="#test-pass" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">TEST_PASS(msg, ...)</span>
+</pre></div>
+</div>
+<p>Reports a success result for the current test. This function is not
+normally needed, as all successful tests automatically write an empty
+pass result at completion. It is only needed when the success result
+report should contain text. The msg argument is a printf format string
+which specifies how the remaining arguments are parsed. The result file
+produced by this function contains the following text:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">|&lt;file&gt;:&lt;line-number&gt;| manual pass</span>
+<span class="go">&lt;msg&gt;</span>
+</pre></div>
+</div>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="47%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>msg</td>
+<td>This is a
+printf format
+string which
+specifies how
+the remaining
+arguments are
+parsed</td>
+</tr>
+<tr class="row-odd"><td>?</td>
+<td>Depending on
+the format
+string, the
+function may
+expect either
+a sequence of
+additional
+arguments to
+be used to
+replace a
+format
+specifier in
+the format
+string or a
+variable
+arguments
+list. va_list
+is a special
+type defined
+in in
+stdarg.h.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>None</p>
+</div>
+<div class="section" id="notes">
+<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">?</a></h2>
+<p>After this function is called, the remainder of the test case is not
+executed.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/testutil/test_suite.html b/develop/os/modules/testutil/test_suite.html
new file mode 100644
index 000000000..a8755b8da
--- /dev/null
+++ b/develop/os/modules/testutil/test_suite.html
@@ -0,0 +1,361 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>TEST_SUITE &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    TEST_SUITE
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/testutil/test_suite.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="test-suite">
+<h1>TEST_SUITE<a class="headerlink" href="#test-suite" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">TEST_SUITE(test_suite_name)</span>
+</pre></div>
+</div>
+<p>Declares a test suite function with the following type
+<code class="docutils literal notranslate"><span class="pre">int</span> <span class="pre">test_suite_name(void)</span></code>. This can then be called from either
+<em>project/test</em>, or from main routine for package specific regression
+test.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="30%" />
+<col width="70%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Arguments</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>test_suite_name</td>
+<td>Used as the function name for this test suite.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Return value is 0 if the test suite passed; nonzero if it failed.
+Generally, the return code is not used. It is expected that the
+individual test cases will pass/fail with tests done using
+<code class="docutils literal notranslate"><span class="pre">TEST_ASSERT()</span></code>.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">TEST_SUITE(os_sem_test_suite)</span>
+<span class="go">{</span>
+<span class="go">    os_sem_test_basic();</span>
+<span class="go">    os_sem_test_case_1();</span>
+<span class="go">    os_sem_test_case_2();</span>
+<span class="go">    os_sem_test_case_3();</span>
+<span class="go">    os_sem_test_case_4();</span>
+<span class="go">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/testutil/testutil.html b/develop/os/modules/testutil/testutil.html
new file mode 100644
index 000000000..bf132456e
--- /dev/null
+++ b/develop/os/modules/testutil/testutil.html
@@ -0,0 +1,400 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>testutil &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    testutil
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/testutil/testutil.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="testutil">
+<h1>testutil<a class="headerlink" href="#testutil" title="Permalink to this headline">?</a></h1>
+<p>The testutil package is a test framework that provides facilities for
+specifying test cases and recording test results.</p>
+<p>You would use it to build regression tests for your library.</p>
+<div class="section" id="description">
+<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">?</a></h2>
+<p>A package may optionally contain a set of test cases. Test cases are not
+normally compiled and linked when a package is built; they are only
+included when the ?test? identity is specified. All of a package?s test
+code goes in its <code class="docutils literal notranslate"><span class="pre">src/test</span></code> directory. For example, the nffs package?s
+test code is located in the following directory:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">* fs/nffs/src/test/</span>
+</pre></div>
+</div>
+<p>This directory contains the source and header files that implement the
+nffs test code.</p>
+<p>The test code has access to all the header files in the following
+directories:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">* src</span>
+<span class="go">* src/arch/&lt;target-arch&gt;</span>
+<span class="go">* include</span>
+<span class="go">* src/test</span>
+<span class="go">* src/test/arch/&lt;target-arch&gt;</span>
+<span class="go">* include directories of all package dependencies</span>
+</pre></div>
+</div>
+<p>Package test code typically depends on the testutil package, described
+later in this document.</p>
+<p>Some test cases or test initialization code may be platform-specific. In
+such cases, the platform-specific function definitions are placed in
+arch subdirectories within the package test directory.</p>
+<p>While building the test code (i.e., when the <code class="docutils literal notranslate"><span class="pre">test</span></code> identity is
+specified), the newt tool defines the <code class="docutils literal notranslate"><span class="pre">TEST</span></code> macro. This macro is
+defined during compilation of all C source files in all projects and
+packages.</p>
+<p>Tests are structured according to the following hierarchy:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">           [test]</span>
+<span class="go">          /      \</span>
+<span class="go">   [suite]        [suite]</span>
+<span class="go">  /       \      /       \</span>
+<span class="go">[case] [case]  [case] [case]</span>
+</pre></div>
+</div>
+<p>I.e., a test consists of test suites, and a test suite consists of test
+cases.</p>
+<p>The test code uses testutil to define test suites and test cases.</p>
+<p>Regression test can then be executed using ?newt target test? command,
+or by including a call to your test suite from
+<code class="docutils literal notranslate"><span class="pre">project/test/src/test.c</span></code>.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p><a class="reference external" href="../../tutorials/unit_test.html">This Tutorial</a> shows how to create a
+test suite for a Mynewt package.</p>
+</div>
+<div class="section" id="data-structures">
+<h2>Data structures<a class="headerlink" href="#data-structures" title="Permalink to this headline">?</a></h2>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">struct tu_config {</span>
+<span class="go">    int tc_print_results;</span>
+<span class="go">    int tc_system_assert;</span>
+
+<span class="go">    tu_case_init_fn_t *tc_case_init_cb;</span>
+<span class="go">    void *tc_case_init_arg;</span>
+
+<span class="go">    tu_case_report_fn_t *tc_case_fail_cb;</span>
+<span class="go">    void *tc_case_fail_arg;</span>
+
+<span class="go">    tu_case_report_fn_t *tc_case_pass_cb;</span>
+<span class="go">    void *tc_case_pass_arg;</span>
+
+<span class="go">    tu_suite_init_fn_t *tc_suite_init_cb;</span>
+<span class="go">    void *tc_suite_init_arg;</span>
+
+<span class="go">    tu_restart_fn_t *tc_restart_cb;</span>
+<span class="go">    void *tc_restart_arg;</span>
+<span class="go">};</span>
+<span class="go">extern struct tu_config tu_config;</span>
+</pre></div>
+</div>
+<p>The global <code class="docutils literal notranslate"><span class="pre">tu_config</span></code> struct contains all the testutil package?s
+settings. This should be populated before <code class="docutils literal notranslate"><span class="pre">tu_init()</span></code> is called.</p>
+</div>
+<div class="section" id="list-of-functions">
+<h2>List of Functions<a class="headerlink" href="#list-of-functions" title="Permalink to this headline">?</a></h2>
+<p>The functions, and macros available in <code class="docutils literal notranslate"><span class="pre">testutil</span></code> are:</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/testutil/tu_init.html b/develop/os/modules/testutil/tu_init.html
new file mode 100644
index 000000000..bf288684b
--- /dev/null
+++ b/develop/os/modules/testutil/tu_init.html
@@ -0,0 +1,351 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>tu_init &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    tu_init
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/testutil/tu_init.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="tu-init">
+<h1>tu_init<a class="headerlink" href="#tu-init" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">int tu_init(void)</span>
+</pre></div>
+</div>
+<p>Initializes the test framework according to the contents of the
+<code class="docutils literal notranslate"><span class="pre">tu_config</span></code> struct. This function must be called before any tests are
+run.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<p>N/A</p>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns 0 on success; nonzero on failure.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<p>Here?s an example of stand-alone code which allows the user to execute
+regression tests for sys/config package only.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">#</span>ifdef PKG_TEST
+
+<span class="go">int</span>
+<span class="go">main(int argc, char **argv)</span>
+<span class="go">{</span>
+<span class="go">    tu_config.tc_print_results = 1;</span>
+<span class="go">    tu_init();</span>
+
+<span class="go">    conf_init();</span>
+<span class="go">    config_test_all();</span>
+
+<span class="go">    return tu_any_failed;</span>
+<span class="go">}</span>
+
+<span class="gp">#</span>endif
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/modules/testutil/tu_restart.html b/develop/os/modules/testutil/tu_restart.html
new file mode 100644
index 000000000..acd96c51c
--- /dev/null
+++ b/develop/os/modules/testutil/tu_restart.html
@@ -0,0 +1,348 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>tu_restart &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../../genindex.html"/>
+          <link rel="search" title="Search" href="../../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../../index.html"/> 
+
+    
+    <script src="../../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    tu_restart
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/testutil/tu_restart.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="tu-restart">
+<h1>tu_restart<a class="headerlink" href="#tu-restart" title="Permalink to this headline">?</a></h1>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">void tu_restart(void)</span>
+</pre></div>
+</div>
+<p>This function is used when a system reset is necessary to proceed with
+testing. For example, the OS is designed to run forever once started, so
+a test which creates several OS tasks and then starts the OS has no
+means of completing. This function, when called from such a test,
+gracefully ends the current test case and proceeds to the next test
+case.</p>
+<p>The particulars of this function depend on whether it is called from a
+simulated environment. In a simulated environment, this function uses a
+<code class="docutils literal notranslate"><span class="pre">longjmp()</span></code> call to break out of the current test case.</p>
+<div class="section" id="arguments">
+<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline">?</a></h2>
+<p>N/A</p>
+</div>
+<div class="section" id="returned-values">
+<h2>Returned values<a class="headerlink" href="#returned-values" title="Permalink to this headline">?</a></h2>
+<p>Returns 0 on success; nonzero on failure.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">?</a></h2>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">void</span>
+<span class="go">os_test_restart(void)</span>
+<span class="go">{</span>
+<span class="go">    ....</span>
+
+<span class="go">    tu_restart();</span>
+<span class="go">}</span>
+<span class="gp">#</span>endif
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/os_user_guide.html b/develop/os/os_user_guide.html
index 4978022a2..21db61546 100644
--- a/develop/os/os_user_guide.html
+++ b/develop/os/os_user_guide.html
@@ -42,7 +42,7 @@
           <link rel="search" title="Search" href="../search.html"/>
       <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../index.html"/>
           <link rel="next" title="Mynewt Core OS" href="core_os/mynewt_os.html"/>
-          <link rel="prev" title="SEGGER SystemView" href="../tutorials/tooling/segger_sysview.html"/> 
+          <link rel="prev" title="Enable Wi-Fi on Arduino MKR1000" href="../tutorials/other/wi-fi_on_arduino.html"/> 
 
     
     <script src="../_static/js/modernizr.min.js"></script>
@@ -283,7 +283,7 @@ <h1>OS User Guide<a class="headerlink" href="#os-user-guide" title="Permalink to
         <a href="core_os/mynewt_os.html" class="btn btn-neutral float-right" title="Mynewt Core OS" accesskey="n">Next: Mynewt Core OS <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="../tutorials/tooling/segger_sysview.html" class="btn btn-neutral" title="SEGGER SystemView" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: SEGGER SystemView</a>
+        <a href="../tutorials/other/wi-fi_on_arduino.html" class="btn btn-neutral" title="Enable Wi-Fi on Arduino MKR1000" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Enable Wi-Fi on Arduino MKR1000</a>
       
     </div>
 
diff --git a/develop/os/tutorials/STM32F303.html b/develop/os/tutorials/STM32F303.html
new file mode 100644
index 000000000..469b53898
--- /dev/null
+++ b/develop/os/tutorials/STM32F303.html
@@ -0,0 +1,503 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Blinky, your ?Hello World!?, on STM32F303 Discovery &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Blinky, your ?Hello World!?, on STM32F303 Discovery
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/tutorials/STM32F303.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="blinky-your-hello-world-on-stm32f303-discovery">
+<h1>Blinky, your ?Hello World!?, on STM32F303 Discovery<a class="headerlink" href="#blinky-your-hello-world-on-stm32f303-discovery" title="Permalink to this headline">?</a></h1>
+<div class="section" id="objective">
+<h2>Objective<a class="headerlink" href="#objective" title="Permalink to this headline">?</a></h2>
+<p>Learn how to use packages from a default application repository of
+Mynewt to build your first <em>Hello World</em> application (Blinky) on a
+target board. Once built using the <em>newt</em> tool, this application will
+blink the LED lights on the target board.</p>
+<p>Create a project with a simple app that blinks an LED on the stmf303
+discovery board. In the process import some external libraries into your
+project. Download the application to the target and watch it blink!</p>
+</div>
+<div class="section" id="what-you-need">
+<h2>What you need<a class="headerlink" href="#what-you-need" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>Discovery kit with STM32F303VC MCU</li>
+<li>Laptop running Mac OSX.</li>
+<li>It is assumed you have already installed newt tool.</li>
+<li>It is assumed you already installed native tools as described
+<a class="reference external" href="../get_started/native_tools.html">here</a></li>
+</ul>
+<p>Also, we assume that you?re familiar with UNIX shells. Let?s gets
+started!</p>
+</div>
+<div class="section" id="create-a-project">
+<h2>Create a project<a class="headerlink" href="#create-a-project" title="Permalink to this headline">?</a></h2>
+<p>Create a new project to hold your work. For a deeper understanding, you
+can read about project creation in <a class="reference external" href="../get_started/project_create.html">Get Started ? Creating Your First
+Project</a> or just follow the
+commands below.</p>
+<p>If you?ve already created a project from another tutorial, you can
+re-use that project.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ mkdir ~/dev
+$ cd ~/dev
+$ newt new myproj
+Downloading project skeleton from apache/incubator-mynewt-blinky...
+Installing skeleton in myproj...
+Project myproj successfully created.
+
+$ cd myproj
+</pre></div>
+</div>
+<p><strong>Note:</strong> Don?t forget to change into the <code class="docutils literal notranslate"><span class="pre">myproj</span></code> directory.</p>
+</div>
+<div class="section" id="import-external-stm32f3-library-support">
+<h2>Import External STM32F3 Library support<a class="headerlink" href="#import-external-stm32f3-library-support" title="Permalink to this headline">?</a></h2>
+<p>The STM32F303 support for Mynewt lives in an external repository. It?s
+necessary to add another repository to the project. To do this, edit the
+file <code class="docutils literal notranslate"><span class="pre">project.yml</span></code> in the root directory of your project <code class="docutils literal notranslate"><span class="pre">myproj</span></code></p>
+<p>This requires two changes to this file.</p>
+<ol class="arabic simple">
+<li>You must define the properties of the external repository that you
+want to add</li>
+<li>You must include the repository in your project.</li>
+</ol>
+<p>Edit the file <code class="docutils literal notranslate"><span class="pre">project.yml</span></code> with your favorite editor and add the
+following repository details in the file (after the core repository).
+This gives newt the information to contact the repository and extract
+its contents. In this case, the repository is on github in the
+<code class="docutils literal notranslate"><span class="pre">runtimeco</span></code> collection. Its name is <code class="docutils literal notranslate"><span class="pre">mynewt-stm32f3</span></code> and we will
+accept any version up to the latest. You can look at the contents
+<a class="reference external" href="https://github.com/runtimeco/mynewt_stm32f3">here</a>.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>repository.mynewt_stm32f3:
+    type: github
+    vers: 0-latest
+    user: runtimeco
+    repo: mynewt_stm32f3
+</pre></div>
+</div>
+<p>In the same file, add the following highlighted line to the
+<code class="docutils literal notranslate"><span class="pre">project.repositories</span></code> variable. This tells newt to download the
+repository contents into your project.</p>
+</div>
+<div class="section" id="install-dependencies">
+<h2>Install dependencies<a class="headerlink" href="#install-dependencies" title="Permalink to this headline">?</a></h2>
+<p>Now you can install this into the project using:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ newt install -v
+Downloading repository description for apache-mynewt-core... success!
+...
+apache-mynewt-core successfully installed version 0.7.9-none
+...
+Downloading repository description for mynewt_stm32f3... success!
+Downloading repository mynewt_stm32f3
+...
+Resolving deltas: 100% (65/65), done.
+Checking connectivity... done.
+mynewt_stm32f3 successfully installed version 0.0.0-none
+</pre></div>
+</div>
+</div>
+<div class="section" id="create-targets">
+<h2>Create targets<a class="headerlink" href="#create-targets" title="Permalink to this headline">?</a></h2>
+<p>Create two targets to build using the stmf3 board support package and
+the app blinky example from mynewt. The output of these commands are not
+shown here for brevity.</p>
+<p>The first target is the application image itself. The second target is
+the bootloader which allows you to upgrade your mynewt applications.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ newt target create stmf3_blinky
+$ newt target set stmf3_blinky build_profile=optimized
+$ newt target set stmf3_blinky bsp=@mynewt_stm32f3/hw/bsp/stm32f3discovery
+$ newt target set stmf3_blinky app=apps/blinky
+
+$ newt target create stmf3_boot
+$ newt target set stmf3_boot app=@apache-mynewt-core/apps/boot
+$ newt target set stmf3_boot bsp=@mynewt_stm32f3/hw/bsp/stm32f3discovery
+$ newt target set stmf3_boot build_profile=optimized
+
+$ newt target show
+
+targets/stmf3_blinky
+    app=apps/blinky
+    bsp=@mynewt_stm32f3/hw/bsp/stm32f3discovery
+    build_profile=optimized
+targets/stmf3_boot
+    app=apps/boot
+    bsp=@mynewt_stm32f3/hw/bsp/stm32f3discovery
+    build_profile=optimized
+</pre></div>
+</div>
+</div>
+<div class="section" id="build-the-target-executables">
+<h2>Build the target executables<a class="headerlink" href="#build-the-target-executables" title="Permalink to this headline">?</a></h2>
+<p>To build the images, use the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">build</span></code> command below.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ newt build stmf3_blinky
+   ...
+Archiving stm32f3discovery.a
+Linking blinky.elf
+App successfully built: ~/dev/myproj/bin/stmf3_blinky/apps/blinky/blinky.elf
+
+$ newt build stmf3_boot
+Compiling log_shell.c
+Archiving log.a
+Linking boot.elf
+App successfully built: ~/dev/myproj/bin/stmf3_boot/apps/boot/boot.elf
+</pre></div>
+</div>
+</div>
+<div class="section" id="sign-and-create-the-blinky-application-image">
+<h2>Sign and create the blinky application image<a class="headerlink" href="#sign-and-create-the-blinky-application-image" title="Permalink to this headline">?</a></h2>
+<p>You must sign and version your application image to download it using
+newt. Use the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">create-image</span></code> command to perform this action. Here
+we assign this image an arbitrary version <code class="docutils literal notranslate"><span class="pre">1.2.3</span></code>.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt create-image stmf3_blinky <span class="m">1</span>.2.3
+<span class="go">App image successfully generated: ~/dev/myproj/bin/stmf3_blinky/apps/blinky/blinky.img</span>
+<span class="go">Build manifest:~/dev/myproj/bin/stmf3_blinky/apps/blinky/manifest.json</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="configure-the-hardware">
+<h2>Configure the hardware<a class="headerlink" href="#configure-the-hardware" title="Permalink to this headline">?</a></h2>
+<p>The STM32F3DISCOVERY board includes an ST-LINK/V2 embedded debug tool
+interface that will be used to program/debug the board. To program the
+MCU on the board, simply plug in the two jumpers on CN4, as shown in the
+picture in red. If you want to learn more about the board you will find
+the User Manual at
+<a class="reference external" href="http://www.st.com/st-web-ui/static/active/jp/resource/technical/document/user_manual/DM00063382.pdf">http://www.st.com/st-web-ui/static/active/jp/resource/technical/document/user_manual/DM00063382.pdf</a></p>
+<ul class="simple">
+<li><img alt="STMdiscovery" src="os/tutorials/pics/STM32f3discovery_connector.png" /></li>
+</ul>
+</div>
+<div class="section" id="download-the-images">
+<h2>Download the Images<a class="headerlink" href="#download-the-images" title="Permalink to this headline">?</a></h2>
+<p>Use the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">load</span></code> command to download the images to the target
+board.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ newt -v load stmf3_boot
+$ newt -v load stmf3_blinky
+</pre></div>
+</div>
+</div>
+<div class="section" id="watch-the-led-blink">
+<h2>Watch the LED blink<a class="headerlink" href="#watch-the-led-blink" title="Permalink to this headline">?</a></h2>
+<p>Congratulations! You have built, downloaded, and run your first
+application using mynewt for the stm32f3 discovery board. One of the
+LEDs on the LED wheel should be blinking at 1 Hz.</p>
+</div>
+<div class="section" id="want-more">
+<h2>Want more?<a class="headerlink" href="#want-more" title="Permalink to this headline">?</a></h2>
+<p>Want to make your board do something a little more exciting with the
+LEDs? Then try making the modifications to the Blinky app to make it a
+<a class="reference external" href="pin-wheel-mods.html">pin-wheel app</a> and you can light all the LEDs in
+a pin-wheel fashion.</p>
+<p>We have more fun tutorials for you to get your hands dirty. Be bold and
+try other Blinky-like <a class="reference external" href="../tutorials/nRF52.html">tutorials</a> or try
+enabling additional functionality such as <a class="reference external" href="project-slinky.html">remote
+comms</a> on the current board.</p>
+<p>If you see anything missing or want to send us feedback, please do so by
+signing up for appropriate mailing lists on our <a class="reference external" href="../../community.html">Community
+Page</a>.</p>
+<p>Keep on hacking and blinking!</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/tutorials/add_newtmgr.html b/develop/os/tutorials/add_newtmgr.html
new file mode 100644
index 000000000..31aafd2e1
--- /dev/null
+++ b/develop/os/tutorials/add_newtmgr.html
@@ -0,0 +1,594 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Enabling Newt Manager in Your Application &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Enabling Newt Manager in Your Application
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/tutorials/add_newtmgr.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="enabling-newt-manager-in-your-application">
+<h1>Enabling Newt Manager in Your Application<a class="headerlink" href="#enabling-newt-manager-in-your-application" title="Permalink to this headline">?</a></h1>
+<p>In order for your application to communicate with the newtmgr tool and
+process Newt Manager commands, you must enable Newt Manager device
+management and the support to process Newt Manager commands in your
+application. This tutorial explains how to add the support to your
+application.</p>
+<p>This tutorial assumes that you have read the <a class="reference external" href="/os/modules/devmgmt/newtmgr/">Device Management with
+Newt Manager</a> guide and are familiar
+with the <code class="docutils literal notranslate"><span class="pre">newtmgr</span></code> and <code class="docutils literal notranslate"><span class="pre">oicmgr</span></code> frameworks and all the options that
+are available to customize your application.</p>
+<p>This tutorial shows you how to configure your application to:</p>
+<ul class="simple">
+<li>Use the newtmgr framework.</li>
+<li>Use serial transport to communicate with the newtmgr tool.</li>
+<li>Support all Newt Manager commands.</li>
+</ul>
+<p>See <a class="reference external" href="#other-configuration-options">Other Configuration Options</a> on
+how to customize your application.</p>
+<div class="section" id="prerequisites">
+<h2>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline">?</a></h2>
+<p>Ensure that you have met the following prerequisites before continuing
+with this tutorial:</p>
+<ul class="simple">
+<li>Have Internet connectivity to fetch remote Mynewt components.</li>
+<li>Have a cable to establish a serial USB connection between the board
+and the laptop.</li>
+<li>Install the newt tool and toolchains (See <a class="reference external" href="/os/get_started/get_started.html">Basic
+Setup</a>).</li>
+<li>Install the <a class="reference external" href="../../newtmgr/install_mac.html">newtmgr tool</a>.</li>
+</ul>
+</div>
+<div class="section" id="use-an-existing-project">
+<h2>Use an Existing Project<a class="headerlink" href="#use-an-existing-project" title="Permalink to this headline">?</a></h2>
+<p>We assume that you have worked through at least some of the other
+tutorials and have an existing project. In this example, we modify the
+<code class="docutils literal notranslate"><span class="pre">bletiny</span></code> app to enable Newt Manager support. We call our target
+<code class="docutils literal notranslate"><span class="pre">myble</span></code>. You can create the target using any name you choose.</p>
+</div>
+<div class="section" id="modify-package-dependencies-and-configurations">
+<h2>Modify Package Dependencies and Configurations<a class="headerlink" href="#modify-package-dependencies-and-configurations" title="Permalink to this headline">?</a></h2>
+<p>Add the following packages to the <code class="docutils literal notranslate"><span class="pre">pkg.deps</span></code> parameter in your target
+or application <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">pkg.deps:</span>
+<span class="go">    - mgmt/newtmgr</span>
+<span class="go">    - mgmt/newtmgr/transport/nmgr_shell</span>
+<span class="go">    - mgmt/imgmgr</span>
+<span class="go">    - sys/log/full</span>
+<span class="go">    - sys/stats/full</span>
+<span class="go">    - sys/config</span>
+<span class="go">    - test/crash_test</span>
+<span class="go">    - test/runtest</span>
+</pre></div>
+</div>
+<p>Each package provides the following Newt Manager functionality:</p>
+<ul class="simple">
+<li><code class="docutils literal notranslate"><span class="pre">mgmt/newtmgr</span></code>: Supports the newtmgr framework and the Newt Manager
+<code class="docutils literal notranslate"><span class="pre">echo</span></code>, <code class="docutils literal notranslate"><span class="pre">taskstat</span></code> <code class="docutils literal notranslate"><span class="pre">mpstat</span></code>, <code class="docutils literal notranslate"><span class="pre">datetime</span></code>, and <code class="docutils literal notranslate"><span class="pre">reset</span></code>
+commands.</li>
+<li><code class="docutils literal notranslate"><span class="pre">mgmt/newtmgr/transport/nmgr_shell</span></code>: Supports serial transport.</li>
+<li><code class="docutils literal notranslate"><span class="pre">mgmt/imgmgr</span></code>: Supports the <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span></code> command</li>
+<li><code class="docutils literal notranslate"><span class="pre">sys/log/full</span></code> : Supports the <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">log</span></code> command.</li>
+<li><code class="docutils literal notranslate"><span class="pre">sys/stats/full</span></code>: Supports the <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">stat</span></code> command.</li>
+<li><code class="docutils literal notranslate"><span class="pre">sys/config</span></code>: Supports the <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">config</span></code> command.</li>
+<li><code class="docutils literal notranslate"><span class="pre">test/crash_test</span></code>: Supports the <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">crash</span></code> command.</li>
+<li><code class="docutils literal notranslate"><span class="pre">test/runtest</span></code>: Supports the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">run</span></code> command.</li>
+</ul>
+<p>Add the following configuration setting values to the <code class="docutils literal notranslate"><span class="pre">syscfg.vals</span></code>
+parameter in the target or application <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">syscfg.vals:</span>
+<span class="go">    LOG_NEWTMGR: 1</span>
+<span class="go">    STATS_NEWTMGR: 1</span>
+<span class="go">    CONFIG_NEWTMGR: 1</span>
+<span class="go">    CRASH_TEST_NEWTMGR: 1</span>
+<span class="go">    RUNTEST_NEWTMGR: 1</span>
+<span class="go">    SHELL_TASK: 1</span>
+<span class="go">    SHELL_NEWTMGR: 1</span>
+</pre></div>
+</div>
+<p>The first five configuration settings enable support for the Newt
+Manager <code class="docutils literal notranslate"><span class="pre">log</span></code>, <code class="docutils literal notranslate"><span class="pre">stat</span></code>, <code class="docutils literal notranslate"><span class="pre">config</span></code>, <code class="docutils literal notranslate"><span class="pre">crash</span></code>, and <code class="docutils literal notranslate"><span class="pre">run</span></code> commands.
+The <code class="docutils literal notranslate"><span class="pre">SHELL_TASK</span></code> setting enables the shell for serial transport. The
+<code class="docutils literal notranslate"><span class="pre">SHELL_NEWTMGR</span></code> setting enables newtmgr support in the shell.</p>
+<p>Note that you may need to override additional configuration settings
+that are specific to each package to customize the package
+functionality.</p>
+</div>
+<div class="section" id="modify-the-source">
+<h2>Modify the Source<a class="headerlink" href="#modify-the-source" title="Permalink to this headline">?</a></h2>
+<p>By default, the <code class="docutils literal notranslate"><span class="pre">mgmt</span></code> package uses the Mynewt default event queue to
+receive request events from the newtmgr tool. These events are processed
+in the context of the application main task.</p>
+<p>You can specify a different event queue for the package to use. If you
+choose to use a dedicated event queue, you must create a task to process
+events from this event queue. The <code class="docutils literal notranslate"><span class="pre">mgmt</span></code> package executes and handles
+newtmgr request events in the context of this task. The <code class="docutils literal notranslate"><span class="pre">mgmt</span></code> package
+exports the <code class="docutils literal notranslate"><span class="pre">mgmt_evq_set()</span></code> function that allows you to specify an
+event queue.</p>
+<p>This example uses the Mynewt default event queue and you do not need to
+modify your application source.</p>
+<p>If you choose to use a different event queue, see <a class="reference external" href="event_queue.html">Events and Event
+Queues</a> for details on how to initialize an event
+queue and create a task to process the events. You will also need to
+modify your <code class="docutils literal notranslate"><span class="pre">main.c</span></code> to add the call to the <code class="docutils literal notranslate"><span class="pre">mgmt_evq_set()</span></code>
+function as follows:</p>
+<p>Add the <code class="docutils literal notranslate"><span class="pre">mgmt/mgmt.h</span></code> header file:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">#</span>include &lt;mgmt/mgmt.h&gt;
+</pre></div>
+</div>
+<p>Add the call to specify the event queue. In the <code class="docutils literal notranslate"><span class="pre">main()</span></code> function,
+scroll down to the <code class="docutils literal notranslate"><span class="pre">while</span> <span class="pre">(1)</span></code> loop and add the following statement
+above the loop:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">mgmt_evq_set(&amp;my_eventq)</span>
+</pre></div>
+</div>
+<p>where <code class="docutils literal notranslate"><span class="pre">my_eventq</span></code> is an event queue that you have initialized.</p>
+</div>
+<div class="section" id="build-the-targets">
+<h2>Build the Targets<a class="headerlink" href="#build-the-targets" title="Permalink to this headline">?</a></h2>
+<p>Build the two targets as follows:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ newt build nrf52_boot
+&lt;snip&gt;
+App successfully built: ./bin/nrf52_boot/apps/boot/boot.elf
+$ newt build myble
+Compiling hci_common.c
+Compiling util.c
+Archiving nimble.a
+Compiling os.c
+&lt;snip&gt;
+</pre></div>
+</div>
+</div>
+<div class="section" id="create-the-application-image">
+<h2>Create the Application Image<a class="headerlink" href="#create-the-application-image" title="Permalink to this headline">?</a></h2>
+<p>Generate an application image for the <code class="docutils literal notranslate"><span class="pre">myble</span></code> target. You can use any
+version number you choose.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ newt create-image myble 1.0.0
+App image successfully generated: ./bin/makerbeacon/apps/bletiny/bletiny.img
+Build manifest: ./bin/makerbeacon/apps/bletiny/manifest.json
+</pre></div>
+</div>
+</div>
+<div class="section" id="load-the-image">
+<h2>Load the Image<a class="headerlink" href="#load-the-image" title="Permalink to this headline">?</a></h2>
+<p>Ensure the USB connector is in place and the power LED on the board is
+lit. Turn the power switch on your board off, then back on to reset the
+board after loading the image.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ newt load nrf52_boot
+$ newt load myble
+</pre></div>
+</div>
+</div>
+<div class="section" id="set-up-a-connection-profile">
+<h2>Set Up a Connection Profile<a class="headerlink" href="#set-up-a-connection-profile" title="Permalink to this headline">?</a></h2>
+<p>The newtmgr tool requires a connection profile in order to connect to
+your board. If you have not done so, follow the
+<a class="reference external" href="../../newtmgr/command_list/newtmgr_conn.html">instructions</a> for
+setting up your connection profile.</p>
+</div>
+<div class="section" id="communicate-with-your-application">
+<h2>Communicate with Your Application<a class="headerlink" href="#communicate-with-your-application" title="Permalink to this headline">?</a></h2>
+<p>Once you have a connection profile set up, you can connect to your
+device with <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">-c</span> <span class="pre">myconn</span> <span class="pre">&lt;command&gt;</span></code> to run commands in your
+application.</p>
+<p>Issue the <code class="docutils literal notranslate"><span class="pre">echo</span></code> command to ensure that your application is
+communicating with the newtmgr tool:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">#</span> newtmgr -c myconn <span class="nb">echo</span> hello
+<span class="go">hello</span>
+</pre></div>
+</div>
+<p>Test your application to ensure that it can process a Newt Manager
+command that is supported by a different package. Issue the <code class="docutils literal notranslate"><span class="pre">stat</span></code>
+command to see the BLE stats.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">stat group: ble_att</span>
+<span class="go">         0 error_rsp_rx</span>
+<span class="go">         0 error_rsp_tx</span>
+<span class="go">         0 exec_write_req_rx</span>
+<span class="go">         0 exec_write_req_tx</span>
+<span class="go">         0 exec_write_rsp_rx</span>
+<span class="go">         0 exec_write_rsp_tx</span>
+<span class="go">         0 find_info_req_rx</span>
+<span class="go">         0 find_info_req_tx</span>
+<span class="go">         0 find_info_rsp_rx</span>
+<span class="go">         0 find_info_rsp_tx</span>
+<span class="go">         0 find_type_value_req_rx</span>
+
+<span class="go">               ...</span>
+
+<span class="go">         0 read_type_req_tx</span>
+<span class="go">         0 read_type_rsp_rx</span>
+<span class="go">         0 read_type_rsp_tx</span>
+<span class="go">         0 write_cmd_rx</span>
+<span class="go">         0 write_cmd_tx</span>
+<span class="go">         0 write_req_rx</span>
+<span class="go">         0 write_req_tx</span>
+<span class="go">         0 write_rsp_rx</span>
+<span class="go">         0 write_rsp_tx</span>
+</pre></div>
+</div>
+<p>Your application is now able to communicate with the newtmgr tool.</p>
+</div>
+<div class="section" id="other-configuration-options">
+<h2>Other Configuration Options<a class="headerlink" href="#other-configuration-options" title="Permalink to this headline">?</a></h2>
+<p>This section explains how to customize your application to use other
+Newt Manager protocol options.</p>
+<div class="section" id="newtmgr-framework-transport-protocol-options">
+<h3>Newtmgr Framework Transport Protocol Options<a class="headerlink" href="#newtmgr-framework-transport-protocol-options" title="Permalink to this headline">?</a></h3>
+<p>The newtmgr framework currently supports BLE and serial transport
+protocols. To configure the transport protocols that are supported,
+modify the <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> and <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> files as follows:</p>
+<ul class="simple">
+<li>Add the <code class="docutils literal notranslate"><span class="pre">mgmt/newtmgr/transport/ble</span></code> package to the <code class="docutils literal notranslate"><span class="pre">pkg.deps</span></code>
+parameter to enable BLE transport.</li>
+<li>Add the <code class="docutils literal notranslate"><span class="pre">mgmt/newtmgr/transport/nmgr_shell</span></code> package to the
+<code class="docutils literal notranslate"><span class="pre">pkg.deps</span></code> parameter, and add <code class="docutils literal notranslate"><span class="pre">SHELL_TASK:</span> <span class="pre">1</span></code> and
+<code class="docutils literal notranslate"><span class="pre">SHELL_NEWTMGR</span></code> to the <code class="docutils literal notranslate"><span class="pre">syscfg.vals</span></code> parameter to enable serial
+transport when your application also uses the
+<a class="reference external" href="/os/modules/shell/shell.html">Shell</a>.</li>
+<li>Add the <code class="docutils literal notranslate"><span class="pre">mgmt/newtmgr/transport/nmgr_uart</span></code> package to the
+<code class="docutils literal notranslate"><span class="pre">pkg.deps</span></code> parameter to enable serial transport over a UART port.
+You can use this package instead of the <code class="docutils literal notranslate"><span class="pre">nmgr_shell</span></code> package when
+your application does not use the
+<a class="reference external" href="/os/modules/shell/shell.html">Shell</a> or you want to use a dedicated
+UART port to communicate with newtmgr. You can change the
+<code class="docutils literal notranslate"><span class="pre">NMGR_UART</span></code> and <code class="docutils literal notranslate"><span class="pre">NMGR_URART_SPEED</span></code> sysconfig values to specify a
+different port.</li>
+</ul>
+</div>
+<div class="section" id="oicmgr-framework-options">
+<h3>Oicmgr Framework Options<a class="headerlink" href="#oicmgr-framework-options" title="Permalink to this headline">?</a></h3>
+<p>To use the oicmgr framework instead of the newtmgr framework, modify the
+<code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> and <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> files as follows:</p>
+<ul class="simple">
+<li>Add the <code class="docutils literal notranslate"><span class="pre">mgmt/oicmgr</span></code> package (instead of the <code class="docutils literal notranslate"><span class="pre">mgmt/newtmgr</span></code> and
+<code class="docutils literal notranslate"><span class="pre">mgmt/newtmgr/transport</span></code> packages as described previously) to the
+<code class="docutils literal notranslate"><span class="pre">pkg.deps</span></code> parameter.</li>
+<li>Add <code class="docutils literal notranslate"><span class="pre">OC_SERVER:</span> <span class="pre">1</span></code> to the <code class="docutils literal notranslate"><span class="pre">syscfg.vals</span></code> parameter.</li>
+</ul>
+<p>Oicmgr supports the IP, serial, and BLE transport protocols. To
+configure the transport protocols that are supported, set the
+configuration setting values in the <code class="docutils literal notranslate"><span class="pre">syscfg.vals</span></code> parameter as
+follows:</p>
+<ul class="simple">
+<li>Add <code class="docutils literal notranslate"><span class="pre">OC_TRANSPORT_IP:</span> <span class="pre">1</span></code> to enable IP transport.</li>
+<li>Add <code class="docutils literal notranslate"><span class="pre">OC_TRANSPORT_GATT:</span> <span class="pre">1</span></code> to enable BLE transport.</li>
+<li>Add <code class="docutils literal notranslate"><span class="pre">OC_TRANSPORT_SERIAL:</span> <span class="pre">1</span></code>, <code class="docutils literal notranslate"><span class="pre">SHELL_TASK:</span> <span class="pre">1</span></code>,
+<code class="docutils literal notranslate"><span class="pre">SHELL_NEWTMGR:1</span></code> to enable serial transport.</li>
+</ul>
+</div>
+<div class="section" id="customize-the-newt-manager-commands-that-your-application-supports">
+<h3>Customize the Newt Manager Commands that Your Application Supports<a class="headerlink" href="#customize-the-newt-manager-commands-that-your-application-supports" title="Permalink to this headline">?</a></h3>
+<p>We recommend that you only enable support for the Newt Manager commands
+that your application uses to reduce your application code size. To
+configure the commands that are supported, set the configuration setting
+values in the <code class="docutils literal notranslate"><span class="pre">syscfg.vals</span></code> parameter as follows:</p>
+<ul class="simple">
+<li>Add <code class="docutils literal notranslate"><span class="pre">LOG_NEWTMGR:</span> <span class="pre">1</span></code> to enable support for the <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">log</span></code>
+command.</li>
+<li>Add <code class="docutils literal notranslate"><span class="pre">STATS_NEWTMGR:</span> <span class="pre">1</span></code> to enable support for the <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">stat</span></code>
+command.</li>
+<li>Add <code class="docutils literal notranslate"><span class="pre">CONFIG_NEWTMGR:</span> <span class="pre">1</span></code> to enable support for the
+<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">config</span></code> command.</li>
+<li>Add <code class="docutils literal notranslate"><span class="pre">CRASH_TEST_NEWTMGR:</span> <span class="pre">1</span></code> to enable support for the
+<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">crash</span></code> command.</li>
+<li>Add <code class="docutils literal notranslate"><span class="pre">RUNTEST_NEWTMGR:</span> <span class="pre">1</span></code> to enable support for the
+<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">crash</span></code> command.</li>
+</ul>
+<p>Notes:</p>
+<ul class="simple">
+<li>When you enable Newt Manager support, using either the newtmgr or
+oicmgr framework, your application automatically supports the Newt
+Manager <code class="docutils literal notranslate"><span class="pre">echo</span></code>, <code class="docutils literal notranslate"><span class="pre">taskstat</span></code>, <code class="docutils literal notranslate"><span class="pre">mpstat</span></code>, <code class="docutils literal notranslate"><span class="pre">datetime</span></code>, and
+<code class="docutils literal notranslate"><span class="pre">reset</span></code> commands. These commands cannot be configured individually.</li>
+<li>The <code class="docutils literal notranslate"><span class="pre">mgmt/imgmgr</span></code> package does not provide a configuration setting
+to enable or disable support for the <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span></code> command. Do
+not specify the package in the <code class="docutils literal notranslate"><span class="pre">pkg.deps</span></code> parameter if your device
+has limited flash memory and cannot support Over-The-Air (OTA)
+firmware upgrades.</li>
+</ul>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/tutorials/codesize.html b/develop/os/tutorials/codesize.html
new file mode 100644
index 000000000..3b49a784c
--- /dev/null
+++ b/develop/os/tutorials/codesize.html
@@ -0,0 +1,363 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>How to Reduce Application Code Size &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    How to Reduce Application Code Size
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/tutorials/codesize.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="how-to-reduce-application-code-size">
+<h1>How to Reduce Application Code Size<a class="headerlink" href="#how-to-reduce-application-code-size" title="Permalink to this headline">?</a></h1>
+<p>Gettng your application to fit in an image slot can be challenging,
+particularly on flash constrained hardware such as the nRF51. Below are
+some suggested system configuration settings that reduce the code size
+of your Mynewt image.</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="35%" />
+<col width="65%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Setting</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>LOG_LEVEL: 255</td>
+<td>Disable all logging.</td>
+</tr>
+<tr class="row-odd"><td>LOG_CLI: 0</td>
+<td>Disable log shell commands.</td>
+</tr>
+<tr class="row-even"><td>STATS_CLI: 0</td>
+<td>Disable stats shell commands.</td>
+</tr>
+<tr class="row-odd"><td>SHELL_TASK: 0</td>
+<td>Disable the interactive shell.</td>
+</tr>
+<tr class="row-even"><td>SHELL_OS_MODULE: 0</td>
+<td>Disable memory management shell commands.</td>
+</tr>
+<tr class="row-odd"><td>SHELL_CMD_HELP: 0</td>
+<td>Disable help for shell commands.</td>
+</tr>
+</tbody>
+</table>
+<p>You can use the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">set</span></code> command to set the syscfg settings
+in the <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file for the target. See the <a class="reference external" href="/newt/command_list/newt_target">Newt Tool Command
+Guide</a> for the command syntax.</p>
+<p><strong>Note:</strong> The <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">set</span></code> command deletes all the current syscfg
+settings in the target <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file and only sets the syscfg
+settings specified in the command. If you are experimenting with
+different settings to see how they affect the code size and do not want
+to reenter all the setting values in the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">set</span></code> command,
+you can use the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">amend</span></code> command. This command adds or
+updates only the settings specified in the command and does not
+overwrite other setting values. While you can also edit the target
+<code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file directly, we recommend that you use the
+<code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span></code> commands.</p>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/tutorials/define_target.html b/develop/os/tutorials/define_target.html
new file mode 100644
index 000000000..045377a09
--- /dev/null
+++ b/develop/os/tutorials/define_target.html
@@ -0,0 +1,316 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>How to Define a Target &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    How to Define a Target
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/tutorials/define_target.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="how-to-define-a-target">
+<h1>How to Define a Target<a class="headerlink" href="#how-to-define-a-target" title="Permalink to this headline">?</a></h1>
+<p>What newt commands to use?</p>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/tutorials/event_queue.html b/develop/os/tutorials/event_queue.html
new file mode 100644
index 000000000..b529b3a68
--- /dev/null
+++ b/develop/os/tutorials/event_queue.html
@@ -0,0 +1,806 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>How to Use Event Queues to Manage Multiple Events &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    How to Use Event Queues to Manage Multiple Events
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/tutorials/event_queue.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="how-to-use-event-queues-to-manage-multiple-events">
+<h1>How to Use Event Queues to Manage Multiple Events<a class="headerlink" href="#how-to-use-event-queues-to-manage-multiple-events" title="Permalink to this headline">?</a></h1>
+<div class="section" id="introduction">
+<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">?</a></h2>
+<p>The event queue mechanism allows you to serialize incoming events for
+your task. You can use it to get information about hardware interrupts,
+callout expirations, and messages from other tasks.</p>
+<p>The benefit of using events for inter-task communication is that it can
+reduce the number of resources that need to be shared and locked.</p>
+<p>The benefit of processing interrupts in a task context instead of the
+interrupt context is that other interrupts and high priority tasks are
+not blocked waiting for the interrupt handler to complete processing. A
+task can also access other OS facilities and sleep.</p>
+<p>This tutorial assumes that you have read about <a class="reference external" href="../core_os/event_queue/event_queue.html">Event
+Queues</a>, the <a class="reference external" href="../modules/hal/hal.html">Hardware
+Abstraction Layer</a>, and <a class="reference external" href="../core_os/callout/callout.html">OS
+Callouts</a> in the OS User?s Guide.</p>
+<p>This tutorial shows you how to create an application that uses events
+for:</p>
+<ul class="simple">
+<li>Inter-task communication</li>
+<li>OS callouts for timer expiration</li>
+<li>GPIO interrupts</li>
+</ul>
+<p>It also shows you how to:</p>
+<ul class="simple">
+<li>Use the Mynewt default event queue and application main task to
+process your events.</li>
+<li>Create a dedicated event queue and task for your events.</li>
+</ul>
+<p>To reduce an application?s memory requirement, we recommend that you use
+the Mynewt default event queue if your application or package does not
+have real-time timing requirements.</p>
+</div>
+<div class="section" id="prerequisites">
+<h2>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline">?</a></h2>
+<p>Ensure that you have met the following prerequisites before continuing
+with this tutorial:</p>
+<ul class="simple">
+<li>Install the newt tool.</li>
+<li>Install the newtmgr tool.</li>
+<li>Have Internet connectivity to fetch remote Mynewt components.</li>
+<li>Install the compiler tools to support native compiling to build the
+project this tutorial creates.</li>
+<li>Have a cable to establish a serial USB connection between the board
+and the laptop.</li>
+</ul>
+</div>
+<div class="section" id="example-application">
+<h2>Example Application<a class="headerlink" href="#example-application" title="Permalink to this headline">?</a></h2>
+<p>In this example, you will write an application, for the Nordic nRF52
+board, that uses events from three input sources to toggle three GPIO
+outputs and light up the LEDs. If you are using a different board, you
+will need to adjust the GPIO pin numbers in the code example.</p>
+<p>The application handles events from three sources on two event queues:</p>
+<ul class="simple">
+<li>Events generated by an application task at periodic intervals are
+added to the Mynewt default event queue.</li>
+<li>OS callouts for timer events are added to the
+<code class="docutils literal notranslate"><span class="pre">my_timer_interrupt_eventq</span></code> event queue.</li>
+<li>GPIO interrupt events are added to the <code class="docutils literal notranslate"><span class="pre">my_timer_interrupt_eventq</span></code>
+event queue. #### Create the Project Follow the instructions in the
+<a class="reference external" href="nRF52.html">nRF52 tutorial</a> to create a project. #### Create the
+Application Create the <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file for the application:</li>
+</ul>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">pkg.name: apps/eventq_example</span>
+<span class="go">pkg.type: app</span>
+
+<span class="go">pkg.deps:</span>
+<span class="go">    - kernel/os</span>
+<span class="go">    - hw/hal</span>
+<span class="go">    - sys/console/stub</span>
+</pre></div>
+</div>
+<div class="section" id="application-task-generated-events">
+<h3>Application Task Generated Events<a class="headerlink" href="#application-task-generated-events" title="Permalink to this headline">?</a></h3>
+<p>The application creates a task that generates events, at periodic
+intervals, to toggle the LED at pin <code class="docutils literal notranslate"><span class="pre">TASK_LED</span></code>. The event is queued on
+the Mynewt default event queue and is processed in the context of the
+application main task.</p>
+<p>Declare and initialize the <code class="docutils literal notranslate"><span class="pre">gen_task_ev</span></code> event with the <code class="docutils literal notranslate"><span class="pre">my_ev_cb()</span></code>
+callback function to process the event:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/* Callback function for application task event */
+static void my_ev_cb(struct os_event *);
+
+/* Initialize the event with the callback function */
+static struct os_event gen_task_ev = {
+    .ev_cb = my_ev_cb,
+};
+</pre></div>
+</div>
+<p>Implement the <code class="docutils literal notranslate"><span class="pre">my_ev_cb()</span></code> callback function to process a task
+generated event and toggle the LED at pin <code class="docutils literal notranslate"><span class="pre">TASK_LED</span></code>:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/* LED 1 (P0.17 on the board) */
+#define TASK_LED        17
+
+/*
+ * Event callback function for events generated by gen_task. It toggles
+ * the LED at pin TASK_LED.
+ */
+static void my_ev_cb(struct os_event *ev)
+{
+    assert(ev);
+    hal_gpio_toggle(TASK_LED);
+    return;
+}
+</pre></div>
+</div>
+<p>Create a task that generates an event at periodic intervals and adds,
+using the <code class="docutils literal notranslate"><span class="pre">os_eventq_put()</span></code> function, the event to the Mynewt default
+event queue:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#define GEN_TASK_PRIO       3
+#define GEN_TASK_STACK_SZ   512
+
+static os_stack_t gen_task_stack[GEN_TASK_STACK_SZ];
+static struct os_task gen_task_str;
+
+/*
+ * Task handler to generate an event to toggle the LED at pin TASK_LED.
+ * The event is added to the Mynewt default event queue.
+ */
+static void
+gen_task(void *arg)
+{
+    while (1) {
+        os_time_delay(OS_TICKS_PER_SEC / 4);
+        os_eventq_put(os_eventq_dflt_get(), &amp;gen_task_ev);
+    }
+}
+
+static void
+init_tasks(void)
+{
+
+    /* Create a task to generate events to toggle the LED at pin TASK_LED */
+
+    os_task_init(&amp;gen_task_str, &quot;gen_task&quot;, gen_task, NULL, GEN_TASK_PRIO,
+                 OS_WAIT_FOREVER, gen_task_stack, GEN_TASK_STACK_SZ);
+
+      ...
+
+}
+</pre></div>
+</div>
+<p>Implement the application <code class="docutils literal notranslate"><span class="pre">main()</span></code> function to call the
+<code class="docutils literal notranslate"><span class="pre">os_eventq_run()</span></code> function to dequeue an event from the Mynewt default
+event queue and call the callback function to process the event.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+main(int argc, char **argv)
+{
+    sysinit();
+
+    init_tasks();
+
+    while (1) {
+       os_eventq_run(os_eventq_dflt_get());
+    }
+    assert(0);
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="os-callout-timer-events">
+<h3>OS Callout Timer Events<a class="headerlink" href="#os-callout-timer-events" title="Permalink to this headline">?</a></h3>
+<p>Set up OS callout timer events. For this example, we use a dedicated
+event queue for timer events to show you how to create a dedicated event
+queue and a task to process the events.</p>
+<p>Implement the <code class="docutils literal notranslate"><span class="pre">my_timer_ev_cb()</span></code> callback function to process a timer
+event and toggle the LED at pin <code class="docutils literal notranslate"><span class="pre">CALLOUT_LED</span></code>:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/* LED 2 (P0.18 on the board) */
+#define CALLOUT_LED     18
+
+/* The timer callout */
+static struct os_callout my_callout;
+
+/*
+ * Event callback function for timer events. It toggles the LED at pin CALLOUT_LED.
+ */
+static void my_timer_ev_cb(struct os_event *ev)
+{
+    assert(ev != NULL);
+
+    hal_gpio_toggle(CALLOUT_LED);
+
+    os_callout_reset(&amp;my_callout, OS_TICKS_PER_SEC / 2);
+}
+</pre></div>
+</div>
+<p>In the <code class="docutils literal notranslate"><span class="pre">init_tasks()</span></code> function, initialize the
+<code class="docutils literal notranslate"><span class="pre">my_timer_interrupt_eventq</span></code> event queue, create a task to process
+events from the queue, and initialize the OS callout for the timer:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#define MY_TIMER_INTERRUPT_TASK_PRIO  4
+#define MY_TIMER_INTERRUPT_TASK_STACK_SZ    512
+
+static os_stack_t my_timer_interrupt_task_stack[MY_TIMER_INTERRUPT_TASK_STACK_SZ];
+static struct os_task my_timer_interrupt_task_str;
+
+static void
+init_tasks(void)
+{
+    /* Use a dedicate event queue for timer and interrupt events */
+
+    os_eventq_init(&amp;my_timer_interrupt_eventq);
+
+    /*
+     * Create the task to process timer and interrupt events from the
+     * my_timer_interrupt_eventq event queue.
+     */
+    os_task_init(&amp;my_timer_interrupt_task_str, &quot;timer_interrupt_task&quot;,
+                 my_timer_interrupt_task, NULL,
+                 MY_TIMER_INTERRUPT_TASK_PRIO, OS_WAIT_FOREVER,
+                 my_timer_interrupt_task_stack,
+                 MY_TIMER_INTERRUPT_TASK_STACK_SZ);
+     /*
+      * Initialize the callout for a timer event.
+      * The my_timer_ev_cb callback function processes the timer events.
+      */
+    os_callout_init(&amp;my_callout, &amp;my_timer_interrupt_eventq,
+                    my_timer_ev_cb, NULL);
+
+    os_callout_reset(&amp;my_callout, OS_TICKS_PER_SEC);
+
+}
+</pre></div>
+</div>
+<p>Implement the <code class="docutils literal notranslate"><span class="pre">my_timer_interrupt_task()</span></code> task handler to dispatch
+events from the <code class="docutils literal notranslate"><span class="pre">my_timer_interrupt_eventq</span></code> event queue:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static void
+my_timer_interrupt_task(void *arg)
+{
+    while (1) {
+        os_eventq_run(&amp;my_timer_interrupt_eventq);
+    }
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="interrupt-events">
+<h3>Interrupt Events<a class="headerlink" href="#interrupt-events" title="Permalink to this headline">?</a></h3>
+<p>The application toggles the LED each time button 1 on the board is
+pressed. The interrupt handler generates an event when the GPIO for
+button 1 (P0.13) changes state. The events are added to the
+<code class="docutils literal notranslate"><span class="pre">my_timer_interrupt_eventq</span></code> event queue, the same queue as the timer
+events.</p>
+<p>Declare and initialize the <code class="docutils literal notranslate"><span class="pre">gpio_ev</span></code> event with the
+<code class="docutils literal notranslate"><span class="pre">my_interrupt_ev_cb()</span></code> callback function to process the event:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static struct os_event gpio_ev {
+    .ev_cb = my_interrupt_ev_cb,
+};
+</pre></div>
+</div>
+<p>Implement the <code class="docutils literal notranslate"><span class="pre">my_interrupt_ev_cb()</span></code> callback function to process an
+interrupt event and toggle the LED at pin <code class="docutils literal notranslate"><span class="pre">GPIO_LED</span></code>:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/* LED 3 (P0.19 on the board) */
+#define GPIO_LED     19
+
+/*
+ * Event callback function for interrupt events. It toggles the LED at pin GPIO_LED.
+ */
+static void my_interrupt_ev_cb(struct os_event *ev)
+{
+    assert(ev != NULL);
+
+    hal_gpio_toggle(GPIO_LED);
+}
+</pre></div>
+</div>
+<p>Implement the <code class="docutils literal notranslate"><span class="pre">my_gpio_irq()</span></code> handler to post an interrupt event to
+the <code class="docutils literal notranslate"><span class="pre">my_timer_interrupt_eventq</span></code> event queue:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>static void
+my_gpio_irq(void *arg)
+{
+    os_eventq_put(&amp;my_timer_interrupt_eventq, &amp;gpio_ev);
+}
+</pre></div>
+</div>
+<p>In the <code class="docutils literal notranslate"><span class="pre">init_tasks()</span></code> function, add the code to set up and enable the
+GPIO input pin for the button and initialize the GPIO output pins for
+the LEDs:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/* LED 1 (P0.17 on the board) */
+#define TASK_LED        17
+
+/*  2 (P0.18 on the board) */
+#define CALLOUT_LED     18
+
+/* LED 3 (P0.19 on the board) */
+#define GPIO_LED        19
+
+/* Button 1 (P0.13 on the board) */
+#define BUTTON1_PIN     13
+
+void
+init_tasks()
+
+    /* Initialize OS callout for timer events. */
+
+          ....
+
+    /*
+     * Initialize and enable interrupts for the pin for button 1 and
+     * configure the button with pull up resistor on the nrf52dk.
+     */
+    hal_gpio_irq_init(BUTTON1_PIN, my_gpio_irq, NULL, HAL_GPIO_TRIG_RISING, HAL_GPIO_PULL_UP);
+
+    hal_gpio_irq_enable(BUTTON1_PIN);
+
+    /* Initialize the GPIO output pins. Value 1 is off for these LEDs.  */
+
+    hal_gpio_init_out(TASK_LED, 1);
+    hal_gpio_init_out(CALLOUT_LED, 1);
+    hal_gpio_init_out(GPIO_LED, 1);
+}
+</pre></div>
+</div>
+</div>
+</div>
+<div class="section" id="putting-it-all-together">
+<h2>Putting It All Together<a class="headerlink" href="#putting-it-all-together" title="Permalink to this headline">?</a></h2>
+<p>Here is the complete <code class="docutils literal notranslate"><span class="pre">main.c</span></code> source for your application. Build the
+application and load it on your board. The task LED (LED1) blinks at an
+interval of 250ms, the callout LED (LED2) blinks at an interval of
+500ms, and the GPIO LED (LED3) toggles on or off each time you press
+Button 1.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &lt;os/os.h&gt;
+#include &lt;bsp/bsp.h&gt;
+#include &lt;hal/hal_gpio.h&gt;
+#include &lt;assert.h&gt;
+#include &lt;sysinit/sysinit.h&gt;
+
+
+#define MY_TIMER_INTERRUPT_TASK_PRIO  4
+#define MY_TIMER_INTERRUPT_TASK_STACK_SZ    512
+
+#define GEN_TASK_PRIO       3
+#define GEN_TASK_STACK_SZ   512
+
+/* LED 1 (P0.17 on the board) */
+#define TASK_LED        17
+
+/* LED 2 (P0.18 on the board) */
+#define CALLOUT_LED     18
+
+/* LED 3 (P0.19 on the board) */
+#define GPIO_LED        19
+
+/* Button 1 (P0.13 on the board) */
+#define BUTTON1_PIN     13
+
+
+static void my_ev_cb(struct os_event *);
+static void my_timer_ev_cb(struct os_event *);
+static void my_interrupt_ev_cb(struct os_event *);
+
+static struct os_eventq my_timer_interrupt_eventq;
+
+static os_stack_t my_timer_interrupt_task_stack[MY_TIMER_INTERRUPT_TASK_STACK_SZ];
+static struct os_task my_timer_interrupt_task_str;
+
+static os_stack_t gen_task_stack[GEN_TASK_STACK_SZ];
+static struct os_task gen_task_str;
+
+static struct os_event gen_task_ev = {
+    .ev_cb = my_ev_cb,
+};
+
+static struct os_event gpio_ev = {
+    .ev_cb = my_interrupt_ev_cb,
+};
+
+
+static struct os_callout my_callout;
+
+/*
+ * Task handler to generate an event to toggle the LED at pin TASK_LED.
+ * The event is added to the Mynewt default event queue.
+ */
+
+static void
+gen_task(void *arg)
+{
+    while (1) {
+        os_time_delay(OS_TICKS_PER_SEC / 4);
+        os_eventq_put(os_eventq_dflt_get(), &amp;gen_task_ev);
+    }
+}
+
+/*
+ * Event callback function for events generated by gen_task. It toggles the LED at pin TASK_LED.
+ */
+static void my_ev_cb(struct os_event *ev)
+{
+    assert(ev);
+    hal_gpio_toggle(TASK_LED);
+    return;
+}
+
+/*
+ * Event callback function for timer events. It toggles the LED at pin CALLOUT_LED.
+ */
+static void my_timer_ev_cb(struct os_event *ev)
+{
+    assert(ev != NULL);
+
+    hal_gpio_toggle(CALLOUT_LED);
+    os_callout_reset(&amp;my_callout, OS_TICKS_PER_SEC / 2);
+}
+
+/*
+ * Event callback function for interrupt events. It toggles the LED at pin GPIO_LED.
+ */
+static void my_interrupt_ev_cb(struct os_event *ev)
+{
+    assert(ev != NULL);
+
+    hal_gpio_toggle(GPIO_LED);
+}
+
+static void
+my_gpio_irq(void *arg)
+{
+    os_eventq_put(&amp;my_timer_interrupt_eventq, &amp;gpio_ev);
+}
+
+
+
+static void
+my_timer_interrupt_task(void *arg)
+{
+    while (1) {
+        os_eventq_run(&amp;my_timer_interrupt_eventq);
+    }
+}
+
+void
+init_tasks(void)
+{
+
+    /* Create a task to generate events to toggle the LED at pin TASK_LED */
+
+    os_task_init(&amp;gen_task_str, &quot;gen_task&quot;, gen_task, NULL, GEN_TASK_PRIO,
+        OS_WAIT_FOREVER, gen_task_stack, GEN_TASK_STACK_SZ);
+
+
+    /* Use a dedicate event queue for timer and interrupt events */
+    os_eventq_init(&amp;my_timer_interrupt_eventq);
+
+    /*
+     * Create the task to process timer and interrupt events from the
+     * my_timer_interrupt_eventq event queue.
+     */
+    os_task_init(&amp;my_timer_interrupt_task_str, &quot;timer_interrupt_task&quot;,
+                 my_timer_interrupt_task, NULL,
+                 MY_TIMER_INTERRUPT_TASK_PRIO, OS_WAIT_FOREVER,
+                 my_timer_interrupt_task_stack,
+                 MY_TIMER_INTERRUPT_TASK_STACK_SZ);
+
+    /*
+     * Initialize the callout for a timer event.
+     * The my_timer_ev_cb callback function processes the timer event.
+     */
+    os_callout_init(&amp;my_callout, &amp;my_timer_interrupt_eventq,
+                    my_timer_ev_cb, NULL);
+
+    os_callout_reset(&amp;my_callout, OS_TICKS_PER_SEC);
+
+    /*
+     * Initialize and enable interrupt for the pin for button 1 and
+     * configure the button with pull up resistor on the nrf52dk.
+     */
+    hal_gpio_irq_init(BUTTON1_PIN, my_gpio_irq, NULL, HAL_GPIO_TRIG_RISING, HAL_GPIO_PULL_UP);
+
+    hal_gpio_irq_enable(BUTTON1_PIN);
+
+    hal_gpio_init_out(TASK_LED, 1);
+    hal_gpio_init_out(CALLOUT_LED, 1);
+    hal_gpio_init_out(GPIO_LED, 1);
+}
+
+int
+main(int argc, char **argv)
+{
+    sysinit();
+
+    init_tasks();
+
+    while (1) {
+       os_eventq_run(os_eventq_dflt_get());
+    }
+    assert(0);
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/tutorials/ota_upgrade_nrf52.html b/develop/os/tutorials/ota_upgrade_nrf52.html
new file mode 100644
index 000000000..408d9a1d1
--- /dev/null
+++ b/develop/os/tutorials/ota_upgrade_nrf52.html
@@ -0,0 +1,511 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Over-the-Air Image Upgrade &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Over-the-Air Image Upgrade
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/tutorials/ota_upgrade_nrf52.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="over-the-air-image-upgrade">
+<h1>Over-the-Air Image Upgrade<a class="headerlink" href="#over-the-air-image-upgrade" title="Permalink to this headline">?</a></h1>
+<p>Mynewt OS supports over-the-air image upgrades. This tutorial shows you
+how to use the newtmgr tool to upgrade an image on a device over BLE
+communication.</p>
+<p>To support over-the-air image upgrade over BLE, a device must be running
+a Mynewt application that has newtmgr image management over BLE
+transport enabled. For this tutorial, we use the
+<a class="reference external" href="/os/tutorials/bleprph/bleprph-app/">bleprph</a> application, which
+includes image management over BLE functionality, on an nRF52-DK board.
+If you prefer to use a different BLE application, see <a class="reference external" href="/os/tutorials/add_newtmgr/">Enable Newt
+Manager in any app</a> to enable newtmgr
+image management over BLE transport support in your application.</p>
+<p><strong>Note:</strong> Over-the-air upgrade via newtmgr BLE transport is supported on
+Mac OS and Linux. It is not supported on Windows platforms.</p>
+<div class="section" id="prerequisites">
+<h2>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline">?</a></h2>
+<p>Ensure that you meet the following prerequisites:</p>
+<ul class="simple">
+<li>Have Internet connectivity to fetch remote Mynewt components.</li>
+<li>Have a computer that supports Bluetooth to communicate with the board
+and to build a Mynewt application.</li>
+<li>Have a Micro-USB cable to connect the board and the computer.</li>
+<li>Have a Nordic nRF52-DK Development Kit - PCA 10040</li>
+<li>Install the <a class="reference external" href="https://www.segger.com/jlink-software.html">Segger JLINK software and documentation
+pack</a>.</li>
+<li>Install the newt tool and toolchains (See <a class="reference external" href="/os/get_started/get_started.html">Basic
+Setup</a>).</li>
+<li>Read the Mynewt OS <a class="reference external" href="/os/get_started/vocabulary.html">Concepts</a>
+section.</li>
+<li>Read the <a class="reference external" href="/os/modules/bootloader/bootloader">Bootloader</a> section
+and understand the Mynewt bootloader concepts.</li>
+<li>Build and load the <strong>bleprph</strong> application on to an nRF52-DK board
+via a serial connection. See <a class="reference external" href="/os/tutorials/bleprph/bleprph-app/">BLE Peripheral
+App</a>.</li>
+</ul>
+</div>
+<div class="section" id="reducing-the-log-level">
+<h2>Reducing the Log Level<a class="headerlink" href="#reducing-the-log-level" title="Permalink to this headline">?</a></h2>
+<p>You need to build your application with log level set to INFO or lower.
+The default log level for the <strong>bleprph</strong> app is set to DEBUG. The extra
+logging causes the communication to timeout. Perform the following to
+reduce the log level to INFO, build, and load the application.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt target amend myperiph <span class="nv">syscfg</span><span class="o">=</span><span class="s2">&quot;LOG_LEVEL=1&quot;</span>
+<span class="gp">$</span> newt build myperiph
+<span class="gp">$</span> newt create-image myperiph <span class="m">1</span>.0.0
+<span class="gp">$</span> newt load myperiph
+</pre></div>
+</div>
+</div>
+<div class="section" id="upgrading-an-image-on-a-device">
+<h2>Upgrading an Image on a Device<a class="headerlink" href="#upgrading-an-image-on-a-device" title="Permalink to this headline">?</a></h2>
+<p>Once you have an application with newtmgr image management with BLE transport support running on a device,
+you can use the newtmgr tool to upgrade an image over-the-air.</p>
+<p>You must perform the following steps to upgrade an image:</p>
+<p>Step 1: Create a newtmgr connection profile to communicate with the
+device over BLE. Step 2: Upload the image to the secondary slot (slot 1)
+on the device. Step 3: Test the image. Step 4: Confirm and make the
+image permanent.</p>
+<p>See the <a class="reference external" href="/os/modules/bootloader/bootloader">Bootloader</a> section for
+more information on the bootloader, image slots, and boot states.</p>
+</div>
+<div class="section" id="step-1-creating-a-newtmgr-connection-profile">
+<h2>Step 1: Creating a Newtmgr Connection Profile<a class="headerlink" href="#step-1-creating-a-newtmgr-connection-profile" title="Permalink to this headline">?</a></h2>
+<p>The <strong>bleprph</strong> application sets and advertises <code class="docutils literal notranslate"><span class="pre">nimble-bleprph</span></code> as its bluetooth
+device address. Run the <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">conn</span> <span class="pre">add</span></code> command to create a newtmgr
+connection profile that uses this peer address to communicate with the
+device over BLE:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newtmgr conn add mybleprph <span class="nv">type</span><span class="o">=</span>ble <span class="nv">connstring</span><span class="o">=</span><span class="s2">&quot;peer_name=nimble-bleprph&quot;</span>
+<span class="go">Connection profile mybleprph successfully added</span>
+</pre></div>
+</div>
+<p>Verify that the newtmgr tool can communicate with the device and check
+the image status on the device:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newtmgr image list -c mybleprph
+<span class="go">Images:</span>
+<span class="go"> slot=0</span>
+<span class="go">    version: 1.0.0</span>
+<span class="go">    bootable: true</span>
+<span class="go">    flags: active confirmed</span>
+<span class="go">    hash: b8d17c77a03b37603cd9f89fdcfe0ba726f8ddff6eac63011dee2e959cc316c2</span>
+<span class="go">Split status: N/A (0)</span>
+</pre></div>
+</div>
+<p>The device only has an image loaded on the primary slot (slot 0). It
+does not have an image loaded on the secondary slot (slot 1). ### Step
+2: Uploading an Image to the Device We create an image with version
+2.0.0 for the bleprph application from the <code class="docutils literal notranslate"><span class="pre">myperiph</span></code> target and
+upload the new image. You can upload a different image.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt create-image myperiph <span class="m">2</span>.0.0
+<span class="go">App image succesfully generated: ~/dev/myproj/bin/targets/myperiph/app/apps/bleprph/bleprph.img</span>
+</pre></div>
+</div>
+<p>Run the <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">upload</span></code> command to upload the image:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newtmgr image upload -c mybleprph ~/dev/myproj/bin/targets/myperiph/app/apps/bleprph/bleprph.img
+<span class="go">215</span>
+<span class="go">429</span>
+<span class="go">642</span>
+<span class="go">855</span>
+<span class="go">1068</span>
+<span class="go">1281</span>
+
+<span class="go">...</span>
+
+<span class="go">125953</span>
+<span class="go">126164</span>
+<span class="go">126375</span>
+<span class="go">126586</span>
+<span class="go">126704</span>
+<span class="go">Done</span>
+</pre></div>
+</div>
+<p>The numbers indicate the number of bytes that the newtmgr tool has
+uploaded.</p>
+<p>Verify that the image uploaded to the secondary slot on the device
+successfully:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newtmgr image list -c mybleprph
+<span class="go">Images:</span>
+<span class="go"> slot=0</span>
+<span class="go">    version: 1.0.0</span>
+<span class="go">    bootable: true</span>
+<span class="go">    flags: active confirmed</span>
+<span class="go">    hash: b8d17c77a03b37603cd9f89fdcfe0ba726f8ddff6eac63011dee2e959cc316c2</span>
+<span class="go"> slot=1</span>
+<span class="go">    version: 2.0.0</span>
+<span class="go">    bootable: true</span>
+<span class="go">    flags:</span>
+<span class="go">    hash: 291ebc02a8c345911c96fdf4e7b9015a843697658fd6b5faa0eb257a23e93682</span>
+<span class="go">Split status: N/A (0)</span>
+</pre></div>
+</div>
+<p>The device now has the uploaded image in the secondary slot (slot 1).
+### Step 3: Testing the Image The image is uploaded to the secondary
+slot but is not yet active. You must run the <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">test</span></code>
+command to set the image status to <strong>pending</strong> and reboot the device.
+When the device reboots, the bootloader copies this image to the primary
+slot and runs the image.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newtmgr image <span class="nb">test</span> -c mybleprph 291ebc02a8c345911c96fdf4e7b9015a843697658fd6b5faa0eb257a23e93682
+<span class="go">Images:</span>
+<span class="go"> slot=0</span>
+<span class="go">    version: 1.0.0</span>
+<span class="go">    bootable: true</span>
+<span class="go">    flags: active confirmed</span>
+<span class="go">    hash: b8d17c77a03b37603cd9f89fdcfe0ba726f8ddff6eac63011dee2e959cc316c2</span>
+<span class="go"> slot=1</span>
+<span class="go">    version: 2.0.0</span>
+<span class="go">    bootable: true</span>
+<span class="go">    flags: pending</span>
+<span class="go">    hash: 291ebc02a8c345911c96fdf4e7b9015a843697658fd6b5faa0eb257a23e93682</span>
+<span class="go">Split status: N/A (0)</span>
+</pre></div>
+</div>
+<p>The status of the image in the secondary slot is now set to <strong>pending</strong>.</p>
+<p>Power the device OFF and ON and run the <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">list</span></code> command
+to check the image status on the device after the reboot:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newtmgr image list -c mybleprph
+<span class="go">Images:</span>
+<span class="go"> slot=0</span>
+<span class="go">    version: 2.0.0</span>
+<span class="go">    bootable: true</span>
+<span class="go">    flags: active</span>
+<span class="go">    hash: 291ebc02a8c345911c96fdf4e7b9015a843697658fd6b5faa0eb257a23e93682</span>
+<span class="go"> slot=1</span>
+<span class="go">    version: 1.0.0</span>
+<span class="go">    bootable: true</span>
+<span class="go">    flags: confirmed</span>
+<span class="go">    hash: b8d17c77a03b37603cd9f89fdcfe0ba726f8ddff6eac63011dee2e959cc316c2</span>
+<span class="go">Split status: N/A (0)</span>
+</pre></div>
+</div>
+<p>The uploaded image is now active and running in the primary slot. The
+image, however, is not confirmed. The confirmed image is in the
+secondary slot. On the next reboot, the bootloader reverts to using the
+confirmed image. It copies the confirmed image to the primary slot and
+runs the image when the device reboots. You need to confirm and make the
+uploaded image in the primary slot permanent. ### Step 4: Confirming the
+Image Run the <code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">image</span> <span class="pre">confirm</span></code> command to confirm and make the
+uploaded image permanent. Since the uploaded image is currently the
+active image, you can confirm the image setup without specifying the
+image hash value in the command:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newtmgr image confirm -c mybleprph
+<span class="go">Images:</span>
+<span class="go"> slot=0</span>
+<span class="go">    version: 2.0.0</span>
+<span class="go">    bootable: true</span>
+<span class="go">    flags: active confirmed</span>
+<span class="go">    hash: 291ebc02a8c345911c96fdf4e7b9015a843697658fd6b5faa0eb257a23e93682</span>
+<span class="go"> slot=1</span>
+<span class="go">    version: 1.0.0</span>
+<span class="go">    bootable: true</span>
+<span class="go">    flags:</span>
+<span class="go">    hash: b8d17c77a03b37603cd9f89fdcfe0ba726f8ddff6eac63011dee2e959cc316c2</span>
+<span class="go">Split status: N/A (0)</span>
+</pre></div>
+</div>
+<p>The uploaded image is now the active and confirmed image. You have
+successfully upgraded an image over-the-air.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/tutorials/pin-wheel-mods.html b/develop/os/tutorials/pin-wheel-mods.html
new file mode 100644
index 000000000..51e35326c
--- /dev/null
+++ b/develop/os/tutorials/pin-wheel-mods.html
@@ -0,0 +1,395 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Pin Wheel Modifications to ?Blinky? on STM32F3 Discovery &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Pin Wheel Modifications to ?Blinky? on STM32F3 Discovery
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/tutorials/pin-wheel-mods.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="pin-wheel-modifications-to-blinky-on-stm32f3-discovery">
+<h1>Pin Wheel Modifications to ?Blinky? on STM32F3 Discovery<a class="headerlink" href="#pin-wheel-modifications-to-blinky-on-stm32f3-discovery" title="Permalink to this headline">?</a></h1>
+<div class="section" id="objective">
+<h2>Objective<a class="headerlink" href="#objective" title="Permalink to this headline">?</a></h2>
+<p>Learn how to modify an existing app ? the <a class="reference external" href="STM32F303.html">blinky</a> app
+? to light all the LEDs on the STM32F3 Discovery board.</p>
+</div>
+<div class="section" id="what-you-need">
+<h2>What you need<a class="headerlink" href="#what-you-need" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>Discovery kit with STM32F303VC MCU</li>
+<li>Laptop running Mac OSX.</li>
+<li>It is assumed you have already installed and run the
+<a class="reference external" href="STM32F303.html">blinky</a> app succesfully.</li>
+</ul>
+<p>Since you?ve already successfully created your blinky app project,
+you?ll need to modify only one file, main.c, in order to get this app
+working.</p>
+<p>The main.c file resides in the apps/blinky/src directory in your project
+folder so you can edit it with your favorite editor. You?ll make the
+following changes:</p>
+<p>Replace the line:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int g_led_pin;
+</pre></div>
+</div>
+<p>With the line:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int g_led_pins[8] = {LED_BLINK_PIN_1, LED_BLINK_PIN_2, LED_BLINK_PIN_3, LED_BLINK_PIN_4, LED_BLINK_PIN_5, LED_BLINK_PIN_6, LED_BLINK_PIN_7, LED_BLINK_PIN_8};
+</pre></div>
+</div>
+<p>So that you now have an array of all 8 LED Pins on the board.</p>
+<p>Delete the line:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>g_led_pin = LED_BLINK_PIN;
+</pre></div>
+</div>
+<p>And in its place, add the following lines to initialize all the
+LED_PINS correctly:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int x;
+for(x = 0; x &lt; 8; x++){
+    hal_gpio_init_out(g_led_pins[x], 1);
+}
+int p = 0;
+</pre></div>
+</div>
+<p>We?ll use that ?p? later. Next you?ll want to change the line:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>os_time_delay(1000);
+</pre></div>
+</div>
+<p>to a shorter time in order to make it a little more interesting. A full
+1 second delay doesn?t look great, so try 100 for starters and then you
+can adjust it to your liking.</p>
+<p>Finally, change the line:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>hal_gpio_toggle(g_led_pin);
+</pre></div>
+</div>
+<p>to look like this:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>hal_gpio_toggle(g_led_pins[p++]);
+p = (p &gt; 7) ? 0 : p;
+</pre></div>
+</div>
+</div>
+<div class="section" id="build-the-target-and-executables-and-download-the-images">
+<h2>Build the target and executables and download the images<a class="headerlink" href="#build-the-target-and-executables-and-download-the-images" title="Permalink to this headline">?</a></h2>
+<p>Run the same commands you used on the blinky app to build and load this
+one:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt create-image stmf3_blinky <span class="m">1</span>.2.3
+<span class="go">App image successfully generated: ~/dev/myproj/bin/stmf3_blinky/apps/blinky/blinky.img</span>
+<span class="go">Build manifest:~/dev/myproj/bin/stmf3_blinky/apps/blinky/manifest.json</span>
+<span class="gp">$</span> newt -v load stmf3_boot
+<span class="gp">$</span> newt -v load stmf3_blinky
+</pre></div>
+</div>
+</div>
+<div class="section" id="watch-the-leds-go-round-and-round">
+<h2>Watch the LEDs go round and round<a class="headerlink" href="#watch-the-leds-go-round-and-round" title="Permalink to this headline">?</a></h2>
+<p>The colored LEDs should now all light up in succession, and once they?re
+all lit, they should then go off in the same order. This should repeat
+continuously.</p>
+<p>If you see anything missing or want to send us feedback, please do so by
+signing up for appropriate mailing lists on our <a class="reference external" href="../../community.html">Community
+Page</a>.</p>
+<p>Keep on hacking and blinking!</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/tutorials/segger_rtt.html b/develop/os/tutorials/segger_rtt.html
new file mode 100644
index 000000000..f9602b8da
--- /dev/null
+++ b/develop/os/tutorials/segger_rtt.html
@@ -0,0 +1,410 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>SEGGER RTT Console &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    SEGGER RTT Console
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/tutorials/segger_rtt.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="segger-rtt-console">
+<h1>SEGGER RTT Console<a class="headerlink" href="#segger-rtt-console" title="Permalink to this headline">?</a></h1>
+<div class="section" id="objective">
+<h2>Objective<a class="headerlink" href="#objective" title="Permalink to this headline">?</a></h2>
+<p>Sometimes you dont have UART on your board, or you want to use it for
+something else while still having newt logs/shell capability. With
+<a class="reference external" href="https://www.segger.com/jlink-rtt.html">SEGGER?s RTT</a> capability you
+can swap UART for RTT, which is a very high-speed memory-mapped I/O.</p>
+</div>
+<div class="section" id="hardware-needed">
+<h2>Hardware needed<a class="headerlink" href="#hardware-needed" title="Permalink to this headline">?</a></h2>
+<p>You?ll need a SEGGER J-Link programmer in order to use this advanced
+functionality. You might have an external J-Link programmer you?re
+already using, or maybe your board has a dedicated J-Link onboard as
+some development kits do. Another possibilty is J-Link OB firmware
+available for some devices like the micro:bit.</p>
+</div>
+<div class="section" id="setup-the-target">
+<h2>Setup the target<a class="headerlink" href="#setup-the-target" title="Permalink to this headline">?</a></h2>
+<p>We?ll assume you have an existing project with some kind of
+console/shell like <a class="reference external" href="blinky_console.html">Blinky with console and shell</a>
+that we?re switching over to RTT from UART.</p>
+<p><strong>Note:</strong> We have tested RTT with J-Link version V6.14h. We recommend
+that you upgrade your J-Link if you have an earlier version of J-Link
+installed. Earlier versions of J-Link use the BUFFER_SIZE_DOWN value
+defined in hw/drivers/rtt/include/rtt/SEGGER_RTT_Conf.h for the
+maximum number of input characters. If an input line exceeds the
+BUFFER_SIZE_DOWN number of characters, RTT ignores the extra
+characters. The default value is 16 characters. For example, this limit
+causes shell commands with more than 16 characters of input to fail. You
+may set the Mynewt <code class="docutils literal notranslate"><span class="pre">RTT_BUFFER_SIZE_DOWN</span></code> syscfg setting in your
+target to increase this value if you do not upgrade your J-Link version.</p>
+<p>We can disable uart and enable rtt with the newt target command:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>newt target amend nrf52_blinky syscfg=CONSOLE_UART=0
+newt target amend nrf52_blinky syscfg=CONSOLE_RTT=1
+</pre></div>
+</div>
+</div>
+<div class="section" id="run-the-target-executables">
+<h2>Run the target executables<a class="headerlink" href="#run-the-target-executables" title="Permalink to this headline">?</a></h2>
+<p>Now ?run? the newt target as you?ll need an active debugger process to
+attach to:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ newt run nrf52_blinky 0
+App image succesfully generated: ~/Downloads/myapp1/bin/targets/nrf52_blinky/app/apps/blinky/blinky.img
+Loading app image into slot 1
+[~Downloads/myapp1/repos/apache-mynewt-core/hw/bsp/nrf52-thingy/nrf52-thingy_debug.sh ~/Downloads/myapp1/repos/apache-mynewt-core/hw/bsp/nrf52-thingy ~/Downloads/myapp1/bin/targets/nrf52_blinky/app/apps/blinky/blinky]
+Debugging ~/Downloads/myapp1/bin/targets/nrf52_blinky/app/apps/blinky/blinky.elf
+GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs
+Copyright (C) 2014 Free Software Foundation, Inc.
+License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.  Type &quot;show copying&quot;
+and &quot;show warranty&quot; for details.
+This GDB was configured as &quot;--host=x86_64-apple-darwin10 --target=arm-none-eabi&quot;.
+Type &quot;show configuration&quot; for configuration details.
+For bug reporting instructions, please see:
+&lt;http://www.gnu.org/software/gdb/bugs/&gt;.
+Find the GDB manual and other documentation resources online at:
+&lt;http://www.gnu.org/software/gdb/documentation/&gt;.
+For help, type &quot;help&quot;.
+Type &quot;apropos word&quot; to search for commands related to &quot;word&quot;...
+Reading symbols from ~/Downloads/myapp1/bin/targets/nrf52_blinky/app/apps/blinky/blinky.elf...done.
+0x000000d8 in ?? ()
+Resetting target
+0x000000dc in ?? ()
+(gdb)
+</pre></div>
+</div>
+</div>
+<div class="section" id="connect-to-console">
+<h2>Connect to console<a class="headerlink" href="#connect-to-console" title="Permalink to this headline">?</a></h2>
+<p>In a seperate terminal window <code class="docutils literal notranslate"><span class="pre">telnet</span> <span class="pre">localhost</span> <span class="pre">19021</span></code> and when you
+continue your gdb session you should see your output. If you?re not
+familiar with telnet, when you?re ready to exit you may by using the
+hotkey ctrl+] then typing quit</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ telnet localhost 19021
+Trying ::1...
+telnet: connect to address ::1: Connection refused
+Trying fe80::1...
+telnet: connect to address fe80::1: Connection refused
+Trying 127.0.0.1...
+Connected to localhost.
+Escape character is &#39;^]&#39;.
+SEGGER J-Link V6.14e - Real time terminal output
+SEGGER J-Link EDU V8.0, SN=268006294
+Process: JLinkGDBServer
+</pre></div>
+</div>
+<p>Then you can interact with the device:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>stat
+stat
+000262 Must specify a statistic name to dump, possible names are:
+000262  stat
+000262 compat&gt;
+</pre></div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/tutorials/segger_sysview.html b/develop/os/tutorials/segger_sysview.html
new file mode 100644
index 000000000..9c65786c4
--- /dev/null
+++ b/develop/os/tutorials/segger_sysview.html
@@ -0,0 +1,397 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>SEGGER SystemView &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    SEGGER SystemView
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/tutorials/segger_sysview.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="segger-systemview">
+<h1>SEGGER SystemView<a class="headerlink" href="#segger-systemview" title="Permalink to this headline">?</a></h1>
+<div class="section" id="objective">
+<h2>Objective<a class="headerlink" href="#objective" title="Permalink to this headline">?</a></h2>
+<p>With <a class="reference external" href="https://www.segger.com/systemview.html">SEGGER?s SystemView</a>
+you can ?record data from the target system while it is running. The
+recorded data is analyzed and the system behavior is visualized in
+different views.?</p>
+</div>
+<div class="section" id="hardware-needed">
+<h2>Hardware needed<a class="headerlink" href="#hardware-needed" title="Permalink to this headline">?</a></h2>
+<p>You?ll need a SEGGER J-Link programmer in order to use this advanced
+functionality. You might have an external J-Link programmer you?re
+already using, or maybe your board has a dedicated J-Link onboard as
+some development kits do. Another possibilty is J-Link OB firmware
+available for some devices like the micro:bit.</p>
+</div>
+<div class="section" id="software-needed">
+<h2>Software needed<a class="headerlink" href="#software-needed" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>Download <a class="reference external" href="https://www.segger.com/downloads/free-utilities/">SEGGER?s SystemView
+app</a>.</li>
+<li>Copy the description file from sys/sysview/SYSVIEW_Mynewt.txt to the
+/Description/ directory of SystemView</li>
+</ul>
+</div>
+<div class="section" id="setup-the-target">
+<h2>Setup the target<a class="headerlink" href="#setup-the-target" title="Permalink to this headline">?</a></h2>
+<p>We?ll assume you have an existing example we?re enabling SystemView on,
+in this case <a class="reference external" href="nRF52.html">blinky on nrf52</a>. We can do so with the newt
+target amend command:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>newt target amend blink_nordic syscfg=OS_SYSVIEW=1
+</pre></div>
+</div>
+</div>
+<div class="section" id="run-the-target-executables">
+<h2>Run the target executables<a class="headerlink" href="#run-the-target-executables" title="Permalink to this headline">?</a></h2>
+<p>Now ?run? the newt target as you?ll need an active debugger process to
+attach to:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ newt run blink_nordic 0
+App image succesfully generated: ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph.img
+Loading app image into slot 1
+[~/Downloads/myproj/repos/apache-mynewt-core/hw/bsp/nrf52-thingy/nrf52-thingy_debug.sh ~/Downloads/myproj/repos/apache-mynewt-core/hw/bsp/nrf52-thingy ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph]
+Debugging ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph.elf
+GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs
+Copyright (C) 2014 Free Software Foundation, Inc.
+License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.  Type &quot;show copying&quot;
+and &quot;show warranty&quot; for details.
+This GDB was configured as &quot;--host=x86_64-apple-darwin10 --target=arm-none-eabi&quot;.
+Type &quot;show configuration&quot; for configuration details.
+For bug reporting instructions, please see:
+&lt;http://www.gnu.org/software/gdb/bugs/&gt;.
+Find the GDB manual and other documentation resources online at:
+&lt;http://www.gnu.org/software/gdb/documentation/&gt;.
+For help, type &quot;help&quot;.
+Type &quot;apropos word&quot; to search for commands related to &quot;word&quot;...
+Reading symbols from ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph.elf...done.
+0x000000d8 in ?? ()
+Resetting target
+0x000000dc in ?? ()
+</pre></div>
+</div>
+</div>
+<div class="section" id="launch-the-app">
+<h2>Launch the app<a class="headerlink" href="#launch-the-app" title="Permalink to this headline">?</a></h2>
+<p>Launch the app and press <strong>OK</strong> in the System Information dialog box.</p>
+<div class="figure" id="id1">
+<img alt="SEGGER SystemView" src="os/tutorials/pics/segger_sysview1.png" />
+<p class="caption"><span class="caption-text">SEGGER SystemView</span></p>
+</div>
+<p>Select ** Target &gt; Start Recording ** and press <strong>OK</strong> in the
+Configuration dialog box.</p>
+<div class="figure" id="id2">
+<img alt="SEGGER SystemView Start Recording" src="os/tutorials/pics/segger_sysview_start_record.png" />
+<p class="caption"><span class="caption-text">SEGGER SystemView Start Recording</span></p>
+</div>
+<p>You should see the recording for your Mynewt application.</p>
+<div class="figure" id="id3">
+<img alt="SEGGER SystemView Recording" src="os/tutorials/pics/segger_sysview_recording.png" />
+<p class="caption"><span class="caption-text">SEGGER SystemView Recording</span></p>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/tutorials/tasks_lesson.html b/develop/os/tutorials/tasks_lesson.html
new file mode 100644
index 000000000..4086e8371
--- /dev/null
+++ b/develop/os/tutorials/tasks_lesson.html
@@ -0,0 +1,587 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Tasks and Priority Management &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Tasks and Priority Management
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/tutorials/tasks_lesson.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="tasks-and-priority-management">
+<h1>Tasks and Priority Management<a class="headerlink" href="#tasks-and-priority-management" title="Permalink to this headline">?</a></h1>
+<p><strong>Target Platform: Arduino M0 Pro</strong> (or legacy Arduino Zero or Zero Pro,
+but not Arduino M0)</p>
+<p>This lesson is designed to teach core OS concepts and strategies
+encountered when building applications using Mynewt. Specifically, this
+lesson will cover tasks, simple multitasking, and priority management
+running on an Arduino M0 Pro.</p>
+<div class="section" id="prerequisites">
+<h2>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline">?</a></h2>
+<p>Before starting, you should read about Mynewt in the
+<a class="reference external" href="http://mynewt.apache.org/os/introduction/">*Introduction*</a> section
+and complete the
+<a class="reference external" href="http://mynewt.apache.org/os/get_started/get_started/">*QuickStart*</a>
+guide and the
+<a class="reference external" href="http://mynewt.apache.org/os/tutorials/arduino_zero/">*Blinky*</a>
+tutorial. Furthermore, it may be helpful to take a peek at the <a class="reference external" href="http://mynewt.apache.org/os/core_os/task/task/">*task
+documentation*</a> for
+additional insights.</p>
+</div>
+<div class="section" id="equipment">
+<h2>Equipment<a class="headerlink" href="#equipment" title="Permalink to this headline">?</a></h2>
+<p>You will need the following equipment:</p>
+<ul class="simple">
+<li>Arduino M0 Pro (or legacy Arduino Zero or Zero Pro, but not Arduino
+M0)</li>
+<li>Computer with Mynewt installed</li>
+<li>USB to Micro USB Cable</li>
+</ul>
+</div>
+<div class="section" id="build-your-application">
+<h2>Build Your Application<a class="headerlink" href="#build-your-application" title="Permalink to this headline">?</a></h2>
+<p>To save time, we will simply modify the Blinky application. We?ll add
+the Task Management code to the Blinky application. Follow the <a class="reference external" href="http://mynewt.apache.org/os/tutorials/arduino_zero/">*Arduino
+Zero Blinky
+tutorial*</a> to
+create a new project and build your bootloader and application. Finally,
+build and load the application to your Arduino to verify that everything
+is in order. Now let?s get started!</p>
+</div>
+<div class="section" id="default-main-task">
+<h2>Default Main Task<a class="headerlink" href="#default-main-task" title="Permalink to this headline">?</a></h2>
+<p>During Mynewt system startup, Mynewt creates a default main task and
+executes the application <code class="docutils literal notranslate"><span class="pre">main()</span></code> function in the context of this
+task. The main task priority defaults to 127 and can be configured with
+the <code class="docutils literal notranslate"><span class="pre">OS_MAIN_TASK_PRIO</span></code> system configuration setting.</p>
+<p>The blinky application only has the <code class="docutils literal notranslate"><span class="pre">main</span></code> task. The <code class="docutils literal notranslate"><span class="pre">main()</span></code>
+function executes an infinite loop that toggles the led and sleeps for
+one second. ##Create a New Task</p>
+<p>The purpose of this section is to give an introduction to the important
+aspects of tasks and how to properly initialize them. First, let?s
+define a second task called <code class="docutils literal notranslate"><span class="pre">work_task</span></code> in main.c (located in
+apps/blinky/src):</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>struct os_task work_task;
+</pre></div>
+</div>
+<p>A task is represented by the
+<a class="reference external" href="http://mynewt.apache.org/os/core_os/task/task/#data-structures">*os_task*</a>
+struct which will hold the task?s information (name, state, priority,
+etc.). A task is made up of two main elements, a task function (also
+known as a task handler) and a task stack.</p>
+<p>Next, let?s take a look at what is required to initialize our new task.</p>
+<div class="section" id="task-stack">
+<h3>Task Stack<a class="headerlink" href="#task-stack" title="Permalink to this headline">?</a></h3>
+<p>The task stack is an array of type <code class="docutils literal notranslate"><span class="pre">os_stack_t</span></code> which holds the
+program stack frames. Mynewt gives us the ability to set the stack size
+for a task giving the application developer room to optimize memory
+usage. Since we?re not short on memory, our <code class="docutils literal notranslate"><span class="pre">work_stack</span></code> is plenty
+large for the purpose of this lesson. Notice that the elements in our
+task stack are of type <code class="docutils literal notranslate"><span class="pre">os_stack_t</span></code> which are generally 32 bits,
+making our entire stack 1024 Bytes.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#define WORK_STACK_SIZE OS_STACK_ALIGN(256)
+</pre></div>
+</div>
+<p>Note: The <code class="docutils literal notranslate"><span class="pre">OS_STACK_ALIGN</span></code> macro is used to align the stack based on
+the hardware architecture.</p>
+</div>
+<div class="section" id="task-function">
+<h3>Task Function<a class="headerlink" href="#task-function" title="Permalink to this headline">?</a></h3>
+<p>A task function is essentially an infinite loop that waits for some
+?event? to wake it up. In general, the task function is where the
+majority of work is done by a task. Let?s write a task function for
+<code class="docutils literal notranslate"><span class="pre">work_task</span></code> called <code class="docutils literal notranslate"><span class="pre">work_task_handler()</span></code>:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>void
+work_task_handler(void *arg)
+{
+    struct os_task *t;
+
+    g_led_pin = LED_BLINK_PIN;
+    hal_gpio_init_out(g_led_pin, 1);
+
+    while (1) {
+        t = os_sched_get_current_task();
+        assert(t-&gt;t_func == work_task_handler);
+        /* Do work... */
+    }
+}
+</pre></div>
+</div>
+<p>The task function is called when the task is initially put into the
+<em>running</em> state by the scheduler. We use an infinite loop to ensure that
+the task function never returns. Our assertion that the current task?s
+handler is the same as our task handler is for illustration purposes
+only and does not need to be in most task functions.</p>
+</div>
+<div class="section" id="task-priority">
+<h3>Task Priority<a class="headerlink" href="#task-priority" title="Permalink to this headline">?</a></h3>
+<p>As a preemptive, multitasking RTOS, Mynewt decides which tasks to run
+based on which has a higher priority; the highest priority being 0 and
+the lowest 255. Thus, before initializing our task, we must choose a
+priority defined as a macro variable.</p>
+<p>Let?s set the priority of <code class="docutils literal notranslate"><span class="pre">work_task</span></code> to 0, because everyone knows
+that work is more important than blinking.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#define WORK_TASK_PRIO (0)
+</pre></div>
+</div>
+</div>
+<div class="section" id="initialization">
+<h3>Initialization<a class="headerlink" href="#initialization" title="Permalink to this headline">?</a></h3>
+<p>To initialize a new task we use
+<a class="reference external" href="http://mynewt.apache.org/os/core_os/task/os_task_init/">*os_task_init()*</a>
+which takes a number of arguments including our new task function,
+stack, and priority.</p>
+<p>Add the <code class="docutils literal notranslate"><span class="pre">init_tasks()</span></code> function to initialize <code class="docutils literal notranslate"><span class="pre">work_task</span></code> to keep
+our main function clean.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+init_tasks(void)
+{
+    /* ? */
+    os_stack_t *work_stack;
+    work_stack = malloc(sizeof(os_stack_t)*WORK_STACK_SIZE);
+
+    assert(work_stack);
+    os_task_init(&amp;work_task, &quot;work&quot;, work_task_handler, NULL,
+            WORK_TASK_PRIO, OS_WAIT_FOREVER, work_stack,
+            WORK_STACK_SIZE);
+
+    return 0;
+}
+</pre></div>
+</div>
+<p>Add the call to <code class="docutils literal notranslate"><span class="pre">init_tasks()</span></code> in <code class="docutils literal notranslate"><span class="pre">main()</span></code> before the <code class="docutils literal notranslate"><span class="pre">while</span></code>
+loop:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>int
+main(int argc, char **argv)
+{
+
+        ...
+
+    /* Initialize the work task */
+    init_tasks();
+
+    while (1) {
+         ...
+    }
+}
+</pre></div>
+</div>
+<p>And that?s it! Now run your application using the newt run command.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ newt run arduino_blinky 0.0.0
+</pre></div>
+</div>
+<p>When GDB appears press C then Enter to continue and ? <em>wait, why
+doesn?t our LED blink anymore?</em></p>
+<div class="section" id="review">
+<h4>Review<a class="headerlink" href="#review" title="Permalink to this headline">?</a></h4>
+<p>Before we run our new app, let?s review what we need in
+order to create a task. This is a general case for a new task called
+mytask:</p>
+<p><strong>1)</strong> Define a new task, task stack, and priority:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/* My Task */
+struct os_task mytask
+/* My Task Stack */
+#define MYTASK_STACK_SIZE OS_STACK_ALIGN(256)
+os_stack_t mytask_stack[MYTASK_STACK_SIZE];
+/* My Task Priority */
+#define MYTASK_PRIO (0)
+</pre></div>
+</div>
+<p><strong>2)</strong> Define task function:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>void
+mytask_handler(void *arg)
+{
+  while (1) {
+      /* ... */
+  }
+}
+</pre></div>
+</div>
+<p><strong>3)</strong> Initialize the task:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>os_task_init(&amp;mytask, &quot;mytask&quot;, mytask_handler, NULL,
+            MYTASK_PRIO, OS_WAIT_FOREVER, mytask_stack,
+            MYTASK_STACK_SIZE);
+</pre></div>
+</div>
+</div>
+</div>
+</div>
+<div class="section" id="task-priority-preempting-and-context-switching">
+<h2>Task Priority, Preempting, and Context Switching<a class="headerlink" href="#task-priority-preempting-and-context-switching" title="Permalink to this headline">?</a></h2>
+<p>A preemptive RTOS is one in which a higher priority task that is <em>ready
+to run</em> will preempt (i.e. take the place of) the lower priority task
+which is <em>running</em>. When a lower priority task is preempted by a higher
+priority task, the lower priority task?s context data (stack pointer,
+registers, etc.) is saved and the new task is switched in.</p>
+<p>In our example, <code class="docutils literal notranslate"><span class="pre">work_task</span></code> (priority 0) has a higher priority than
+the <code class="docutils literal notranslate"><span class="pre">main</span></code> task (priority 127). Since <code class="docutils literal notranslate"><span class="pre">work_task</span></code> is never put into
+a <em>sleep</em> state, it holds the processor focus on its context.</p>
+<p>Let?s give <code class="docutils literal notranslate"><span class="pre">work_task</span></code> a delay and some simulated work to keep it
+busy. The delay is measured in os ticks and the actual number of ticks
+per second is dependent on the board. We multiply <code class="docutils literal notranslate"><span class="pre">OS_TICKS_PER_SEC</span></code>,
+which is defined in the MCU, by the number of seconds we wish to delay.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>void
+work_task_handler(void *arg)
+{
+    struct os_task *t;
+
+    g_led_pin = LED_BLINK_PIN;
+    hal_gpio_init_out(g_led_pin, 1);
+
+    while (1) {
+        t = os_sched_get_current_t:ask();
+        assert(t-&gt;t_func == work_task_handler);
+        /* Do work... */
+        int i;
+        for(i = 0; i &lt; 1000000; ++i) {
+            /* Simulate doing a noticeable amount of work */
+            hal_gpio_write(g_led_pin, 1);
+        }
+        os_time_delay(3 * OS_TICKS_PER_SEC);
+    }
+}
+</pre></div>
+</div>
+<p>In order to notice the LED changing, modify the time delay in
+<code class="docutils literal notranslate"><span class="pre">main()</span></code> to blink at a higher frequency.</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>os_time_delay(OS_TICKS_PER_SEC/10);
+</pre></div>
+</div>
+<p>Before we run the app, let?s predict the behavior. With the newest
+additions to <code class="docutils literal notranslate"><span class="pre">work_task_handler()</span></code>, our first action will be to sleep
+for three seconds. This allows the <code class="docutils literal notranslate"><span class="pre">main</span></code> task, running <code class="docutils literal notranslate"><span class="pre">main()</span></code>, to
+take over the CPU and blink to its heart?s content. After three seconds,
+<code class="docutils literal notranslate"><span class="pre">work_task</span></code> will wake up and be made <em>ready to run</em>. This causes it to
+preempt the <code class="docutils literal notranslate"><span class="pre">main</span></code> task. The LED will then remain lit for a short
+period while <code class="docutils literal notranslate"><span class="pre">work_task</span></code> loops, then blink again for another three
+seconds while <code class="docutils literal notranslate"><span class="pre">work_task</span></code> sleeps.</p>
+<p>You should see that our prediction was correct!</p>
+<div class="section" id="priority-management-considerations">
+<h3>Priority Management Considerations<a class="headerlink" href="#priority-management-considerations" title="Permalink to this headline">?</a></h3>
+<p>When projects grow in scope, from blinking LEDs into more sophisticated
+applications, the number of tasks needed increases alongside complexity.
+It remains important, then, that each of our tasks is capable of doing
+its work within a reasonable amount of time.</p>
+<p>Some tasks, such as the Shell task, execute quickly and require almost
+instantaneous response. Therefore, the Shell task should be given a high
+priority. On the other hand, tasks which may be communicating over a
+network, or processing data, should be given a low priority in order to
+not hog the CPU.</p>
+<p>The diagram below shows the different scheduling patterns we would
+expect when we set the <code class="docutils literal notranslate"><span class="pre">work_task</span></code> priority higher and lower than the
+<code class="docutils literal notranslate"><span class="pre">main</span></code> task priority.</p>
+<div class="figure" id="id1">
+<img alt="Task Scheduling" src="os/tutorials/pics/task_lesson.png" />
+<p class="caption"><span class="caption-text">Task Scheduling</span></p>
+</div>
+<p>In the second case where the <code class="docutils literal notranslate"><span class="pre">main</span></code> task has a higher priority,
+<code class="docutils literal notranslate"><span class="pre">work_task</span></code> runs and executes ?work? when the <code class="docutils literal notranslate"><span class="pre">main</span></code> task sleeps,
+saving us idle time compared to the first case.</p>
+<p><strong>Note:</strong> Defining the same priority for two tasks fires an assert in
+os_task_init() and must be avoided. Priority 127 is reserved for main
+task, 255 for idle task.</p>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/tutorials/try_markdown.html b/develop/os/tutorials/try_markdown.html
new file mode 100644
index 000000000..57b732c5b
--- /dev/null
+++ b/develop/os/tutorials/try_markdown.html
@@ -0,0 +1,352 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Try Markdown &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Try Markdown
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/tutorials/try_markdown.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="try-markdown">
+<h1>Try Markdown<a class="headerlink" href="#try-markdown" title="Permalink to this headline">?</a></h1>
+<div class="section" id="heading3">
+<h2>Heading3<a class="headerlink" href="#heading3" title="Permalink to this headline">?</a></h2>
+<div class="section" id="heading4">
+<h3>Heading4<a class="headerlink" href="#heading4" title="Permalink to this headline">?</a></h3>
+<hr class="docutils" />
+<div class="section" id="list">
+<h4>List<a class="headerlink" href="#list" title="Permalink to this headline">?</a></h4>
+<ul class="simple">
+<li>Start with one # for the largest heading (Heading1). The next smaller
+heading (Heading2) starts with ##. You can go all the way up to
+Heading 6 (######).</li>
+<li>Heading4 (####) and Heading5 (#####) has been styled to show up
+underlined. Yes, it can be changed. If you are curious, you can look
+at the extra.css file in your repo branch.</li>
+<li>It?s <strong>very</strong> easy to do <strong>bold</strong> and <em>italics</em>.</li>
+<li>See how this list has been made using *</li>
+<li>Click on ?Help? in Mou and then on ?Markdown Syntax Reference?.</li>
+<li>Substitute a sentence of your own here</li>
+<li>Guinea Pig!!!</li>
+</ul>
+<hr class="docutils" />
+<blockquote>
+<div><blockquote>
+<div>Note! &gt; You will not be able to see the change immediately by</div></blockquote>
+<p>refreshing your browser right after editign the Markdown file. You
+can only push the change to the Apache repository. So continue with
+the steps in <a class="reference external" href="how_to_edit_docs.html">how_to_edit_docs.md</a>. &gt; &gt;
+You can see the change on the website if/when a doc builder on the
+project team merges your changes to the master branch and generates
+the pages for the website. &gt; &gt; You do have the option to download
+MkDocs and preview the change by hosting the pages locally using its
+built-in web server. The steps are described in
+<a class="reference external" href="how_to_edit_docs.html">how_to_edit_docs.md</a>.</p>
+</div></blockquote>
+</div>
+</div>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/tutorials/unit_test.html b/develop/os/tutorials/unit_test.html
new file mode 100644
index 000000000..7983089f5
--- /dev/null
+++ b/develop/os/tutorials/unit_test.html
@@ -0,0 +1,629 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Write a Test Suite for a Package &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Write a Test Suite for a Package
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/tutorials/unit_test.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="write-a-test-suite-for-a-package">
+<h1>Write a Test Suite for a Package<a class="headerlink" href="#write-a-test-suite-for-a-package" title="Permalink to this headline">?</a></h1>
+<p>This document guides the reader through creating a test suite for a
+Mynewt package.</p>
+<div class="section" id="introduction">
+<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">?</a></h2>
+<p>Writing a test suite involves using the
+<code class="docutils literal notranslate"><span class="pre">`test/testutil</span></code> &lt;../modules/testutil/testutil.html&gt;`__ package. The
+testutil library provides the functionality needed to define test suites
+and test cases.</p>
+</div>
+<div class="section" id="choose-your-package-under-test">
+<h2>Choose Your Package Under Test<a class="headerlink" href="#choose-your-package-under-test" title="Permalink to this headline">?</a></h2>
+<p>Choose the package you want to write a test suite for. In this tutorial,
+we will use the <code class="docutils literal notranslate"><span class="pre">time/datetime</span></code> in the apache-mynewt-core repo.
+Throughout this tutorial, we will be inside the apache-mynewt-core repo
+directory, unlike most tutorials which operate from the top-level
+project directory.</p>
+</div>
+<div class="section" id="create-a-test-package">
+<h2>Create A Test Package<a class="headerlink" href="#create-a-test-package" title="Permalink to this headline">?</a></h2>
+<p>Typically, a library has only one test package. The convention is name
+the test package by appending <code class="docutils literal notranslate"><span class="pre">/test</span></code> to the host library name. For
+example, the test package for <code class="docutils literal notranslate"><span class="pre">encoding/json</span></code> is
+<code class="docutils literal notranslate"><span class="pre">encoding/json/test</span></code>. The directory structure of the json package is
+shown below:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>encoding/json
+??? include
+??? ??? json
+???     ??? json.h
+??? pkg.yml
+??? src
+??? ??? json_decode.c
+??? ??? json_encode.c
+??? test
+    ??? pkg.yml
+    ??? src
+        ??? test_json.c
+        ??? test_json.h
+        ??? test_json_utils.c
+        ??? testcases
+            ??? json_simple_decode.c
+            ??? json_simple_encode.c
+</pre></div>
+</div>
+<p>The top-level <code class="docutils literal notranslate"><span class="pre">test</span></code> directory contains the json test package. To
+create a test package for the datetime package, we need to create a
+similar package called <code class="docutils literal notranslate"><span class="pre">time/datetime/test</span></code>.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ newt pkg new time/datetime/test -t unittest
+Download package template for package type pkg.
+Package successfuly installed into /home/me/mynewt-core/time/datetime/test.
+</pre></div>
+</div>
+<p>We now have a test package inside <code class="docutils literal notranslate"><span class="pre">time/datetime</span></code>:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>time/datetime
+??? include
+??? ??? datetime
+???     ??? datetime.h
+??? pkg.yml
+??? src
+??? ??? datetime.c
+??? test
+    ??? README.md
+    ??? pkg.yml
+    ??? src
+    ??? ??? main.c
+    ??? syscfg.yml
+</pre></div>
+</div>
+<p>There is one modification we need to make to the new package before we
+can start writing unit test code. A test package needs access to the
+code it will be testing, so we need to add a dependency on
+<code class="docutils literal notranslate"><span class="pre">&#64;apache-mynewt-core/time/datetime</span></code> to our <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file:</p>
+<p>While we have the <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file open, let?s take a look at what newt
+filled in automatically:</p>
+<ul class="simple">
+<li><code class="docutils literal notranslate"><span class="pre">pkg.type:</span> <span class="pre">unittest</span></code> designates this as a test package. A <em>test
+package</em> is special in that it can be built and executed using the
+<code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">test</span></code> command.</li>
+<li>A test package always depends on
+<code class="docutils literal notranslate"><span class="pre">&#64;apache-mynewt-core/test/testutil</span></code>. The testutil library provides
+the tools necessary for verifying package behavior,</li>
+<li>The <code class="docutils literal notranslate"><span class="pre">SELFTEST</span></code> suffix indicates that a setting should only be
+applied when the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">test</span></code> command is used.</li>
+</ul>
+<p>Regarding the conditional dependency on <code class="docutils literal notranslate"><span class="pre">sys/console/stub</span></code>, the
+datetime package requires some form of console to function. In a regular
+application, the console dependency would be supplied by a higher order
+package. Because <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">test</span></code> runs the test package without an
+application present, the test package needs to supply all unresolved
+dependencies itself when run in self-test mode.</p>
+</div>
+<div class="section" id="create-your-test-suite-code">
+<h2>Create Your Test Suite Code<a class="headerlink" href="#create-your-test-suite-code" title="Permalink to this headline">?</a></h2>
+<p>We will be adding a <em>test suite</em> to the <code class="docutils literal notranslate"><span class="pre">main.c</span></code> file. The test suite
+will be empty for now. We also need to invoke the test suite from
+<code class="docutils literal notranslate"><span class="pre">main()</span></code>.</p>
+<p>Our <code class="docutils literal notranslate"><span class="pre">main.c</span></code> file now looks like this:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;sysinit/sysinit.h&quot;
+#include &quot;testutil/testutil.h&quot;
+
+TEST_SUITE(test_datetime_suite) {
+    /* Empty for now; add test cases later. */
+}
+
+#if MYNEWT_VAL(SELFTEST)
+int
+main(int argc, char **argv)
+{
+    /* Initialize all packages. */
+    sysinit();
+
+    test_datetime_suite();
+
+    /* Indicate whether all test cases passed. */
+    return tu_any_failed;
+}
+#endif
+</pre></div>
+</div>
+</div>
+<div class="section" id="try-it-out">
+<h2>Try It Out<a class="headerlink" href="#try-it-out" title="Permalink to this headline">?</a></h2>
+<p>We now have a working test suite with no tests. Let?s make sure we get a
+passing result when we run <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">test</span></code>:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ newt test time/datetime
+&lt;build output&gt;
+Executing test: /home/me/mynewt-core/bin/targets/unittest/time_datetime_test/app/time/datetime/test/time_datetime_test.elf
+Passed tests: [time/datetime/test]
+All tests passed
+</pre></div>
+</div>
+</div>
+<div class="section" id="create-a-test">
+<h2>Create a Test<a class="headerlink" href="#create-a-test" title="Permalink to this headline">?</a></h2>
+<p>To create a test within your test suite, there are two things to do.</p>
+<ol class="arabic simple">
+<li>Implement the test case function using the <code class="docutils literal notranslate"><span class="pre">testutil</span></code> macros.</li>
+<li>Call the test case function from within the test suite.</li>
+</ol>
+<p>For this tutorial we will create a test case to verify the
+<code class="docutils literal notranslate"><span class="pre">datetime_parse()</span></code> function. The <code class="docutils literal notranslate"><span class="pre">datetime_parse()</span></code> function is
+declared as follows:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>/**
+ * Parses an RFC 3339 datetime string.  Some examples of valid datetime strings
+ * are:
+ * 2016-03-02T22:44:00                  UTC time (implicit)
+ * 2016-03-02T22:44:00Z                 UTC time (explicit)
+ * 2016-03-02T22:44:00-08:00            PST timezone
+ * 2016-03-02T22:44:00.1                fractional seconds
+ * 2016-03-02T22:44:00.101+05:30        fractional seconds with timezone
+ *
+ * On success, the two output parameters are filled in (tv and tz).
+ *
+ * @return                      0 on success;
+ *                              nonzero on parse error.
+ */
+int
+datetime_parse(const char *input, struct os_timeval *tv, struct os_timezone *tz)
+</pre></div>
+</div>
+<p>Our test case should make sure this function rejects invalid input, and
+that it parses valid input correctly. The updated <code class="docutils literal notranslate"><span class="pre">main.c</span></code> file looks
+like this:</p>
+<div class="code c highlight-none notranslate"><div class="highlight"><pre><span></span>#include &quot;sysinit/sysinit.h&quot;
+#include &quot;testutil/testutil.h&quot;
+#include &quot;os/os_time.h&quot;
+#include &quot;datetime/datetime.h&quot;
+
+TEST_SUITE(test_datetime_suite)
+{
+    test_datetime_parse_simple();
+}
+
+TEST_CASE(test_datetime_parse_simple)
+{
+    struct os_timezone tz;
+    struct os_timeval tv;
+    int rc;
+
+    /*** Valid input. */
+
+    /* No timezone; UTC implied. */
+    rc = datetime_parse(&quot;2017-06-28T22:37:59&quot;, &amp;tv, &amp;tz);
+    TEST_ASSERT_FATAL(rc == 0);
+    TEST_ASSERT(tv.tv_sec == 1498689479);
+    TEST_ASSERT(tv.tv_usec == 0);
+    TEST_ASSERT(tz.tz_minuteswest == 0);
+    TEST_ASSERT(tz.tz_dsttime == 0);
+
+    /* PDT timezone. */
+    rc = datetime_parse(&quot;2013-12-05T02:43:07-07:00&quot;, &amp;tv, &amp;tz);
+    TEST_ASSERT_FATAL(rc == 0);
+    TEST_ASSERT(tv.tv_sec == 1386236587);
+    TEST_ASSERT(tv.tv_usec == 0);
+    TEST_ASSERT(tz.tz_minuteswest == 420);
+    TEST_ASSERT(tz.tz_dsttime == 0);
+
+    /*** Invalid input. */
+
+    /* Nonsense. */
+    rc = datetime_parse(&quot;abc&quot;, &amp;tv, &amp;tz);
+    TEST_ASSERT(rc != 0);
+
+    /* Date-only. */
+    rc = datetime_parse(&quot;2017-01-02&quot;, &amp;tv, &amp;tz);
+    TEST_ASSERT(rc != 0);
+
+    /* Zero month. */
+    rc = datetime_parse(&quot;2017-00-28T22:37:59&quot;, &amp;tv, &amp;tz);
+    TEST_ASSERT(rc != 0);
+
+    /* 13 month. */
+    rc = datetime_parse(&quot;2017-13-28T22:37:59&quot;, &amp;tv, &amp;tz);
+    TEST_ASSERT(rc != 0);
+}
+
+#if MYNEWT_VAL(SELFTEST)
+int
+main(int argc, char **argv)
+{
+    /* Initialize all packages. */
+    sysinit();
+
+    test_datetime_suite();
+
+    /* Indicate whether all test cases passed. */
+    return tu_any_failed;
+}
+#endif
+</pre></div>
+</div>
+<p>Take a few minutes to review the above code. Then keep reading for some
+specifics.</p>
+<div class="section" id="asserting">
+<h3>Asserting<a class="headerlink" href="#asserting" title="Permalink to this headline">?</a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">test/testutil</span></code> package provides two tools for verifying the
+correctness of a package:</p>
+<ul class="simple">
+<li><code class="docutils literal notranslate"><span class="pre">TEST_ASSERT</span></code></li>
+<li><code class="docutils literal notranslate"><span class="pre">TEST_ASSERT_FATAL</span></code></li>
+</ul>
+<p>Both of these macros check if the supplied condition is true. They
+differ in how they behave when the condition is not true. On failure,
+<code class="docutils literal notranslate"><span class="pre">TEST_ASSERT</span></code> reports the error and proceeds with the remainder of the
+test case. <code class="docutils literal notranslate"><span class="pre">TEST_ASSERT_FATAL</span></code>, on the other hand, aborts the test
+case on failure.</p>
+<p>The general rule is to only use <code class="docutils literal notranslate"><span class="pre">TEST_ASSERT_FATAL</span></code> when subsequent
+assertions depend on the condition being checked. For example, when
+<code class="docutils literal notranslate"><span class="pre">datetime_parse()</span></code> is expected to succeed, the return code is checked
+with <code class="docutils literal notranslate"><span class="pre">TEST_ASSERT_FATAL</span></code>. If <code class="docutils literal notranslate"><span class="pre">datetime_parse()</span></code> unexpectedly failed,
+the contents of the <code class="docutils literal notranslate"><span class="pre">tv</span></code> and <code class="docutils literal notranslate"><span class="pre">tz</span></code> objects would be indeterminate, so
+it is desirable to abort the test instead of checking them and reporting
+spurious failures.</p>
+</div>
+<div class="section" id="scaling-up">
+<h3>Scaling Up<a class="headerlink" href="#scaling-up" title="Permalink to this headline">?</a></h3>
+<p>The above example is small and self contained, so it is reasonable to
+put everything in a single C file. A typical package will need a lot
+more test code, and it helps to follow some conventions to maintain
+organization. Let?s take a look at a more realistic example. Here is the
+directory structure of the <code class="docutils literal notranslate"><span class="pre">fs/nffs/test</span></code> package:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>fs/nffs/test
+??? pkg.yml
+??? src
+    ??? nffs_test.c
+    ??? nffs_test.h
+    ??? nffs_test_debug.c
+    ??? nffs_test_priv.h
+    ??? nffs_test_system_01.c
+    ??? nffs_test_utils.c
+    ??? nffs_test_utils.h
+    ??? testcases
+        ??? append_test.c
+        ??? cache_large_file_test.c
+        ??? corrupt_block_test.c
+        ??? corrupt_scratch_test.c
+        ??? gc_on_oom_test.c
+        ??? gc_test.c
+        ??? incomplete_block_test.c
+        ??? large_system_test.c
+        ??? large_unlink_test.c
+        ??? large_write_test.c
+        ??? long_filename_test.c
+        ??? lost_found_test.c
+        ??? many_children_test.c
+        ??? mkdir_test.c
+        ??? open_test.c
+        ??? overwrite_many_test.c
+        ??? overwrite_one_test.c
+        ??? overwrite_three_test.c
+        ??? overwrite_two_test.c
+        ??? read_test.c
+        ??? readdir_test.c
+        ??? rename_test.c
+        ??? split_file_test.c
+        ??? truncate_test.c
+        ??? unlink_test.c
+        ??? wear_level_test.c
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">fs/nffs/test</span></code> package follows these conventions:</p>
+<ol class="arabic simple">
+<li>A maximum of one test case per C file.</li>
+<li>Each test case file goes in the <code class="docutils literal notranslate"><span class="pre">testcases</span></code> subdirectory.</li>
+<li>Test suites and utility functions go directly in the <code class="docutils literal notranslate"><span class="pre">src</span></code>
+directory.</li>
+</ol>
+<p>Test packages contributed to the Mynewt project should follow these
+conventions.</p>
+</div>
+</div>
+<div class="section" id="congratulations">
+<h2>Congratulations<a class="headerlink" href="#congratulations" title="Permalink to this headline">?</a></h2>
+<p>Now you can begin the work of validating your packages.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/os/tutorials/wi-fi_on_arduino.html b/develop/os/tutorials/wi-fi_on_arduino.html
new file mode 100644
index 000000000..bdc7056b8
--- /dev/null
+++ b/develop/os/tutorials/wi-fi_on_arduino.html
@@ -0,0 +1,601 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Enable Wi-Fi on Arduino MKR1000 &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+    Enable Wi-Fi on Arduino MKR1000
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/tutorials/wi-fi_on_arduino.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="enable-wi-fi-on-arduino-mkr1000">
+<h1>Enable Wi-Fi on Arduino MKR1000<a class="headerlink" href="#enable-wi-fi-on-arduino-mkr1000" title="Permalink to this headline">?</a></h1>
+<p>This tutorial shows you how to enable Wi-Fi on an Arduino MKR1000 board
+and connect to a Wi-Fi network.</p>
+<div class="section" id="prerequisites">
+<h2>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline">?</a></h2>
+<p>Ensure that you have met the following prerequisites before continuing
+with this tutorial:</p>
+<ul class="simple">
+<li>Have an Arduino MKR1000 board.</li>
+<li>Have Internet connectivity to fetch remote Mynewt components.</li>
+<li>Have a computer to build a Mynewt application and connect to the
+board over USB.</li>
+<li>Have a Micro-USB cable to connect the board and the computer.</li>
+<li>Have local Wi-Fi network that the computer is connected to and that
+the MKR1000 board can join.</li>
+<li>Have a <a class="reference external" href="/os/get_started/serial_access.html">Serial Port Setup</a>.</li>
+<li>Have a <a class="reference external" href="https://www.segger.com/jlink-debug-probes.html">Segger J-Link Debug
+Probe</a>.</li>
+<li>Have a <a class="reference external" href="https://www.segger.com/jlink-adapters.html#CM_9pin">J-Link 9 pin Cortex-M
+Adapter</a> that
+allows JTAG, SWD and SWO connections between J-Link and Cortex M
+based target hardware systems</li>
+<li>Install the <a class="reference external" href="https://www.segger.com/jlink-software.html">Segger JLINK Software and documentation
+pack</a>.</li>
+<li>Install the Newt tool and toolchains (See <a class="reference external" href="/os/get_started/get_started.html">Basic
+Setup</a>).</li>
+<li>Create a project space (directory structure) and populated it with
+the core code repository (apache-mynewt-core) or know how to as
+explained in <a class="reference external" href="/os/get_started/project_create">Creating Your First
+Project</a>.</li>
+<li>Read the Mynewt OS <a class="reference external" href="/os/get_started/vocabulary.html">Concepts</a>
+section.</li>
+</ul>
+</div>
+<div class="section" id="create-a-project">
+<h2>Create a Project<a class="headerlink" href="#create-a-project" title="Permalink to this headline">?</a></h2>
+<p>Create a new project if you do not have an existing one. You can skip
+this step and proceed to <a class="reference external" href="#%20fetchexternal">fetch external packages</a>
+if you already created a project.</p>
+<p>Run the following commands to create a new project:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> mkdir ~/dev
+<span class="gp">$</span> <span class="nb">cd</span> ~/dev
+<span class="gp">$</span> newt new arduinowifi
+<span class="go">Downloading project skeleton from apache/mynewt-blinky...</span>
+<span class="go">Installing skeleton in arduinowifi...</span>
+<span class="go">Project arduinowifi successfully created.</span>
+<span class="gp">$</span> <span class="nb">cd</span> arduinowifi
+<span class="gp">$</span> newt install
+<span class="go">apache-mynewt-core</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="fetch-external-packages">
+<h2>Fetch External Packages<a class="headerlink" href="#fetch-external-packages" title="Permalink to this headline">?</a></h2>
+<p>Mynewt uses source code provided directly from the chip manufacturer for
+low level operations. Sometimes this code is licensed only for the
+specific manufacturer of the chipset and cannot live in the Apache
+Mynewt repository. That happens to be the case for the Arduino Zero
+board which uses Atmel SAMD21. Runtime?s git hub repository hosts such
+external third-party packages and the Newt tool can fetch them.</p>
+<p>To fetch the package with MCU support for Atmel SAMD21 for Arduino Zero
+from the Runtime git repository, you need to add the repository to the
+<code class="docutils literal notranslate"><span class="pre">project.yml</span></code> file in your base project directory.</p>
+<p>Mynewt uses source code provided directly from the chip manufacturer for
+low level operations. Sometimes this code is licensed only for the
+specific manufacturer of the chipset and cannot live in the Apache
+Mynewt repository. That happens to be the case for the Arduino Zero
+board which uses Atmel SAMD21. Runtime?s github repository hosts such
+external third-party packages and the Newt tool can fetch them.</p>
+<p>To fetch the package with MCU support for Atmel SAMD21 for Arduino Zero
+from the Runtime git repository, you need to add the repository to the
+<code class="docutils literal notranslate"><span class="pre">project.yml</span></code> file in your base project directory (<code class="docutils literal notranslate"><span class="pre">arduinowifi</span></code>).</p>
+<p>Here is an example <code class="docutils literal notranslate"><span class="pre">project.yml</span></code> file with the Arduino Zero repository
+added. The sections with <code class="docutils literal notranslate"><span class="pre">mynewt_arduino_zero</span></code> that need to be added
+to your project file are highlighted.</p>
+<p><strong>Note:</strong> On Windows platforms: You need to set <code class="docutils literal notranslate"><span class="pre">vers</span></code> to <code class="docutils literal notranslate"><span class="pre">0-dev</span></code>
+and use the latest master branch for both repositories.</p>
+<p>```hl_lines=?6 14 15 16 17 18? $ more project.yml project.name:
+?my_project?</p>
+<p>project.repositories: - apache-mynewt-core - mynewt_arduino_zero</p>
+<p>repository.apache-mynewt-core: type: github vers: 1-latest user: apache
+repo: mynewt-core</p>
+<p>repository.mynewt_arduino_zero: type: github vers: 1-latest user:
+runtimeco repo: mynewt_arduino_zero $ ```</p>
+<p>Install the project dependencies using the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">install</span></code> command
+(you can specify <code class="docutils literal notranslate"><span class="pre">-v</span></code> for verbose output):</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt install
+<span class="go">apache-mynewt-core</span>
+<span class="go">mynewt_arduino_zero</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+<p><strong>NOTE:</strong> If there has been a new release of a repo used in your project
+since you last installed it, the <code class="docutils literal notranslate"><span class="pre">1-latest</span></code> version for the repo in
+the <code class="docutils literal notranslate"><span class="pre">project.yml</span></code> file will refer to the new release and will not
+match the installed files. In that case you will get an error message
+saying so and you will need to run <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">upgrade</span></code> to overwrite the
+existing files with the latest codebase.</p>
+</div>
+<div class="section" id="create-a-target-for-the-bootloader">
+<h2>Create a Target for the Bootloader<a class="headerlink" href="#create-a-target-for-the-bootloader" title="Permalink to this headline">?</a></h2>
+<p>You need to create two targets for the MKR1000 board, one for the
+bootloader and one for the <code class="docutils literal notranslate"><span class="pre">winc1500_wifi</span></code> application. Run the
+following <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span></code> commands, from your project directory, to
+create a bootloader target. We name the target <code class="docutils literal notranslate"><span class="pre">mkr1000_boot</span></code>.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt target create mkr1000_boot
+<span class="gp">$</span> newt target <span class="nb">set</span> mkr1000_boot <span class="nv">bsp</span><span class="o">=</span>@mynewt_arduino_zero/hw/bsp/arduino_mkr1000
+<span class="gp">$</span> newt target <span class="nb">set</span> mkr1000_boot <span class="nv">app</span><span class="o">=</span>@apache-mynewt-core/apps/boot
+<span class="gp">$</span> newt target <span class="nb">set</span> mkr1000_boot <span class="nv">build_profile</span><span class="o">=</span>optimized
+<span class="gp">$</span> newt target <span class="nb">set</span> mkr1000_boot <span class="nv">syscfg</span><span class="o">=</span><span class="nv">BSP_ARDUINO_ZERO_PRO</span><span class="o">=</span><span class="m">1</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="create-a-target-for-the-wi-fi-application">
+<h2>Create a Target for the Wi-Fi Application<a class="headerlink" href="#create-a-target-for-the-wi-fi-application" title="Permalink to this headline">?</a></h2>
+<p>Run the following <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span></code> commands to create a target for the
+<code class="docutils literal notranslate"><span class="pre">winc1500_wifi</span></code> application in the arduino repository. We name the
+application target <code class="docutils literal notranslate"><span class="pre">mkr1000_wifi</span></code>.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ newt target create mkr1000_wifi
+$ newt target set mkr1000_wifi app=@mynewt_arduino_zero/apps/winc1500_wifi
+$ newt target set mkr1000_wifi bsp=@mynewt_arduino_zero/hw/bsp/arduino_mkr1000
+$ newt target set mkr1000_wifi build_profile=debug
+$ newt target set mkr1000_boot syscfg=BSP_ARDUINO_ZERO_PRO=1
+</pre></div>
+</div>
+</div>
+<div class="section" id="build-the-bootloader">
+<h2>Build the Bootloader<a class="headerlink" href="#build-the-bootloader" title="Permalink to this headline">?</a></h2>
+<p>Run the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">build</span> <span class="pre">mkr1000_boot</span></code> command to build the bootloader:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt build mkr1000_boot
+<span class="go">Building target targets/mkr1000_boot</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/crypto/mbedtls/src/aes.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_validate.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/apps/boot/src/boot.c</span>
+
+<span class="go">       ...</span>
+
+<span class="go">Archiving util_mem.a</span>
+<span class="go">Linking ~/dev/arduinowifi/bin/targets/mkr1000_boot/app/apps/boot/boot.elf</span>
+<span class="go">Target successfully built: targets/mkr1000_boot</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="build-the-wi-fi-application">
+<h2>Build the Wi-Fi Application<a class="headerlink" href="#build-the-wi-fi-application" title="Permalink to this headline">?</a></h2>
+<p>Run the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">build</span> <span class="pre">mkr1000_wifi</span></code> command to build the wi-fi
+application image:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span>newt build mkr1000_wifi
+<span class="go">Building target targets/mkr1000_wifi</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_validate.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/loader.c</span>
+<span class="go">           ...</span>
+
+<span class="go">Archiving util_mem.a</span>
+<span class="go">Linking ~/dev/arduinowifi/bin/targets/mkr1000_wifi/app/apps/winc1500_wifi/winc1500_wifi.elf</span>
+<span class="go">Target successfully built: targets/mkr1000_wifi</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="sign-and-create-the-wi-fi-application-image">
+<h2>Sign and Create the Wi-Fi Application Image<a class="headerlink" href="#sign-and-create-the-wi-fi-application-image" title="Permalink to this headline">?</a></h2>
+<p>Run the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">create-image</span> <span class="pre">mkr1000_wifi</span> <span class="pre">1.0.0</span></code> command to sign and
+create an image file for the Wi-Fi application. You may assign an
+arbitrary version (e.g. 1.0.0) number.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span>newt create-image  mkr1000_wifi <span class="m">1</span>.0.0
+<span class="go">Compiling bin/targets/mkr1000_wifi/generated/src/mkr1000_wifi-sysinit-app.c</span>
+<span class="go">Archiving mkr1000_wifi-sysinit-app.a</span>
+<span class="go">Linking ~/dev/arduinowifi/bin/targets/mkr1000_wifi/app/apps/winc1500_wifi/winc1500_wifi.elf</span>
+<span class="go">App image succesfully generated: ~/dev/arduinowifi/bin/targets/mkr1000_wifi/app/apps/winc1500_wifi/winc1500_wifi.img</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="connect-to-the-board">
+<h2>Connect to the Board<a class="headerlink" href="#connect-to-the-board" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>Connect your computer to the MKR1000 board with the Micro-USB cable.</li>
+<li>Connect the debug probe to the JTAG port on the board using the Jlink
+9-pin adapter and cable.</li>
+</ul>
+<blockquote>
+<div><img alt="J-Link debug probe to MKR1000" src="os/tutorials/pics/mkr1000-jlink.jpg" /></div></blockquote>
+<p><p>Mynewt will download and debug the target through this port. You should
+see a green LED come on and indicates the board has power.</p>
+</div>
+<div class="section" id="load-the-bootloader-onto-the-board">
+<h2>Load the Bootloader onto the Board<a class="headerlink" href="#load-the-bootloader-onto-the-board" title="Permalink to this headline">?</a></h2>
+<p>Run the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">load</span> <span class="pre">mkr1000_boot</span></code> command to load the bootloader onto
+the board:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt load mkr1000_boot
+<span class="go">Loading bootloader</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="load-the-wi-fi-application-image-onto-the-board">
+<h2>Load the Wi-Fi Application Image onto the Board<a class="headerlink" href="#load-the-wi-fi-application-image-onto-the-board" title="Permalink to this headline">?</a></h2>
+<p>Run the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">load</span> <span class="pre">mkr1000_wifi</span></code> command to load the wifi application
+onto the board:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt load mkr1000_wifi
+<span class="go">Loading app image into slot 1</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="setup-a-serial-connection-between-your-computer-and-the-board">
+<h2>Setup a Serial Connection Between Your Computer and the Board<a class="headerlink" href="#setup-a-serial-connection-between-your-computer-and-the-board" title="Permalink to this headline">?</a></h2>
+<p>Set up a serial connection from your computer to the MKR1000 board (See
+<a class="reference external" href="/os/get_started/serial_access.html">Serial Port Setup</a>). On the
+MKR1000 board, the TX pin is PIN 14 and the RX pin in PIN 13. <img alt="Serial Connection to MKR1000" src="os/tutorials/pics/mkr1000-serial.jpg" /></p>
+<p><p>Locate the port, in the /dev directory on your computer, that the
+serial connection uses. The format of the port name is platform
+dependent:</p>
+<ul>
+<li><p class="first">Mac OS uses the format <code class="docutils literal notranslate"><span class="pre">tty.usbserial-&lt;some</span> <span class="pre">identifier&gt;</span></code>.</p>
+</li>
+<li><p class="first">Linux uses the format <code class="docutils literal notranslate"><span class="pre">TTYUSB&lt;N&gt;</span></code>, where <code class="docutils literal notranslate"><span class="pre">N</span></code> is a number. For
+example, TTYUSB2.</p>
+</li>
+<li><p class="first">MinGW on Windows uses the format <code class="docutils literal notranslate"><span class="pre">ttyS&lt;N&gt;</span></code>, where <code class="docutils literal notranslate"><span class="pre">N</span></code> is a
+number. You must map the port name to a Windows COM port:
+<code class="docutils literal notranslate"><span class="pre">/dev/ttyS&lt;N&gt;</span></code> maps to <code class="docutils literal notranslate"><span class="pre">COM&lt;N+1&gt;</span></code>. For example, <code class="docutils literal notranslate"><span class="pre">/dev/ttyS2</span></code>
+maps to <code class="docutils literal notranslate"><span class="pre">COM3</span></code>.</p>
+<p>You can also use the Windows Device Manager to find the COM port
+number.</p>
+</li>
+</ul>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> ls /dev/tty*usbserial*
+<span class="go">/dev/tty.usbserial-1d13</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="start-wi-fi-via-console">
+<h2>Start Wi-Fi via console<a class="headerlink" href="#start-wi-fi-via-console" title="Permalink to this headline">?</a></h2>
+<p>Use a terminal emulation program to communicate with the board over the
+serial port. This tutorial shows a Minicom set up. Run the minicom
+command with the serial port you located on your computer:</p>
+<p><strong>Note:</strong> On Windows, you can use the PuTTY application.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> minicom -D /dev/tty.usbserial-1d13 -b <span class="m">115200</span>
+</pre></div>
+</div>
+<p>Type <code class="docutils literal notranslate"><span class="pre">wifi</span> <span class="pre">start</span></code> to start Wi-Fi.</p>
+<p>Connect to the local Wi-Fi network. Note that the MKR1000 board only
+supports 2.4 GHz Wi-Fi networks.</p>
+<p>Run the <code class="docutils literal notranslate"><span class="pre">wifi</span> <span class="pre">connect</span></code> command and specify your network and . After
+you are connected to your wi-fi network, run the <code class="docutils literal notranslate"><span class="pre">net</span> <span class="pre">service</span></code> command
+to start network services.</p>
+<p>```hl_lines=?2 9?</p>
+<p>wifi connect 037624 wifi_request_scan : 0 037627 compat&gt; scan_results
+7: 0 038454 wifi_connect : 0 039451 connect_done : 0 039958 dhcp done
+192.168.0.135 040169 get sys time response 2017.7.12-22.41.33 net
+service</p>
+<p>```</p>
+<p>The board is connected to the network succesfully and has IP address:
+192.168.0.135</p>
+</div>
+<div class="section" id="establish-tcp-connection-and-talk">
+<h2>Establish TCP Connection and Talk!<a class="headerlink" href="#establish-tcp-connection-and-talk" title="Permalink to this headline">?</a></h2>
+<p>From a terminal on your computer, telnet to ports 7, 9, or 19 using the
+IP address your board has been assigned. Type something on this terminal
+and see the console output (on minicom). Can you see the difference in
+the behaviors?</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span>telnet  <span class="m">192</span>.168.0.135 <span class="m">7</span>
+<span class="go">Trying 192.168.0.135...</span>
+<span class="go">Connected to 192.168.0.135.</span>
+<span class="go">Escape character is &#39;^]&#39;.</span>
+<span class="go">hello</span>
+<span class="go">hello</span>
+<span class="go">^]</span>
+<span class="go">telnet&gt; q</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+<p>One port echoes whatever is typed, one discards everything it gets, and
+the third spews out bits constantly. Type <code class="docutils literal notranslate"><span class="pre">wifi</span> <span class="pre">stop</span></code> to disable WiFi
+on the Arduino board.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/searchindex.js b/develop/searchindex.js
index 9f050de1d..11fd76cbd 100644
--- a/develop/searchindex.js
+++ b/develop/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["_static/common","concepts","get_started/docker","get_started/index","get_started/native_install/cross_tools","get_started/native_install/index","get_started/native_install/native_tools","get_started/project_create","get_started/serial_access","index","misc/faq","misc/go_env","misc/ide","misc/index","network/ble/ble_hs/ble_att","network/ble/ble_hs/ble_gap","network/ble/ble_hs/ble_gattc","network/ble/ble_hs/ble_gatts","network/ble/ble_hs/ble_hs","network/ble/ble_hs/ble_hs_id","network/ble/ble_hs/ble_hs_return_codes","network/ble/ble_intro","network/ble/ble_sec","network/ble/ble_setup/ble_addr","network/ble/ble_setup/ble_lp_clock","network/ble/ble_setup/ble_setup_intro","network/ble/ble_setup/ble_sync_cb","network/ble/btshell/btshell_GAP","network/ble/btshell/btshell_GATT","network/ble/btshell/btshell_advdata","network/ble/btshell/btshell_api","network/ble/mesh/index","network/ble/mesh/sample","newt/README","newt/command_list/newt_build","newt/command_list/newt_clean","newt/command_list/newt_complete","newt/command_list/newt_create_image","newt/command_list/newt_debug","newt/command_list/newt_help","newt/command_list/newt_info","newt/command_list/newt_install","newt/command_list/newt_load","newt/command_list/newt_mfg","newt/command_list/newt_new","newt/command_list/newt_pkg","newt/command_list/newt_resign_image","newt/command_list/newt_run","newt/command_list/newt_size","newt/command_list/newt_sync","newt/command_list/newt_target","newt/command_list/newt_test","newt/command_list/newt_upgrade","newt/command_list/newt_vals","newt/command_list/newt_version","newt/index","newt/install/index","newt/install/newt_linux","newt/install/newt_mac","newt/install/newt_windows","newt/install/prev_releases","newt/newt_operation","newt/newt_ops","newtmgr/README","newtmgr/command_list/index","newtmgr/command_list/newtmgr_config","newtmgr/command_list/newtmgr_conn","newtmgr/command_list/newtmgr_crash","newtmgr/command_list/newtmgr_datetime","newtmgr/command_list/newtmgr_echo","newtmgr/command_list/newtmgr_fs","newtmgr/command_list/newtmgr_image","newtmgr/command_list/newtmgr_logs","newtmgr/command_list/newtmgr_mpstats","newtmgr/command_list/newtmgr_reset","newtmgr/command_list/newtmgr_run","newtmgr/command_list/newtmgr_stat","newtmgr/command_list/newtmgr_taskstats","newtmgr/index","newtmgr/install/index","newtmgr/install/install_linux","newtmgr/install/install_mac","newtmgr/install/install_windows","newtmgr/install/prev_releases","os/core_os/API","os/core_os/context_switch/context_switch","os/core_os/cputime/os_cputime","os/core_os/mynewt_os","os/core_os/porting/port_bsp","os/core_os/porting/port_cpu","os/core_os/porting/port_mcu","os/core_os/porting/port_os","os/core_os/task/task","os/core_os/time/os_time","os/modules/console/console","os/modules/sysinitconfig/sysconfig_error","os/modules/sysinitconfig/sysinitconfig","os/os_user_guide","tutorials/ble/ble","tutorials/ble/ble_bare_bones","tutorials/ble/blehci_project","tutorials/ble/bleprph/bleprph","tutorials/ble/bleprph/bleprph-sections/bleprph-adv","tutorials/ble/bleprph/bleprph-sections/bleprph-app","tutorials/ble/bleprph/bleprph-sections/bleprph-chr-access","tutorials/ble/bleprph/bleprph-sections/bleprph-gap-event","tutorials/ble/bleprph/bleprph-sections/bleprph-svc-reg","tutorials/ble/eddystone","tutorials/ble/ibeacon","tutorials/blinky/arduino_zero","tutorials/blinky/blinky","tutorials/blinky/blinky_console","tutorials/blinky/blinky_primo","tutorials/blinky/blinky_stm32f4disc","tutorials/blinky/nRF52","tutorials/blinky/olimex","tutorials/blinky/rbnano2","tutorials/lora/lorawanapp","tutorials/repo/add_repos","tutorials/repo/create_repo","tutorials/repo/private_repo","tutorials/repo/upgrade_repo","tutorials/sensors/air_quality","tutorials/sensors/air_quality_ble","tutorials/sensors/air_quality_sensor","tutorials/sensors/nrf52_adc","tutorials/sensors/sensor_bleprph_oic","tutorials/sensors/sensor_nrf52_bno055","tutorials/sensors/sensor_nrf52_bno055_oic","tutorials/sensors/sensor_offboard_config","tutorials/sensors/sensor_oic_overview","tutorials/sensors/sensor_thingy_lis2dh12_onb","tutorials/sensors/sensors","tutorials/sensors/sensors_framework","tutorials/slinky/project-nrf52-slinky","tutorials/slinky/project-sim-slinky","tutorials/slinky/project-slinky","tutorials/slinky/project-stm32-slinky","tutorials/tooling/segger_rtt","tutorials/tooling/segger_sysview","tutorials/tooling/tooling","tutorials/tutorials"],envversion:52,filenames:["_static/common.rst","concepts.rst","get_started/docker.rst","get_started/index.rst","get_started/native_install/cross_tools.rst","get_started/native_install/index.rst","get_started/native_install/native_tools.rst","get_started/project_create.rst","get_started/serial_access.rst","index.rst","misc/faq.rst","misc/go_env.rst","misc/ide.rst","misc/index.rst","network/ble/ble_hs/ble_att.rst","network/ble/ble_hs/ble_gap.rst","network/ble/ble_hs/ble_gattc.rst","network/ble/ble_hs/ble_gatts.rst","network/ble/ble_hs/ble_hs.rst","network/ble/ble_hs/ble_hs_id.rst","network/ble/ble_hs/ble_hs_return_codes.rst","network/ble/ble_intro.rst","network/ble/ble_sec.rst","network/ble/ble_setup/ble_addr.rst","network/ble/ble_setup/ble_lp_clock.rst","network/ble/ble_setup/ble_setup_intro.rst","network/ble/ble_setup/ble_sync_cb.rst","network/ble/btshell/btshell_GAP.rst","network/ble/btshell/btshell_GATT.rst","network/ble/btshell/btshell_advdata.rst","network/ble/btshell/btshell_api.rst","network/ble/mesh/index.rst","network/ble/mesh/sample.rst","newt/README.rst","newt/command_list/newt_build.rst","newt/command_list/newt_clean.rst","newt/command_list/newt_complete.rst","newt/command_list/newt_create_image.rst","newt/command_list/newt_debug.rst","newt/command_list/newt_help.rst","newt/command_list/newt_info.rst","newt/command_list/newt_install.rst","newt/command_list/newt_load.rst","newt/command_list/newt_mfg.rst","newt/command_list/newt_new.rst","newt/command_list/newt_pkg.rst","newt/command_list/newt_resign_image.rst","newt/command_list/newt_run.rst","newt/command_list/newt_size.rst","newt/command_list/newt_sync.rst","newt/command_list/newt_target.rst","newt/command_list/newt_test.rst","newt/command_list/newt_upgrade.rst","newt/command_list/newt_vals.rst","newt/command_list/newt_version.rst","newt/index.rst","newt/install/index.rst","newt/install/newt_linux.rst","newt/install/newt_mac.rst","newt/install/newt_windows.rst","newt/install/prev_releases.rst","newt/newt_operation.rst","newt/newt_ops.rst","newtmgr/README.rst","newtmgr/command_list/index.rst","newtmgr/command_list/newtmgr_config.rst","newtmgr/command_list/newtmgr_conn.rst","newtmgr/command_list/newtmgr_crash.rst","newtmgr/command_list/newtmgr_datetime.rst","newtmgr/command_list/newtmgr_echo.rst","newtmgr/command_list/newtmgr_fs.rst","newtmgr/command_list/newtmgr_image.rst","newtmgr/command_list/newtmgr_logs.rst","newtmgr/command_list/newtmgr_mpstats.rst","newtmgr/command_list/newtmgr_reset.rst","newtmgr/command_list/newtmgr_run.rst","newtmgr/command_list/newtmgr_stat.rst","newtmgr/command_list/newtmgr_taskstats.rst","newtmgr/index.rst","newtmgr/install/index.rst","newtmgr/install/install_linux.rst","newtmgr/install/install_mac.rst","newtmgr/install/install_windows.rst","newtmgr/install/prev_releases.rst","os/core_os/API.rst","os/core_os/context_switch/context_switch.rst","os/core_os/cputime/os_cputime.rst","os/core_os/mynewt_os.rst","os/core_os/porting/port_bsp.rst","os/core_os/porting/port_cpu.rst","os/core_os/porting/port_mcu.rst","os/core_os/porting/port_os.rst","os/core_os/task/task.rst","os/core_os/time/os_time.rst","os/modules/console/console.rst","os/modules/sysinitconfig/sysconfig_error.rst","os/modules/sysinitconfig/sysinitconfig.rst","os/os_user_guide.rst","tutorials/ble/ble.rst","tutorials/ble/ble_bare_bones.rst","tutorials/ble/blehci_project.rst","tutorials/ble/bleprph/bleprph.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-adv.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-app.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-chr-access.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-gap-event.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-svc-reg.rst","tutorials/ble/eddystone.rst","tutorials/ble/ibeacon.rst","tutorials/blinky/arduino_zero.rst","tutorials/blinky/blinky.rst","tutorials/blinky/blinky_console.rst","tutorials/blinky/blinky_primo.rst","tutorials/blinky/blinky_stm32f4disc.rst","tutorials/blinky/nRF52.rst","tutorials/blinky/olimex.rst","tutorials/blinky/rbnano2.rst","tutorials/lora/lorawanapp.rst","tutorials/repo/add_repos.rst","tutorials/repo/create_repo.rst","tutorials/repo/private_repo.rst","tutorials/repo/upgrade_repo.rst","tutorials/sensors/air_quality.rst","tutorials/sensors/air_quality_ble.rst","tutorials/sensors/air_quality_sensor.rst","tutorials/sensors/nrf52_adc.rst","tutorials/sensors/sensor_bleprph_oic.rst","tutorials/sensors/sensor_nrf52_bno055.rst","tutorials/sensors/sensor_nrf52_bno055_oic.rst","tutorials/sensors/sensor_offboard_config.rst","tutorials/sensors/sensor_oic_overview.rst","tutorials/sensors/sensor_thingy_lis2dh12_onb.rst","tutorials/sensors/sensors.rst","tutorials/sensors/sensors_framework.rst","tutorials/slinky/project-nrf52-slinky.rst","tutorials/slinky/project-sim-slinky.rst","tutorials/slinky/project-slinky.rst","tutorials/slinky/project-stm32-slinky.rst","tutorials/tooling/segger_rtt.rst","tutorials/tooling/segger_sysview.rst","tutorials/tooling/tooling.rst","tutorials/tutorials.rst"],objects:{"":{"os_task::SLIST_ENTRY":[84,2,1,"c.os_task::SLIST_ENTRY"],"os_task::STAILQ_ENTRY":[84,2,1,"c.os_task::STAILQ_ENTRY"],"os_task::TAILQ_ENTRY":[84,2,1,"c.os_task::TAILQ_ENTRY"],"os_task::t_arg":[84,5,1,"c.os_task::t_arg"],"os_task::t_ctx_sw_cnt":[84,5,1,"c.os_task::t_ctx_sw_cnt"],"os_task::t_flags":[84,5,1,"c.os_task::t_flags"],"os_task::t_func":[84,5,1,"c.os_task::t_func"],"os_task::t_lockcnt":[84,5,1,"c.os_task::t_lockcnt"],"os_task::t_name":[84,5,1,"c.os_task::t_name"],"os_task::t_next_wakeup":[84,5,1,"c.os_task::t_next_wakeup"],"os_task::t_obj":[84,5,1,"c.os_task::t_obj"],"os_task::t_pad":[84,5,1,"c.os_task::t_pad"],"os_task::t_prio":[84,5,1,"c.os_task::t_prio"],"os_task::t_run_time":[84,5,1,"c.os_task::t_run_time"],"os_task::t_sanity_check":[84,5,1,"c.os_task::t_sanity_check"],"os_task::t_stackptr":[84,5,1,"c.os_task::t_stackptr"],"os_task::t_stacksize":[84,5,1,"c.os_task::t_stacksize"],"os_task::t_stacktop":[84,5,1,"c.os_task::t_stacktop"],"os_task::t_state":[84,5,1,"c.os_task::t_state"],"os_task::t_taskid":[84,5,1,"c.os_task::t_taskid"],"os_task_info::oti_cswcnt":[84,5,1,"c.os_task_info::oti_cswcnt"],"os_task_info::oti_last_checkin":[84,5,1,"c.os_task_info::oti_last_checkin"],"os_task_info::oti_next_checkin":[84,5,1,"c.os_task_info::oti_next_checkin"],"os_task_info::oti_prio":[84,5,1,"c.os_task_info::oti_prio"],"os_task_info::oti_runtime":[84,5,1,"c.os_task_info::oti_runtime"],"os_task_info::oti_state":[84,5,1,"c.os_task_info::oti_state"],"os_task_info::oti_stksize":[84,5,1,"c.os_task_info::oti_stksize"],"os_task_info::oti_stkusage":[84,5,1,"c.os_task_info::oti_stkusage"],"os_task_info::oti_taskid":[84,5,1,"c.os_task_info::oti_taskid"],"os_task_obj::SLIST_HEAD":[84,2,1,"c.os_task_obj::SLIST_HEAD"],"os_timeval::tv_sec":[84,5,1,"c.os_timeval::tv_sec"],"os_timeval::tv_usec":[84,5,1,"c.os_timeval::tv_usec"],"os_timezone::tz_dsttime":[84,5,1,"c.os_timezone::tz_dsttime"],"os_timezone::tz_minuteswest":[84,5,1,"c.os_timezone::tz_minuteswest"],CPUTIME_GEQ:[84,0,1,"c.CPUTIME_GEQ"],CPUTIME_GT:[84,0,1,"c.CPUTIME_GT"],CPUTIME_LEQ:[84,0,1,"c.CPUTIME_LEQ"],CPUTIME_LT:[84,0,1,"c.CPUTIME_LT"],CTASSERT:[84,0,1,"c.CTASSERT"],OS_ALIGN:[84,0,1,"c.OS_ALIGN"],OS_IDLE_PRIO:[84,0,1,"c.OS_IDLE_PRIO"],OS_MAIN_STACK_SIZE:[84,0,1,"c.OS_MAIN_STACK_SIZE"],OS_MAIN_TASK_PRIO:[84,0,1,"c.OS_MAIN_TASK_PRIO"],OS_TASK_FLAG_EVQ_WAIT:[84,0,1,"c.OS_TASK_FLAG_EVQ_WAIT"],OS_TASK_FLAG_MUTEX_WAIT:[84,0,1,"c.OS_TASK_FLAG_MUTEX_WAIT"],OS_TASK_FLAG_NO_TIMEOUT:[84,0,1,"c.OS_TASK_FLAG_NO_TIMEOUT"],OS_TASK_FLAG_SEM_WAIT:[84,0,1,"c.OS_TASK_FLAG_SEM_WAIT"],OS_TASK_MAX_NAME_LEN:[84,0,1,"c.OS_TASK_MAX_NAME_LEN"],OS_TASK_PRI_HIGHEST:[84,0,1,"c.OS_TASK_PRI_HIGHEST"],OS_TASK_PRI_LOWEST:[84,0,1,"c.OS_TASK_PRI_LOWEST"],OS_TASK_READY:[84,1,1,"c.OS_TASK_READY"],OS_TASK_SLEEP:[84,1,1,"c.OS_TASK_SLEEP"],OS_TIMEOUT_NEVER:[84,0,1,"c.OS_TIMEOUT_NEVER"],OS_TIME_MAX:[84,0,1,"c.OS_TIME_MAX"],OS_TIME_TICK_GEQ:[84,0,1,"c.OS_TIME_TICK_GEQ"],OS_TIME_TICK_GT:[84,0,1,"c.OS_TIME_TICK_GT"],OS_TIME_TICK_LT:[84,0,1,"c.OS_TIME_TICK_LT"],OS_WAIT_FOREVER:[84,0,1,"c.OS_WAIT_FOREVER"],STAILQ_HEAD:[84,2,1,"c.STAILQ_HEAD"],TAILQ_HEAD:[84,2,1,"c.TAILQ_HEAD"],completion_cb:[94,3,1,"c.completion_cb"],console_append_char_cb:[94,3,1,"c.console_append_char_cb"],console_blocking_mode:[94,2,1,"c.console_blocking_mode"],console_echo:[94,2,1,"c.console_echo"],console_handle_char:[94,2,1,"c.console_handle_char"],console_init:[94,2,1,"c.console_init"],console_input:[94,4,1,"c.console_input"],console_is_init:[94,2,1,"c.console_is_init"],console_is_midline:[94,5,1,"c.console_is_midline"],console_non_blocking_mode:[94,2,1,"c.console_non_blocking_mode"],console_out:[94,2,1,"c.console_out"],console_printf:[94,2,1,"c.console_printf"],console_read:[94,2,1,"c.console_read"],console_rx_cb:[94,3,1,"c.console_rx_cb"],console_set_completion_cb:[94,2,1,"c.console_set_completion_cb"],console_set_queues:[94,2,1,"c.console_set_queues"],console_write:[94,2,1,"c.console_write"],g_current_task:[84,5,1,"c.g_current_task"],g_os_run_list:[84,5,1,"c.g_os_run_list"],g_os_sleep_list:[84,5,1,"c.g_os_sleep_list"],g_os_started:[84,5,1,"c.g_os_started"],g_os_task_list:[84,5,1,"c.g_os_task_list"],os_cputime_delay_nsecs:[84,2,1,"c.os_cputime_delay_nsecs"],os_cputime_delay_ticks:[84,2,1,"c.os_cputime_delay_ticks"],os_cputime_delay_usecs:[84,2,1,"c.os_cputime_delay_usecs"],os_cputime_get32:[84,2,1,"c.os_cputime_get32"],os_cputime_init:[84,2,1,"c.os_cputime_init"],os_cputime_nsecs_to_ticks:[84,2,1,"c.os_cputime_nsecs_to_ticks"],os_cputime_ticks_to_nsecs:[84,2,1,"c.os_cputime_ticks_to_nsecs"],os_cputime_ticks_to_usecs:[84,2,1,"c.os_cputime_ticks_to_usecs"],os_cputime_timer_init:[84,2,1,"c.os_cputime_timer_init"],os_cputime_timer_relative:[84,2,1,"c.os_cputime_timer_relative"],os_cputime_timer_start:[84,2,1,"c.os_cputime_timer_start"],os_cputime_timer_stop:[84,2,1,"c.os_cputime_timer_stop"],os_cputime_usecs_to_ticks:[84,2,1,"c.os_cputime_usecs_to_ticks"],os_get_return_addr:[84,0,1,"c.os_get_return_addr"],os_get_uptime_usec:[84,2,1,"c.os_get_uptime_usec"],os_gettimeofday:[84,2,1,"c.os_gettimeofday"],os_info_init:[84,2,1,"c.os_info_init"],os_init:[84,2,1,"c.os_init"],os_init_idle_task:[84,2,1,"c.os_init_idle_task"],os_sched:[84,2,1,"c.os_sched"],os_sched_ctx_sw_hook:[84,2,1,"c.os_sched_ctx_sw_hook"],os_sched_get_current_task:[84,2,1,"c.os_sched_get_current_task"],os_sched_insert:[84,2,1,"c.os_sched_insert"],os_sched_next_task:[84,2,1,"c.os_sched_next_task"],os_sched_os_timer_exp:[84,2,1,"c.os_sched_os_timer_exp"],os_sched_remove:[84,2,1,"c.os_sched_remove"],os_sched_resort:[84,2,1,"c.os_sched_resort"],os_sched_set_current_task:[84,2,1,"c.os_sched_set_current_task"],os_sched_sleep:[84,2,1,"c.os_sched_sleep"],os_sched_wakeup:[84,2,1,"c.os_sched_wakeup"],os_sched_wakeup_ticks:[84,2,1,"c.os_sched_wakeup_ticks"],os_settimeofday:[84,2,1,"c.os_settimeofday"],os_start:[84,2,1,"c.os_start"],os_started:[84,2,1,"c.os_started"],os_stime_t:[84,3,1,"c.os_stime_t"],os_task:[84,4,1,"c.os_task"],os_task_count:[84,2,1,"c.os_task_count"],os_task_func_t:[84,3,1,"c.os_task_func_t"],os_task_info:[84,4,1,"c.os_task_info"],os_task_info_get_next:[84,2,1,"c.os_task_info_get_next"],os_task_init:[84,2,1,"c.os_task_init"],os_task_obj:[84,4,1,"c.os_task_obj"],os_task_remove:[84,2,1,"c.os_task_remove"],os_task_state:[84,6,1,"c.os_task_state"],os_task_state_t:[84,3,1,"c.os_task_state_t"],os_time_advance:[84,2,1,"c.os_time_advance"],os_time_delay:[84,2,1,"c.os_time_delay"],os_time_get:[84,2,1,"c.os_time_get"],os_time_ms_to_ticks:[84,2,1,"c.os_time_ms_to_ticks"],os_time_t:[84,3,1,"c.os_time_t"],os_timeradd:[84,0,1,"c.os_timeradd"],os_timersub:[84,0,1,"c.os_timersub"],os_timeval:[84,4,1,"c.os_timeval"],os_timezone:[84,4,1,"c.os_timezone"]}},objnames:{"0":["c","define","define"],"1":["c","enumvalue","enumvalue"],"2":["c","function","C function"],"3":["c","typedef","typedef"],"4":["c","struct","struct"],"5":["c","variable","variable"],"6":["c","enum","enum"]},objtypes:{"0":"c:define","1":"c:enumvalue","2":"c:function","3":"c:typedef","4":"c:struct","5":"c:variable","6":"c:enum"},terms:{"000s":[112,114,117,125],"008s":[112,114,117,125],"01t22":68,"04x":20,"093s":[112,114,117,125],"0mb":11,"0ubuntu5":6,"0x0":[109,116,125],"0x00":[20,116,117,124],"0x0000":[100,124],"0x00000000":[95,96],"0x00000002":116,"0x000000b8":109,"0x000000d8":[138,139],"0x000000dc":[99,131,138,139],"0x00004000":[95,96],"0x00008000":[88,95,96],"0x00009ef4":116,"0x0000fca6":109,"0x0006":29,"0x0007d000":96,"0x000e0000":95,"0x0010":27,"0x01":[20,27,30,117],"0x0100":27,"0x01000000":115,"0x0101":20,"0x0102":20,"0x0103":20,"0x0104":20,"0x0105":20,"0x0106":20,"0x0107":20,"0x0108":20,"0x0109":20,"0x010a":20,"0x010b":20,"0x010c":20,"0x010d":20,"0x010e":20,"0x010f":20,"0x0110":20,"0x0111":20,"0x02":[20,27,30,117,124],"0x0201":20,"0x0202":20,"0x0203":20,"0x0204":20,"0x0205":20,"0x0206":20,"0x0207":20,"0x0208":20,"0x0209":20,"0x020a":20,"0x020b":20,"0x020c":20,"0x020d":20,"0x020e":20,"0x020f":20,"0x0210":20,"0x0211":20,"0x0212":20,"0x0213":20,"0x0214":20,"0x0215":20,"0x0216":20,"0x0217":20,"0x0218":20,"0x0219":20,"0x021a":20,"0x021b":20,"0x021c":20,"0x021d":20,"0x021e":20,"0x021f":20,"0x0220":20,"0x0221":20,"0x0222":20,"0x0223":20,"0x0224":20,"0x0225":20,"0x0226":20,"0x0227":20,"0x0228":20,"0x0229":20,"0x022a":20,"0x022c":20,"0x022d":20,"0x022e":20,"0x022f":20,"0x0230":20,"0x0232":20,"0x0234":20,"0x0235":20,"0x0236":20,"0x0237":20,"0x0238":20,"0x0239":20,"0x023a":20,"0x023b":20,"0x023c":20,"0x023d":20,"0x023e":20,"0x023f":20,"0x0240":20,"0x03":[20,30],"0x0300":[20,27],"0x0301":20,"0x0302":20,"0x04":[20,27],"0x0401":20,"0x0402":20,"0x0403":20,"0x0404":20,"0x0405":20,"0x0406":20,"0x0407":20,"0x0408":20,"0x0409":20,"0x040a":20,"0x040b":20,"0x040c":20,"0x040d":20,"0x040e":20,"0x0483":113,"0x05":20,"0x0501":20,"0x0502":20,"0x0503":20,"0x0504":20,"0x0505":20,"0x0506":20,"0x0507":20,"0x0508":20,"0x0509":20,"0x050a":20,"0x050b":20,"0x050c":20,"0x050d":20,"0x050e":20,"0x06":[20,100],"0x07":20,"0x08":[20,27,124],"0x08000000":115,"0x08000020":115,"0x08000250":115,"0x08021e90":113,"0x09":20,"0x0a":20,"0x0b":20,"0x0bc11477":109,"0x0c":20,"0x0c80":29,"0x0d":20,"0x0e":20,"0x0f":[20,127],"0x1":[125,127,129,131],"0x10":[20,109,116,117,127],"0x100":20,"0x1000":[127,129],"0x10000":88,"0x10010000":115,"0x10036413":115,"0x10076413":113,"0x103":20,"0x11":[20,23,108,117],"0x12":20,"0x13":20,"0x14":20,"0x1400":124,"0x15":[20,123,125,127],"0x16":20,"0x17":20,"0x18":20,"0x1800":30,"0x1808":30,"0x180a":30,"0x19":20,"0x1a":20,"0x1b":20,"0x1c":[20,123,125],"0x1d":20,"0x1e":20,"0x1f":20,"0x2":[127,129],"0x20":[20,32,88,109,116,123,125],"0x200":[20,127,129],"0x2000":[127,129],"0x20000":125,"0x20000000":88,"0x20002290":113,"0x20002408":109,"0x20008000":109,"0x21":[20,32],"0x21000000":109,"0x22":[20,23,32,117],"0x23":[20,32],"0x24":20,"0x25":[20,124],"0x26":20,"0x27":20,"0x28":20,"0x2800":124,"0x29":20,"0x2a":20,"0x2ba01477":116,"0x2c":20,"0x2d":20,"0x2e":20,"0x2f":20,"0x30":[20,109,116],"0x300":20,"0x311":127,"0x32":[20,127],"0x33":23,"0x34":20,"0x35":20,"0x36":20,"0x37":20,"0x374b":113,"0x38":20,"0x39":20,"0x3a":20,"0x3a000":88,"0x3b":20,"0x3c":20,"0x3c00":124,"0x3d":20,"0x3e":20,"0x3f":20,"0x4":[127,129],"0x40":[20,109,116,123,125],"0x400":20,"0x4000":[127,129],"0x40007000":125,"0x4001e504":116,"0x4001e50c":116,"0x41000000":113,"0x42000":61,"0x44":[23,124],"0x4400":124,"0x4f":[123,125],"0x50":[109,116],"0x500":20,"0x5000":124,"0x55":23,"0x60":[109,116],"0x61":[123,125],"0x66":23,"0x6c00":124,"0x70":[109,116],"0x72":[123,125],"0x7800":124,"0x7fff8000":125,"0x80":[123,125],"0x8000":61,"0x8000000":115,"0x8801":124,"0x90":[123,125],"0x9c01":124,"0x9f":124,"0xa0":127,"0xa001":124,"0xa7":[123,125],"0xaf":[123,125],"0xb3":[123,125],"0xb401":124,"0xb5":[123,125],"0xbead":[123,125],"0xcc01":124,"0xd2":[123,125],"0xd801":124,"0xdead":[123,125],"0xe401":124,"0xe7":[123,125],"0xf":124,"0xf001":124,"0xfb":127,"0xfe":124,"0xffff":[29,124],"0xffffffff":109,"0xffffffff0xffffffff0xffffffff0xffffffff":116,"1024kbyte":[113,115],"10m":27,"128kb":[9,95],"12c":[112,114,117,125],"12kb":96,"12mhz":9,"132425ssb":30,"132428ssb":30,"132433ssb":30,"132437ssb":30,"132441ssb":30,"14e":138,"14h":[131,138],"16kb":[9,95,96],"16kbram":53,"16mb":9,"190a192":124,"1_amd64":[57,60,80,83],"1c15":[123,125],"1d11":134,"1d13":137,"1st":68,"1ubuntu1":6,"1wx":116,"200mhz":9,"2015q2":[4,12],"2022609336ssb":103,"2022687456ssb":103,"2022789012ssb":103,"2022851508ssb":103,"2042859320ssb":103,"2042937440ssb":103,"248m":6,"256kb":109,"262s":[112,114,117,125],"28a29":124,"296712s":115,"2a24":48,"2d5217f":81,"2m_interval_max":27,"2m_interval_min":27,"2m_latenc":27,"2m_max_conn_event_len":27,"2m_min_conn_event_len":27,"2m_scan_interv":27,"2m_scan_window":27,"2m_timeout":27,"2msym":21,"300v":[112,114,117,125],"32kb":[96,109],"32mb":9,"32wx":[109,116],"363s":[112,114,117,125],"3_1":36,"3mb":81,"4_9":4,"4fa7":[123,125],"512kb":88,"6lowpan":21,"73d77f":71,"7b3w9m4n2mg3sqmgw2q1b9p80000gn":55,"8ab6433f8971b05c2a9c3341533e8ddb754e404":120,"9cf8af22b1b573909a8290a90c066d4e190407e97680b7a32243960ec2bf3a7f":137,"9mb":58,"abstract":[9,20,90,91,124,141],"boolean":96,"break":[20,104,124],"byte":[19,23,27,46,66,71,73,92,94,107,108,117],"case":[2,6,7,20,21,30,55,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,87,88,92,96,100,104,105,107,108,109,123,124,125,139],"catch":20,"char":[84,87,92,94,96,104,107,108,111,124,129,131],"class":117,"const":[84,88,94,104,106,107,108,123,124,125],"default":[1,2,4,6,7,12,20,24,26,27,28,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,87,88,89,91,92,94,95,96,100,102,104,107,108,109,110,117,118,123,124,125,127,128,130,131,133,138],"enum":[84,123,124],"export":[1,11,23,60,61,80,82,83,94,126,127,129],"final":[8,55,88,99,102,123,125],"float":[64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,126],"function":[1,7,9,14,20,23,31,61,84,86,87,89,90,91,92,94,99,102,103,105,107,108,110,111,117,118,123,124,125,127,131,136,138,139,141],"goto":[123,124,125],"import":[11,55,57,80,88,93,99,102,105,125],"int":[1,20,26,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,84,87,92,94,96,102,104,105,106,107,108,111,123,124,125,129,131],"long":[3,21,24,28,87,116,131],"new":[2,3,4,6,10,11,21,23,24,27,30,31,34,39,41,45,46,50,53,57,58,59,61,84,85,88,91,92,94,96,98,99,100,105,106,107,108,109,112,113,114,115,116,117,118,124,125,126,128,141],"null":[84,87,88,92,94,95,96,102,105,106,107,108,111,123,124,125,126,129,131],"public":[19,25,27,29,30,32,57,66,80,84,94,107,108],"return":[18,26,84,87,88,92,94,96,102,104,105,106,109,111,117,123,124,125,127,129,131,135],"static":[19,26,66,87,88,94,100,102,104,105,106,107,108,111,123,124,125,126,129,131],"switch":[10,12,20,58,71,77,81,84,85,87,88,92,99,100,104,105,123,124,125,131,138],"transient":105,"true":[8,12,84,93,125,134,137],"try":[2,20,21,23,99,100,103,109,110,111,112,113,114,116,119,125,127,131,133,138],"var":[50,55,65,66],"void":[20,26,84,87,92,94,96,102,104,105,106,107,108,111,123,124,125,126,129,131],"while":[4,6,7,8,21,23,26,49,55,61,87,88,92,94,96,107,108,111,123,124,125,129,131,138,139],AES:22,ANS:101,Adding:[56,79,141],And:[61,95,98,103,123,124,125],But:125,CTS:100,FOR:4,For:[2,3,5,6,7,8,11,12,20,22,23,24,29,30,34,37,39,50,53,55,57,58,59,60,61,62,66,83,87,88,91,93,95,96,99,104,105,106,107,108,109,111,113,114,115,117,118,119,124,125,127,129,131,134,137,138,139,141],IDE:[5,12],Its:[89,93,119],NOT:125,Not:[7,20,29,125],One:[6,20,87,102,124],PCs:8,QoS:[20,21],RTS:100,Such:[107,108,119],TMS:109,That:[2,20,61,96,107,108,109,117,118,124,125],The:[1,2,3,4,5,6,7,8,10,11,12,14,15,16,17,18,19,20,21,22,23,24,26,27,29,30,31,33,34,37,43,45,46,47,50,55,57,58,59,61,63,64,66,70,71,72,73,75,76,77,78,80,81,82,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,102,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,123,124,125,126,127,128,129,130,131,133,134,135,136,137,138,139,141],Then:[10,33,63,100,124,125,138],There:[4,8,22,23,28,57,61,80,88,89,92,94,104,109,117,120,125,131,138,139],These:[5,20,27,50,61,88,89,91,95,98,102,106,107,108,109,110,115,118,119,126,127],Use:[1,7,8,11,27,28,50,57,58,59,62,71,80,81,82,88,104,107,108,109,112,117,118,125,126,128,136],Used:88,Uses:[31,42,95],Using:[20,49,111,136,141],Was:117,Will:20,With:[9,20,21,30,87,91,95,99,124,138,139,141],Yes:[10,19],__a:84,__asm:113,__etext:115,__n:84,__t1:84,__t2:84,__wfi:113,_access:104,_adc:125,_addr:107,_addr_:[107,108],_app:107,_build:[33,63],_cli:127,_config:129,_gatt_ac:104,_imghdr_siz:88,_name:96,_nrf52_adc_h_:125,_ofb:127,_onb:131,_resource_t:126,_senseair_h_:124,_set:107,_shell_init:127,_stage:96,abbrevi:102,abil:[6,22,31,55],abl:[2,88,103,107,108,109,118,124,125],abort:[49,95,96,129],about:[1,3,10,23,29,40,57,58,59,62,64,80,81,82,87,88,92,93,97,102,105,106,107,108,112,116,117,119,124,125],abov:[9,14,19,87,93,95,96,99,102,104,107,108,111,117,118,123,125],acc:127,accel:[127,131],accel_rev:127,acceleromet:[126,127,128,131],accept:[20,27,109,113,115,117,118],access:[15,20,21,27,59,61,64,70,80,81,82,86,87,88,96,99,106,109,124],access_:106,access_cb:[104,106,123],accgyro:127,accommod:[24,91,107],accomplish:[9,55,104],accord:88,accordingli:[24,88,92],account:[10,61],accur:115,achiev:[26,107,108],ack_rxd:117,acknowledg:117,acl:20,acquir:26,across:[30,31,55,61,62],act:[22,30],action:[9,27,62,102,106,117,125],activ:[12,16,17,21,47,71,88,92,102,117,134,137,138,139],actual:[2,7,34,77,88,92,95,97,99,107,108,109,118,119,120,124,125],adafruit:[8,125,127],adapt:[21,91,109,112,113,131],adapter_nsrst_delai:[109,113],adaptor:115,adc0:125,adc:[9,53],adc_0:125,adc_0_interrupt_prior:125,adc_0_oversampl:125,adc_0_resolut:125,adc_buf_read:125,adc_buf_releas:125,adc_buf_s:125,adc_buf_set:125,adc_chan_config:125,adc_config:125,adc_dev:125,adc_event_handler_set:125,adc_evq:125,adc_hw_impl:53,adc_init:125,adc_nrf52:125,adc_number_channel:125,adc_number_sampl:125,adc_read:125,adc_read_ev:125,adc_result:125,adc_result_mv:125,adc_sampl:125,adc_sns_str:125,adc_sns_typ:125,adc_sns_val:125,adc_stack:125,adc_stack_s:125,adc_task:125,adc_task_handl:125,adc_task_prio:125,add:[1,2,4,6,7,11,12,27,37,39,50,55,57,58,59,61,62,80,87,91,93,94,96,99,100,103,109,110,111,118,127,128,129,130,132,134,135,136,137,141],added:[10,12,32,53,55,81,88,92,94,109,111,119,123,124,134,135,137,141],adding:[2,31,37,55,88,89,93,99,111,118,119,123,124,125],addit:[1,12,21,29,43,55,61,62,88,89,91,96,99,102,109,110,112,113,115,116,117,124,135],addition:62,addr:[27,30,100,107,108,127],addr_typ:[27,30],address:[20,21,22,25,27,29,31,32,55,66,87,100,104,117,131,138],aditihilbert:4,adjust:[20,88],admin:[4,100],adress:27,adsertis:27,adv:[21,27,30,31],adv_data:27,adv_field:[102,107],adv_param:[102,105,107,108],advanc:[59,138,139],advantag:105,advantang:102,adverb:62,adverti:[107,108],advertis:[15,20,21,24,26,31,32,66,101,103,105,123,125,126],advertise_128bit_uuid:126,advertise_16bit_uuid:126,advertising_interv:[27,29],advic:[89,90],advinterv:29,aes:[109,112,114,116,134,135,137],aesni:[134,135],af80:[123,125],affect:99,aflag:[1,50,61],after:[4,8,11,22,26,30,41,50,55,57,58,61,80,81,84,89,92,93,95,100,102,104,105,106,109,110,118,127,131],again:[8,20,26,57,59,80,88,102,109,112,113,114,115,116,117,123,125,137],against:[22,87],agre:[124,125],agreement:[124,125],ah02mie2:124,ahead:93,aid:61,aim:[20,101,141],ain0:125,ain1:125,air:[20,117,132,141],air_q:124,air_qual:[123,124,125],albeit:98,alert:101,algorithm:[21,85],all201612161220:75,all:[1,2,3,6,7,8,9,10,12,14,15,16,17,18,20,21,22,24,26,27,28,29,30,31,35,40,41,43,49,50,51,52,53,55,61,66,72,75,87,88,89,91,92,93,94,95,96,97,99,100,101,102,103,104,105,106,107,108,111,113,115,117,118,119,120,121,123,124,125,127,129,131,134,137],alloc:[73,77,102,104],allow:[2,3,4,6,8,9,12,20,21,27,31,39,50,55,57,58,59,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,87,91,94,96,100,102,105,107,111,112,117,125,127,131,133],almost:8,along:[61,92,124],alongsid:107,alphabet:96,alreadi:[6,7,8,11,20,24,31,43,58,59,81,82,84,90,91,98,99,109,111,112,113,114,115,116,117,123,124,125,126,134,137,138,139],also:[1,3,5,6,7,8,11,12,21,23,24,27,34,37,40,55,57,58,59,60,61,66,80,83,87,88,91,92,93,94,95,96,99,102,105,106,110,111,117,118,119,123,124,125,127,128,129,130,131,134,135,137],alt:137,altern:[6,104],although:118,altogeth:123,alwai:[8,61,88,93,98,104,107,108,115,118,119,124,141],ambigu:20,ambiti:99,amd64:[57,80],amend:[1,32,50,62,138,139],amg:127,among:[85,88],amount:[24,90,102],analog:132,analyz:[12,139],android:[126,128,130,133],ani:[1,4,8,10,14,21,22,27,33,49,50,59,61,63,64,66,73,76,77,80,81,82,84,87,88,90,92,93,94,96,100,102,111,112,117,119,123,124,125,131,136,141],announc:[102,107,108],annoy:[104,120],anonym:27,anoth:[10,21,26,27,30,61,87,88,89,90,92,93,94,95,102,104,117,124,125,135,138,139],ans:[124,125],answer:87,anyth:[1,8,23,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,99,107,108,110,119,124,125],apach:[1,2,6,7,10,11,12,21,32,33,37,38,39,43,44,50,51,53,55,57,58,59,61,62,63,80,81,82,88,94,96,99,100,101,103,107,109,110,111,112,113,114,115,116,117,118,119,124,125,126,127,128,131,133,134,135,136,137,138,139,141],apart:93,api:[1,16,17,18,19,20,21,53,55,61,87,91,92,93,108,113,126,130],app:[1,7,8,12,21,26,29,32,34,37,38,42,43,45,46,47,48,50,53,55,62,73,76,77,88,94,95,96,99,101,102,105,106,107,108,109,111,112,113,114,115,116,123,124,125,126,127,128,129,130,134,135,136,137,138,141],app_error:125,app_util_platform:125,appear:[27,29,91,104,106],appl:[109,131,133,138,139],appli:[12,24,94,96,117],applic:[1,2,4,5,6,8,9,11,13,14,18,20,21,23,24,25,26,28,30,34,39,42,47,50,55,57,58,59,60,61,73,76,77,78,82,83,88,92,94,95,96,97,98,101,104,105,110,123,124,130,133,135,136,139,141],applicaton:1,applict:12,approach:[31,88,96],appropri:[62,88,91,92,96,99,102,105,107,108,110,124,125,130],approv:10,apps_air_qu:124,apps_blinki:[55,61],apps_my_sensor_app:131,apr:[112,114,117,125],apropo:[109,131,138,139],apt:[4,6,7,56,60,79,83,100],arbitrari:[100,109,112,113,114,115,116,117,125,127,134,135,137],arbitrarili:108,arc4:109,arch:[61,88,91,112,113,114,115,116,117,131],arch_sim:[111,131],architectur:[57,80,84,85,88,90,91,93],archiv:[4,7,57,59,61,99,109,111,112,113,114,115,116,117,124,125,127,131,134,135,137],arduino:[12,110,118,123,124,141],arduino_101:53,arduino_blinki:[12,109],arduino_boot:[12,109],arduino_primo_nrf52:[53,112,124],arduino_zero:109,arduino_zero_debug:109,area:[88,96],arg:[12,84,87,92,104,105,123,124,125,131],argc:[84,87,92,96,107,108,111,124,129,131],argument:[11,12,20,45,50,55,62,94,102,105,106,107,108,112,114,118,119,131],argv:[84,92,96,107,108,111,124,129,131],arm:[5,6,7,12,88,109,115,131,137,138,139],around:[30,125,126,128],arrai:[23,96,102,106],arrang:88,articl:120,artifact:[35,39,50,55,57,58,59,118],asf:[1,118,124,125],ask:[10,87,115,118,119,124],aspect:27,assembl:[1,61,88,91,112,113,114,115,116,117,131],assert:[67,94,104,105,106,107,108,111,123,124,125,129,131],assign:[10,19,21,23,29,37,50,53,66,87,88,92,96,104,109,112,113,114,115,116,117,125,127,134,137],associ:[22,24,92,96,102,105],assum:[7,12,30,43,59,60,82,83,88,92,96,98,99,111,117,123,124,125,126,128,130,131,138,139],at91samd21g18:109,at91samd:109,atmel:[2,109],att:[18,21,28,104],attach:[8,12,88,99,112,117,125,131,138,139],attempt:[20,23,27,92,96,104,105,106,117],attent:3,attr:[28,30],attr_handl:[103,104,105,123,125],attribut:[14,16,17,20,21,28,50,53,62,66,89,91,96,101,104],auth:[27,120],authent:[20,22,30,103],author:[1,20,43,61,94,124,125],auto:29,autocomplet:55,autoconf:55,autom:31,automat:[1,10,21,24,25,42,55,61,89,96,99,101,102,109,112,113,115,116,118,124,125,126,141],autoselect:109,avaial:117,avail:[1,2,3,4,7,9,20,21,23,24,29,30,31,32,47,57,58,59,62,64,73,80,81,82,94,96,97,107,111,117,119,125,130,138,139],avail_queu:94,avoid:[61,87,126],awai:[20,88,104,125],await:3,awar:[102,107,108],b0_0:115,b0_1:115,b1_0:115,b1_1:115,b5729002b340:[123,125],back:[8,58,64,69,80,81,82,93,94,106,115,116,124,130,134,135,137],backward:[21,94],bad:119,badli:87,band:[21,22,27],bang:124,bank:115,bar:[12,141],bare:[101,107,108,141],base64:[7,94,117,131],base:[1,2,4,6,7,12,20,21,24,31,34,39,55,57,58,59,61,95,100,106,109,112,113,115,116,124,126,127,131],baselibc:[7,48,88],bash:[2,12,55,59,88],bash_complet:36,bash_profil:[11,58,60,81,83],bashrc:55,basi:[9,19,22,92,119,124,125],basic:[1,14,21,29,30,31,61,88,92,99,100,117,118,120,122,123,133,135,136],batch:88,batteri:[9,24,31,91,107],baud:[66,94,100,124],bbno055_cli:127,bc_acc_bw:129,bc_acc_rang:129,bc_mask:129,bc_opr_mod:129,bc_pwr_mode:129,bc_unit:129,bc_use_ext_xt:129,bcfg:129,bd_addr:20,be9699809a049:71,beacon:[14,98,99,110],bearer:[21,32],becaus:[8,12,20,22,26,30,50,95,118,120,124,126,127,128,131],becom:[22,31,102,105],been:[4,10,20,26,36,43,55,58,59,61,77,81,82,84,92,96,100,105,109,112,117,123,124],befor:[2,4,7,8,12,20,41,50,57,61,80,84,87,88,92,93,94,96,99,100,101,102,104,107,108,110,111,113,117,125,130,133,136],begin:[26,100,103,105,107,108,118],beginn:141,behav:[20,30,87,107,108],behavior:[59,87,91,104,106,139],behind:93,being:[20,87,92,103,105,124,141],belong:[14,106],below:[1,2,4,6,12,18,20,22,23,24,30,43,62,87,88,89,92,94,99,104,106,109,112,113,114,115,116,117,118,119,120,123,125,126,127,129,133,141],benefit:[10,87,96,97],best:[88,119],beta:125,between:[7,12,21,26,27,31,37,46,55,93,94,95,96,100,112,117,119,125,127,131],bhd:66,big:[23,61,117,119],bin:[2,4,7,11,12,34,35,37,38,43,46,48,50,55,57,58,59,60,61,80,81,82,83,88,96,99,100,103,109,111,112,113,114,115,116,117,124,125,127,131,134,135,137,138,139],bin_basenam:61,binari:[4,7,11,34,37,39,55,58,60,61,79,81,83,111,124],binutil:4,bit:[7,14,23,25,27,29,57,58,59,66,81,82,84,86,92,93,99,104,105,106,107,108,119,124,125,126,131,138,139],bits0x00:27,bl_rev:127,ble:[14,18,19,23,26,30,31,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,96,98,100,102,104,105,106,110,122,123,124,128,130,133,141],ble_:104,ble_addr_t:[107,108],ble_addr_type_publ:105,ble_app:[99,107,108],ble_app_advertis:[107,108],ble_app_on_sync:[107,108],ble_app_set_addr:[107,108],ble_att:[76,104],ble_att_err_attr_not_found:20,ble_att_err_attr_not_long:20,ble_att_err_insufficient_authen:20,ble_att_err_insufficient_author:20,ble_att_err_insufficient_enc:20,ble_att_err_insufficient_key_sz:20,ble_att_err_insufficient_r:[20,123,125],ble_att_err_invalid_attr_value_len:[20,104],ble_att_err_invalid_handl:20,ble_att_err_invalid_offset:20,ble_att_err_invalid_pdu:20,ble_att_err_prepare_queue_ful:20,ble_att_err_read_not_permit:20,ble_att_err_req_not_support:20,ble_att_err_unlik:[20,123,125],ble_att_err_unsupported_group:20,ble_att_err_write_not_permit:20,ble_att_svr_entry_pool:73,ble_att_svr_prep_entry_pool:73,ble_eddystone_set_adv_data_uid:107,ble_eddystone_set_adv_data_url:107,ble_eddystone_url_scheme_http:107,ble_eddystone_url_suffix_org:107,ble_err_acl_conn_exist:20,ble_err_auth_fail:20,ble_err_chan_class:20,ble_err_cmd_disallow:20,ble_err_coarse_clk_adj:20,ble_err_conn_accept_tmo:20,ble_err_conn_establish:20,ble_err_conn_limit:20,ble_err_conn_parm:20,ble_err_conn_rej_bd_addr:20,ble_err_conn_rej_channel:20,ble_err_conn_rej_resourc:20,ble_err_conn_rej_secur:20,ble_err_conn_spvn_tmo:20,ble_err_conn_term_loc:20,ble_err_conn_term_m:20,ble_err_ctlr_busi:20,ble_err_diff_trans_col:20,ble_err_dir_adv_tmo:20,ble_err_encryption_mod:20,ble_err_host_busy_pair:20,ble_err_hw_fail:20,ble_err_inq_rsp_too_big:20,ble_err_instant_pass:20,ble_err_insufficient_sec:20,ble_err_inv_hci_cmd_parm:20,ble_err_inv_lmp_ll_parm:20,ble_err_link_key_chang:20,ble_err_lmp_collis:20,ble_err_lmp_ll_rsp_tmo:20,ble_err_lmp_pdu:20,ble_err_mac_conn_fail:20,ble_err_mem_capac:20,ble_err_no_pair:20,ble_err_no_role_chang:20,ble_err_page_tmo:20,ble_err_parm_out_of_rang:20,ble_err_pending_role_sw:20,ble_err_pinkey_miss:20,ble_err_qos_parm:20,ble_err_qos_reject:20,ble_err_rd_conn_term_pwroff:20,ble_err_rd_conn_term_resrc:20,ble_err_rem_user_conn_term:20,ble_err_repeated_attempt:20,ble_err_reserved_slot:20,ble_err_role_sw_fail:20,ble_err_sco_air_mod:20,ble_err_sco_itvl:20,ble_err_sco_offset:20,ble_err_sec_simple_pair:20,ble_err_synch_conn_limit:20,ble_err_unit_key_pair:20,ble_err_unk_conn_id:20,ble_err_unk_lmp:20,ble_err_unknown_hci_cmd:20,ble_err_unspecifi:20,ble_err_unsupp_lmp_ll_parm:20,ble_err_unsupp_qo:20,ble_err_unsupp_rem_featur:20,ble_err_unsupport:20,ble_ga:106,ble_gap:76,ble_gap_adv_param:[107,108],ble_gap_adv_set_field:102,ble_gap_adv_start:[102,105,107,108],ble_gap_chr_uuid16_appear:[104,106],ble_gap_chr_uuid16_device_nam:[104,106],ble_gap_chr_uuid16_periph_pref_conn_param:104,ble_gap_chr_uuid16_periph_priv_flag:104,ble_gap_chr_uuid16_reconnect_addr:104,ble_gap_conn_desc:105,ble_gap_conn_find:105,ble_gap_conn_fn:102,ble_gap_conn_mode_und:[102,105],ble_gap_disc_mode_gen:[102,105],ble_gap_ev:105,ble_gap_event_conn_upd:105,ble_gap_event_connect:105,ble_gap_event_disconnect:105,ble_gap_event_enc_chang:105,ble_gap_event_fn:[107,108],ble_gap_event_subscrib:105,ble_gap_svc_uuid16:[104,106],ble_gap_upd:73,ble_gatt:76,ble_gatt_access_ctxt:[104,123,125],ble_gatt_access_op_read_chr:[104,123,125],ble_gatt_access_op_write_chr:[104,123,125],ble_gatt_chr_def:[104,106,123],ble_gatt_chr_f_notifi:123,ble_gatt_chr_f_read:[104,106,123],ble_gatt_chr_f_read_enc:123,ble_gatt_chr_f_writ:123,ble_gatt_chr_f_write_enc:123,ble_gatt_register_fn:106,ble_gatt_svc_def:[104,106,123],ble_gatt_svc_type_primari:[104,106,123],ble_gattc:76,ble_gattc_proc_pool:73,ble_gatts_chr_upd:[123,125],ble_gatts_clt_cfg_pool:73,ble_gatts_find_chr:[123,125],ble_gatts_register_svc:106,ble_h:[14,15,16,17,19,20,23,26,76,107,108,125],ble_hci_ram_evt_hi_pool:73,ble_hci_ram_evt_lo_pool:73,ble_hci_uart_baud:100,ble_hs_:106,ble_hs_adv_field:[102,107],ble_hs_att_err:20,ble_hs_cfg:[26,107,108],ble_hs_conn_pool:73,ble_hs_eagain:20,ble_hs_ealreadi:20,ble_hs_eapp:20,ble_hs_eauthen:20,ble_hs_eauthor:20,ble_hs_ebaddata:20,ble_hs_ebusi:20,ble_hs_econtrol:20,ble_hs_edon:20,ble_hs_eencrypt:20,ble_hs_eencrypt_key_sz:20,ble_hs_einv:20,ble_hs_emsgs:20,ble_hs_eno:20,ble_hs_enoaddr:20,ble_hs_enomem:20,ble_hs_enomem_evt:20,ble_hs_enotconn:20,ble_hs_enotsup:20,ble_hs_enotsync:20,ble_hs_eo:20,ble_hs_ereject:20,ble_hs_erol:20,ble_hs_err_sm_peer_bas:20,ble_hs_err_sm_us_bas:20,ble_hs_estore_cap:20,ble_hs_estore_fail:20,ble_hs_etimeout:20,ble_hs_etimeout_hci:20,ble_hs_eunknown:20,ble_hs_forev:[105,107,108],ble_hs_hci_err:20,ble_hs_hci_ev_pool:73,ble_hs_id:23,ble_hs_id_gen_rnd:[23,107,108],ble_hs_id_set_rnd:[19,23,107,108],ble_hs_l2c_err:20,ble_hs_reset_fn:26,ble_hs_sm_peer_err:20,ble_hs_sm_us_err:20,ble_hs_sync_fn:26,ble_ibeacon_set_adv_data:108,ble_l2cap:76,ble_l2cap_chan_pool:73,ble_l2cap_sig_err_cmd_not_understood:20,ble_l2cap_sig_err_invalid_cid:20,ble_l2cap_sig_err_mtu_exceed:20,ble_l2cap_sig_proc_pool:73,ble_ll:[76,77,124],ble_ll_conn:76,ble_ll_prio:96,ble_lp_clock:24,ble_max_connect:[126,128],ble_mesh_dev_uuid:32,ble_mesh_pb_gatt:32,ble_own:[107,108],ble_own_addr_random:[107,108],ble_phi:76,ble_prph:124,ble_public_dev_addr:23,ble_rigado:47,ble_role_broadcast:128,ble_role_peripher:128,ble_sm_err_alreadi:20,ble_sm_err_authreq:20,ble_sm_err_cmd_not_supp:20,ble_sm_err_confirm_mismatch:20,ble_sm_err_cross_tran:20,ble_sm_err_dhkei:20,ble_sm_err_enc_key_sz:20,ble_sm_err_inv:20,ble_sm_err_numcmp:20,ble_sm_err_oob:20,ble_sm_err_pair_not_supp:20,ble_sm_err_passkei:20,ble_sm_err_rep:20,ble_sm_err_unspecifi:20,ble_tgt:[99,107,108],ble_uu:106,ble_uuid128_init:[123,125],ble_uuid128_t:[123,125],ble_uuid16:[104,106],ble_uuid16_declar:[123,125],ble_uuid:125,ble_uuid_128_to_16:104,ble_uuid_u16:[123,125],ble_xtal_settle_tim:24,bleadc:125,blecent:[7,61],blehci:[7,61],blehciproj:100,blehostd:66,blemesh:[21,32],blenano:53,bleprph:[7,21,61,66,101,102,103,104,105,106,123,124,125,126,139],bleprph_advertis:[102,105],bleprph_appear:104,bleprph_device_nam:[102,104],bleprph_log:[102,105,123,125],bleprph_oic:[7,61,130],bleprph_oic_sensor:126,bleprph_on_connect:102,bleprph_pref_conn_param:104,bleprph_print_conn_desc:105,bleprph_privacy_flag:104,bleprph_reconnect_addr:104,blesplit:[7,61],bletest:[7,61],bletini:[7,21,37,38,45,46,50,61,71,100,103],bletiny_chr_pool:73,bletiny_dsc_pool:73,bletiny_svc_pool:73,bleuart:[7,61],blink:[1,7,61,88,92,109,110,112,113,114,115,116,124,125,141],blink_nord:139,blink_nrf:124,blink_primo:124,blink_rigado:47,blinki:[1,12,34,43,44,48,55,61,88,99,100,117,124,125,133,134,135,137,138,139,141],blinky_callout:111,blinky_primo:124,blinky_sim:61,blksz:[73,135],blob:20,block:[20,29,73,84,124,135],blue:116,bluetooth:[1,9,20,22,23,24,27,29,32,101,102,107,108,110,124,125,141],bmd300eval:[48,53,114,125],bmd:[114,125],bno055:[126,128,129],bno055_0:[127,129],bno055_acc_cfg_bw_125hz:129,bno055_acc_cfg_rng_16g:129,bno055_acc_unit_ms2:129,bno055_angrate_unit_dp:129,bno055_cfg:129,bno055_cli:[127,128],bno055_config:129,bno055_do_format_android:129,bno055_euler_unit_deg:129,bno055_ofb:[126,127,128],bno055_opr_mode_ndof:129,bno055_pwr_mode_norm:129,bno055_shel:127,bno055_shell_init:127,bno055_temp_unit_degc:129,board:[1,2,4,5,7,8,12,23,24,30,39,42,47,53,55,57,58,59,61,87,88,95,96,100,103,107,108,110,111,123,124,129,130,131,133,136,138,139,141],bodi:129,bond:[22,27,29,30,103],bondabl:27,bone:[101,107,108,141],boot:[7,43,61,88,93,94,100,109,112,113,114,115,116,117,124,125,127,131,134,135,137],boot_boot_serial_test:7,boot_load:88,boot_nrf:124,boot_olimex:115,boot_primo:124,boot_seri:[7,94],boot_serial_setup:7,boot_test:7,bootabl:[134,137],bootload:[1,12,43,47,88,91,94,110,111,124,125,126,128,136],bootutil:[7,94,109,112,113,114,115,116,117,127,134,135,137],bootutil_misc:[7,109,112,113,114,116,127,134,135,137],both:[6,9,11,14,20,22,27,29,39,55,57,58,59,62,88,95,96,97,109,111,117,120,125],bottl:[58,81],bottom:[12,88,103],bound:88,boundari:88,box:[12,139],branch:[1,4,7,10,11,55,56,57,59,60,79,80,82,83,109,118,119],branchnam:10,brand:116,bread:125,breadboard:125,breakout:8,breakpoint:[109,113],breviti:135,brew:[3,4,7,11,36,55,58,60,81,83],brief:[19,107,108,117],briefli:88,bring:[12,88,127,130,133],broad:141,broadca:[107,108],broadcast:[14,27,31,102,107,108],brows:[103,112,118],bsp:[1,7,24,32,34,37,38,42,43,45,47,50,55,61,62,87,96,99,100,103,109,111,112,113,114,115,116,117,124,125,126,127,128,129,131,134,135,137,138,139,141],bsp_arduino_zero:109,bsp_arduino_zero_pro:109,bsppackag:88,bss:[48,88],bssnz_t:[123,124,125],btattach:100,btshell:29,buad:66,buffer:[20,87,91,94,95,108,125],buffer_len:125,buffer_size_down:138,bug:[4,7,11,109,113,131,138,139],bui:125,build:[1,2,3,4,5,6,11,31,32,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,80,82,87,88,89,91,95,96,101,102,103,110,123,124,133,136,141],build_arduino_blinki:12,build_arduino_boot:12,build_profil:[1,32,37,38,43,50,53,61,88,99,100,103,109,112,113,114,115,116,117,124,125,126,127,128,131,134,135,137],buildabl:7,built:[1,4,7,8,9,21,33,34,38,39,42,43,55,57,58,59,60,61,63,81,82,83,99,100,103,107,108,109,110,111,112,113,114,115,116,117,123,124,125,126,127,131,134,135,137],bunch:124,bundl:55,burn:[107,108],bus:2,busi:[20,124],button:[2,4,10,12,109,112],cabl:[100,109,110,112,113,114,115,117,125,131,133,134,136,137],cach:[58,81],calcul:[20,29,48,93],calendar:9,call:[6,7,9,11,19,21,23,26,36,61,84,85,87,88,92,93,94,96,98,99,102,103,104,105,106,107,108,109,111,117,118,124,125,126,127,131,136],callback:[20,26,84,94,96,102,104,106,107,108,111,124,131],caller:94,callout:[87,111,131],came:100,can:[1,2,3,4,5,6,7,8,9,11,12,19,20,21,22,23,24,27,30,31,33,34,35,42,45,50,55,57,58,59,60,61,62,63,64,66,72,76,80,81,82,83,84,85,87,88,89,91,92,94,95,96,97,99,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,123,124,125,126,127,128,129,131,133,134,135,137,138,139,141],cancel:[20,27],candid:118,cannot:[4,19,20,71,84,87,96,109,118,119,120],capabl:[20,22,27,29,90,94,111,138],capac:20,captian:81,carbon:123,care:[87,92,107,108,118,119,123],cascad:[1,61],cast:104,cat:[80,124,125],catastroph:26,categor:88,categori:[10,91],caus:[87,95,125,138],cb_arg:[102,106,107,108],cbmem:7,cborattr:7,cccd:27,ccm:22,cdc:112,cell:22,cellar:[4,6,11,36,58,60,81,83],central:[20,30,101,102,103,105],certain:[1,21,87,88,100,119],certainli:125,cess_op_:104,cfg:[70,113],cflag:[1,50,61,88],chanc:[87,92],chang:[1,4,6,7,10,11,19,20,21,22,24,28,30,46,49,50,52,57,61,62,80,88,89,95,96,100,103,105,107,108,109,113,123,124,125,126,127,128,131,133,138,139],channel:[20,21,29,125],channel_map:27,chapter:[2,21,91],charact:[94,96,106,131,138],character:24,characteri:[104,106],characterist:[9,16,17,21,27,28,103,106,123,125],check:[4,6,8,11,20,22,55,56,79,95,96,99,100,101,112,115,117,119,124,127,129,136],checkbox:59,checkin:77,checkout:[10,80,82,110],chip:[4,91,109,110,112,113,116,118,124,127],chip_id:127,chipset:109,choic:[2,10,100,127],choos:[6,7,10,92,99,102,111,112,114,123,125],chosen:[88,125],chr:[104,123,125],chr_access:104,chr_val_handl:[123,125],ci40:53,cid:103,circular:[95,96],circularli:119,clang:6,clarif:10,classif:20,clean:[1,11,33,39,50,57,58,59,63,81,117],cleanli:96,clear:72,clearli:[8,20],cli:94,click:[2,4,10,12,103,107,108,109,112,113,115,137],client:[12,17,18,20,21,27,31,107,123],clock:[20,25,86,109,113,127],clock_freq:84,clone:[10,11,45,50,55,58,81],close:[2,59,109,112,113,115,116,129],cmake:1,cmd:[55,61,88,124,127],cmd_len:124,cmd_queue:94,cmd_read_co2:124,cmp:124,cmsi:[2,7,48,88,109,112,113,114,115,116,131],cmsis_nvic:[88,112,113,114,115,116,131],cnt:[73,94,135],co2:[123,124],co2_evq:123,co2_read_ev:123,co2_sns_str:123,co2_sns_typ:123,co2_sns_val:123,co2_stack:123,co2_stack_s:123,co2_task:123,co2_task_handl:123,co2_task_prio:123,coap:[126,130],coars:20,coc:27,code:[1,5,7,9,10,11,13,18,21,24,26,27,29,55,85,87,90,91,93,94,96,101,102,104,105,106,109,110,111,117,118,124,125,126,129,130,131,133,135,136,141],codebas:109,coded_interval_max:27,coded_interval_min:27,coded_lat:27,coded_max_conn_event_len:27,coded_min_conn_event_len:27,coded_scan_interv:27,coded_scan_window:27,coded_timeout:27,coding_standard:7,collect:[1,7,43,55,61,118],collis:20,colon:66,column:19,com11:8,com1:66,com3:[8,111,127,134,137],com6:8,com:[8,10,11,12,33,55,57,58,59,63,80,81,82,100,111,118,120,127,134,135,137],combin:[1,20,22,26,43,61,87,88,99,107,108,118,119],come:[3,21,30,55,61,88,94,109,115,116,124,125,137],comm:110,comma:[51,66],command:[1,2,4,7,8,11,20,30,34,35,36,37,38,40,41,42,44,45,46,47,48,49,51,52,53,54,57,58,59,60,61,67,68,70,71,72,75,76,78,80,81,82,83,88,91,95,96,99,107,108,109,111,112,113,114,115,116,117,118,120,121,125,126,127,128,129,131,134,137,138,139],comment:[3,10,88,97,141],commerci:124,commit:[10,11],common:[55,61,91,106,113],commonli:107,commun:[9,21,26,27,31,66,78,94,100,102,105,110,117,118,124,125,127,131,134,135,136,137,141],compani:29,compar:[10,20,112,113,114,117,121,125],comparison:[20,22,93],compat:[4,21,55,94,109,117,127,129,131,138],compens:93,compil:[1,4,5,6,7,8,11,20,34,47,53,55,58,61,81,88,91,96,97,99,109,112,113,114,115,116,117,124,125,126,127,131,134,135,137],complaint:21,complementari:31,complet:[9,12,20,22,27,29,30,33,55,59,63,88,90,91,92,94,97,100,102,107,108,113,118,125,126,129,130,131,134,135,137],completion_cb:94,complex:[9,31,87,88,98],compli:21,complianc:[124,125],compliant:21,complic:[55,87],compon:[1,7,12,18,39,48,55,57,58,59,61,85,88,91,100,107,108,110,124,133,136],compos:[39,57,58,59,97],comprehens:97,compress:[55,81,107],compris:7,comput:[3,4,6,8,12,31,56,58,59,79,81,94,99,100,109,110,112,113,114,115,116,126,128,133,134,136,137],concept:[12,22,87,96,98,99,101,109,110,133,136],concern:3,conclud:[107,108,125],concurr:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,101,102],condit:[4,20,95,124,125],condition:[55,95,96,127],conf:117,confidenti:22,config:[1,7,32,50,61,62,64,78,80,81,82,95,96,99,124,125,127],config_bno055_sensor:129,config_fcb:95,config_fcb_flash_area:[95,96],config_newtmgr:50,config_nff:95,config_pkg_init:96,configur:[6,7,9,19,20,25,26,31,32,50,55,57,58,59,61,62,86,87,88,89,91,94,99,102,106,109,112,115,116,117,120,125,127,130,131,133,135,138,139],confirm:[8,20,27,71,117,134,137],confirmbe9699809a049:71,conflict:[61,95,119],confluenc:10,confus:[118,125],congratul:[7,103,123,124,125],conjunct:31,conn:[27,28,30,64,65,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,105,107,108,134,135,137],conn_handl:[20,103,104,105,123,125],conn_interval_max:29,conn_interval_min:29,conn_itvl:[30,103],conn_lat:[30,103],conn_mod:105,conn_profil:[65,66,67,68,69,70,71,72,73,74,75,76,77],conn_upd:105,connect:[4,7,8,9,12,15,20,21,22,24,26,28,29,31,38,42,43,55,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,91,94,101,102,103,104,105,107,108,110,123,124,133,136],connectable_mod:102,connection_profil:71,connectionless:27,connector:[4,100,112,115,117,137],connintervalmax:29,connintervalmin:29,connstr:[66,134,135,137],consequ:20,conserv:[9,91],consid:[21,62,87,106,118],consist:[1,21,31,61,92,95,96,106],consol:[1,7,8,12,26,55,61,91,96,99,100,103,107,108,110,124,125,135],console_append_char_cb:94,console_blocking_mod:94,console_compat:94,console_echo:94,console_handle_char:94,console_init:94,console_input:94,console_is_init:94,console_is_midlin:94,console_max_input_len:94,console_non_blocking_mod:94,console_out:94,console_pkg_init:96,console_printf:[20,26,94,123,124,125,131],console_prompt:124,console_read:94,console_rtt:[94,131,138],console_rx_cb:94,console_set_completion_cb:94,console_set_queu:94,console_tick:[94,124],console_uart:[94,131,138],console_uart_baud:94,console_uart_dev:94,console_uart_flow_control:94,console_uart_tx_buf_s:94,console_writ:94,constantli:[102,125,141],constitu:43,constrain:[9,55],constraint:109,construct:11,consumpt:22,contact:[89,90],contain:[1,3,7,11,29,31,34,50,55,61,88,90,91,93,94,96,97,99,100,102,104,106,107,108,117,118,119,127,141],content:[12,49,61,80,88,102,106,107,108,115,117,119,120,127,129],context:[55,77,84,85,87,92,94,96,105,111],continu:[6,88,100,109,110,115,125,128,129,130,131,133,135,136,138],contrast:96,contribut:[13,22,57,58,59,80,81,82,98,133],contributor:[124,125],control:[8,9,18,19,20,21,22,23,25,26,29,31,55,66,91,94,96,99,113,115,118,119,124,125,130],contruct:103,conveni:[12,20],convent:[117,127,131],convers:104,convert:[1,8,20,71,84,93,96,104,106,124,125],coordin:[126,128],copi:[1,4,45,49,50,62,80,82,89,90,102,105,109,124,125,129,131,138,139],copyright:[4,109,115,124,125,131,138,139],core:[1,6,7,12,21,29,32,37,38,43,48,50,51,53,55,61,62,71,88,90,99,100,101,102,103,109,110,111,112,113,114,115,116,117,118,119,124,125,126,127,128,131,133,134,135,136,137,138,139,141],core_cminstr:113,core_o:94,core_path:61,coreconvert:71,coredownload:71,coredump:7,coredump_flash_area:96,coreeras:71,corelist:71,corner:115,corp:[2,109],correct:[1,2,4,41,88,96,100,113,114,115,117,125,127],correctli:[2,100,109,113,125,126],correspo:106,correspond:[12,20,84,88,102,104,107,108,119,125],cortex:[4,112,114,117,125,131],cortex_m0:61,cortex_m4:[61,88,112,113,114,115,116,117,131],cortex_m:109,cost:9,could:[20,104,124],couldn:[102,124],count:[55,81],counter:[85,117],countri:21,coupl:[1,115,124,125],cours:123,cover:[8,61,96,97,106],cpptool:12,cpu:[85,88,90,109,113],cputim:[24,84,86,127,131],cputime_geq:[84,86],cputime_gt:[84,86],cputime_leq:[84,86],cputime_lt:[84,86],crank:125,crash:[64,78,80,81,82],crash_test:7,crc:[7,94,124],creat:[1,2,3,4,5,6,8,10,11,12,22,27,32,34,39,41,43,44,45,46,47,50,55,57,58,59,61,62,66,71,80,81,82,87,90,92,94,95,96,101,106,110,111,118,120,123,129,130,133,136,141],create_arduino_blinki:12,creation:[47,117,125],creator:[126,127,129,131],credenti:120,criteria:20,critic:3,cross:[5,6,7,9,91],crt0:48,crti:48,crtn:48,crw:8,crypto:[7,109,112,114,116,134,135,137],cryptograph:22,cryptographi:22,crystal:25,csrk:27,cssv6:29,csw:[77,124,134,137],ctassert:84,ctlr_name:66,ctlr_path:66,ctrl:[12,99,124,127,138],ctxt:[104,105,123,125],cur_ind:105,cur_notifi:105,curi:[103,105],curiou:3,curl:[11,58],curn:[103,105],currantlab:[81,82],current:[11,24,27,31,39,40,41,44,45,46,50,51,57,58,59,60,71,81,82,83,84,85,87,88,92,93,94,95,107,109,110,113,115,117,118,119,121,127,131],custom:[23,71,96],cvs:[109,115,131,138,139],cwd:12,cycl:[19,21,31],cylind:125,daemon:[2,100],dai:93,dap:[2,109,112,116],darwin10:[109,131,138,139],darwin:6,data:[9,14,20,21,27,28,30,31,43,48,64,69,80,81,82,84,87,88,91,92,94,96,104,105,107,108,123,124,125,133,139,141],data_len:124,databas:28,databuf:131,datalen:27,datasheet:88,date:[11,68,117,124],datetim:[7,64,78,80,81,82,94],daunt:102,daylight:93,dbm:[21,27,29],ddress:25,deal:[87,88],deb:[57,60,80,83],debian:[4,6],debug:[1,2,4,5,6,7,39,43,47,50,55,57,58,59,62,89,95,99,100,109,111,112,113,114,115,116,124,125,126,127,128,131,134,135,137,138,139],debug_arduino_blinki:12,debug_arduinoblinki:12,debugg:[5,38,39,55,57,58,59,61,109,112,113,115,116,117,137,138,139],dec:48,decemb:22,decid:[55,85,91,124],decim:22,declar:[12,92,118,129,131],decompress:107,dedic:[88,91,104,138,139],deeper:[117,125],def:[7,95,96,125,131],defaultdevic:82,defin:[1,6,19,20,21,24,27,28,29,31,34,42,43,47,50,53,61,84,86,87,92,95,96,98,100,102,104,110,117,118,119,123,124,125,126,127,130,131,134,136,137,138],defininig:31,definit:[1,12,29,35,37,42,50,61,88,100,104,106,118,123,124,125],defint:95,del:27,delai:[26,84,93,117],delet:[1,6,10,12,27,35,39,45,49,50,55,57,58,59,61,62,123,129,131],delimit:50,delta:[55,81],demo:123,demonstr:[20,26,117,127,131],dep:[1,50,55,61,62,88,94,96,99,111,124,125,126,131],depend:[1,4,6,8,20,22,24,27,39,41,49,50,52,55,57,58,59,62,66,90,94,96,99,109,118,121,124,125,127,134,136,137],deploi:[43,111],deploy:31,deprec:96,depth:[4,90],deriv:20,desc:105,describ:[1,2,7,10,11,12,24,28,33,63,87,88,89,91,92,95,96,99,101,106,107,113,116,117,118,124,125,126,127,129,133],descript:[1,7,10,19,27,28,30,55,61,88,89,90,95,96,117,118,119,124,125,139],descriptor:[16,17,27,28,61,104],design:[21,22,23,55,91,93,106],desir:[84,121],desktop:10,destin:[4,31],detail:[1,10,12,21,22,29,55,87,92,99,102,104,106,107,108,109,117,118,131,138,139],detect:[20,55,95,96,100],determin:[20,92,96,97,102,105,118,129],dev:[1,2,3,4,7,8,10,11,12,48,61,66,82,94,96,97,99,100,103,109,111,112,113,114,115,116,117,118,119,120,124,125,126,127,129,131,134,135,137,141],dev_found:100,develop:[3,5,6,7,8,9,13,20,55,59,61,82,87,89,90,91,92,96,97,100,101,104,107,109,110,112,115,116,118,119,123,124,125,130,133,137,138,139,141],devic:[3,4,8,9,14,19,20,21,22,25,28,29,31,32,43,55,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,91,94,95,96,98,99,101,102,103,104,106,107,108,109,111,112,113,114,115,116,117,123,125,130,131,134,135,136,137,138,139,141],deviceaddr:23,deviceaddrtyp:23,dhkei:20,diagram:[113,115],dialog:[12,59,139],dictat:[11,62],diff:124,differ:[4,6,7,8,11,12,20,24,27,30,45,55,57,80,87,88,89,90,91,92,95,96,99,100,111,112,113,115,118,119,121,123,127,129,131,137,139],differenti:118,difficult:[21,90,95],dig:[7,101],digit:[22,125],dioxid:123,dir:27,direct:[10,20,27,119],direct_addr:[107,108],directli:[7,11,14,18,36,96,107,109,126,129],directori:[1,4,6,7,8,10,11,12,34,35,37,41,43,45,50,55,57,59,60,80,82,83,88,89,90,99,100,109,110,112,113,114,115,116,118,119,124,125,126,127,131,133,134,136,137,139,141],disabl:[6,20,22,24,30,84,94,95,96,105,126,127,128,131,138],disallow:20,disc_mod:105,disciplin:100,disclaim:[7,11,55,99],disconnec:27,disconnect:[27,105],discov:[22,27,28,100],discover:[27,29,102,130],discoverable_mod:102,discoveri:[28,100,105,110],discuss:[10,89,102,127],disjoint:20,disk:7,dispatch:[87,96],displai:[1,6,22,27,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,61,62,64,66,69,71,72,73,76,77,80,81,82,96,100,115,117,124,126,128,133,134,137],displayonli:27,displayyesno:27,dist:[57,80],distanc:21,distinct:22,distribut:[1,4,6,20,21,27,55,118,124,125],distro:6,div0:67,divid:[18,20,67],dle:27,dll:[112,114,117,125],dndebug:50,dnrf52:88,doc:[4,6,7,10,23,33,63,109,110,113],docker:[3,7,109,141],dockertest:2,document:[1,4,8,12,14,18,20,23,25,59,62,64,88,101,104,106,107,108,109,112,114,118,127,131,134,135,138,139],doe:[7,20,22,35,50,61,66,71,87,88,89,92,94,95,96,99,102,109,112,113,114,116,117,120,131,136],doesn:[8,20,32,99,100,102],doing:[93,104,111,124],domain:2,don:[1,10,31,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,104,106,107,108,118,124,125],done:[6,7,8,23,25,55,81,87,88,93,94,100,106,107,108,109,112,113,114,117,125,131,138,139],dont:138,doorbel:55,doubl:[2,115],doubt:106,down:[1,12,61,80,82,113,115,137],downgrad:[6,7],download:[1,2,4,7,10,12,29,39,41,42,55,58,59,60,70,71,81,82,83,99,100,109,112,113,114,115,116,120,124,131,133,134,135,137,138,139],doxygen:[4,7,109,113],dpidr:116,dpkg:[57,60,80,83],drag:20,drain:24,draw:24,drive:[9,61,93],driver:[7,55,99,109,112,113,114,115,116,127,131,137,138],drop:[12,26,113,115,137],dsc:104,dsimmon:124,dst:[45,50,70],dsym:[55,61],dtest:50,due:[20,109,113,115],dump:138,dumpreg:127,duplex:21,duplic:27,durat:[19,27,30,93,104,127],duration_m:[107,108],dure:[20,22,71,85,88,94,96,99,104,111,126,129],duti:[21,31],dwarf:61,dylib:4,e407:[115,137],e407_:115,e407_devboard:[53,115,137],e407_devboard_download:115,e407_sch:137,e761d2af:[123,125],e_gatt:106,eabi:[4,7,12,88,109,131,138,139],each:[1,2,10,11,12,19,20,21,22,23,28,32,43,48,49,50,61,62,64,66,73,77,87,88,93,94,96,104,105,106,107,108,109,118,127,129,130,131,141],eager:3,earlier:[10,30,57,58,59,80,81,82,104,107,108,123,124,125,138],easi:[1,2,3,8,9,95,112,125,126],easier:[24,88,124],easiest:124,easili:[9,96,131],east:93,eavesdropp:19,echo:[12,60,64,78,80,81,82,83,94,124,134,135,137],echocommand:12,eclips:12,ectabl:[107,108],edbg:[2,109],eddyston:[27,110],eddystone_url:[27,29],edit:[7,89,117,118,129],editor:[59,61,113],ediv:27,edr:[20,29,100],edu:[112,138],ee02:117,eeirili:123,effect:93,effici:[21,31,109],eid:107,einval:84,eir:29,eir_len:100,either:[1,4,6,11,21,27,29,30,57,59,61,80,85,94,96,107,108,117,124,125,133],elaps:[20,84,93],electron:141,element:[39,53,55,57,58,59,92],elf:[7,12,34,38,48,55,61,71,99,100,103,109,111,112,113,114,115,116,117,124,125,127,131,134,135,137,138,139],elfifi:71,els:[23,85,123,124,125,138],elsewher:[101,104,118],emac:124,email:[3,97,141],embed:[1,3,4,12,39,55,57,58,59,97,109,115,131,138,139],emit:[55,61],emploi:21,empti:[50,92,96,98,106],emptiv:9,emul:[117,129],enabl:[1,8,9,24,30,31,32,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,62,73,76,77,78,88,94,95,96,99,102,105,110,122,123,124,125,129,133,136,138,139,141],enc_chang:105,encapsul:21,encod:[7,51,94,117,126,130,131],encompass:[14,20],encount:[7,20,57],encrypt:[20,22,27,30,103,105],encrypt_connect:20,end:[9,20,28,30,55,96,98,99,117,124],endian:[23,61,117],endif:[96,111,124,125,131],energi:[9,21,22,110,141],enjoi:125,enough:[55,91,124],ensur:[11,12,21,59,88,93,95,96,100,104,110,118,119,127,130,133,136],enter:[12,22,47,88,109,111,113,127,131],entir:[2,88,106,124],entiti:[43,101],entri:[20,22,72,106,128],environ:[3,4,9,12,55,58,59,61,82,91,100,135],eof:[57,80],ephemer:107,epoch:93,equal:[29,72,95,96],equat:29,equival:[46,61,125,141],eras:[71,109,113,114,115,117,125],erase_sector:115,err:[123,125],error:[1,2,4,6,7,20,21,26,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,80,82,84,87,88,96,102,104,105,106,109,112,113,115,116,117,119,123,124,125,126,129,131,137],error_rsp_rx:76,error_rsp_tx:76,escap:[131,138],especi:93,essenti:[43,61,96],establish:[20,27,78,102,103,105,112,114,117,125],etc:[1,21,24,26,36,43,57,80,87,90,91,98,105,124,125],etyp:125,eui:117,eul:127,euler:127,ev_arg:94,ev_cb:94,eval:[114,125],evalu:[12,84,93,95,96,114,117,118,125],evalut:93,even:[4,10,84,91,123,125,129],event:[20,24,25,27,87,92,94,96,100,102,103,107,108,123,124,125,129,131,141],event_q:125,event_queu:94,eventq:[123,124],eventu:[4,92,93],everi:[1,32,61,92,105,107,109,111,119,124,131],everyon:10,everyth:[1,88,124],exact:91,exactli:[88,96],examin:[102,104,135],exampl:[1,2,3,6,7,9,12,22,23,24,25,30,31,55,57,58,59,60,61,62,64,80,82,83,84,88,89,91,92,93,94,97,98,100,101,105,109,111,113,117,118,119,120,124,126,127,128,129,130,131,134,135,137,138,139,141],exce:138,exceed:20,except:[7,51,102,107,108,124,125],excerpt:[94,95,96,104,106,129],exchang:[14,21,22,27,28],excit:[7,99],exclud:[51,127],exclus:22,exe:[12,59,60,82,83],exec_write_req_rx:76,exec_write_req_tx:76,exec_write_rsp_rx:76,exec_write_rsp_tx:76,execut:[1,2,7,11,12,30,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,61,62,67,80,82,85,87,88,91,92,96,102,104,105,106,107,108,111,124],exhaust:20,exisit:27,exist:[2,20,24,29,41,46,49,50,71,89,96,103,109,112,113,114,115,116,119,124,125,126,128,129,130,131,133,134,136,137,138,139,141],exit:[8,80,112,114,117,124,125,138],expect:[6,20,43,61,87,88,94,100,107,108,117],experi:[22,127],expertis:118,expir:84,explain:[4,12,98,99,100,107,108,110,119,133,136,141],explan:[34,35,37,38,39,43,44,45,46,47,48,50,51,53,54,65,66,67,68,69,70,71,72,73,74,75,76,77,102],explanatori:[30,89,107,108],explic:127,explicitli:102,explor:[104,133],expos:[1,14,21,87,96,101,106],express:[23,96,106,124,125],ext:[12,113],extend:[20,29,30,125,128,130],extended_dur:27,extended_period:27,extens:[21,30,117],extent:[109,131,138,139],extern:[12,29,40,88,118,119,125,138,139],extra:[38,42,47,102,131,138],extra_gdb_cmd:61,extract:[4,11,58,59,60,82,83,112],extrajtagcmd:[38,42,47],extrem:9,f401re:53,f411a55d7a5f54eb8880d380bf47521d8c41ed77fd0a7bd5373b0ae87ddabd42:134,f4discoveri:113,facil:19,fact:118,factor:9,factori:116,fail:[20,42,57,80,99,105,112,113,116,117,118,125,138],failur:[20,104,105,106],fairli:[24,55,61],fall:[91,141],fallback:27,fals:95,famili:[4,100],familiar:[3,12,96,98,99,101,124,125,131,138,141],fanci:92,faq:[11,13],far:[99,131],fashion:87,fast:124,fat2n:[7,61],fatf:7,fault:94,fcb:7,fe80:138,feat:125,featur:[1,3,11,19,20,30,91,92,96,97,102,117,127,133],feedback:[110,125],feel:3,femal:137,fetch:[1,12,40,57,80,100,110,118,119,124,133,136],few:[1,6,14,25,31,55,61,88,89,99,104,107,117,125,141],ffffffff:115,ffs2nativ:[7,61],fhss:21,ficr:23,fictiti:[118,119],field:[20,27,85,88,94,96,102,104,106,107,108,118,119,127,129],file:[1,2,4,6,7,10,11,12,34,36,37,41,43,46,48,50,55,57,58,59,60,61,64,70,71,80,81,82,83,89,90,91,94,95,96,99,100,106,109,111,112,113,115,116,117,118,120,124,125,127,135,139],file_nam:61,filenam:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,70,71,88,100,124],filesystem:55,fill:[10,48,90,99,104,107,108,124,125],filter:[2,22,27,30,72,109],find:[1,2,3,20,28,34,55,61,89,91,95,97,99,100,109,112,113,116,131,134,137,138,139,141],find_info_req_rx:76,find_info_req_tx:76,find_info_rsp_rx:76,find_info_rsp_tx:76,find_type_value_req_rx:76,find_type_value_req_tx:76,find_type_value_rsp_rx:76,find_type_value_rsp_tx:76,fine:[9,107,108],finish:[4,117,124],fip:21,fire:[103,131],firmwar:[112,114,117,124,125,138,139],first:[2,3,6,8,12,21,22,29,33,57,58,59,60,63,82,83,84,88,92,96,98,101,102,103,104,106,107,108,110,111,117,123,124,125,127,131,133,136,141],fit:[4,102,103],five:[20,21,22],fix:[6,11,93,120],flag:[1,6,12,27,29,55,57,58,59,61,62,64,80,81,82,89,100,104,106,123,124,127,134,137],flash:[1,9,39,43,48,55,57,58,59,61,90,91,96,109,113,114,115,117,125],flash_area_bootload:[88,95,96],flash_area_image_0:88,flash_area_image_1:[88,96],flash_area_image_scratch:[88,95],flash_area_nff:[95,96],flash_area_noexist:95,flash_area_reboot_log:[95,96],flash_map:[7,95,96],flash_map_init:96,flash_own:[95,96],flash_test:[7,94],flavor:109,flexibl:[91,97,102,118,119],flg:124,float_us:126,flood:31,flow:[21,94,100,107,108],fmt:94,folder:[4,10,12,33,55,59,63,112],follow:[1,2,3,4,6,7,8,11,12,19,20,21,23,24,26,27,29,30,31,32,37,38,43,50,51,55,57,58,59,60,61,64,66,67,71,72,73,77,78,80,81,82,83,86,88,89,91,92,93,94,95,96,99,100,101,102,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,123,124,125,126,127,128,129,130,131,133,134,136,137],footer:111,footprint:9,forc:[41,49,52],forev:92,forgeri:22,forget:[80,123,124,125],forgot:124,fork:10,form:[1,19,22,23,26,66,92,96,104,105,107,117,118],formal:[7,20],format:[8,29,50,66,68,71,72,94,96,100,107,111,118,119,127,134,137],formula:[3,60,83],fortun:55,forver:27,forward:102,found:[1,20,33,55,63,88,100,105,106,107,109,113,115,137],foundat:[4,21,31,109,115,118,124,125,131,138,139],four:[19,22,47],fraction:93,frame:117,framework:[21,28,100,126,127,128,131,132,133],frdm:53,free:[2,4,73,103,105,109,115,131,135,138,139],freedom:[105,107,108],frequenc:[21,24,84,86,88,93,117],frequent:[10,19,21,22,107,108,131],friend:31,from:[1,4,6,7,8,9,10,11,12,19,20,22,23,26,27,30,31,32,35,36,38,39,41,43,44,45,46,47,49,50,51,55,56,60,61,62,64,65,66,68,69,70,71,72,73,76,77,79,83,84,85,87,88,89,90,91,92,93,95,96,98,99,100,101,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,124,125,127,131,133,134,135,137,138,139],fs_cli:7,fs_dirent:7,fs_file:7,fs_mkdir:7,fs_mount:7,fs_nmgr:7,fssl:[11,58],fsutil:7,ftdichip:100,fulfil:104,full:[1,7,8,20,21,28,30,48,55,88,95,96,99,102,105,106,111,124,125,127,131,141],fulli:[9,21,99,108,118,119,125],fun:124,fundament:[1,141],further:[6,88],furthermor:[87,107,108],fuse:55,futur:[96,117,118,119,120],g_current_task:84,g_led_pin:111,g_os_run_list:[84,85],g_os_sleep_list:[84,85],g_os_start:84,g_os_task_list:84,g_task1_loop:111,gain:[99,125],gap:[18,19,20,21,30,101,104,106,124,125,126],gatewai:117,gatt:[14,18,21,27,30,31,32,101,104,106,124,125,126],gatt_acc:104,gatt_adc_v:125,gatt_co2_v:123,gatt_co2_val_len:123,gatt_srv:125,gatt_srv_sns_access:125,gatt_svr:[106,123,125,127],gatt_svr_chr_access_gap:[104,106],gatt_svr_chr_access_sec_test:[106,123],gatt_svr_chr_sec_test_rand_uuid:[106,123],gatt_svr_chr_sec_test_static_uuid:[106,123],gatt_svr_chr_writ:[123,125],gatt_svr_register_cb:106,gatt_svr_sns_access:[123,125],gatt_svr_svc:[104,106,123],gatt_svr_svc_adc_uuid:125,gatt_svr_svc_co2_uuid:123,gatt_svr_svc_sec_test_uuid:[106,123],gaussian:21,gavin:58,gcc:[4,7,57],gcc_startup_:88,gcc_startup_myboard:88,gcc_startup_myboard_split:88,gcc_startup_nrf52:[88,112,114,131],gcc_startup_nrf52_split:[112,114,116,117,131],gdb:[4,7,12,38,47,61,62,88,99,109,111,112,113,115,116,125,131,138,139],gdb_arduino_blinki:12,gdbmacro:7,gdbpath:12,gdbserver:6,gen:[27,30],gener:[1,11,15,16,17,18,19,20,21,23,27,28,29,31,34,35,43,55,61,62,88,92,95,99,100,102,103,106,107,108,109,110,111,112,113,114,115,116,117,118,123,124,127,131,134,137,138,139],get32:84,get:[2,4,6,7,8,9,10,11,23,55,56,58,59,60,61,64,76,79,81,82,83,85,87,88,90,91,92,93,96,98,100,102,104,106,107,108,109,110,112,113,115,116,117,123,124,125,130,131,137,141],gfsk:21,ggdb:6,ghz:21,git:[11,55,58,80,81,82,109,118,119,120],github:[1,7,10,11,33,55,57,58,59,63,80,81,82,109,118,119,120,124,125,133],githublogin:120,githubpassword:120,githubusercont:[11,57,58,59,80,81,82],give:[55,99,107,108,117,118,119,125],given:[12,20,42,84,91,92,93,119],glanc:102,glibc:57,global:[1,29,62,104,124],gnd:[8,117,125,127,137],gnu:[3,4,12,38,47,109,113,115,116,131,138,139],goal:[55,136],gobjcopi:6,gobjdump:6,gobl:81,goe:[61,124],going:[91,107,111,124,125],golang:[11,59,82],gone:103,good:[7,9,22,55,88,99,102,108,117,124],googl:[107,133],gopath:[11,57,58,59,60,80,81,82,83],got:[123,124,125],govern:[124,125],gpg:[57,80],gpio:[8,91],gpl:[4,109,113,115,116,131,138,139],gplv3:[109,115,131,138,139],graduat:125,grain:9,graph:[1,50,62,125],graviti:127,great:[8,21,95,124,125],greater:[21,29,95],green:[2,10,12,109,113,114,127,134],grid:55,ground:[125,127],group:[2,10,20,76,96,117],grow:53,guard:87,guid:[7,11,12,18,59,62,64,82,96,101,106,108,118,134,137],gyro:127,gyro_rev:127,gyroscop:127,h_mynewt_syscfg_:96,hack:[7,9,12,125],had:87,hal:[1,7,9,48,55,61,86,90,99,109,113,115,125,127,131,141],hal_bsp:[7,88,109,112,113,115,124,129],hal_bsp_flash_dev:88,hal_common:[7,99,113,115],hal_flash:[7,88,109,113,115],hal_gpio:7,hal_gpio_init_out:[92,111],hal_gpio_toggl:[92,111],hal_os_tick:[112,131],hal_reset_caus:129,hal_tim:[84,86],hal_timer_cb:84,hal_uart:124,hal_uart_config:124,hal_uart_flow_ctl_non:124,hal_uart_init_cb:124,hal_uart_parity_non:124,hal_uart_start_tx:124,half:[16,17,88,93],halt:[87,109,113,115],handbook:[112,116],handi:[88,125],handl:[17,20,27,28,30,61,103,104,105,123,124,125,131],handler:[87,88,123,124,125,126],happen:[9,20,26,103,106,107,108,109,119],happi:[7,9],har:137,hard:94,hardcod:[25,27],hardwar:[2,3,5,6,7,9,20,21,24,25,31,34,84,86,88,90,91,96,99,100,107,108,109,111,112,113,114,118,124,131,141],has:[2,3,4,7,10,11,12,20,22,24,26,30,34,36,43,50,55,57,58,59,61,62,77,80,81,82,84,85,87,88,91,92,94,96,104,105,106,109,111,112,113,117,118,119,123,124,130,131,138,139,141],hash:[34,37,43,46,71,134,137],have:[1,2,3,6,7,8,9,10,11,12,19,20,22,24,30,32,43,50,52,54,55,57,58,59,60,61,62,64,80,81,82,83,87,88,90,91,92,94,95,96,97,98,99,100,103,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,123,124,125,126,127,128,129,130,131,133,134,135,136,137,138,139,141],haven:[3,97,119,124,125,141],hci1:100,hci:[21,98],hci_adv_param:102,head:[11,58,80,81,82],header:[1,37,39,46,55,57,58,59,61,88,96,111,124,125],headless:2,health:107,heap:[87,88],held:118,hello:[12,69,110,134,135,137,141],help:[1,8,12,31,34,35,37,38,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,64,65,67,68,69,70,71,72,73,74,75,76,77,80,81,82,87,89,90,93,95,98,99,102,109,111,112,114,117,120,124,125,127,131,138,139],helper:[1,61,89,107,108],henc:97,her:87,here:[1,3,8,10,11,29,32,55,73,76,77,88,89,94,95,96,97,100,104,106,107,108,109,111,112,113,116,117,118,119,124,125,135,141],hertz:84,hex:[7,37,43,48,71,115,117,123,131],hexidecim:66,hfxo:24,hidapi:4,hidraw:4,hierarchi:96,high:[9,18,21,64,86,138],high_duti:27,higher:[11,14,20,21,55,58,59,72,80,81,82,87,92,95,96,97,100,119],highest:[84,85,87,92,95,96],highli:97,highlight:[2,6,30,109,112,114,116,125,126,131],hint:55,his:87,histori:95,hit:[36,111],hold:[33,43,63,117,118,125],hole:125,home:[7,11,59,88,99,111,120,124],homebrew:[4,6,7,11,36,56,60,79,83],homepag:[1,43,61,94,124,125],hook:[115,124,137],hop:21,host:[7,9,21,22,23,26,29,30,66,70,71,99,100,104,105,106,109,124,125,126,130,131,138,139],hotkei:138,hour:93,how:[2,3,4,5,6,7,8,11,12,20,21,23,30,55,57,58,59,60,66,80,81,82,83,88,91,93,94,97,98,99,100,103,104,105,107,108,109,110,111,112,113,114,115,116,117,123,124,125,127,128,130,131,133,134,135,136,137,141],howev:[3,57,80,91,92,94,112,118],htm:100,html:[4,33,63,109,113,115,131,138,139],http:[1,4,10,11,12,33,39,55,57,58,59,61,63,80,81,82,94,100,107,109,112,113,115,116,118,120,124,125,131,137,138,139],httperror404:[57,80],human:[100,118],hw_bsp_nativ:61,hw_hal:55,hypothet:20,i2c:[8,127,128,131],i2c_0:[126,127,128,131],i2s:109,i2s_callback:109,i386:[4,6],iOS:[103,123,125,126,128,130,133],ibeacon:[23,99,110,141],icon:[10,12],id16:106,id3:[33,63],id_init:96,idcod:109,idea:[61,102],ideal:21,ident:[18,20,22,23,27,30,66],identifi:[1,8,19,20,27,29,34,71,88,107,108,112,114,117,125,134,137],idl:[27,77,99,124,134,137],idx:27,ifdef:[96,111,131],ifndef:[96,124,125],ignor:[6,27,82,96,138],illustr:[12,87,125,131],imag:[2,6,7,10,12,31,34,38,39,42,43,47,55,57,58,59,61,64,78,80,81,82,88,89,91,94,95,97,99,103,109,110,111,123,124,135,136,138,139,141],image_ec256:[109,112,113,114,115,116,117,127,134,135,137],image_ec:[7,109,112,113,114,115,116,117,127,134,135,137],image_rsa:[7,109,112,113,114,115,116,117,127,134,135,137],image_valid:[7,109,113,114,116,127,134,135,137],img:[37,46,71,99,100,103,109,112,113,114,115,116,117,124,127,131,134,137,138,139],imgmgr:[7,94,96,125],imgmgr_module_init:96,immedi:[26,88,102,107,108],impact:24,impl:61,implemen:66,implement:[9,10,21,32,61,66,88,90,91,94,96,101,104,106,107,117,125,126,127,131],impli:[107,108,119,124,125],imposs:19,impract:106,impress:125,improv:111,imuplu:127,inc:[4,109,115,131,138,139],includ:[1,4,7,9,10,14,15,16,17,19,20,21,22,26,27,28,31,43,50,59,61,84,88,90,91,94,95,96,100,101,102,104,107,108,112,118,119,124,125,126,127,129,130,131,136,138],include_tx_pow:27,incom:20,incompat:[57,80,118],incomplet:[29,88],incorrect:[42,93],increas:[21,22,96,138],increment:93,incub:[7,55,96,125],inde:[87,115],indefini:[107,108],indent:6,independ:[22,91,96,124],index:[31,72,100],indian:93,indic:[7,19,20,26,28,29,30,88,94,95,96,104,106,109,112,113,116,131,133],indirect:125,individu:[11,96,118],industri:21,infinit:[87,96,111],info:[39,57,58,59,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,105,109,113,115,116,123,125],inform:[1,6,7,12,20,22,23,27,29,34,37,39,40,57,58,59,61,62,64,66,71,80,81,82,88,90,91,92,96,97,99,102,105,106,107,108,109,111,117,118,119,120,124,125,127,131,134,137,139],infrastructur:99,ing:[107,108],inher:[1,23,104],inherit:[1,4,59],init:[50,55,84,96,124,125],init_app_task:87,init_func_nam:96,init_funct:96,init_stag:96,init_tim:[111,131],initi:[16,19,21,23,25,26,27,28,61,84,86,87,88,92,94,100,101,105,107,108,111,123,124,125,126,127,131],initialis:109,inoper:[26,107,108],input:[20,22,27,115,138],inquiri:[20,29],insid:[24,87,111,115],inspect:[48,105],instal:[3,7,9,33,39,54,55,63,78,87,88,89,98,99,100,109,110,112,113,114,115,116,119,121,124,126,127,128,130,131,133,134,135,136,137,138,141],instanc:[2,3,9,27,62,102,107,108,109],instant:20,instanti:87,instead:[7,11,12,24,94,96,103,109,111,112,113,114,115,116,120,123,124,125,126,129],instruct:[3,4,7,11,55,57,62,80,85,91,109,112,116,126,127,128,129,131,135,138,139],insuffici:20,insur:92,int16_t:[84,93],int32_max:27,int32_t:[84,93,107,108],int64_t:[84,93],integ:96,integr:[12,22],intend:[24,29,36,97],interact:[2,8,94,103,111,138],interconnect:9,interdepend:96,interest:[7,14,18,88,99,102,107,141],interfac:[4,18,21,30,31,98,100,101,109,113,115,124,127,128,131,137],intern:[7,20,87,88,109,125],internet:[7,12,21,100,110,133,136],interrog:125,interrupt:[84,88,125],interrupt_prior:125,interv:[20,27,29,92,127,131],interval_max:27,interval_min:27,intervent:91,intiat:88,introduc:[1,30,95,96],introduct:141,introductori:133,invalid:[20,84,104],invoc:[6,106],invok:[2,120,131],involv:[16,17,19,22,88,91],io_cap:27,iot:21,iotiv:126,ipsp:21,ipv6:21,irk:[19,27],isbuildcommand:12,ism:21,ismylaptop:[124,125],isn:[88,99],isol:88,isshellcommand:12,issu:[1,6,10,30,55,66,87,112,113,114,116,117,121,124,125],ist:93,ite_chr:104,item:[1,88,108],its:[7,10,11,18,19,20,55,61,85,87,88,91,92,94,95,96,98,99,102,104,105,106,107,108,117,118,124,129,135,141],itself:[26,61,92,96,112,124,125],jan:93,javascript:55,jira:10,jlink:[61,88,112,114,127,131,134],jlink_debug:61,jlink_dev:61,jlinkex:[112,114,117,125],jlinkgdbserv:[131,138],job:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,85,87,88,104],join:[3,97,141],json:[7,12,34,37,51,55,61,124],jtag:[4,38,42,47,109,112,113,115,131,137],jul:80,jump0:67,jumper:[8,115,124,125,137],just:[1,7,8,20,22,23,62,88,89,92,103,104,107,108,109,111,117,120,121,124,125],k30:[123,124],k64f:53,keep:[9,22,24,87,94,125],keg:[60,83],kei:[8,19,20,21,31,37,46,57,80,88,96,104,117,124,127],kept:85,kernel:[1,7,9,51,55,61,88,94,96,99,100,124,125,126,127,129,131],keyboard:[12,22,94],keyboarddisplai:27,keyboardonli:27,keychain:[57,80],keystor:27,keyword:[1,61,89,94,118,124,125],khz:[109,113],kick:[107,108],kilobyt:91,kind:[31,124,125,138],kit:[8,47,61,110,112,125,138,139,141],know:[1,8,12,30,61,94,95,104,105,107,108,110,111,124,125,136,141],known:[21,55,93,102],l13:112,l2cap:21,lab:32,label:[8,88,115,125],lag:106,languag:[11,12,55,91,124,125],laptop:[3,8,100,117,124,125],larg:[20,24,31,92],larger:31,las_app_port:117,las_app_tx:117,las_join:117,las_link_chk:117,las_rd_app_eui:117,las_rd_app_kei:117,las_rd_dev_eui:117,las_rd_mib:117,las_wr_app_eui:117,las_wr_app_kei:117,las_wr_dev_eui:117,las_wr_mib:117,last:[20,26,72,77,96,102,106,107,108,109,117,125,127,129,131],last_checkin:[77,134,137],latenc:27,later:[7,8,72,99,105,109,117,125,131,138,139],latest:[1,2,4,7,11,49,52,55,56,60,79,83,109,118,119,124,125],latter:20,launch:12,launchpad:4,law:[109,124,125,131,138,139],layer:[9,20,21,90,91,96,101,125,141],layout:[91,137],lcheck:124,ld4:113,ldebug:95,ldflag:50,ldr:115,lead:[87,105,125],learn:[7,26,61,110,133],least:[22,111,117,125,141],led1:114,led:[1,7,61,88,91,92,100,109,110,111,112,113,114,115,116,124,125,127,134,137,141],led_blink_pin:[88,92,111],left:[84,92,115,123,131,141],legaci:[30,96],len:[104,117,124],length:[20,21,27,88,94,104,117],less:[87,106,107,108],lesson:141,let:[4,8,55,88,99,101,102,103,104,105,106,107,108,111,115,118,119,123,124,125,131],level:[1,2,9,14,18,20,23,27,29,30,31,32,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,88,95,96,97,103,104,107,108,109,113,117,119,123,124,125],level_list:72,leverag:[98,125],lflag:[1,50,61],lib:[1,4,45,53,55,82,94,95,96,124,125],libc6:6,libc:[7,88],libc_baselibc:115,libftdi1:4,libftdi:4,libg:48,libgcc:48,libhidapi:4,librari:[1,4,48,50,55,58,81,88,89,91,94,99,118,119,124,125,126],libusb:4,libusb_error_access:113,libusb_open:113,licens:[4,7,11,55,61,99,109,113,115,116,118,124,125,131,138,139],lieu:66,life:[24,107],light:[9,31,110,113,114,115,116,126,127,134,137],lightblu:[103,123,125],like:[2,3,5,8,12,31,55,58,59,62,81,82,87,88,91,94,99,109,113,115,118,124,125,126,128,129,131,133,137,138,139],likewis:62,limit:[3,20,27,29,92,102,107,124,125,138],line:[2,6,7,12,36,38,39,47,62,88,94,100,106,111,113,114,118,120,124,125,126,127,131,138],linearacc:127,lines_queu:94,link:[2,3,7,20,21,22,27,34,38,42,60,61,81,83,85,96,97,99,100,103,108,109,111,112,113,114,115,116,117,124,125,127,131,134,135,137,138,139,141],linker:[1,61,89,99,115],linkerscript:[61,88],linux:[5,7,9,12,56,66,78,79,100,109,111,112,113,115,116,127,134,135,136,137],liquid:125,lis2dh12:131,lis2dh12_0:131,lis2dh12_onb:131,list:[3,6,7,8,12,22,27,29,34,35,48,50,51,53,57,59,61,66,71,72,73,75,76,77,78,80,85,88,89,90,92,94,96,97,99,102,105,106,109,110,111,112,113,114,115,116,117,118,119,124,125,129,134,135,137,141],listen:[2,14,30,31,66,102],listener_cb:131,lit:100,littl:[6,20,23,99,106,117,119,124],live:[105,106,109,118,119],lma:115,lmp:20,load:[2,4,5,7,12,34,39,43,47,55,57,58,59,61,88,103,110,111,117,119,123,124,125,138,139],load_arduino_blinki:12,load_arduino_boot:12,loader:[43,50,88,94,109,112,113,114,116,127,134,135,137],local:[1,4,6,7,10,11,20,27,28,36,40,49,55,58,60,71,81,83,89,92,93,102,109,129],localhost:[66,131,138],locat:[1,8,11,19,31,61,88,106,111,115,118,124,127,134,135,137],lock:[9,87],log:[1,7,10,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,64,65,66,67,68,69,70,71,73,74,75,76,77,78,80,81,82,95,96,99,109,112,113,115,116,124,125,129,131,135,138],log_fcb:96,log_init:96,log_level:[50,96],log_nam:72,log_newmgr:95,log_newtmgr:[50,95,96],log_nmgr_register_group:96,logic:[1,21,23,29,117,124],login:120,loglevel:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,124],logxi:81,longer:[3,8,11,21,24,95,100,124,126],longrange_interv:27,longrange_pass:27,longrange_window:27,look:[8,24,55,61,88,90,92,94,102,104,105,106,119,121,123,124,125,129,131,141],lookup:[104,131],loop:[87,92,96,99,111,123,124,125],lora:117,lora_app_shel:117,lora_app_shell_telee02:117,lora_app_shell_telee0:117,lora_mac_timer_num:117,lose:26,loss:[26,29],lot:[7,95,102,125],low:[9,20,21,22,31,84,88,104,107,108,109,110,113,141],lower:[20,84,86,87,92,95,96,101,111,115],lowest:[73,85,96],lowpow:127,lrwxr:[4,81],lst:[34,55,61],ltbase:96,ltd:27,ltk:27,ltk_sc:27,ltrequir:96,luckili:124,m32:6,m4g:127,mac:[3,5,7,9,12,20,55,56,78,79,100,103,109,111,112,113,115,116,117,123,125,127,134,135,136,137],machin:[2,3,7,8,89,100,141],maco:[4,66],macro:[20,88,96,106,125],made:[2,10,11,20,55,71,84,92,117,125],mag:127,mag_rev:127,maggyro:127,magic:61,magnet:127,mai:[2,4,6,7,8,12,22,27,29,30,31,51,53,57,58,62,80,81,82,87,88,91,94,95,96,99,100,109,111,112,113,114,115,116,117,118,124,125,127,131,134,137,138],mail:[3,10,97,99,110,125,141],main:[7,12,26,31,57,61,77,80,87,90,92,94,96,99,102,107,108,109,112,113,114,115,116,123,124,125,127,134,135,137],maintain:[4,49,85,96,118,119],major:[55,61,91,108,118,119],major_num:[118,119],make:[1,2,3,7,8,9,19,20,21,24,30,31,33,55,57,63,71,85,88,98,99,100,102,104,105,107,108,109,111,115,117,118,123,124,125,126,131,141],malloc:[88,125],man:[6,27],manag:[6,8,16,17,21,27,31,39,45,57,58,59,61,64,66,68,71,72,73,76,77,80,81,82,87,88,89,91,94,96,111,112,119,127,131,134,136,137,141],mandatori:[20,88,106,107,108],mani:[20,31,55,61,88,90,104,109,118],manifest:[34,37,43,55,61,124],manipul:[1,39,45],manner:[27,29,87],manual:[21,25,60,83,87,92,109,115,131,137,138,139],manufactur:[19,27,29,39,43,57,58,59,66,102,109],map:[2,3,8,20,27,28,61,91,95,96,104,111,118,119,127,134,137,138],mar:[93,112,114,117,125,131],march:68,mark:[27,28,71,88,115],marker:88,market:[31,114],mask:[27,129,131],mass:[100,113],mass_eras:[112,113],master:[1,7,11,27,56,57,59,60,79,80,82,83,109,118,119],match:[2,7,20,88,89,91,109,113,118,119],matter:10,max_conn_event_len:27,max_ev:27,maxim:9,maximum:[21,27,29,94,138],mayb:[138,139],mb_crc:124,mb_crc_check:124,mb_crc_tbl:124,mbed:[112,116],mbedtl:[7,109,112,114,116,134,135,137],mblehciproj:100,mbuf:[87,128],mcu:[7,9,53,89,109,112,131],mcu_sim_parse_arg:[111,131],mdw:115,mean:[2,12,20,93,96,106,113,119,124,125],meant:1,measur:[9,117],mechan:[1,22,87,96,118,120,124,125],medic:[21,55],meet:[100,109,110,112,113,114,115,116,127,129,130,131,133,134,135,136,137],mem:[7,96],member:[84,94,102,104],memcpi:104,memori:[9,20,48,73,87,88,91,95,104,115,117,135,138],mempool:[64,80,81,82,124],memset:[102,105,108,125],mention:[12,125],menu:[12,59,113,115,137],merchant:4,mesh:32,messag:[2,4,22,31,42,57,58,59,75,94,109,113,117,124],messi:125,messsag:62,met:20,meta:[8,127],metadata:43,meter:21,method:[25,92,104,118],mfg:[7,39,57,58,59,70,96],mfg_data:29,mfg_init:96,mgmt:[7,94,95,96,124,125],mgutz:81,mhz:[21,24],mib:[55,81,117],mic:20,micro:[55,109,110,112,114,115,117,125,127,133,134,136,137,138,139],microcontrol:[9,115,137],microsecond:[24,84],microsoft:12,mid:[14,113],middl:[27,125],might:[1,2,18,20,61,88,91,94,95,99,101,102,107,108,109,113,118,119,121,131,138,139],migrat:96,milisecond:27,millisecond:[27,93,117],millivolt:125,min:[72,73,135],min_conn_event_len:27,mind:99,mingw32:59,mingw64:59,mingw:[4,7,8,12,56,82,111,127,134,137],mini:113,minicom:[8,111,124,127],minim:[88,99],minimum:[27,29,72,99],minor:[108,118,119],minor_num:[118,119],minut:[81,107],mip:[7,61],mirror:[1,10,11,118,124,125],misc:127,mislead:6,mismatch:20,miss:[20,57,88,95,99,110,125],misspel:95,mitm:27,mkdir:[11,43,80,82,88,109,112,113,114,115,116,117,118,124,125],mlme:117,mman:57,mn_socket:7,mobil:31,mod:[30,103],modbu:124,mode:[9,20,22,27,29,102,109,113,115,127],model:[21,22,32,112],modern:8,modif:[11,126],modifi:[6,62,88,124,125,130,133],modul:[72,84,86,87,111,117,137],module_list:72,modulo:93,moment:[104,119],mon:[109,112,113],monitor:[94,115,126,133,141],monolith:106,more:[1,4,7,9,10,12,20,21,22,29,30,34,35,39,43,51,53,57,58,59,61,62,64,80,81,82,85,87,88,92,93,96,99,102,106,107,108,109,111,112,117,119,123,124,125,127,131,134,137,138,141],most:[1,8,14,19,21,23,24,25,61,88,89,92,95,102,123,124,125,127,129,131],mostli:[6,9,107,108],motor:9,mount:125,move:[8,45,57,58,59,81,84,87,111,115,125,126,128,131],mpool:117,mpstat:[64,78,80,81,82,135],msdo:88,msec:27,msg_data:27,msp:[109,115],msy:59,msys2:56,msys2_path_typ:59,msys64:59,msys_1:[73,135],msys_1_block_count:[126,128],msys_1_block_s:[126,128],mtu:[20,27,28,103],much:[88,124],multi:[1,9,50,62,91,92],multilib:[6,7,57],multipl:[4,23,27,29,34,35,50,51,55,87,96,102,106,107,118],multiplex:21,multiplexor:91,multitask:87,must:[1,2,4,5,7,8,9,11,12,14,22,24,25,33,37,41,46,53,55,57,59,61,63,66,68,71,80,84,86,87,88,91,92,94,95,96,99,102,104,111,114,115,117,118,119,124,125,127,128,129,130,131,134,137,138],mutex:[87,92],my_blinki:50,my_blinky_sim:[7,34,35,43,55,61,99,100,112,113,124],my_blocking_enc_proc:20,my_config_nam:96,my_driv:[124,125],my_new_target:50,my_newt_target:50,my_proj1:99,my_proj:99,my_project:[1,109,118,125],my_result_mv:125,my_sensor:131,my_sensor_devic:131,my_sensor_poll_tim:131,my_stack_s:92,my_target1:62,my_task:92,my_task_func:92,my_task_pri:92,my_task_prio:92,my_task_stack:92,myadc:125,myapp1:138,myapp_console_buf:94,myapp_console_ev:94,myapp_init:94,myapp_process_input:94,mybl:[34,35,46,50,66,73,76,77],myble2:[37,38,100],myblehostd:66,mybleprph:66,mybletyp:66,myboard:[45,88],myboard_debug:88,myboard_download:88,mycor:71,mylora:117,mymcu:90,mymfg:70,mynewt:[1,3,4,5,6,11,13,20,21,25,30,32,37,38,39,43,44,50,51,53,55,56,57,59,60,61,62,71,78,79,80,82,83,86,92,93,95,96,97,98,100,101,103,107,108,109,110,111,112,113,114,115,116,117,119,123,124,125,127,130,131,134,135,136,137,138,139,141],mynewt_0_8_0_b2_tag:[118,119],mynewt_0_8_0_tag:118,mynewt_0_9_0_tag:118,mynewt_1_0_0_b1_tag:118,mynewt_1_0_0_b2_tag:118,mynewt_1_0_0_rc1_tag:118,mynewt_1_0_0_tag:118,mynewt_1_3_0_tag:[57,59,80,82],mynewt_arduino_zero:[109,118],mynewt_nord:125,mynewt_v:[94,96,125],mynewt_val_:96,mynewt_val_log_level:96,mynewt_val_log_newtmgr:96,mynewt_val_msys_1_block_count:96,mynewt_val_msys_1_block_s:96,mynewt_val_my_config_nam:96,mynewtl:126,mynewtsan:75,myperiph:103,myproj:[2,7,12,88,109,111,112,113,114,115,116,118,124,126,127,131,139],myriad:9,myseri:[73,76,77],myserial01:66,myserial02:66,myserial03:66,myudp5683:66,myvar:65,n_sampl:127,name1:50,name2:50,name:[1,2,4,7,8,10,11,12,20,21,27,29,34,35,37,38,42,43,44,45,47,48,50,51,53,55,57,58,59,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,88,89,90,93,94,95,99,102,104,106,107,108,109,111,112,113,114,115,116,118,119,120,124,125,126,127,128,131,134,135,137,138],name_is_complet:102,name_len:102,namespac:107,nano2:[43,53,88,116],nano2_debug:[88,116],nano:[110,141],nanosecond:84,nativ:[2,3,7,12,43,50,53,55,59,61,66,95,96,100,112,113,124,125,135,141],natur:88,navig:[10,141],ncheck:124,nding:106,ndof:127,ndof_fmc_off:127,nearest:112,neatli:102,necessari:[6,24,39,47,57,58,59,99,104,109,117,125],need:[4,5,6,7,8,9,10,11,12,14,23,24,32,43,50,52,55,57,58,59,60,61,64,66,80,81,83,84,87,88,90,91,92,94,95,96,99,100,102,104,105,106,107,108,109,111,112,113,114,115,116,119,120,123,126,128,131,134,135,137],neg:[93,106],net:[4,7,24,51,96,99,100,104,106,124,125,126,128,130],network:[1,9,23,27,31,32,55,87,117],never:[19,87,92,96,99,104],new_bletini:45,new_slinki:45,newer:6,newest:95,newli:[1,10,19,43,100,107,108,118],newlin:94,newt:[1,3,5,6,7,13,32,56,61,62,73,76,77,80,81,82,83,87,88,89,91,95,96,98,99,100,103,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,124,125,126,127,128,129,131,133,134,135,136,137,138,139,141],newt_1:[57,60],newt_1_1_0_windows_amd64:60,newt_1_3_0_windows_amd64:59,newt_group:2,newt_host:2,newt_us:2,newtgmr:[81,82,83],newtmgr:[1,7,9,13,57,58,59,63,64,78,79,94,95,96,124,125,136,141],newtmgr_1:[80,83],newtmgr_1_1_0_windows_amd64:83,newtmgr_1_3_0_windows_amd64:82,newtron:[95,96],newtvm:11,next:[7,8,24,30,71,77,82,84,85,94,96,99,102,106,107,108,109,112,115,119,123,124,125],next_checkin:[77,134,137],next_t:84,nff:[7,95,96],nffs_flash_area:[95,96],nice:123,nil:67,nim:106,nimbl:[7,23,24,26,29,66,96,98,101,102,103,104,105,106,124,125,126,128],nmgr_shell:[94,96],nmgr_shell_pkg_init:96,nmxact:11,no_of_sampl:127,no_rsp:28,no_wl:[27,30],no_wl_inita:27,node:[21,32,55],nodup:27,nogdb:[38,47],noinputnooutput:27,non:[7,18,19,21,24,27,31,32,96,107,108,117,118,131],none:[4,7,8,12,20,27,30,82,88,109,113,117,125,131,138,139],nonzero:105,nor:22,nordic:[23,88,112,114,124,125,127,131,136,141],nordicsemi:[112,114,117,125,131],normal:[2,123,127],notat:[55,115],note:[1,2,4,6,7,10,11,12,21,22,23,24,29,32,43,47,50,57,58,59,60,61,66,68,71,80,81,82,83,84,87,88,89,92,94,95,96,99,100,102,104,106,107,108,109,111,112,113,114,115,116,117,118,119,120,124,126,127,128,129,131,133,134,135,137,138,141],noth:[11,107,108,124,125],notic:[7,11,55,61,87,88,99,119,123,124,125],notif:[10,27,28,94,101,123],notifi:[10,28,105,106],notnul:96,nov:8,now:[2,8,9,59,84,88,92,99,101,102,103,105,106,107,108,109,112,117,118,123,124,125,127,131,135,138,139],nreset:109,nrf51:[24,53,88],nrf51dk:53,nrf52840pdk:32,nrf52:[4,24,61,88,100,110,111,112,117,124,126,128,131,136,138,139,141],nrf52_adc_dev_init:125,nrf52_bleprph_oic_bno055:126,nrf52_blinki:[111,114,116,138],nrf52_bno055_oic_test:[126,128],nrf52_bno055_test:[127,129],nrf52_boot:[100,114,125,126,127,128,134],nrf52_hal:88,nrf52_slinki:134,nrf52dk:[37,38,53,61,62,88,96,99,100,103,111,114,125,126,127,128,134],nrf52dk_debug:[61,88,111],nrf52dk_download:88,nrf52k_flash_dev:88,nrf52pdk:[100,114],nrf52serial:134,nrf52xxx:[48,88,112,131],nrf5x:24,nrf:[25,125],nrf_drv_saadc:125,nrf_drv_saadc_config_t:125,nrf_drv_saadc_default_channel_config_s:125,nrf_drv_saadc_default_config:125,nrf_saadc_channel_config_t:125,nrf_saadc_gain1_6:125,nrf_saadc_input_ain1:125,nrf_saadc_reference_intern:125,nrf_saadc_typ:125,nrpa:[19,107,108],nsampl:127,nsec:84,ntick:84,ntrst:109,nucleo:53,number:[1,8,9,10,22,27,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,60,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,83,84,86,87,88,93,95,96,100,106,107,108,109,111,115,117,118,119,123,124,125,127,128,134,137,138],numer:[20,22,85,88],nvm:109,objcopi:6,objdump:6,object:[4,11,48,55,61,81,84,87,88,91,92,105,127,130],objsiz:[6,48],observ:[14,27,100,130],obtain:[27,92,118,124,125],obvious:53,oc_add_devic:126,oc_add_resourc:126,oc_app_resourc:[126,128],oc_get:126,oc_if_rw:126,oc_init_platform:126,oc_main_init:126,oc_new_resourc:126,oc_put:126,oc_resource_bind_resource_interfac:126,oc_resource_bind_resource_typ:126,oc_resource_set_default_interfac:126,oc_resource_set_discover:126,oc_resource_set_periodic_observ:126,oc_resource_set_request_handl:126,oc_serv:[126,128,130],occur:[26,27,93,95,104,105,107,108],occurr:96,ocf_sampl:[7,61],oct:124,octet:[27,29,31],off:[2,20,21,31,32,91,92,94,99,100,107,108,111,115,126,128,129,130,131,133,141],offer:[1,21,125],offset:[20,28,71,88,93,95,96,127],often:[9,55,88],ohm:125,oic:[7,51,66,131,141],oic_bhd:66,oic_bl:66,oic_seri:66,oic_udp:66,oic_udpconnstr:66,oicmgr:[7,66],old:45,older:[59,82,113],oldest:95,olimex:[110,124,136,141],olimex_blinki:115,olimex_stm32:[53,115,137],omit:[47,95],on_reset:26,on_sync:26,onboard:[129,133,138,139,141],onc:[19,29,55,57,61,80,84,87,92,102,107,110,111,117,118,124,125],one:[1,4,7,8,10,11,12,19,20,21,22,23,27,29,30,31,34,35,39,43,45,50,51,53,57,58,59,61,67,85,87,88,91,92,94,95,96,99,100,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,123,124,125,127,133,134,137,141],ones:[14,100,141],ongo:27,onli:[1,2,7,8,10,11,12,14,19,20,24,27,29,31,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,60,61,62,66,72,80,83,84,86,87,88,91,94,95,96,97,102,104,107,109,111,117,118,119,120,124,125,126,127,130,131,135],onlin:[109,131,138,139],onto:[1,20,42,43,47,88,110,112,113,114,115,116,123,124,127,134,137],oob:[20,27,29],opaqu:131,open:[4,8,9,10,12,20,21,38,39,47,55,57,58,59,61,91,107,109,112,113,115,116,124,129,135],openocd:[12,88,109,112,113,115,116,137],openocd_debug:[112,124],oper:[1,9,12,15,18,20,21,26,31,39,57,58,59,84,87,91,93,94,96,97,99,100,104,105,106,107,108,109,117,119,120,123,124,127,131],oppos:[31,120],opt:4,optim:[1,24,32,37,38,43,50,61,88,89,99,100,103,109,112,113,114,115,116,117,124,125,127,131,134,137],optimis:31,option:[2,3,4,6,7,8,12,22,23,27,36,37,46,51,55,62,66,72,84,88,95,96,99,100,106,109,113,115,117,118,119,124,125,127,137],orang:[112,116],order:[1,8,9,22,33,55,61,63,85,92,95,96,117,119,121,124,125,131,138,139],org:[1,4,10,11,39,57,58,59,61,80,82,94,107,109,112,113,115,116,124,125,131,138,139],organ:[11,118],origin:[11,46,88,115,124],os_align:84,os_arch:[61,93],os_arch_ctx_sw:85,os_bsp_adc0:125,os_bsp_adc0_config:125,os_callout:[61,111,131],os_callout_init:[111,131],os_callout_reset:[111,131],os_cfg:61,os_cli:96,os_cputim:61,os_cputime_delay_nsec:[84,86],os_cputime_delay_tick:[84,86],os_cputime_delay_usec:[84,86],os_cputime_freq:24,os_cputime_get32:[84,86],os_cputime_init:[84,86],os_cputime_nsecs_to_tick:[84,86],os_cputime_ticks_to_nsec:[84,86],os_cputime_ticks_to_usec:[84,86],os_cputime_timer_init:[84,86],os_cputime_timer_num:[24,86],os_cputime_timer_rel:[84,86],os_cputime_timer_start:[84,86],os_cputime_timer_stop:[84,86],os_cputime_usecs_to_tick:[84,86],os_dev:[61,125,129],os_dev_clos:129,os_dev_cr:125,os_dev_init_kernel:125,os_dev_init_prio_default:125,os_dev_open:[125,129],os_error_t:84,os_ev:[94,111,131],os_eventq:[61,94,123,124,125],os_eventq_dflt_get:[26,87,92,94,96,107,108,111,129,131],os_eventq_dflt_set:124,os_eventq_init:[94,123,124],os_eventq_put:94,os_eventq_run:[26,87,92,96,107,108,111,124,129,131],os_exit_crit:84,os_fault:61,os_get_return_addr:84,os_get_uptime_usec:[84,93],os_gettimeofdai:[84,93],os_heap:61,os_idle_prio:84,os_info_init:84,os_init:[84,92],os_init_idle_task:84,os_main_stack_s:84,os_main_task_prio:[84,96],os_main_task_stack_s:96,os_malloc:61,os_mbuf:61,os_mbuf_append:[123,125],os_mempool:61,os_mutex:[61,84],os_mutex_releas:84,os_ok:84,os_pkg_init:96,os_san:61,os_sanity_check:84,os_sch:[61,84,85],os_sched_ctx_sw_hook:[84,85],os_sched_get_current_task:[84,85],os_sched_insert:[84,85],os_sched_next_task:[84,85],os_sched_os_timer_exp:[84,85],os_sched_remov:[84,85],os_sched_resort:[84,85],os_sched_set_current_task:[84,85],os_sched_sleep:[84,85],os_sched_wakeup:[84,85],os_sched_wakeup_tick:84,os_sem:[61,87,124],os_sem_init:[87,124],os_sem_pend:[87,124],os_sem_releas:[87,124],os_settimeofdai:[84,93],os_stack_align:[123,124,125],os_stack_t:[84,92,123,124,125],os_start:[84,92],os_stime_t:84,os_sysview:139,os_task:[61,84,87,92,123,124,125],os_task_count:84,os_task_flag_evq_wait:84,os_task_flag_mutex_wait:84,os_task_flag_no_timeout:84,os_task_flag_sem_wait:84,os_task_func_t:84,os_task_info:[84,92],os_task_info_get_next:[84,92],os_task_init:[84,87,92,123,124],os_task_list:84,os_task_max_name_len:84,os_task_obj:84,os_task_pri_highest:[84,92],os_task_pri_lowest:84,os_task_readi:84,os_task_remov:84,os_task_sleep:84,os_task_st:84,os_task_stailq:84,os_task_state_t:84,os_test:61,os_tick_idl:[109,112,131],os_ticks_per_sec:[93,111,123,124,125,131],os_tim:[61,84],os_time_adv:[84,93],os_time_delai:[84,92,93,123,125],os_time_get:[84,93],os_time_max:84,os_time_ms_to_tick:[84,93],os_time_t:[84,93],os_time_tick_geq:[84,93],os_time_tick_gt:[84,93],os_time_tick_lt:[84,93],os_timeout:124,os_timeout_nev:[84,87,129,131],os_timeradd:[84,93],os_timersub:[84,93],os_timev:[84,93],os_timezon:[84,93],os_wait_forev:[84,87,92,123,124],ostick:84,otg1:115,otg2:[115,137],other:[1,6,10,11,20,22,24,29,31,50,55,61,84,87,88,89,92,93,94,96,99,100,101,102,104,105,109,110,111,112,118,123,125,126,127,128,131,133,138,139],otherwis:[87,92,118,119],oti_cswcnt:84,oti_last_checkin:84,oti_nam:84,oti_next_checkin:84,oti_prio:84,oti_runtim:84,oti_st:84,oti_stks:84,oti_stkusag:84,oti_taskid:84,oui:[19,117],our:[20,55,88,99,102,107,108,110,111,119,123,124,125,134,137],our_id_addr:[30,103],our_id_addr_typ:103,our_key_dist:27,our_ota_addr:[30,103],our_ota_addr_typ:[30,103],out:[8,9,11,20,21,22,23,26,27,61,80,81,82,90,94,99,101,103,107,108,110,115,124,136],out_id_addr_typ:30,out_tick:84,outdat:58,outfil:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,124],outlin:5,output:[1,7,12,21,22,27,30,34,35,37,38,39,40,41,42,43,44,45,46,47,49,50,51,52,54,57,58,59,62,69,73,75,76,77,81,88,92,95,109,111,112,113,115,116,117,124,127,131,135,138],outsid:[20,21],over:[20,21,22,23,27,29,31,65,66,67,68,69,70,71,72,73,74,75,76,77,104,110,111,113,117,123,124,126,127,128,130,133,136,138,141],overal:[10,24],overlap:20,overrid:[50,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,88,100],overridden:[23,96,100],oversampl:125,overview:[127,128,131],overwrit:[6,49,50,59,60,82,83,88,94,109],own:[2,11,19,20,39,57,58,59,61,87,91,92,98,99,124,125],own_addr_t:[107,108],own_addr_typ:[27,66,107,108],owner:120,ownership:[124,125],pacakg:99,pacif:93,pack:[4,55,81,112,114,127,131,134],packag:[6,9,11,23,24,26,34,39,40,41,43,45,50,51,52,53,55,56,58,59,60,79,83,87,89,92,100,110,111,112,117,118,119,125,128,129,130,141],packet:[20,21,27,29,107,117],pacman:[7,59],page:[1,4,5,6,7,8,10,20,22,57,58,60,80,81,83,88,99,101,105,107,108,110,125],pair:[20,21,22,27,66,96,103,105],panel:12,param:[27,105],paramet:[1,20,26,27,28,30,61,66,72,84,93,96,102,104,105,106,107,108],parameter_nam:96,parameter_valu:96,parlanc:11,parmaet:27,parmet:[27,28],pars:[55,107],part:[22,29,90,102,103,106,124,125,130],parti:[107,109],partial:[64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82],particular:[4,20,47,61,87,88,91,94,105,107,108],partit:[20,88],pass:[1,7,12,20,27,61,84,94,102,106,107,108,125,131],passiv:27,passkei:[20,22,27],password:[11,58,80,100,120],past:[20,125],patch:[112,113,116],path:[2,4,6,11,12,29,50,57,58,59,60,61,66,80,81,82,83,88,89,96,118,124,125],pathloss:29,pattern:[27,88],pc6:137,pc7:137,pca100040:100,pca:[114,125],pcb:124,pdf:137,pdt:93,pdu:[20,27],peer:[10,22,28,66,104,106,107,108],peer_addr:[27,30,66,102],peer_addr_typ:[27,30,66,102],peer_id:66,peer_id_addr:103,peer_id_addr_typ:103,peer_nam:66,peer_ota_addr:103,peer_ota_addr_typ:103,pem:[37,46],pencil:10,pend:20,per:[11,19,119,124],perform:[3,4,5,9,11,12,20,22,25,27,36,57,58,59,64,80,81,82,84,87,88,92,94,96,104,109,111,112,117,119,123,124,125,126,127,128,131],perhap:118,period:[9,19,22,27],peripher:[9,20,21,24,26,29,30,88,91,98,99,102,105,106,107,123,124,125],perman:[71,102,105],permiss:[124,125],permit:[20,106,109,131,138,139],pertain:105,phone:[22,31],php:55,phy:[21,27],phy_opt:27,physic:[21,27,29,66,94],pick:[85,87,107,108],pictur:112,pid:113,piec:[21,88,124],pin:[7,8,20,88,91,92,111,112,115,117,124,125,127,131,137],ping:87,pinout:90,piqu:141,pkg1:95,pkg2:95,pkg:[1,7,11,39,43,50,53,55,57,58,59,61,89,90,94,95,96,99,111,124,125,126,131],pkg_init_func1_nam:96,pkg_init_func1_stag:96,pkg_init_func2_nam:96,pkg_init_func2_stag:96,pkg_init_func:96,pkg_init_funcn_nam:96,pkg_init_funcn_stag:96,pkga_syscfg_nam:96,pkga_syscfg_name1:96,pkga_syscfg_name2:96,pkgn_syscfg_name1:96,pkt:124,place:[3,55,61,96,99,100,106,107,108,115,119,124,133],plai:[12,21,133],plain:[113,119],plan:2,platform:[2,7,9,11,12,23,24,57,58,59,66,80,81,82,87,88,89,91,99,109,111,112,113,115,116,124,125,127,134,135,136,137],pleas:[39,57,58,59,89,90,109,110,118,125,131,138,139],plenti:124,plist:61,plug:[8,115,116,124,125],plumb:123,pmode:127,point:[2,4,6,31,85,88,90,92,94,99,104,105,107,108,124,125,126],pointer:[67,84,85,88,92,93,94,104,105],poke:125,polici:[27,118],poll:[87,127,131],poll_du:127,poll_dur:127,poll_interv:127,poll_itvl:127,poller:131,pong:87,pool:[73,80,87,117,128,135],popul:[1,7,12,50,62,93,110,133,136,141],port:[2,12,66,87,94,100,109,111,112,113,114,115,116,124,127,131,134,135,136,137,141],portingto:89,portion:[123,125],posit:[93,115],posix:59,possibilti:[138,139],possibl:[21,22,24,27,28,30,32,36,53,93,106,118,127,138],post:[49,99],potenti:[91,119],pour:[58,81],power:[2,9,20,21,22,27,29,31,55,88,91,94,100,109,114,115,117,126,127,128,129,131,134,137],ppa:4,pre:[4,9,118,119],precaut:104,preced:23,precis:[6,20],preempt:[87,92],preemptiv:[87,92],prefer:[3,27,29,104,124],preference0x01:27,prefix:[61,96,125],prepar:[20,112,114,117,125],prerequisit:12,presenc:[88,102,107,108,118],present:[1,88,94,100,115,125],press:[8,12,99,124,127,139],presum:117,pretti:125,prev_ind:105,prev_notifi:105,prevent:[87,104],previ:[103,105],preview:[100,114],previou:[21,56,57,58,59,78,79,80,81,82,95,96,99,100,111,118,123],previous:[6,12,57,58,59,60,80,81,82,83,103,121,125,127],prevn:[103,105],pri:[77,124,134,137],primari:[27,88,106,108,123],primary_phi:27,primo:[110,123,124],primo_boot:112,primo_debug:112,primoblinki:112,print:[48,57,58,59,62,94,95],prior:[22,24,49,87,117],prioriti:[77,84,85,87,92,96,100,125,141],priv:27,privaci:[19,21,27],privat:[19,22,32,37,46,57,66,80,107,108],privileg:2,pro:[109,112],probabl:[7,88,101,120,124],probe:[112,131],problem:[7,95],proce:[3,6,11,109,112,113,114,115,116,124,134,137],procedur:[6,11,16,19,20,22,27,28,64,75,80,81,82,127,130],proceed:[7,101,107,108],process:[3,6,9,10,20,22,26,27,31,61,85,88,92,94,96,107,108,126,129,130,131,138,139],processor:[4,9,92,109,115,131,138,139],produc:113,product:[55,91,100,124,137],profil:[14,15,16,17,21,27,28,31,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,99,109,134,136,137],profile01:[65,67,68,69,70,71,72,73,74,75,76,77],profile0:77,program:[4,6,8,12,23,85,94,109,111,112,114,117,125],programat:94,programm:[113,138,139],programmat:131,progress:[7,20,98],project:[3,6,8,11,33,34,39,40,41,44,49,50,52,55,57,58,59,61,63,92,94,103,120,121,126,127,131,132,133,138,141],prompt:[7,8,11,12,47,58,59,88,99,109,111,112,113,114,115,116,124,127,131],prone:106,proper:125,properli:[24,61,87,100,104,123,124,125],properti:[12,19,31,59,88,101,112],propos:10,propper:124,protect:22,protocol:[14,20,21,28,61,66,128,130,133,136],prototyp:[91,96,107,108],provid:[1,2,7,9,11,12,19,20,21,22,27,30,31,37,39,45,50,57,58,59,66,70,71,72,75,80,86,87,88,90,91,93,94,97,101,107,108,109,117,118,119,124,125,130],provis:[21,32],provision:31,proxi:[21,31],pseln:125,pselp:125,psm:27,psp:[109,113],pst:[68,93],pth:115,public_id:27,public_id_addr:30,public_target_address:29,publish:22,pull:[11,49,80,82,111,115],purpos:[4,22,50,55,88,104,117,125,131],push:10,put:[1,2,7,43,61,80,82,88,92,93,102,107,108,125],putti:[8,111,127],pwd:[2,11],pwm:9,pwr:[113,115],px4:4,python:[33,63],qualifi:104,qualiti:132,quat:127,queri:[9,19,50,55,57,58,59,61,62,102,127,135],question:99,queu:20,queue:[26,61,84,87,92,94,96,107,108,123,129,131,133,141],quick:[2,3],quickli:[93,125,127,130,131,133],quickstart:2,quiet:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,124],quit:[19,88,99,102,107,108,109,112,113,115,116,138],quot:66,radio:[21,24,100],raff:81,ram:[48,88,90,99,109,124,125,126],ram_siz:88,rand:27,random:[19,20,25,27,30,66,100,106,107,108,123],random_id:27,random_id_addr:30,randomli:19,rang:[9,20,21,29,117],rate:[66,94,100,117,127,130,131],rather:[14,20,88,125],raw:[11,57,58,59,80,81,82,94,96,125],rb_bletini:50,rb_blinki:[43,50],rb_blinky_rsa:43,rb_boot:43,rbnano2_blinki:116,rbnano2_boot:116,rdy:84,read:[4,6,7,11,12,14,18,19,20,23,27,28,55,61,64,65,68,73,76,77,80,81,82,94,96,103,105,106,107,108,109,110,113,116,117,118,123,124,125,126,127,128,130,133,136,138,139],read_acceleromet:131,read_cb:131,read_chr:104,read_rsp_rx:76,read_rsp_tx:76,read_sensor_interv:131,read_type_req_rx:76,read_type_req_tx:76,read_type_rsp_rx:76,read_type_rsp_tx:76,readabl:[100,120],readdesc:7,reader:[123,125],readi:[10,84,85,92,94,109,124,138],readm:[7,11,55,61,88,99],readnow:61,real:[1,7,9,87,94,97,99,106,131,138],realli:125,reason:[20,26,27,103,105,117,118],reassembl:21,rebas:11,reboot:[7,71,95,126,128],reboot_log:72,reboot_log_flash_area:[95,96],reboot_start:129,rebuild:[32,61,82,129],recal:[104,118],receiv:[10,14,20,27,29,31,55,81,94,102,105,106,113,117,131,134,137],recent:112,recip:6,recipi:29,recogn:[55,125],recommend:[3,4,7,12,57,58,80,81,94,95,96,102,106,112,116,127,133,138],reconfigur:129,reconnect:104,record:139,recreat:119,recurs:[55,61],red:[27,28,113,115,137],redbear:[110,141],redefin:95,redistribut:[55,109,118,131,138,139],reduc:[9,10,22,24,31],ref0:67,refer:[7,8,10,18,22,23,29,55,67,88,102,107,108,109,111,115,124,125,127,137],referenc:1,reflect:103,refrain:26,refresh:[2,49,109],refus:[131,138],regard:[124,125],regardless:41,region:88,regist:[23,75,85,89,96,104,106,124,125,131],registr:[17,104,131],reject:20,rel:[84,87],relai:[21,31],relat:[10,27,31,43,102,105,109,117,131,138,139],relationship:27,releas:[3,4,7,31,49,56,78,79,87,96,109,118,119],release_not:[7,11],relev:90,reli:[1,7,55,96],reliabl:[21,107,108,119],remain:[88,104],remaind:[88,102,118],rememb:[2,41,80,82,109,123],remind:109,remot:[1,7,9,12,20,27,28,49,55,66,78,80,81,82,100,109,110,111,124,125,131,133,135,136,141],remov:[2,4,6,27,35,45,60,83,84,94,104,109,131],repeat:[2,11,20,104],repeatedli:29,replac:[4,6,88,90,96,109,111,123,134,137],repli:27,repo814721459:55,repo:[1,6,7,10,11,41,55,57,61,80,88,99,109,111,112,113,114,115,116,117,120,124,125,126,127,131,134,135,137,138,139],repop:7,report:[1,4,6,10,20,88,109,113,124,131,138,139],reposistori:7,repositori:[1,4,11,12,40,41,44,49,51,52,57,61,80,98,99,101,109,110,117,121,124,133,136,141],repres:[1,12,61,86,93,94,106],reproduc:[1,61,107,108],req_api:[61,94],request:[12,20,27,66,67,74,78,88,103,104,109,113,115,117,118,119,123,125,126,130,131,134,137],requir:[1,2,4,6,9,11,20,24,30,31,53,59,61,66,80,82,87,89,90,91,94,95,96,99,102,104,109,112,116,117,118,119,123,124,125,127,129,130,131,141],res:126,resch:84,reserv:[20,88,91,117],reset:[25,64,78,80,81,82,99,100,103,112,113,114,116,125,127,131,138,139],reset_cb:26,reset_config:109,reset_handl:[88,115],resid:[91,106,124],resign:[57,58,59],resist:125,resistor:125,resolut:[22,86,125],resolv:[1,19,20,22,27,32,55,66,81,95,107,108,118],resourc:[9,20,29,61,109,126,128,130,131,137,138,139],respect:93,respond:[17,25,102,104,106,123,124],respons:[15,20,28,29,69,85,87,94,102,104,124,130,134,135,137],rest:[1,46,61],restart:[2,109],restor:[112,114,117,125],restrict:[96,104,105],restructuredtext:10,result:[12,20,58,62,93,96,106,113,123,124,125],resum:[21,92,102,105],resynchron:49,retain:[96,105],retransmit:31,retri:[116,117],retriev:[57,80,93,99,133],reus:[55,81,96],reusabl:55,rev:127,revdep:[1,50,62],revers:[1,23,50,62,104,115],review:[10,102],revis:[4,127],revision_num:[118,119],revisit:[99,105],rfc:68,ribbon:[115,137],rigado:[48,114,125],right:[2,3,10,55,61,84,102,115,125],rimari:106,ristic:106,role:[20,21,30,31,104],root:[2,4,8,31,80,118],routin:[84,124],rpa:[19,27],rpa_pub:[27,66],rpa_rnd:[27,66],rsp:27,rssi:[27,29,100],rtc:9,rto:[55,87],rtt:[94,140,141],rtt_buffer_size_down:138,rubi:[11,55,58],rule:[96,113],run:[2,3,4,5,6,8,9,11,23,24,30,34,39,41,43,50,52,55,57,58,59,60,61,64,66,67,77,78,80,81,82,83,84,85,87,88,91,92,95,97,99,100,107,108,110,112,113,114,115,116,117,124,125,126,127,128,129,131,134,136,137,141],runner:12,runtest:7,runtim:[25,77,109,124,134,137],runtimeco:[57,58,59,80,81,82,109,118,125],rwx:88,rwxr:[80,82],rx_cb:94,rx_data:124,rx_off:124,rx_phys_mask:27,rx_power:27,s_st:131,saadc_config_irq_prior:125,saadc_config_oversampl:125,saadc_config_resolut:125,sad:131,sad_i:131,sad_x:131,sad_x_is_valid:131,sad_y_is_valid:131,sad_z:131,sad_z_is_valid:131,safeguard:87,safeti:104,sai:[61,92,109,118,119,124],said:125,sam0:109,sam3u128:[112,114,117,125,131],samd21:109,samd21g18a:109,samd21xx:109,samd:109,same:[6,10,12,22,29,34,37,47,51,59,61,78,88,89,94,95,96,102,104,105,110,112,114,117,118,119,120,125,126],sampl:[1,12,21,30,61,89,96,125,126,128,130,131,136],sample_buffer1:125,sample_buffer2:125,sample_target:53,saniti:[77,87,99],satisfactori:118,satisfi:119,save:[12,31,49,50,71,93,94,104],saw:105,sbrk:[88,112,113,114,115,116],sc_cmd:124,sc_cmd_func:124,scale:31,scan:[15,21,24,26,27,29,100,102,126,128],scan_interv:27,scan_req:27,scan_req_notif:27,scan_rsp:27,scan_window:27,scannabl:[27,30],scenario:22,scene:31,schedul:[9,24,87,91,92,93],schemat:[88,137],scheme:[19,29,88],scientif:21,scl:127,sco:20,scope:12,scratch:88,screen:[8,117],script:[7,42,61,115],scroll:[12,103],sda:127,sdk:[45,53,96],search:[12,89,99,109,115,118,126,131,138,139],sec:[127,131],second:[22,26,27,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,88,92,93,102,107,108,111,115,123,124,125,127,131],secondar:106,secondari:[27,71,88,106,124],secondary_phi:27,secret:[22,27],section:[1,5,6,7,11,12,14,24,25,29,30,61,87,88,92,95,96,98,102,105,106,109,110,118,119,125,133,135,136],sector:115,secur:[21,106,120,123],see:[2,4,5,6,7,8,10,11,12,21,22,23,24,33,36,43,55,57,58,59,61,63,64,66,80,81,82,87,88,91,92,95,96,99,100,102,103,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,123,124,125,126,127,128,130,131,133,134,136,137,138,139],seem:[102,125],seen:[118,141],segger:[94,112,114,117,125,127,131,134,140,141],segger_rtt_conf:138,segment:[21,126],sel:137,select:[4,12,19,21,55,59,109,111,112,113,115,126,128,137,139],self:[3,30,89,107,108],sema:124,semant:105,semaphor:[87,92,124],semi:124,send:[3,14,20,27,28,31,38,42,47,64,66,67,69,74,78,80,81,82,94,97,102,110,123,125,130,135,141],sender:102,sens:[20,125],senseair:[123,124],senseair_cmd:124,senseair_co2:[123,124],senseair_init:124,senseair_read:[123,124],senseair_read_typ:[123,124],senseair_rx_char:124,senseair_shell_func:124,senseair_tx:124,senseair_tx_char:124,sensi:126,sensibl:96,sensor:[9,31,141],sensor_accel_data:131,sensor_callout:131,sensor_cli:[127,128,131],sensor_cr:[127,129],sensor_ftostr:131,sensor_listen:131,sensor_mgr_find_next_bydevnam:131,sensor_mgr_wakeup_r:131,sensor_nam:127,sensor_o:[126,127,128,130,131],sensor_offset:127,sensor_oic_init:126,sensor_oic_obs_r:130,sensor_register_listen:131,sensor_set_poll_rate_m:131,sensor_shel:127,sensor_type_acceleromet:[129,131],sensor_type_eul:129,sensor_type_grav:129,sensor_type_gyroscop:129,sensor_type_linear_accel:129,sensor_type_magnetic_field:129,sensor_type_rotation_vector:129,sensor_type_t:131,sensor_unregister_listen:131,sensornam:[127,129,131],sensorname_ofb:127,sensors_o:128,sensors_test:[126,127,129,130],sensors_test_config_bno055:129,sent:[20,29,94,104,106,117],sentenc:62,sep:[4,81,82],separ:[20,26,34,35,50,51,66,104,107,108,109,112,113,115,116,117],seper:138,sequenc:[87,94],seri:[106,141],serial:[66,94,112,116,117,124,126,127,128,135,136],serv:[18,55,88,126],server:[12,14,18,20,21,27,31,106,117,123,126,128,130,131],servic:[16,17,21,27,28,29,31,87,91,97,102,103,104,105,119,124,126],service_data_uuid128:[27,29],service_data_uuid16:29,service_data_uuid32:[27,29],sesnor:131,session:[12,38,39,47,55,57,58,59,61,88,109,112,113,115,116,138],set:[1,2,7,8,9,10,12,19,20,23,24,27,28,29,31,32,34,36,37,39,50,53,55,56,58,59,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,79,81,82,84,86,91,92,93,94,100,103,104,107,108,109,110,112,113,114,115,116,117,118,119,120,123,125,127,128,130,131,133,134,136,137,138],setting1:95,setting2:95,settl:25,setup:[11,57,59,60,71,80,82,83,99,100,110,111,123,124,125,127,131,133,134,135,136,137],sever:[3,20,21,23,27,61,88,89,91,93,96,97,106,107,108,114,115,118],shall:[24,27,29],share:[4,22,87,118],shell:[1,7,8,21,30,55,59,80,91,94,95,96,110,117,123,124,126,127,128,133,138],shell_cmd:124,shell_cmd_argc_max:117,shell_cmd_regist:124,shell_evq:124,shell_init:96,shell_prompt_modul:111,shell_stack:124,shell_stack_s:124,shell_task:[95,96,111,124,127,131],shell_task_handl:124,shell_task_prio:124,shell_task_prior:95,shield:87,shift:[12,21],ship:6,shortcut:[12,124],shorten:102,shorthand:118,shortli:125,shot:117,should:[4,8,10,12,19,26,30,32,55,57,59,61,81,84,85,88,91,92,94,96,100,102,103,104,105,107,108,109,111,112,113,114,115,116,117,118,121,124,125,126,127,129,131,134,137,138,139],show:[1,4,5,6,7,8,11,12,27,28,31,36,39,40,43,50,53,57,58,59,60,61,62,72,80,81,82,83,92,94,95,96,97,100,106,109,110,111,112,113,114,115,116,117,123,124,125,126,127,128,129,130,131,133,134,135,137,138,139,141],shown:[6,7,12,43,55,61,87,104,109,112,114,117,118,120,123,125,127,129,131,135],sibl:[11,119],sid:27,side:[12,21,30,124],sierra:[58,81],sig:[20,29,31],sign:[6,10,37,46,47,57,58,59,80,100,110],signal:[20,21,26,29,92,105],signatuar:12,signatur:[27,46],signific:[19,117],significantli:31,silent:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,96,124],silicon:32,sim1:[134,135,137],sim:[6,7,61,89,124,134,136,137],sim_slinki:[95,135],similar:[1,8,12,87,88,100,117,123],simpl:[12,20,21,61,85,87,88,92,101,102,107,108,111,125,131,133],simplehttpserv:[33,63],simpler:[88,106],simplest:[134,137],simpli:[6,10,92,94,98,103,109,123],simplic:[107,108],simplifi:20,simul:[2,3,5,6,50,131,135],simultan:[27,29,30],sinc:[3,20,24,32,61,87,88,93,99,100,107,108,109,111,118,123,124,125,126],singl:[2,3,7,22,39,47,55,57,58,59,92,96,101,102,106,107,118],sit:[14,18],site:[101,112,116],situat:87,six:[22,23],size:[9,10,20,27,29,39,55,57,58,59,61,73,77,88,92,93,94,95,96,97,109,113,115,117,128],sizeof:[102,104,105,108,123,124,125],skelet:100,skeleton:[7,44,50,99,100,109,112,113,114,115,116,117,125,134,135,137],skip:[6,11,47,59,109,112,113,114,115,116,134,137],sl_arg:131,sl_func:131,sl_sensor_typ:131,slave:[27,29],slave_interval_rang:29,sleep:[9,84,85,92,93,111],slightli:91,slink:[134,135,137],slinki:[7,45,61,94,95,96],slinky_o:[7,61],slinky_sim:95,slinky_task_prior:95,slist_entri:84,slist_head:84,slot:[7,20,61,71,100,103,109,111,112,113,114,115,116,117,124,127,131,134,137,138,139],slower:[3,91],small:[20,24,94,106,113,124,125],smaller:109,smart:[21,31,55,61,124,130],smarter:119,smp:[20,21],snapshot:[43,112,116,119],snip:[1,36,43,55,61,99,100,125],snippet:104,soc:91,socket:2,soft:[64,80,81,82],softwar:[1,3,4,6,21,38,42,47,50,91,97,109,112,114,115,118,124,125,127,131,134,138],solder:124,solut:[55,107,108],some:[1,8,12,30,64,76,87,88,91,92,94,95,101,102,103,104,105,107,108,111,112,113,116,117,118,124,125,131,134,137,138,139,141],somebodi:124,somehow:61,someon:[10,85,125],someth:[20,99,100,120,138],sometim:[109,138],somewhat:87,somewher:125,soon:[21,119,125],sort:103,sourc:[1,4,9,21,24,50,56,58,60,61,79,81,83,91,96,101,109,112,113,115,118,119,125,131,133,137],space:[12,21,34,35,50,51,66,91,99,107,110,133,136,141],spec:20,specfi:127,special:[8,91,106,107,108,118,119,124,127],specif:[11,20,21,22,23,29,31,57,58,59,61,62,84,85,87,88,90,91,93,96,100,102,104,105,107,108,109,115,117,118,124,125,134,137],specifi:[1,4,6,7,11,12,20,27,30,34,35,37,39,41,43,45,46,50,51,53,55,57,58,59,61,65,66,67,68,69,70,71,72,73,74,75,76,77,86,88,91,93,94,95,99,102,104,105,106,107,108,109,114,115,118,119,120,125,127,130,131,134,137,138],spectrum:21,speed:[9,21,109,112,113,114,117,125,138],sphinx:[33,63],spi:[8,21,91],spitest:[7,61],split:[7,71,88,95,125,134,135,137],split_app:7,split_app_init:96,split_config:[134,135],split_elf_nam:61,split_load:96,splitti:[7,61,95],spot:88,spread:21,sram:115,src:[6,7,11,45,50,55,61,70,80,82,88,90,96,99,109,112,113,114,115,116,117,123,124,125,127,129,131,134,135,137],ss_op_wr:104,ssec:27,sstatic:123,st_cputim:131,st_ostv:131,stabil:[118,119],stabl:[1,7,57,58,80,81,118,119],stack:[1,9,18,21,24,26,27,30,55,77,85,87,92,96,98,99,100,101,102,104,105,106,117,124],staff:[80,81],stage:96,stailq_entri:84,stailq_head:84,stale:[2,109],standard:[7,21,31,93,102,107,108,117,123,124],standbi:21,start:[2,4,8,9,10,12,26,27,28,30,38,47,59,62,71,82,84,87,88,90,92,96,98,99,102,109,110,111,112,113,115,116,117,118,123,124,125,126,127,128,129,131,135,139,141],startup:[19,21,26,30,96,107,108],startup_stm32f40x:[113,115],stash:49,stat:[1,7,64,78,80,81,82,96,99,117,124,125,131,138],state:[6,21,26,31,52,55,84,85,88,93,109,115,119,121],statement:[11,96],statist:[1,48,64,73,76,77,80,81,82,117,134,135,137,138],stats_cli:[1,124],stats_module_init:96,stats_nam:[1,37,38,76],stats_newtmgr:[1,95,96],statu:[10,11,20,103,105,107,109,117,124,134,135,137],stdio:125,step:[2,4,6,7,12,47,55,57,59,80,82,87,88,89,94,99,100,107,108,109,112,113,114,115,116,117,118,124,125,134,135,137],sterli:119,sterlinghugh:119,stic:[104,106],still:[5,59,66,84,91,103,133,138],stitch:1,stksz:[77,124,134,137],stkuse:[77,124,134,137],stlink:113,stm32:[113,115,137],stm32_boot:137,stm32_slinki:137,stm32f2x:113,stm32f4:110,stm32f4disc_blinki:113,stm32f4disc_boot:113,stm32f4discoveri:[53,113],stm32f4discovery_debug:113,stm32f4x:113,stm32serial:137,stm32x:113,stm:137,stop:[2,27,84,102,127],storag:[20,100,118],store:[1,11,22,27,31,34,35,37,50,55,57,59,61,80,85,93,94,99,102,104,105,118,124,125,126,131,133],str:94,straight:[102,124],straightforward:[99,125],strcmp:124,stream:21,strength:29,strict:[104,109],strictli:125,string:[1,27,29,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,94,96,107,108,118,119,123,124,125,135],strip:46,strlen:[102,104],struct:[84,86,87,88,92,93,94,102,104,105,106,107,108,111,123,124,125,129,131],structur:[7,11,12,18,28,55,61,78,87,88,92,94,104,110,124,125,129,133,136,141],stub:[61,107,108,111,124,125],studio:[5,13],stuff:118,style:94,sub:[28,43,45,50,70,71,72,75,76,108,121],subcommand:[45,50,62,64,66,70,71,72,75,76],subcompon:21,subdirectori:2,subfold:112,submit:11,subrang:20,subscrib:[28,103,105,125],subsequ:[21,22,102,105],subset:[22,127],substitut:[6,99,100],subsystem:[30,59,94],subtract:93,succesfulli:[99,100,103,109,111,112,113,114,115,116,117,124,127,131,134,137,138,139],success:[3,20,55,84,87,104,106,115,117,125],successfuli:[88,131],successfulli:[7,20,55,88,99,100,103,105,107,108,109,112,113,114,115,116,117,124,125,126,127,128,131,134,135,137],sudo:[4,6,7,11,57,58,60,80,83,100],suggest:[3,6,97,141],suit:[6,55,99],suitabl:[20,88],summar:88,summari:[6,11,19,36,108],supervision_timeout:[30,103],supplement:[29,102],supplementari:88,support:[1,3,4,6,7,12,14,19,20,21,22,29,30,32,53,58,66,81,86,87,88,90,94,96,99,100,101,102,106,107,109,110,112,118,119,124,128,133,135,136,141],suppos:43,suppress:135,suppresstasknam:12,sure:[2,7,8,57,99,100,102,104,109,111,117,118,123,124,125],suspend:127,svc:106,sw_rev:127,swap:[2,84,85,88,109,138],swclk:109,swd:[109,112,113,114,115,116,117,125,131],swdio:109,swim:113,swo:[112,131],symbol:[4,7,12,61,109,113,131,138,139],symlink:[60,83],sync:[20,25,39,57,58,59],sync_cb:[26,107,108],synchron:[20,39,49,57,58,59,91],syntax:[96,117,127],synthes:24,sys:[1,7,55,57,61,94,95,96,99,111,124,125,127,131,139],sys_config_test:7,sys_einv:131,sys_flash_map:[113,115],sys_mfg:[7,109,112,113,114,115,127,134,137],sys_sysinit:[7,109,112,113,114,115,116,127,134,137],syscfg:[23,24,32,37,38,50,61,88,94,95,100,109,111,112,117,124,125,127,128,130,131,138,139],sysflash:[109,115],sysinit:[7,25,26,87,92,94,96,107,108,109,111,117,124,125,131],sysinit_assert_act:96,sysinit_panic_assert:96,sysresetreq:109,system:[1,3,6,8,9,25,39,50,57,58,59,61,62,84,86,87,88,91,92,93,94,97,99,100,109,111,112,115,117,118,119,124,131,139],system_stm32f4xx:[113,115],systemview:141,sysview:[139,140],sysview_mynewt:139,syuu:59,t_arg:84,t_ctx_sw_cnt:84,t_flag:84,t_func:84,t_lockcnt:84,t_name:84,t_next_wakeup:84,t_obj:84,t_pad:84,t_prio:[84,85],t_run_tim:84,t_sanity_check:84,t_stackptr:84,t_stacksiz:84,t_stacktop:84,t_state:84,t_taskid:84,tab:[30,36],tabl:[19,20,88,96,104,106,117,127],tag:119,tailq_entri:84,tailq_head:84,take:[6,7,23,45,50,55,62,87,102,104,105,106,107,108,123,125],taken:[7,61,87,104,118,119,123],talk:[100,102,135],tap:[4,56,79],tar:[4,57,58,59,60,81,82,83],tarbal:4,target:[3,4,5,7,12,25,29,32,34,35,36,37,38,39,42,43,46,47,48,53,55,57,58,59,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,91,95,96,98,107,108,110,124,126,128,130,136],target_nam:34,targetin:[107,108],task1:[87,134,137],task1_handl:87,task1_init:87,task1_prio:87,task1_sem:87,task1_stack:87,task1_stack_s:87,task2:[87,134,137],task2_handl:87,task2_init:87,task2_prio:87,task2_sem:87,task2_stack:87,task2_stack_s:87,task:[9,11,55,64,77,80,81,82,85,87,88,90,91,93,94,96,104,111,117,123,124,126,129,131,134,135,137,141],task_prior:[95,96],tasknam:12,taskstat:[64,78,80,81,82,134,137],tbd:[106,125],tck:109,tcp:[109,113],tdi:109,tdo:109,team:4,technic:10,technolog:21,tee:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,124],telee02:117,telee02_boot:117,telemetri:107,telenor:117,teli:[107,108],tell:[30,55,96,102,104,107,108,115,119,123,125],telnet:[131,138],tem:127,temperatur:127,templat:[7,45,99,124,131],temporari:20,term:[3,118],termin:[2,4,7,8,10,12,20,21,27,59,82,94,100,102,105,106,109,111,112,113,114,115,116,117,129,131,138],terribl:[7,99],test:[4,6,12,39,50,57,58,59,61,64,67,71,75,80,81,82,94,96,100,106,107,108,109,111,112,114,118,123,125,135,138,141],test_project:44,testbench:[7,61],testcas:7,testnam:75,testutil:7,text:[39,48,69,94,113,134,137],textual:1,tgz:4,than:[3,7,14,20,29,72,87,88,91,92,93,95,100,106,107,108,112,125,131,138],thank:30,thee:91,thei:[1,6,20,29,30,61,87,88,92,96,97,102,103,104,106,107,108,117,118,119,121,123,127],their_key_dist:27,them:[2,9,55,88,96,100,102,107,108,109,118,125,126,141],themselv:[87,106],theori:[55,96],therefor:[20,120],thi:[1,2,3,4,5,6,7,8,9,10,11,12,14,18,20,21,22,23,24,25,26,27,29,30,31,32,33,34,41,43,52,53,55,57,58,59,60,61,63,64,66,71,72,80,81,82,83,84,85,87,88,89,90,91,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,123,124,125,126,127,128,129,130,131,133,134,135,136,137,138,139,141],thing:[1,21,24,26,55,61,88,91,107,108,119,123,124,125,129,131],thingi:[138,139],thingy_boot:131,thingy_debug:[131,138,139],thingy_my_sensor:131,think:[10,125],third:[6,19,100,102,109,125],thorough:119,those:[1,31,32,39,55,57,58,59,61,88,91,97,119,123,124,125],thought:125,thread:[9,99,109,113,115],three:[2,11,19,59,61,94,96,99,101,102,108,109,115,117],through:[21,23,61,62,101,103,105,108,109,111,115,123,124,125,128,130,133],throughout:[1,88],throughput:21,thrown:6,thu:88,tick:[84,91,93,94,111,112,124,131],ticket:10,tid:[77,124,134,137],ties:99,time:[1,7,9,11,12,19,20,21,22,25,27,31,34,43,57,58,59,60,61,77,82,83,87,88,91,94,97,99,102,104,106,107,108,112,114,117,123,124,125,127,131,133,138],time_datetim:131,timeout:[20,27,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,124],timer:[24,84,86,88,131],timer_0:24,timer_4:117,timer_5:24,timer_ev_cb:[111,131],timestamp:72,timev:93,timezon:93,timtest:[7,61],ting:[107,108],tini:[115,137],tinycbor:[7,126],tinycrypt:7,titl:[8,136],tlm:107,tlv:27,tmp:[57,59,80,82],tmpstr:131,todo:[61,107,108],togeth:[1,43,55,61,103,115,125],toggl:[7,92,111],token:[75,87,120],too:[20,87,95,124],took:113,tool:[1,2,3,5,6,7,9,12,13,39,54,57,58,61,62,63,66,78,79,80,81,87,88,89,91,95,96,98,99,100,109,110,115,117,118,119,120,125,126,131,133,135,136,138,139,141],toolbox:2,toolchain:[2,3,5,7,12,33,59,63,100,110,133,136,141],toolkit:3,tools_1:[57,58,59,81,82],top:[1,10,12,35,61,95,100,107,108,125],topic:1,total:[9,55,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,112,114,117,125],tour:101,track:[19,21,22],transact:20,transfer:[22,124],translat:107,transmiss:[20,27,117],transmit:[29,31,94,117],transport:[20,21,27,80,94,96,99,100,109,113,124,125,126,128,130,133],tree:[1,6,7,50,55,61,88,99],tri:[3,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,95,117],trial:88,tricki:92,trigger:[6,10],troubleshoot:95,trust:[22,27,124],tt_chr_f:106,tt_svc_type_p:106,ttl:[100,137],tty:[8,111,124,127,134,137],ttys002:66,ttys003:66,ttys005:135,ttys012:[134,137],ttys10:8,ttys2:[8,111,127,134,137],ttys5:8,ttyusb0:[66,100],ttyusb2:[8,134,137],ttyusb:[8,111,127,134,137],tupl:93,turn:[24,99,100,110,111,114,118,119,127,134],tutiori:[73,76],tutori:[2,3,6,7,8,12,21,23,59,77,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116,117,123,124,125,126,127,128,129,130,131,134,135,137],tv_sec:[84,93,131],tv_usec:[84,93,131],tvp:[84,93],two:[2,3,12,18,19,21,22,23,27,31,43,45,50,55,61,66,87,88,90,92,93,94,95,96,99,100,102,104,107,108,109,111,112,113,114,115,116,117,118,119,120,121,124,125,126,127,130,131,134,137],tx_data:124,tx_len:124,tx_off:124,tx_phys_mask:27,tx_power_level:[27,29],tx_time_on_air:117,txd:117,txpower:117,txt:[70,139],type:[1,7,8,10,12,19,20,23,27,29,30,31,39,43,45,46,53,55,57,58,59,61,66,88,91,92,94,95,96,99,100,102,103,104,105,106,107,109,112,113,114,115,117,118,119,120,123,124,125,129,130,131,134,135,137,138,139],typedef:[26,84,94],typic:[3,9,21,26,31,55,61,87,88,89,94,96,102,107,108],tz_dsttime:[84,93],tz_minuteswest:[84,93],uart0:[94,124,135],uart1:124,uart:[7,8,21,55,91,94,99,100,112,113,114,115,116,117,124,131,138],uart_0_pin_rx:124,uart_0_pin_tx:124,uart_bitbang:112,uart_flow_control_non:94,uart_hal:[7,113,114,115],uartno:124,ubuntu:[4,6,7,57,80],uci:23,udev:113,udp:66,uext:137,uicr:23,uid:107,uint16:[27,28],uint16_max:27,uint16_t:[20,84,104,123,124,125],uint32:[27,71],uint32_max:27,uint32_t:[84,86],uint64:27,uint8:27,uint8_max:27,uint8_t:[23,32,84,88,94,102,104,107,108,124,125],ultim:104,unabl:[2,109,112,113,116],unaccept:20,unadorn:20,unam:2,unchang:88,unconfirm:117,und:[27,30],undefin:[82,96],under:[4,7,10,11,12,20,26,34,55,61,71,106,109,113,114,116,124,125],underli:91,understand:[7,93,97,117,118,125],undesir:87,undirect:[27,102],unexpect:20,unexpectedli:20,unicast:31,unidirect:27,uniform:[29,59],uniformli:62,uninstal:7,unint32:71,uninterpret:96,union:104,uniqu:[9,19,32,88,95,96,107,117],unit:[1,7,20,27,39,51,57,58,59,92,96,141],unittest:[7,45,55,61,96,99,124],unix:[2,59],unknown:[20,95],unlabel:124,unless:[27,92,96,124,125],unlicens:21,unlik:20,unlink:[58,60,81,83],unmet:88,unpack:[57,59],unplug:116,unprovis:31,unrespons:20,unset:50,unsign:[92,116,131],unspecifi:[20,42],unstabl:[57,58,80,81],unsupport:[20,106],unsync:26,untar:4,until:[20,26,61,84,87,94,102,107,108,117,118],unuesd:105,unus:[71,123,124,125],updat:[2,4,15,20,27,30,36,37,49,52,57,58,59,60,80,81,83,96,103,105,111,112,123,125,126,131],upgrad:[2,39,56,59,79,88,94,100,109,138,141],uplink:117,uplink_cntr:117,uplink_freq:117,upload:[43,70,71,112],upon:[1,3,10,26,55,105],upper:[23,96],uri:[27,29],url:[27,107,118],url_bodi:107,url_body_len:107,url_schem:107,url_suffix:107,usabl:[1,88,99,107],usag:[1,9,57,58,59,62,80,81,82,96,117,124,135],usart6_rx:137,usart6_tx:137,usb:[2,3,8,21,42,66,100,109,110,112,113,114,115,116,117,125,127,133,134,136,137],usbmodem14211:66,usbmodem14221:66,usbmodem401322:8,usbseri:[8,111,124,127,134,137],usbttlseri:100,use:[1,4,5,6,7,8,11,12,14,19,20,21,22,24,27,30,32,41,45,50,51,55,56,58,59,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,79,81,82,86,88,89,91,92,94,95,96,98,99,100,102,103,104,105,107,108,109,110,111,112,115,117,119,120,123,124,125,126,127,130,131,133,134,135,136,137,138,139],use_wl:27,use_wl_inita:27,usec:[84,127,131],used:[6,7,11,12,19,20,22,23,24,27,29,30,31,34,46,49,61,66,72,84,86,88,92,93,94,95,96,97,100,102,104,105,106,107,108,109,117,118,119,125,126,127],useful:[3,20,87,99,118],user:[1,2,4,6,7,8,9,18,20,22,24,48,55,58,59,61,78,80,81,82,88,89,94,95,96,106,109,115,117,118,119,120,124,125,131,137],user_id:[95,96],usernam:[10,48,59,118],uses:[2,4,6,7,8,12,14,20,21,22,23,24,30,32,55,65,66,67,68,69,70,71,72,73,74,75,76,77,78,86,88,93,94,95,96,104,105,106,109,111,114,118,120,124,126,127,128,131,134,137],using:[1,2,4,6,7,8,10,11,12,19,20,21,24,26,27,28,29,31,33,36,37,43,44,57,58,59,60,61,63,66,76,80,81,82,83,86,87,89,90,91,92,93,96,99,100,106,108,109,110,111,112,113,114,115,116,117,123,124,125,126,128,131,135,136,138,139],usr:[4,6,11,36,57,58,59,60,80,81,82,83],usu:90,usual:24,utc:[68,93],utctim:84,utf:29,util:[7,11,20,21,31,87,94,96],util_cbmem:131,util_cbmem_test:7,util_crc:[131,135,137],util_mem:[7,109,111,112,113,114,115,116,117,127,131,134,135,137],util_pars:[117,127,131],uuid128:[27,29,104,106,108],uuid128_is_complet:[27,29],uuid16:[27,28,29,104,123,125],uuid16_is_complet:[27,29],uuid32:[27,29],uuid32_is_complet:[27,29],uuid:[27,28,29,30,32,66,104,106,108,123,125,126],uvp:[84,93],v10:131,v14:113,v25:113,val:[23,24,39,50,57,58,59,61,88,95,96,107,108,111,117,124,126],valid:[20,39,50,53,57,58,59,61,66,72,104,124,125],valu:[1,4,7,12,20,23,24,27,28,29,30,37,39,42,46,50,53,57,58,59,61,62,64,65,66,68,71,72,75,80,81,82,84,85,88,92,93,100,103,104,105,106,107,108,118,119,123,124,125,127,128,130,131,133,138],valuabl:118,value1:[50,96],value2:[50,96],valuen:96,vari:[9,91],variabl:[1,4,11,24,34,37,50,59,61,62,65,84,92,94,102,104,117,118,119,126,127,128,131],variant:[22,90],variat:12,varieti:[4,105],variou:[23,24,61,105,110,117],vdd:125,vector:127,vendor:118,ver:[1,7,55,100,109,118,119,120,124,125],verb:62,verbos:[1,7,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,109,124],veri:[1,9,31,55,92,98,106,111,112,118,125,126,138],verif:22,verifi:[22,57,59,80,82,112,113,114,116,117,125,126],versa:8,version:[1,2,4,6,7,11,12,21,22,34,37,39,41,43,47,55,56,60,79,83,94,96,100,108,109,111,112,113,114,115,116,117,121,124,125,127,131,134,137,138,139],via:[8,20,26,42,55,94,96,100,101,102,104,112,114,117,118,124,125,127,128,130,133],vice:8,vid:113,view:[1,7,10,12,30,50,62,66,96,118,125,130,139],vim:59,vin:127,violat:20,viper:11,virtual:66,virtualbox:109,visibl:[2,28],visit:[39,57,58,59],visual:[5,13,139],visualstudio:12,vol:22,volatil:113,voltag:[113,125],volum:29,vscode:12,vtref:[112,114,117,125],vvp:[84,93],wai:[2,3,9,21,30,31,59,61,87,92,93,94,95,118,119,120,124,125],wait:[84,85,87,92,96,115,117,123,124,125,133],wake:[85,87,92],walk:[92,125],wall:6,wallclock:93,wanda:81,want:[1,3,11,18,50,57,58,59,60,61,80,83,85,87,92,94,97,99,101,102,104,106,107,108,109,110,112,113,114,115,117,118,124,125,128,138,141],warn:[1,6,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,95,104,112,124],warranti:[4,109,124,125,131,138,139],watch:99,watchdog:87,watchpoint:[109,113],wdog:67,wear:99,wearabl:9,webfreak:12,welcom:[8,98,124,127],well:[8,22,40,55,91,97,103,117,124,125],were:[29,73,84,119,123,124],werror:[6,50],wes:117,west:93,wfi:113,wget:[57,59,80,82],what:[7,8,20,41,55,91,96,102,105,106,107,108,119,123,124,125],whatev:23,wheel:8,when:[1,2,6,7,8,10,12,14,20,22,23,24,26,29,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,61,62,66,72,81,84,85,87,88,89,91,92,93,94,95,96,99,100,101,102,105,106,107,108,109,112,113,115,116,118,119,120,124,125,126,127,128,129,130,131,135,138],whenev:[21,26,104,106,131],where:[8,9,10,11,22,29,31,35,37,50,55,59,60,61,83,88,90,91,92,94,95,96,106,107,108,111,112,117,124,125,127,134,137],wherea:119,whether:[10,12,22,84,93,96,102,104,106,127,129,130,131],which:[1,2,4,8,11,14,19,20,21,30,32,34,39,55,57,58,59,61,62,66,80,81,82,84,85,87,88,91,92,95,102,103,104,105,106,107,108,109,117,118,119,124,125,135,138],white:[22,27],whitelist:27,who:10,whose:[61,62],why:10,wide:21,wifi:7,window:[5,6,7,9,12,27,56,66,78,79,88,94,100,109,111,112,113,114,115,116,117,127,134,137,138],winusb:[113,115,137],wire:[8,117,124,125,137],wireless:21,wish:[6,10,118,136],withdraw:10,within:[1,12,20,31,41,55,88,89,91,105,115,118,124],without:[6,10,22,24,28,30,96,109,124,125,129],wno:6,won:[8,125],wonder:125,word:[6,55,87,104,109,118,131,138,139],work:[2,4,8,10,11,22,24,55,61,62,85,87,88,90,91,92,94,99,100,103,109,111,117,121,123,124,125,128,130,133],workspac:[1,2,11,39,57,58,59,60,80,82,83],workspaceroot:12,world:[12,21,102,107,108,110,120,141],worri:87,worth:[1,89,124],would:[5,12,58,59,81,82,87,94,99,115,117,118,119,124,125,133,137],wrap:[93,111],write:[1,9,14,20,28,61,64,65,80,81,82,89,94,98,103,105,106,117,124,125,126,133],write_cmd_rx:76,write_cmd_tx:76,write_req_rx:76,write_req_tx:76,write_rsp_rx:76,write_rsp_tx:76,written:[11,20,23,59,82,87,104,106,111,119],wrong:[42,125],wsl:[12,59],www:[100,109,124,125,131,137,138,139],x86:[4,12],x86_64:[109,131,138,139],xml:7,xpf:4,xpsr:[109,113,115],xtal_32768:88,xtal_32768_synth:24,xxx:[6,88],xxx_branch_0_8_0:[118,119],xxx_branch_1_0_0:[118,119],xxx_branch_1_0_2:[118,119],xxx_branch_1_1_0:[118,119],xxx_branch_1_1_2:[118,119],xxx_branch_1_2_0:[118,119],xxx_branch_1_2_1:[118,119],xzf:[57,59,60,82,83],yai:124,yaml:11,year:31,yes:[22,117],yesno:27,yet:[7,84,87,91,99,118,119,125],yield:87,yml:[1,6,7,41,43,50,52,53,55,61,89,90,94,95,96,99,100,109,111,117,118,120,121,124,125,126,127,131],you:[1,3,4,5,6,7,8,9,10,11,12,18,19,30,33,34,35,39,41,43,45,46,47,50,51,52,53,54,55,57,58,59,60,61,63,64,66,68,76,80,81,82,83,87,88,89,90,91,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,123,125,126,127,128,129,130,131,133,134,135,136,137,138,139,141],your:[1,3,4,6,8,10,19,30,39,50,52,55,56,58,59,60,61,70,71,79,81,82,83,87,88,89,90,91,92,95,96,98,99,100,101,102,103,105,106,107,108,110,111,117,119,123,124,125,126,128,129,133,134,136,137,138,139,141],yourself:[2,10,30,87,88,101,124,141],ype:[107,108],yym:6,zadig:[113,115,137],zero:[12,24,88,93,96,106,107,108,110,117,118,131,141],zip:[4,112,125]},titles:["&lt;no title&gt;","Concepts","Everything You Need in a Docker Container","Setup &amp; Get Started","Installing the Cross Tools for ARM","Native Installation","Installing Native Toolchain","Creating Your First Mynewt Project","Using the Serial Port with Mynewt OS","Mynewt Documentation","FAQ","Contributing to Newt or Newtmgr Tools","Developing Mynewt Applications with Visual Studio Code","Appendix","NimBLE Host ATT Client Reference","NimBLE Host GAP Reference","NimBLE Host GATT Client Reference","NimBLE Host GATT Server Reference","NimBLE Host","NimBLE Host Identity Reference","NimBLE Host Return Codes","BLE User Guide","NimBLE Security","Configure device ddress","Configure clock for controller","NimBLE Setup","Respond to <em>sync</em> and <em>reset</em> events","GAP API for btshell","GATT feature API for btshell","Advertisement Data Fields","API for btshell app","Bluetooth Mesh","Sample application","Mynewt Newt Tool Documentation","newt build","newt clean","newt complete","newt create-image","newt debug","newt help","newt info","newt install","newt load","newt mfg","newt new","newt pkg","newt resign-image","newt run","newt size","newt sync","newt target","newt test","newt upgrade","newt vals","newt version","Newt Tool Guide","Install","Installing Newt on Linux","Installing Newt on Mac OS","Installing Newt on Windows","Installing Previous Releases of Newt","Theory of Operations","Command Structure","Mynewt Newt Manager Documentation","Command List","newtmgr config","newtmgr conn","newtmgr crash","newtmgr datetime","newtmgr echo","newtmgr fs","newtmgr image","newtmgr log","newtmgr mpstat","newtmgr reset","newtmgr run","newtmgr stat","newtmgr taskstat","Newt Manager Guide","Install","Installing Newtmgr on Linux","Installing Newtmgr on Mac OS","Installing Newtmgr on Windows","Installing Previous Releases of Newtmgr","Core OS API","Scheduler","CPU Time","Mynewt Core OS","BSP Porting","Porting Mynewt to a new CPU Architecture","Porting Mynewt to a new MCU","Porting Mynewt OS","Task","OS Time","Console","Validation and Error Messages","System Configuration and Initialization","OS User Guide","Bluetooth Low Energy","Set up a bare bones NimBLE application","Use HCI access to NimBLE controller","BLE Peripheral Project","Advertising","BLE Peripheral App","Characteristic Access","GAP Event callbacks","Service Registration","BLE Eddystone","BLE iBeacon","Blinky, your \u201cHello World!\u201d, on Arduino Zero","Project Blinky","Enabling The Console and Shell for Blinky","Blinky, your \u201cHello World!\u201d, on Arduino Primo","Blinky, your \u201cHello World!\u201d, on STM32F4-Discovery","Blinky, your \u201cHello World!\u201d, on a nRF52 Development Kit","Blinky, your \u201cHello World!\u201d, on Olimex","Blinky, your \u201cHello World!\u201d, on RedBear Nano 2","LoRaWAN App","Adding Repositories to your Project","Create a Repo out of a Project","Accessing a private repository","Upgrade a repo","Air Quality Sensor Project","Air quality sensor project via Bluetooth","Air quality sensor project","Adding an Analog Sensor on nRF52","Adding OIC Sensor Support to the bleprph_oic Application","Enabling an Off-Board Sensor in an Existing Application","Enabling OIC Sensor Data Monitoring in the sensors_test Application","Changing the Default Configuration for a Sensor","Enabling OIC Sensor Data Monitoring","Developing an Application for an Onboard Sensor","Sensors","Sensor Tutorials Overview","Project Slinky using the Nordic nRF52 Board","Project Sim Slinky","Project Slinky","Project Slinky Using Olimex Board","SEGGER RTT Console","SEGGER SystemView","Tooling","Tutorials"],titleterms:{"default":[111,129],"function":[88,93,96,104,106,126,129],"new":[7,44,89,90,103,129,131,134,135,137],"public":23,"return":20,Adding:[58,81,118,125,126,129,131],For:4,The:111,Use:[2,100,111,124,131,134,137],Using:[8,57,80,94,127,131,137],acceleromet:129,access:[100,104,120],adc:125,add:[66,88,107,108,123,124,125,126,131],addit:[118,125],address:[19,23,30,107,108],administr:10,advertis:[27,29,30,102,107,108],air:[122,123,124],ambigu:95,analog:125,apach:[9,31],api:[27,28,30,84,85,86,94,131],app:[9,30,61,100,103,117,131,133,139],app_get_light:126,app_set_light:126,appendix:[13,88],applic:[7,12,32,87,99,100,107,108,109,111,112,113,114,115,116,117,125,126,127,128,129,131,134,137],apt:[57,80],architectur:89,arduino:[8,109,112],area:95,arm:4,artifact:61,assign:95,associ:12,att:[14,20],attach:100,attribut:[30,106],autocomplet:36,avail:[27,28,39,43,50,110,118,133,136],bare:99,bash:36,basic:87,beacon:[107,108],bearer:31,begin:[30,102],being:104,belong:30,binari:[57,59,80,82],bit:6,ble:[21,99,101,103,107,108,125,126],blehci:100,bleprph_gap_ev:105,bleprph_oic:126,blink_rigado:48,blinki:[7,109,110,111,112,113,114,115,116],bluetooth:[21,31,98,100,123],bluez:100,bno055:127,board:[91,109,112,113,114,115,116,117,125,126,127,128,134,137],bone:99,bootload:[100,109,112,113,114,115,116,117,127,131,134,137],branch:[58,81],brew:6,bsp:[53,88,91,95],btmgmt:100,btmon:100,btshell:[27,28,30],bug:10,build:[7,9,12,34,55,61,99,100,109,111,112,113,114,115,116,117,125,126,127,128,129,131,134,135,137],call:129,callback:105,can:10,cannot:129,categori:141,chang:[33,63,129],channel:27,characterist:[30,101,104],check:[57,58,59,80,81,82,88],clean:35,clear:116,cli:124,client:[14,16],clock:24,close:117,code:[12,20,88,89],command:[12,27,28,39,43,50,62,64,66,100,124,135],committ:10,commun:[8,111],compil:89,complet:36,compon:[21,118],comput:[57,80,127,131],concept:1,conclus:[99,107,108,125],condit:96,config:65,configur:[1,12,23,24,27,28,30,95,96,107,108,111,129],conflict:96,conn:66,connect:[27,30,100,109,111,112,113,114,115,116,117,125,126,127,128,131,134,135,137,138],consol:[94,111,127,131,138],contain:2,content:[33,63],contribut:11,control:[24,100,107,108,126,127,128,133],copi:[88,126],core:[20,84,87,91],cpu:[84,86,89,91],crash:67,creat:[7,37,88,89,99,100,103,107,108,109,112,113,114,115,116,117,119,124,125,126,127,128,131,134,135,137],creation:87,cross:4,crystal:24,data:[29,86,93,102,117,126,127,128,129,130,131],datetim:68,ddress:23,debian:[57,80],debug:[12,38,61,88],debugg:[4,12],defin:[12,88],definit:[95,96],delet:[66,126],depend:[7,61,88,91,111,119,126,131],descript:[34,35,37,38,40,41,42,43,44,45,46,47,48,49,50,51,52,53,65,66,67,68,69,70,71,72,73,74,75,76,77,85,86,91,92,93,94,127],descriptor:[30,101,106,118],determin:104,develop:[12,114,131],devic:[2,23,27,30,100,126,127,128,129,133],direct:30,directori:61,disabl:27,discov:30,discoveri:[27,113],displai:30,docker:2,document:[10,33,63],doe:118,download:[11,57,61,80,88,117,125],driver:[124,125,129],duplic:95,echo:69,eddyston:107,edit:10,editor:10,empti:[107,108],emul:127,enabl:[2,27,36,111,126,127,128,130,131],energi:98,enter:99,environ:11,eras:112,error:95,establish:[30,100],etap:125,event:[26,105,111],everyth:[2,117,125],exampl:[8,20,21,26,34,35,37,38,39,43,44,45,46,47,48,50,51,53,54,65,66,67,68,69,70,71,72,73,74,75,76,77,87,95,96],execut:[6,112,113,114,116,117,125,135,138,139],exist:[111,118,127],explor:7,express:95,extend:[27,131],extens:[2,12],extern:109,faq:10,featur:[7,10,21,22,28,31,87],fetch:[7,109],field:29,file:[88,119,126,129,131],fill:88,find:118,first:[7,9],flag:[34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,65,66,67,68,69,70,71,72,73,74,75,76,77],flash:[88,95,112,116],framework:130,from:[57,58,59,80,81,82,94,126,128,129],ft232h:8,full:94,gap:[15,27,105],gatt:[16,17,28,123],gcc:6,gdb:6,gener:[22,30,96],get:[3,57,80],git:[10,59],global:[34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,65,66,67,68,69,70,71,72,73,74,75,76,77],guarante:105,guid:[21,55,78,97],hal:[91,124],hardcod:23,hardwar:[23,117,125,127,138,139],hci:[20,100],header:[14,15,16,17,19,20,126,129],hello:[109,112,113,114,115,116],help:39,homebrew:[58,81],host:[14,15,16,17,18,19,20,107,108],how:[10,96,118,126,129],ibeacon:108,ident:19,identifi:118,ignor:95,imag:[37,46,71,100,112,113,114,115,116,117,125,126,127,128,129,131,134,137],implement:89,includ:[30,106],indefinit:[107,108],info:40,initi:[30,96,129],input:94,instal:[2,4,5,6,11,12,36,41,56,57,58,59,60,79,80,81,82,83,117,125],instead:131,introduct:[9,14,15,16,17,18,19,20,31,55,88,101],invalid:95,join:117,kei:[22,27],kit:114,l2cap:[20,27],laptop:10,latest:[57,58,59,80,81,82],launch:139,legaci:27,libc:6,like:10,link:4,linker:88,linux:[2,4,6,8,11,57,60,80,83],list:[10,64,107,108,127,131],listen:131,load:[42,100,109,112,113,114,115,116,126,127,128,129,131,134,137],log:72,lorawan:117,low:98,mac:[2,4,6,8,11,58,60,81,83],macro:93,main:[111,126,129,131],make:10,manag:[9,20,55,63,78],manual:[57,80],map:88,master:[58,81],mcu:[88,90,91],memori:116,merg:10,mesh:[21,31],messag:95,method:[23,57,80],mfg:43,mingw:59,minim:94,model:31,modifi:[111,126,131],monitor:[100,128,130],more:55,mpstat:73,msys2:59,multipl:[12,95],my_sensor_app:131,mynewt:[2,7,8,9,10,12,23,31,33,58,63,81,87,88,89,90,91,94,99,118,126,128,133],name:[30,96],nano:116,nativ:[5,6],need:[2,117,118,124,125,127,138,139],newt:[2,9,11,12,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,60,63,78],newtmgr:[11,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,83,134,135,137],next:[6,127],nimbl:[14,15,16,17,18,19,20,21,22,25,99,100,107,108],node:31,nordic:[8,134],note:[55,93,125],notnul:95,nrf52:[114,125,127,134],nrf52_adc:125,nrf52dk:8,nrf:23,object:[110,117,125,138,139],off:127,oic:[126,128,130,133],olimex:[115,137],omgr_app_init:126,onboard:131,onto:109,open:[100,117],openocd:4,oper:[55,61],option:112,orient:27,ota:117,other:[7,12,119],out:[118,119],output:[48,53,94],overrid:[95,96],overview:[64,101,102,103,105,110,126,129,130,133,136],own:10,pack:2,packag:[1,7,57,61,80,88,91,94,95,96,99,109,124,126,127,131],passiv:30,patch:10,peer:[20,30],perform:30,peripher:[101,103],pkg:[45,88],platform:8,port:[8,88,89,90,91,117],prerequisit:[7,100,103,109,110,111,112,113,114,115,116,126,127,128,129,130,131,133,134,135,136,137,141],preview:[33,63],previou:[60,83],primo:112,prioriti:95,privaci:22,privat:120,pro:8,process:111,produc:[6,61],profil:135,project:[1,7,10,12,21,99,100,101,109,110,111,112,113,114,115,116,117,118,119,122,123,124,125,134,135,136,137],protect:116,protocol:[107,108],provis:31,pull:[2,10],qualiti:[122,123,124],queri:[134,137],question:10,queue:111,random:23,rational:55,read:[30,104,129,131],reboot:129,rebuild:[11,131],redbear:116,refer:[14,15,16,17,19,20,96],referenc:96,regist:127,registr:106,releas:[57,58,59,60,80,81,82,83],repo:[118,119,121],repositori:[7,10,55,118,119,120,125],request:10,requir:88,reset:[26,74],resign:46,resolut:119,resolv:[61,96,119],respond:26,restrict:95,review:104,rtt:[131,138],run:[7,12,47,75,109,111,135,138,139],runtim:23,sampl:[32,127,129],satisfi:88,scan:30,schedul:[84,85],script:[2,88],secur:[20,22,27],segger:[4,138,139],select:2,semiconductor:8,send:[30,100,117],sensor:[122,123,124,125,126,127,128,129,130,131,132,133],sensor_read:131,sensors_test:128,serial:[8,100,111,134,137],server:17,servic:[30,101,106,123,125],set:[6,11,30,57,80,88,95,96,99,102,106,111,124,126,129,135],settl:24,setup:[3,8,25,138,139],shell:[111,131],should:119,show:[30,66],sign:[112,113,114,115,116,117,125,134,137],signatur:104,sim:135,simul:7,size:48,skeleton:131,slinki:[134,135,136,137],smart:[126,128,133],softwar:[10,139],some:10,sourc:[7,11,55,57,59,80,82,107,108,124,126],special:93,specif:[89,119],specifi:96,stack:[107,108],start:[3,100],startup:88,stat:76,step:[11,110,126,127,128,129,131,136],stm32f4:113,storag:27,structur:[62,86,93],stub:94,studio:12,stuff:124,sub:66,submit:10,summari:20,support:[2,31,61,91,126,127,130,131],sync:[26,49,107,108],syscfg:[96,126],sysinit_app:96,system:[24,55,95,96],systemview:139,tap:[58,81],target:[1,23,50,61,88,99,100,103,109,111,112,113,114,115,116,117,125,127,131,134,135,137,138,139],task:[12,84,92,95,125],taskstat:77,templat:88,termin:127,test:[7,51,88,124],theori:61,thingi:131,time:[24,84,86,93],timer:111,tool:[4,11,33,55,59,82,140],toolchain:[4,6],topolog:31,tree:124,tutori:[110,133,136,141],type:127,undefin:95,undirect:30,updat:11,upgrad:[52,57,58,80,81,121],upload:111,usag:[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,65,66,67,68,69,70,71,72,73,74,75,76,77],usb2:2,use:[10,57,80,87,118],user:[21,97],using:[55,134,137],val:53,valid:95,valu:[95,96,126,129],verif:129,verifi:129,version:[54,57,58,59,80,81,82,118,119],via:[123,131],view:[126,127,128,131],violat:95,virtualbox:2,visual:12,wait:[107,108],want:10,water:125,welcom:9,what:[10,118],where:119,why:[87,118],window:[2,4,8,11,59,60,82,83],work:12,workspac:12,world:[109,112,113,114,115,116],would:10,wrapper:2,write:[30,33,63,104,116],yml:[88,119],you:[2,124],your:[2,7,9,11,12,57,80,109,112,113,114,115,116,118,127,131,135],zero:109}})
\ No newline at end of file
+Search.setIndex({docnames:["_static/common","concepts","get_started/docker","get_started/index","get_started/native_install/cross_tools","get_started/native_install/index","get_started/native_install/native_tools","get_started/project_create","get_started/serial_access","index","misc/faq","misc/go_env","misc/ide","misc/index","network/ble/ble_hs/ble_att","network/ble/ble_hs/ble_gap","network/ble/ble_hs/ble_gattc","network/ble/ble_hs/ble_gatts","network/ble/ble_hs/ble_hs","network/ble/ble_hs/ble_hs_id","network/ble/ble_hs/ble_hs_return_codes","network/ble/ble_intro","network/ble/ble_sec","network/ble/ble_setup/ble_addr","network/ble/ble_setup/ble_lp_clock","network/ble/ble_setup/ble_setup_intro","network/ble/ble_setup/ble_sync_cb","network/ble/btshell/btshell_GAP","network/ble/btshell/btshell_GATT","network/ble/btshell/btshell_advdata","network/ble/btshell/btshell_api","network/ble/mesh/index","network/ble/mesh/sample","newt/README","newt/command_list/newt_build","newt/command_list/newt_clean","newt/command_list/newt_complete","newt/command_list/newt_create_image","newt/command_list/newt_debug","newt/command_list/newt_help","newt/command_list/newt_info","newt/command_list/newt_install","newt/command_list/newt_load","newt/command_list/newt_mfg","newt/command_list/newt_new","newt/command_list/newt_pkg","newt/command_list/newt_resign_image","newt/command_list/newt_run","newt/command_list/newt_size","newt/command_list/newt_sync","newt/command_list/newt_target","newt/command_list/newt_test","newt/command_list/newt_upgrade","newt/command_list/newt_vals","newt/command_list/newt_version","newt/index","newt/install/index","newt/install/newt_linux","newt/install/newt_mac","newt/install/newt_windows","newt/install/prev_releases","newt/newt_operation","newt/newt_ops","newtmgr/README","newtmgr/command_list/index","newtmgr/command_list/newtmgr_config","newtmgr/command_list/newtmgr_conn","newtmgr/command_list/newtmgr_crash","newtmgr/command_list/newtmgr_datetime","newtmgr/command_list/newtmgr_echo","newtmgr/command_list/newtmgr_fs","newtmgr/command_list/newtmgr_image","newtmgr/command_list/newtmgr_logs","newtmgr/command_list/newtmgr_mpstats","newtmgr/command_list/newtmgr_reset","newtmgr/command_list/newtmgr_run","newtmgr/command_list/newtmgr_stat","newtmgr/command_list/newtmgr_taskstats","newtmgr/index","newtmgr/install/index","newtmgr/install/install_linux","newtmgr/install/install_mac","newtmgr/install/install_windows","newtmgr/install/prev_releases","os/core_os/API","os/core_os/callout/callout","os/core_os/context_switch/context_switch","os/core_os/cputime/os_cputime","os/core_os/event_queue/event_queue","os/core_os/heap/heap","os/core_os/mbuf/mbuf","os/core_os/memory_pool/memory_pool","os/core_os/mqueue/mqueue","os/core_os/msys/msys","os/core_os/mutex/mutex","os/core_os/mynewt_os","os/core_os/os_init","os/core_os/os_start","os/core_os/os_started","os/core_os/porting/port_bsp","os/core_os/porting/port_cpu","os/core_os/porting/port_mcu","os/core_os/porting/port_os","os/core_os/sanity/sanity","os/core_os/semaphore/semaphore","os/core_os/task/task","os/core_os/time/os_time","os/modules/baselibc","os/modules/bootloader/boot_build_status","os/modules/bootloader/boot_build_status_one","os/modules/bootloader/boot_clear_status","os/modules/bootloader/boot_copy_area","os/modules/bootloader/boot_copy_image","os/modules/bootloader/boot_erase_area","os/modules/bootloader/boot_fill_slot","os/modules/bootloader/boot_find_image_area_idx","os/modules/bootloader/boot_find_image_part","os/modules/bootloader/boot_find_image_slot","os/modules/bootloader/boot_go","os/modules/bootloader/boot_init_flash","os/modules/bootloader/boot_move_area","os/modules/bootloader/boot_read_image_header","os/modules/bootloader/boot_read_image_headers","os/modules/bootloader/boot_read_status","os/modules/bootloader/boot_select_image_slot","os/modules/bootloader/boot_slot_addr","os/modules/bootloader/boot_slot_to_area_idx","os/modules/bootloader/boot_swap_areas","os/modules/bootloader/boot_vect_delete_main","os/modules/bootloader/boot_vect_delete_test","os/modules/bootloader/boot_vect_read_main","os/modules/bootloader/boot_vect_read_one","os/modules/bootloader/boot_vect_read_test","os/modules/bootloader/boot_write_status","os/modules/bootloader/bootloader","os/modules/config/config","os/modules/console/console","os/modules/devmgmt/customize_newtmgr","os/modules/devmgmt/newtmgr","os/modules/devmgmt/oicmgr","os/modules/drivers/driver","os/modules/drivers/flash","os/modules/drivers/mmc","os/modules/elua/elua","os/modules/elua/lua_init","os/modules/elua/lua_main","os/modules/fcb/fcb","os/modules/fcb/fcb_append","os/modules/fcb/fcb_append_finish","os/modules/fcb/fcb_append_to_scratch","os/modules/fcb/fcb_clear","os/modules/fcb/fcb_getnext","os/modules/fcb/fcb_init","os/modules/fcb/fcb_is_empty","os/modules/fcb/fcb_offset_last_n","os/modules/fcb/fcb_rotate","os/modules/fcb/fcb_walk","os/modules/fs/fatfs","os/modules/fs/fs/fs","os/modules/fs/fs/fs_close","os/modules/fs/fs/fs_closedir","os/modules/fs/fs/fs_dirent_is_dir","os/modules/fs/fs/fs_dirent_name","os/modules/fs/fs/fs_filelen","os/modules/fs/fs/fs_getpos","os/modules/fs/fs/fs_mkdir","os/modules/fs/fs/fs_open","os/modules/fs/fs/fs_opendir","os/modules/fs/fs/fs_ops","os/modules/fs/fs/fs_read","os/modules/fs/fs/fs_readdir","os/modules/fs/fs/fs_register","os/modules/fs/fs/fs_rename","os/modules/fs/fs/fs_return_codes","os/modules/fs/fs/fs_seek","os/modules/fs/fs/fs_unlink","os/modules/fs/fs/fs_write","os/modules/fs/fs/fsutil_read_file","os/modules/fs/fs/fsutil_write_file","os/modules/fs/nffs/nffs","os/modules/fs/nffs/nffs_area_desc","os/modules/fs/nffs/nffs_config","os/modules/fs/nffs/nffs_detect","os/modules/fs/nffs/nffs_format","os/modules/fs/nffs/nffs_init","os/modules/fs/nffs/nffs_internals","os/modules/fs/otherfs","os/modules/hal/hal","os/modules/hal/hal_api","os/modules/hal/hal_bsp/hal_bsp","os/modules/hal/hal_creation","os/modules/hal/hal_flash/hal_flash","os/modules/hal/hal_flash/hal_flash_int","os/modules/hal/hal_gpio/hal_gpio","os/modules/hal/hal_i2c/hal_i2c","os/modules/hal/hal_in_libraries","os/modules/hal/hal_os_tick/hal_os_tick","os/modules/hal/hal_spi/hal_spi","os/modules/hal/hal_system/hal_sys","os/modules/hal/hal_timer/hal_timer","os/modules/hal/hal_uart/hal_uart","os/modules/hal/hal_watchdog/hal_watchdog","os/modules/imgmgr/imgmgr","os/modules/imgmgr/imgmgr_module_init","os/modules/imgmgr/imgr_ver_parse","os/modules/imgmgr/imgr_ver_str","os/modules/json/json","os/modules/json/json_encode_object_entry","os/modules/json/json_encode_object_finish","os/modules/json/json_encode_object_key","os/modules/json/json_encode_object_start","os/modules/json/json_read_object","os/modules/logs/logs","os/modules/sensor_framework/sensor_api","os/modules/sensor_framework/sensor_create","os/modules/sensor_framework/sensor_driver","os/modules/sensor_framework/sensor_framework_overview","os/modules/sensor_framework/sensor_listener_api","os/modules/sensor_framework/sensor_mgr_api","os/modules/sensor_framework/sensor_oic","os/modules/sensor_framework/sensor_shell","os/modules/shell/shell","os/modules/shell/shell_cmd_register","os/modules/shell/shell_evq_set","os/modules/shell/shell_nlip_input_register","os/modules/shell/shell_nlip_output","os/modules/shell/shell_register","os/modules/shell/shell_register_app_cmd_handler","os/modules/shell/shell_register_default_module","os/modules/split/split","os/modules/stats/stats","os/modules/sysinitconfig/sysconfig_error","os/modules/sysinitconfig/sysinitconfig","os/modules/testutil/test_assert","os/modules/testutil/test_case","os/modules/testutil/test_decl","os/modules/testutil/test_pass","os/modules/testutil/test_suite","os/modules/testutil/testutil","os/modules/testutil/tu_init","os/modules/testutil/tu_restart","os/os_user_guide","os/tutorials/STM32F303","os/tutorials/add_newtmgr","os/tutorials/codesize","os/tutorials/define_target","os/tutorials/event_queue","os/tutorials/ota_upgrade_nrf52","os/tutorials/pin-wheel-mods","os/tutorials/segger_rtt","os/tutorials/segger_sysview","os/tutorials/tasks_lesson","os/tutorials/try_markdown","os/tutorials/unit_test","os/tutorials/wi-fi_on_arduino","tutorials/ble/ble","tutorials/ble/ble_bare_bones","tutorials/ble/blehci_project","tutorials/ble/bleprph/bleprph","tutorials/ble/bleprph/bleprph-sections/bleprph-adv","tutorials/ble/bleprph/bleprph-sections/bleprph-app","tutorials/ble/bleprph/bleprph-sections/bleprph-chr-access","tutorials/ble/bleprph/bleprph-sections/bleprph-gap-event","tutorials/ble/bleprph/bleprph-sections/bleprph-svc-reg","tutorials/ble/eddystone","tutorials/ble/ibeacon","tutorials/blinky/arduino_zero","tutorials/blinky/blinky","tutorials/blinky/blinky_console","tutorials/blinky/blinky_primo","tutorials/blinky/blinky_stm32f4disc","tutorials/blinky/nRF52","tutorials/blinky/olimex","tutorials/blinky/rbnano2","tutorials/lora/lorawanapp","tutorials/other/codesize","tutorials/other/other","tutorials/other/unit_test","tutorials/other/wi-fi_on_arduino","tutorials/repo/add_repos","tutorials/repo/create_repo","tutorials/repo/private_repo","tutorials/repo/upgrade_repo","tutorials/sensors/air_quality","tutorials/sensors/air_quality_ble","tutorials/sensors/air_quality_sensor","tutorials/sensors/nrf52_adc","tutorials/sensors/sensor_bleprph_oic","tutorials/sensors/sensor_nrf52_bno055","tutorials/sensors/sensor_nrf52_bno055_oic","tutorials/sensors/sensor_offboard_config","tutorials/sensors/sensor_oic_overview","tutorials/sensors/sensor_thingy_lis2dh12_onb","tutorials/sensors/sensors","tutorials/sensors/sensors_framework","tutorials/slinky/project-nrf52-slinky","tutorials/slinky/project-sim-slinky","tutorials/slinky/project-slinky","tutorials/slinky/project-stm32-slinky","tutorials/tooling/segger_rtt","tutorials/tooling/segger_sysview","tutorials/tooling/tooling","tutorials/tutorials"],envversion:52,filenames:["_static/common.rst","concepts.rst","get_started/docker.rst","get_started/index.rst","get_started/native_install/cross_tools.rst","get_started/native_install/index.rst","get_started/native_install/native_tools.rst","get_started/project_create.rst","get_started/serial_access.rst","index.rst","misc/faq.rst","misc/go_env.rst","misc/ide.rst","misc/index.rst","network/ble/ble_hs/ble_att.rst","network/ble/ble_hs/ble_gap.rst","network/ble/ble_hs/ble_gattc.rst","network/ble/ble_hs/ble_gatts.rst","network/ble/ble_hs/ble_hs.rst","network/ble/ble_hs/ble_hs_id.rst","network/ble/ble_hs/ble_hs_return_codes.rst","network/ble/ble_intro.rst","network/ble/ble_sec.rst","network/ble/ble_setup/ble_addr.rst","network/ble/ble_setup/ble_lp_clock.rst","network/ble/ble_setup/ble_setup_intro.rst","network/ble/ble_setup/ble_sync_cb.rst","network/ble/btshell/btshell_GAP.rst","network/ble/btshell/btshell_GATT.rst","network/ble/btshell/btshell_advdata.rst","network/ble/btshell/btshell_api.rst","network/ble/mesh/index.rst","network/ble/mesh/sample.rst","newt/README.rst","newt/command_list/newt_build.rst","newt/command_list/newt_clean.rst","newt/command_list/newt_complete.rst","newt/command_list/newt_create_image.rst","newt/command_list/newt_debug.rst","newt/command_list/newt_help.rst","newt/command_list/newt_info.rst","newt/command_list/newt_install.rst","newt/command_list/newt_load.rst","newt/command_list/newt_mfg.rst","newt/command_list/newt_new.rst","newt/command_list/newt_pkg.rst","newt/command_list/newt_resign_image.rst","newt/command_list/newt_run.rst","newt/command_list/newt_size.rst","newt/command_list/newt_sync.rst","newt/command_list/newt_target.rst","newt/command_list/newt_test.rst","newt/command_list/newt_upgrade.rst","newt/command_list/newt_vals.rst","newt/command_list/newt_version.rst","newt/index.rst","newt/install/index.rst","newt/install/newt_linux.rst","newt/install/newt_mac.rst","newt/install/newt_windows.rst","newt/install/prev_releases.rst","newt/newt_operation.rst","newt/newt_ops.rst","newtmgr/README.rst","newtmgr/command_list/index.rst","newtmgr/command_list/newtmgr_config.rst","newtmgr/command_list/newtmgr_conn.rst","newtmgr/command_list/newtmgr_crash.rst","newtmgr/command_list/newtmgr_datetime.rst","newtmgr/command_list/newtmgr_echo.rst","newtmgr/command_list/newtmgr_fs.rst","newtmgr/command_list/newtmgr_image.rst","newtmgr/command_list/newtmgr_logs.rst","newtmgr/command_list/newtmgr_mpstats.rst","newtmgr/command_list/newtmgr_reset.rst","newtmgr/command_list/newtmgr_run.rst","newtmgr/command_list/newtmgr_stat.rst","newtmgr/command_list/newtmgr_taskstats.rst","newtmgr/index.rst","newtmgr/install/index.rst","newtmgr/install/install_linux.rst","newtmgr/install/install_mac.rst","newtmgr/install/install_windows.rst","newtmgr/install/prev_releases.rst","os/core_os/API.rst","os/core_os/callout/callout.rst","os/core_os/context_switch/context_switch.rst","os/core_os/cputime/os_cputime.rst","os/core_os/event_queue/event_queue.rst","os/core_os/heap/heap.rst","os/core_os/mbuf/mbuf.rst","os/core_os/memory_pool/memory_pool.rst","os/core_os/mqueue/mqueue.rst","os/core_os/msys/msys.rst","os/core_os/mutex/mutex.rst","os/core_os/mynewt_os.rst","os/core_os/os_init.rst","os/core_os/os_start.rst","os/core_os/os_started.rst","os/core_os/porting/port_bsp.rst","os/core_os/porting/port_cpu.rst","os/core_os/porting/port_mcu.rst","os/core_os/porting/port_os.rst","os/core_os/sanity/sanity.rst","os/core_os/semaphore/semaphore.rst","os/core_os/task/task.rst","os/core_os/time/os_time.rst","os/modules/baselibc.rst","os/modules/bootloader/boot_build_status.rst","os/modules/bootloader/boot_build_status_one.rst","os/modules/bootloader/boot_clear_status.rst","os/modules/bootloader/boot_copy_area.rst","os/modules/bootloader/boot_copy_image.rst","os/modules/bootloader/boot_erase_area.rst","os/modules/bootloader/boot_fill_slot.rst","os/modules/bootloader/boot_find_image_area_idx.rst","os/modules/bootloader/boot_find_image_part.rst","os/modules/bootloader/boot_find_image_slot.rst","os/modules/bootloader/boot_go.rst","os/modules/bootloader/boot_init_flash.rst","os/modules/bootloader/boot_move_area.rst","os/modules/bootloader/boot_read_image_header.rst","os/modules/bootloader/boot_read_image_headers.rst","os/modules/bootloader/boot_read_status.rst","os/modules/bootloader/boot_select_image_slot.rst","os/modules/bootloader/boot_slot_addr.rst","os/modules/bootloader/boot_slot_to_area_idx.rst","os/modules/bootloader/boot_swap_areas.rst","os/modules/bootloader/boot_vect_delete_main.rst","os/modules/bootloader/boot_vect_delete_test.rst","os/modules/bootloader/boot_vect_read_main.rst","os/modules/bootloader/boot_vect_read_one.rst","os/modules/bootloader/boot_vect_read_test.rst","os/modules/bootloader/boot_write_status.rst","os/modules/bootloader/bootloader.rst","os/modules/config/config.rst","os/modules/console/console.rst","os/modules/devmgmt/customize_newtmgr.rst","os/modules/devmgmt/newtmgr.rst","os/modules/devmgmt/oicmgr.rst","os/modules/drivers/driver.rst","os/modules/drivers/flash.rst","os/modules/drivers/mmc.rst","os/modules/elua/elua.rst","os/modules/elua/lua_init.rst","os/modules/elua/lua_main.rst","os/modules/fcb/fcb.rst","os/modules/fcb/fcb_append.rst","os/modules/fcb/fcb_append_finish.rst","os/modules/fcb/fcb_append_to_scratch.rst","os/modules/fcb/fcb_clear.rst","os/modules/fcb/fcb_getnext.rst","os/modules/fcb/fcb_init.rst","os/modules/fcb/fcb_is_empty.rst","os/modules/fcb/fcb_offset_last_n.rst","os/modules/fcb/fcb_rotate.rst","os/modules/fcb/fcb_walk.rst","os/modules/fs/fatfs.rst","os/modules/fs/fs/fs.rst","os/modules/fs/fs/fs_close.rst","os/modules/fs/fs/fs_closedir.rst","os/modules/fs/fs/fs_dirent_is_dir.rst","os/modules/fs/fs/fs_dirent_name.rst","os/modules/fs/fs/fs_filelen.rst","os/modules/fs/fs/fs_getpos.rst","os/modules/fs/fs/fs_mkdir.rst","os/modules/fs/fs/fs_open.rst","os/modules/fs/fs/fs_opendir.rst","os/modules/fs/fs/fs_ops.rst","os/modules/fs/fs/fs_read.rst","os/modules/fs/fs/fs_readdir.rst","os/modules/fs/fs/fs_register.rst","os/modules/fs/fs/fs_rename.rst","os/modules/fs/fs/fs_return_codes.rst","os/modules/fs/fs/fs_seek.rst","os/modules/fs/fs/fs_unlink.rst","os/modules/fs/fs/fs_write.rst","os/modules/fs/fs/fsutil_read_file.rst","os/modules/fs/fs/fsutil_write_file.rst","os/modules/fs/nffs/nffs.rst","os/modules/fs/nffs/nffs_area_desc.rst","os/modules/fs/nffs/nffs_config.rst","os/modules/fs/nffs/nffs_detect.rst","os/modules/fs/nffs/nffs_format.rst","os/modules/fs/nffs/nffs_init.rst","os/modules/fs/nffs/nffs_internals.rst","os/modules/fs/otherfs.rst","os/modules/hal/hal.rst","os/modules/hal/hal_api.rst","os/modules/hal/hal_bsp/hal_bsp.rst","os/modules/hal/hal_creation.rst","os/modules/hal/hal_flash/hal_flash.rst","os/modules/hal/hal_flash/hal_flash_int.rst","os/modules/hal/hal_gpio/hal_gpio.rst","os/modules/hal/hal_i2c/hal_i2c.rst","os/modules/hal/hal_in_libraries.rst","os/modules/hal/hal_os_tick/hal_os_tick.rst","os/modules/hal/hal_spi/hal_spi.rst","os/modules/hal/hal_system/hal_sys.rst","os/modules/hal/hal_timer/hal_timer.rst","os/modules/hal/hal_uart/hal_uart.rst","os/modules/hal/hal_watchdog/hal_watchdog.rst","os/modules/imgmgr/imgmgr.rst","os/modules/imgmgr/imgmgr_module_init.rst","os/modules/imgmgr/imgr_ver_parse.rst","os/modules/imgmgr/imgr_ver_str.rst","os/modules/json/json.rst","os/modules/json/json_encode_object_entry.rst","os/modules/json/json_encode_object_finish.rst","os/modules/json/json_encode_object_key.rst","os/modules/json/json_encode_object_start.rst","os/modules/json/json_read_object.rst","os/modules/logs/logs.rst","os/modules/sensor_framework/sensor_api.rst","os/modules/sensor_framework/sensor_create.rst","os/modules/sensor_framework/sensor_driver.rst","os/modules/sensor_framework/sensor_framework_overview.rst","os/modules/sensor_framework/sensor_listener_api.rst","os/modules/sensor_framework/sensor_mgr_api.rst","os/modules/sensor_framework/sensor_oic.rst","os/modules/sensor_framework/sensor_shell.rst","os/modules/shell/shell.rst","os/modules/shell/shell_cmd_register.rst","os/modules/shell/shell_evq_set.rst","os/modules/shell/shell_nlip_input_register.rst","os/modules/shell/shell_nlip_output.rst","os/modules/shell/shell_register.rst","os/modules/shell/shell_register_app_cmd_handler.rst","os/modules/shell/shell_register_default_module.rst","os/modules/split/split.rst","os/modules/stats/stats.rst","os/modules/sysinitconfig/sysconfig_error.rst","os/modules/sysinitconfig/sysinitconfig.rst","os/modules/testutil/test_assert.rst","os/modules/testutil/test_case.rst","os/modules/testutil/test_decl.rst","os/modules/testutil/test_pass.rst","os/modules/testutil/test_suite.rst","os/modules/testutil/testutil.rst","os/modules/testutil/tu_init.rst","os/modules/testutil/tu_restart.rst","os/os_user_guide.rst","os/tutorials/STM32F303.rst","os/tutorials/add_newtmgr.rst","os/tutorials/codesize.rst","os/tutorials/define_target.rst","os/tutorials/event_queue.rst","os/tutorials/ota_upgrade_nrf52.rst","os/tutorials/pin-wheel-mods.rst","os/tutorials/segger_rtt.rst","os/tutorials/segger_sysview.rst","os/tutorials/tasks_lesson.rst","os/tutorials/try_markdown.rst","os/tutorials/unit_test.rst","os/tutorials/wi-fi_on_arduino.rst","tutorials/ble/ble.rst","tutorials/ble/ble_bare_bones.rst","tutorials/ble/blehci_project.rst","tutorials/ble/bleprph/bleprph.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-adv.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-app.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-chr-access.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-gap-event.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-svc-reg.rst","tutorials/ble/eddystone.rst","tutorials/ble/ibeacon.rst","tutorials/blinky/arduino_zero.rst","tutorials/blinky/blinky.rst","tutorials/blinky/blinky_console.rst","tutorials/blinky/blinky_primo.rst","tutorials/blinky/blinky_stm32f4disc.rst","tutorials/blinky/nRF52.rst","tutorials/blinky/olimex.rst","tutorials/blinky/rbnano2.rst","tutorials/lora/lorawanapp.rst","tutorials/other/codesize.rst","tutorials/other/other.rst","tutorials/other/unit_test.rst","tutorials/other/wi-fi_on_arduino.rst","tutorials/repo/add_repos.rst","tutorials/repo/create_repo.rst","tutorials/repo/private_repo.rst","tutorials/repo/upgrade_repo.rst","tutorials/sensors/air_quality.rst","tutorials/sensors/air_quality_ble.rst","tutorials/sensors/air_quality_sensor.rst","tutorials/sensors/nrf52_adc.rst","tutorials/sensors/sensor_bleprph_oic.rst","tutorials/sensors/sensor_nrf52_bno055.rst","tutorials/sensors/sensor_nrf52_bno055_oic.rst","tutorials/sensors/sensor_offboard_config.rst","tutorials/sensors/sensor_oic_overview.rst","tutorials/sensors/sensor_thingy_lis2dh12_onb.rst","tutorials/sensors/sensors.rst","tutorials/sensors/sensors_framework.rst","tutorials/slinky/project-nrf52-slinky.rst","tutorials/slinky/project-sim-slinky.rst","tutorials/slinky/project-slinky.rst","tutorials/slinky/project-stm32-slinky.rst","tutorials/tooling/segger_rtt.rst","tutorials/tooling/segger_sysview.rst","tutorials/tooling/tooling.rst","tutorials/tutorials.rst"],objects:{"":{"os_task::SLIST_ENTRY":[84,2,1,"c.os_task::SLIST_ENTRY"],"os_task::STAILQ_ENTRY":[84,2,1,"c.os_task::STAILQ_ENTRY"],"os_task::TAILQ_ENTRY":[84,2,1,"c.os_task::TAILQ_ENTRY"],"os_task::t_arg":[84,5,1,"c.os_task::t_arg"],"os_task::t_ctx_sw_cnt":[84,5,1,"c.os_task::t_ctx_sw_cnt"],"os_task::t_flags":[84,5,1,"c.os_task::t_flags"],"os_task::t_func":[84,5,1,"c.os_task::t_func"],"os_task::t_lockcnt":[84,5,1,"c.os_task::t_lockcnt"],"os_task::t_name":[84,5,1,"c.os_task::t_name"],"os_task::t_next_wakeup":[84,5,1,"c.os_task::t_next_wakeup"],"os_task::t_obj":[84,5,1,"c.os_task::t_obj"],"os_task::t_pad":[84,5,1,"c.os_task::t_pad"],"os_task::t_prio":[84,5,1,"c.os_task::t_prio"],"os_task::t_run_time":[84,5,1,"c.os_task::t_run_time"],"os_task::t_sanity_check":[84,5,1,"c.os_task::t_sanity_check"],"os_task::t_stackptr":[84,5,1,"c.os_task::t_stackptr"],"os_task::t_stacksize":[84,5,1,"c.os_task::t_stacksize"],"os_task::t_stacktop":[84,5,1,"c.os_task::t_stacktop"],"os_task::t_state":[84,5,1,"c.os_task::t_state"],"os_task::t_taskid":[84,5,1,"c.os_task::t_taskid"],"os_task_info::oti_cswcnt":[84,5,1,"c.os_task_info::oti_cswcnt"],"os_task_info::oti_last_checkin":[84,5,1,"c.os_task_info::oti_last_checkin"],"os_task_info::oti_next_checkin":[84,5,1,"c.os_task_info::oti_next_checkin"],"os_task_info::oti_prio":[84,5,1,"c.os_task_info::oti_prio"],"os_task_info::oti_runtime":[84,5,1,"c.os_task_info::oti_runtime"],"os_task_info::oti_state":[84,5,1,"c.os_task_info::oti_state"],"os_task_info::oti_stksize":[84,5,1,"c.os_task_info::oti_stksize"],"os_task_info::oti_stkusage":[84,5,1,"c.os_task_info::oti_stkusage"],"os_task_info::oti_taskid":[84,5,1,"c.os_task_info::oti_taskid"],"os_task_obj::SLIST_HEAD":[84,2,1,"c.os_task_obj::SLIST_HEAD"],"os_timeval::tv_sec":[84,5,1,"c.os_timeval::tv_sec"],"os_timeval::tv_usec":[84,5,1,"c.os_timeval::tv_usec"],"os_timezone::tz_dsttime":[84,5,1,"c.os_timezone::tz_dsttime"],"os_timezone::tz_minuteswest":[84,5,1,"c.os_timezone::tz_minuteswest"],CPUTIME_GEQ:[84,0,1,"c.CPUTIME_GEQ"],CPUTIME_GT:[84,0,1,"c.CPUTIME_GT"],CPUTIME_LEQ:[84,0,1,"c.CPUTIME_LEQ"],CPUTIME_LT:[84,0,1,"c.CPUTIME_LT"],CTASSERT:[84,0,1,"c.CTASSERT"],OS_ALIGN:[84,0,1,"c.OS_ALIGN"],OS_IDLE_PRIO:[84,0,1,"c.OS_IDLE_PRIO"],OS_MAIN_STACK_SIZE:[84,0,1,"c.OS_MAIN_STACK_SIZE"],OS_MAIN_TASK_PRIO:[84,0,1,"c.OS_MAIN_TASK_PRIO"],OS_TASK_FLAG_EVQ_WAIT:[84,0,1,"c.OS_TASK_FLAG_EVQ_WAIT"],OS_TASK_FLAG_MUTEX_WAIT:[84,0,1,"c.OS_TASK_FLAG_MUTEX_WAIT"],OS_TASK_FLAG_NO_TIMEOUT:[84,0,1,"c.OS_TASK_FLAG_NO_TIMEOUT"],OS_TASK_FLAG_SEM_WAIT:[84,0,1,"c.OS_TASK_FLAG_SEM_WAIT"],OS_TASK_MAX_NAME_LEN:[84,0,1,"c.OS_TASK_MAX_NAME_LEN"],OS_TASK_PRI_HIGHEST:[84,0,1,"c.OS_TASK_PRI_HIGHEST"],OS_TASK_PRI_LOWEST:[84,0,1,"c.OS_TASK_PRI_LOWEST"],OS_TASK_READY:[84,1,1,"c.OS_TASK_READY"],OS_TASK_SLEEP:[84,1,1,"c.OS_TASK_SLEEP"],OS_TIMEOUT_NEVER:[84,0,1,"c.OS_TIMEOUT_NEVER"],OS_TIME_MAX:[84,0,1,"c.OS_TIME_MAX"],OS_TIME_TICK_GEQ:[84,0,1,"c.OS_TIME_TICK_GEQ"],OS_TIME_TICK_GT:[84,0,1,"c.OS_TIME_TICK_GT"],OS_TIME_TICK_LT:[84,0,1,"c.OS_TIME_TICK_LT"],OS_WAIT_FOREVER:[84,0,1,"c.OS_WAIT_FOREVER"],STAILQ_HEAD:[84,2,1,"c.STAILQ_HEAD"],TAILQ_HEAD:[84,2,1,"c.TAILQ_HEAD"],completion_cb:[136,3,1,"c.completion_cb"],console_append_char_cb:[136,3,1,"c.console_append_char_cb"],console_blocking_mode:[136,2,1,"c.console_blocking_mode"],console_echo:[136,2,1,"c.console_echo"],console_handle_char:[136,2,1,"c.console_handle_char"],console_init:[136,2,1,"c.console_init"],console_input:[136,4,1,"c.console_input"],console_is_init:[136,2,1,"c.console_is_init"],console_is_midline:[136,5,1,"c.console_is_midline"],console_non_blocking_mode:[136,2,1,"c.console_non_blocking_mode"],console_out:[136,2,1,"c.console_out"],console_printf:[136,2,1,"c.console_printf"],console_read:[136,2,1,"c.console_read"],console_rx_cb:[136,3,1,"c.console_rx_cb"],console_set_completion_cb:[136,2,1,"c.console_set_completion_cb"],console_set_queues:[136,2,1,"c.console_set_queues"],console_write:[136,2,1,"c.console_write"],g_current_task:[84,5,1,"c.g_current_task"],g_os_run_list:[84,5,1,"c.g_os_run_list"],g_os_sleep_list:[84,5,1,"c.g_os_sleep_list"],g_os_started:[84,5,1,"c.g_os_started"],g_os_task_list:[84,5,1,"c.g_os_task_list"],os_cputime_delay_nsecs:[84,2,1,"c.os_cputime_delay_nsecs"],os_cputime_delay_ticks:[84,2,1,"c.os_cputime_delay_ticks"],os_cputime_delay_usecs:[84,2,1,"c.os_cputime_delay_usecs"],os_cputime_get32:[84,2,1,"c.os_cputime_get32"],os_cputime_init:[84,2,1,"c.os_cputime_init"],os_cputime_nsecs_to_ticks:[84,2,1,"c.os_cputime_nsecs_to_ticks"],os_cputime_ticks_to_nsecs:[84,2,1,"c.os_cputime_ticks_to_nsecs"],os_cputime_ticks_to_usecs:[84,2,1,"c.os_cputime_ticks_to_usecs"],os_cputime_timer_init:[84,2,1,"c.os_cputime_timer_init"],os_cputime_timer_relative:[84,2,1,"c.os_cputime_timer_relative"],os_cputime_timer_start:[84,2,1,"c.os_cputime_timer_start"],os_cputime_timer_stop:[84,2,1,"c.os_cputime_timer_stop"],os_cputime_usecs_to_ticks:[84,2,1,"c.os_cputime_usecs_to_ticks"],os_get_return_addr:[84,0,1,"c.os_get_return_addr"],os_get_uptime_usec:[84,2,1,"c.os_get_uptime_usec"],os_gettimeofday:[84,2,1,"c.os_gettimeofday"],os_info_init:[84,2,1,"c.os_info_init"],os_init:[84,2,1,"c.os_init"],os_init_idle_task:[84,2,1,"c.os_init_idle_task"],os_sched:[84,2,1,"c.os_sched"],os_sched_ctx_sw_hook:[84,2,1,"c.os_sched_ctx_sw_hook"],os_sched_get_current_task:[84,2,1,"c.os_sched_get_current_task"],os_sched_insert:[84,2,1,"c.os_sched_insert"],os_sched_next_task:[84,2,1,"c.os_sched_next_task"],os_sched_os_timer_exp:[84,2,1,"c.os_sched_os_timer_exp"],os_sched_remove:[84,2,1,"c.os_sched_remove"],os_sched_resort:[84,2,1,"c.os_sched_resort"],os_sched_set_current_task:[84,2,1,"c.os_sched_set_current_task"],os_sched_sleep:[84,2,1,"c.os_sched_sleep"],os_sched_wakeup:[84,2,1,"c.os_sched_wakeup"],os_sched_wakeup_ticks:[84,2,1,"c.os_sched_wakeup_ticks"],os_settimeofday:[84,2,1,"c.os_settimeofday"],os_start:[84,2,1,"c.os_start"],os_started:[84,2,1,"c.os_started"],os_stime_t:[84,3,1,"c.os_stime_t"],os_task:[84,4,1,"c.os_task"],os_task_count:[84,2,1,"c.os_task_count"],os_task_func_t:[84,3,1,"c.os_task_func_t"],os_task_info:[84,4,1,"c.os_task_info"],os_task_info_get_next:[84,2,1,"c.os_task_info_get_next"],os_task_init:[84,2,1,"c.os_task_init"],os_task_obj:[84,4,1,"c.os_task_obj"],os_task_remove:[84,2,1,"c.os_task_remove"],os_task_state:[84,6,1,"c.os_task_state"],os_task_state_t:[84,3,1,"c.os_task_state_t"],os_time_advance:[84,2,1,"c.os_time_advance"],os_time_delay:[84,2,1,"c.os_time_delay"],os_time_get:[84,2,1,"c.os_time_get"],os_time_ms_to_ticks:[84,2,1,"c.os_time_ms_to_ticks"],os_time_t:[84,3,1,"c.os_time_t"],os_timeradd:[84,0,1,"c.os_timeradd"],os_timersub:[84,0,1,"c.os_timersub"],os_timeval:[84,4,1,"c.os_timeval"],os_timezone:[84,4,1,"c.os_timezone"]}},objnames:{"0":["c","define","define"],"1":["c","enumvalue","enumvalue"],"2":["c","function","C function"],"3":["c","typedef","typedef"],"4":["c","struct","struct"],"5":["c","variable","variable"],"6":["c","enum","enum"]},objtypes:{"0":"c:define","1":"c:enumvalue","2":"c:function","3":"c:typedef","4":"c:struct","5":"c:variable","6":"c:enum"},terms:{"000s":[269,271,274,286],"008s":[269,271,274,286],"00z":[253,277],"01t22":68,"02t22":[253,277],"04x":20,"05t02":[253,277],"093s":[269,271,274,286],"0b1000110":194,"0mb":11,"0ubuntu5":6,"0x0":[266,273,286],"0x00":[20,273,274,285],"0x0000":[257,285],"0x00000000":[185,229,231,232],"0x00000001":134,"0x00000002":[134,273],"0x00000004":134,"0x00000008":134,"0x00000010":134,"0x000000b8":266,"0x000000d8":[249,250,299,300],"0x000000dc":[249,250,256,292,299,300],"0x00004000":[229,231,232],"0x00008000":[99,229,231,232],"0x00009ef4":273,"0x0000fca6":266,"0x00023800":229,"0x0003f000":229,"0x0003f800":229,"0x0006":29,"0x0007d000":232,"0x000e0000":231,"0x0010":27,"0x01":[20,27,30,134,274],"0x0100":27,"0x01000000":272,"0x0101":20,"0x0102":20,"0x0103":20,"0x0104":20,"0x0105":20,"0x0106":20,"0x0107":20,"0x0108":20,"0x0109":20,"0x010a":20,"0x010b":20,"0x010c":20,"0x010d":20,"0x010e":20,"0x010f":20,"0x0110":20,"0x0111":20,"0x02":[20,27,30,134,274,285],"0x0201":20,"0x0202":20,"0x0203":20,"0x0204":20,"0x0205":20,"0x0206":20,"0x0207":20,"0x0208":20,"0x0209":20,"0x020a":20,"0x020b":20,"0x020c":20,"0x020d":20,"0x020e":20,"0x020f":20,"0x0210":20,"0x0211":20,"0x0212":20,"0x0213":20,"0x0214":20,"0x0215":20,"0x0216":20,"0x0217":20,"0x0218":20,"0x0219":20,"0x021a":20,"0x021b":20,"0x021c":20,"0x021d":20,"0x021e":20,"0x021f":20,"0x0220":20,"0x0221":20,"0x0222":20,"0x0223":20,"0x0224":20,"0x0225":20,"0x0226":20,"0x0227":20,"0x0228":20,"0x0229":20,"0x022a":20,"0x022c":20,"0x022d":20,"0x022e":20,"0x022f":20,"0x0230":20,"0x0232":20,"0x0234":20,"0x0235":20,"0x0236":20,"0x0237":20,"0x0238":20,"0x0239":20,"0x023a":20,"0x023b":20,"0x023c":20,"0x023d":20,"0x023e":20,"0x023f":20,"0x0240":20,"0x03":[20,30,134],"0x0300":[20,27],"0x0301":20,"0x0302":20,"0x04":[20,27],"0x0401":20,"0x0402":20,"0x0403":20,"0x0404":20,"0x0405":20,"0x0406":20,"0x0407":20,"0x0408":20,"0x0409":20,"0x040a":20,"0x040b":20,"0x040c":20,"0x040d":20,"0x040e":20,"0x0483":270,"0x05":20,"0x0501":20,"0x0502":20,"0x0503":20,"0x0504":20,"0x0505":20,"0x0506":20,"0x0507":20,"0x0508":20,"0x0509":20,"0x050a":20,"0x050b":20,"0x050c":20,"0x050d":20,"0x050e":20,"0x06":[20,257],"0x07":20,"0x08":[20,27,285],"0x08000000":272,"0x08000020":272,"0x08000250":272,"0x08021e90":270,"0x09":20,"0x0a":20,"0x0b":20,"0x0bc11477":266,"0x0c":20,"0x0c80":29,"0x0d":20,"0x0e":20,"0x0f":[20,288],"0x0f505235":134,"0x0fffffff":185,"0x1":[286,288,290,292],"0x10":[20,266,273,274,288],"0x100":20,"0x1000":[90,288,290],"0x10000":99,"0x10000000":185,"0x10010000":272,"0x10036413":272,"0x10076413":270,"0x1010":90,"0x103":20,"0x11":[20,23,265,274],"0x12":20,"0x13":20,"0x14":20,"0x1400":285,"0x15":[20,284,286,288],"0x16":20,"0x17":20,"0x18":20,"0x1800":30,"0x1808":30,"0x180a":30,"0x19":[20,214],"0x1a":20,"0x1b":20,"0x1c":[20,284,286],"0x1d":20,"0x1e":20,"0x1f":20,"0x2":[288,290],"0x20":[20,32,99,266,273,284,286],"0x200":[20,288,290],"0x2000":[288,290],"0x20000":286,"0x20000000":99,"0x20002290":270,"0x20002408":266,"0x20008000":266,"0x21":[20,32],"0x21000000":266,"0x22":[20,23,32,274],"0x23":[20,32],"0x24":20,"0x25":[20,285],"0x26":20,"0x27":20,"0x28":20,"0x2800":285,"0x29":20,"0x2a":20,"0x2ba01477":273,"0x2c":20,"0x2d":20,"0x2e":20,"0x2f":20,"0x30":[20,266,273],"0x300":20,"0x311":288,"0x32":[20,288],"0x33":23,"0x34":20,"0x35":20,"0x36":20,"0x37":20,"0x374b":270,"0x38":20,"0x39":20,"0x3a":20,"0x3a000":99,"0x3b":20,"0x3c":20,"0x3c00":285,"0x3d":20,"0x3e":20,"0x3f":20,"0x4":[288,290],"0x40":[20,266,273,284,286],"0x400":20,"0x4000":[288,290],"0x40007000":286,"0x4001e504":273,"0x4001e50c":273,"0x41000000":270,"0x42000":61,"0x44":[23,285],"0x4400":285,"0x46":194,"0x4f":[284,286],"0x50":[266,273],"0x500":20,"0x5000":285,"0x55":23,"0x60":[266,273],"0x61":[284,286],"0x66":23,"0x6c00":285,"0x70":[266,273],"0x72":[284,286],"0x7800":285,"0x7fefd260":134,"0x7fff8000":286,"0x7fffffff":185,"0x80":[284,286],"0x8000":61,"0x8000000":272,"0x80000000":185,"0x8079b62c":134,"0x8801":285,"0x8c":194,"0x8d":194,"0x90":[284,286],"0x96f3b83c":134,"0x9c01":285,"0x9f":285,"0xa0":288,"0xa001":285,"0xa7":[284,286],"0xaf":[284,286],"0xb3":[284,286],"0xb401":285,"0xb5":[284,286],"0xbead":[284,286],"0xcc01":285,"0xd2":[284,286],"0xd801":285,"0xdead":[284,286],"0xe401":285,"0xe7":[284,286],"0xf":285,"0xf001":285,"0xf395c277":134,"0xfb":288,"0xfe":285,"0xff":[134,185],"0xffff":[29,285],"0xfffffffe":185,"0xffffffff":[134,185,213,266],"0xffffffff0xffffffff0xffffffff0xffffffff":273,"100kb":107,"1024kbyte":[270,272],"103kb":229,"10m":27,"110kb":229,"128kb":[9,231],"12c":[269,271,274,286],"12kb":232,"12mhz":9,"132425ssb":30,"132428ssb":30,"132433ssb":30,"132437ssb":30,"132441ssb":30,"14e":[249,299],"14h":[249,292,299],"1503a0":278,"16kb":[9,231,232],"16kbram":53,"16mb":9,"190a192":285,"1_amd64":[57,60,80,83],"1c15":[284,286],"1d11":295,"1d13":[254,278,298],"1d560":229,"1eec4":229,"1kb":229,"1st":68,"1ubuntu1":6,"1wx":273,"200mhz":9,"2015q2":[4,12],"2022609336ssb":260,"2022687456ssb":260,"2022789012ssb":260,"2022851508ssb":260,"2042859320ssb":260,"2042937440ssb":260,"248m":6,"250m":246,"256kb":266,"262s":[269,271,274,286],"28a29":285,"28t22":[253,277],"291ebc02a8c345911c96fdf4e7b9015a843697658fd6b5faa0eb257a23e93682":247,"296712s":272,"2a24":48,"2d5217f":81,"2m_interval_max":27,"2m_interval_min":27,"2m_latenc":27,"2m_max_conn_event_len":27,"2m_min_conn_event_len":27,"2m_scan_interv":27,"2m_scan_window":27,"2m_timeout":27,"2msym":21,"300v":[269,271,274,286],"32kb":[232,266],"32mb":9,"32wx":[266,273],"363s":[269,271,274,286],"3_1":36,"3mb":81,"4_9":4,"4fa7":[284,286],"500m":246,"512kb":99,"575c":229,"5kb":107,"6lowpan":21,"73d77f":71,"78e4d263eeb5af5635705b7cae026cc184f14aa6c6c59c6e80616035cd2efc8f":229,"7b3w9m4n2mg3sqmgw2q1b9p80000gn":55,"7kb":229,"8ab6433f8971b05c2a9c3341533e8ddb754e404":281,"948f118966f7989628f8f3be28840fd23a200fc219bb72acdfe9096f06c4b39b":229,"9cf8af22b1b573909a8290a90c066d4e190407e97680b7a32243960ec2bf3a7f":298,"9mb":58,"abstract":[9,20,101,102,140,157,168,171,179,186,213,215,216,246,285,302],"boolean":[206,232],"break":[20,90,142,240,261,285],"byte":[10,19,23,27,46,66,71,73,90,91,93,105,134,136,138,146,147,159,163,164,166,169,174,175,176,177,178,179,180,185,194,197,206,229,233,247,251,264,265,274],"case":[2,6,7,20,21,30,55,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,90,93,95,99,103,104,105,134,140,179,185,190,229,230,232,233,234,235,236,237,238,240,242,250,251,253,254,257,261,262,264,265,266,277,278,284,285,286,300],"catch":20,"char":[84,91,95,103,105,135,136,140,144,145,158,160,161,162,165,166,167,168,170,172,175,177,178,182,183,185,200,204,205,206,207,209,212,221,222,226,227,228,230,232,239,246,251,253,261,264,265,268,277,285,290,292],"class":[140,274],"const":[84,99,134,136,141,158,160,161,162,163,164,165,166,167,168,170,171,172,175,176,177,178,182,183,186,192,206,211,212,215,221,226,228,230,253,261,263,264,265,277,284,285,286],"default":[1,2,4,6,7,10,12,20,24,26,27,28,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,88,94,95,99,100,102,103,105,136,137,139,140,141,157,181,206,212,213,214,215,216,218,219,220,221,223,228,229,230,231,232,242,243,246,247,249,257,259,261,264,265,266,267,274,279,284,285,286,288,289,291,292,294,299],"enum":[84,135,206,213,284,285],"export":[1,11,23,60,61,80,82,83,88,136,140,142,212,213,214,215,216,243,287,288,290],"final":[8,55,90,94,99,134,148,185,187,208,229,248,251,256,259,284,286],"float":[64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,107,206,213,287],"function":[1,7,9,14,20,23,31,61,84,85,87,88,89,90,95,96,97,100,101,102,103,105,134,135,136,140,141,142,144,152,156,157,158,159,160,161,162,164,166,167,168,170,172,173,174,175,177,179,180,182,185,186,187,190,193,194,195,196,197,198,199,203,205,207,208,209,210,211,212,214,216,219,221,222,223,224,226,227,229,233,234,235,236,237,239,240,242,243,246,247,249,250,253,256,259,260,262,264,265,267,268,274,277,279,284,285,286,288,292,297,299,300,302],"goto":[103,165,211,215,224,225,284,285,286],"i\u00b2c":194,"import":[11,55,57,80,90,99,106,107,194,251,256,259,262,286],"int":[1,20,26,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,84,90,91,92,95,98,103,105,135,136,140,141,142,144,145,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,165,166,167,168,169,170,171,172,174,175,176,177,178,182,183,184,186,190,196,197,201,204,205,206,207,208,209,210,211,214,215,221,222,224,225,226,227,228,230,232,233,234,235,237,238,239,246,248,251,253,259,261,262,263,264,265,268,277,284,285,286,290,292],"long":[3,21,24,28,90,95,104,107,157,175,185,229,273,292],"new":[2,3,4,6,10,11,21,23,24,27,30,31,34,39,41,45,46,50,53,57,58,59,61,84,86,99,102,105,134,136,146,147,148,157,158,167,172,179,182,183,187,202,221,229,230,232,242,247,251,253,254,255,256,257,262,263,264,265,266,269,270,271,272,273,274,277,278,279,285,286,287,289,302],"null":[84,92,93,95,99,103,105,136,141,158,162,166,169,177,179,185,192,211,212,214,215,221,226,228,231,232,246,251,259,262,263,264,265,268,284,285,286,287,290,292],"public":[19,25,27,29,30,32,57,66,80,84,134,136,264,265],"return":[18,26,84,88,90,91,92,93,95,99,103,105,135,136,141,146,158,192,197,206,214,215,218,232,246,251,253,259,261,262,263,266,268,274,277,284,285,286,288,290,292,296],"short":[90,94,221,251],"static":[19,26,66,88,91,95,99,103,135,136,141,145,186,205,207,208,210,211,212,214,215,222,224,225,226,227,228,233,242,246,257,259,261,262,263,264,265,268,284,285,286,287,290,292],"switch":[10,12,20,58,71,77,81,84,86,95,97,99,105,134,187,202,221,243,249,256,257,261,262,284,285,286,292,299],"transient":262,"true":[8,12,84,98,103,106,211,229,233,247,253,277,286,295,298],"try":[2,20,21,23,90,158,185,194,242,248,249,254,256,257,260,266,267,268,269,270,271,273,278,280,286,288,292,294,299],"var":[50,55,65,66,172],"void":[20,26,84,85,88,90,91,92,95,96,97,98,103,105,135,136,140,141,142,144,156,158,159,163,165,166,168,169,172,174,175,176,177,178,184,186,190,196,199,203,205,206,212,214,215,217,222,223,224,226,227,228,232,233,234,235,237,238,239,240,246,251,259,261,262,263,264,265,268,284,285,286,287,290,292],"while":[4,6,7,8,21,23,26,49,55,61,90,91,92,93,95,99,103,105,107,136,142,144,158,160,161,162,167,170,185,200,206,211,215,229,232,233,238,243,244,246,249,250,251,253,264,265,268,275,277,284,285,286,290,292,299,300],AES:22,ANS:258,Adding:[56,79,302],And:[61,134,146,229,231,248,251,255,260,284,285,286],But:286,CTS:257,FOR:4,For:[2,3,5,6,7,8,11,12,20,22,23,24,29,30,34,37,39,50,53,55,57,58,59,60,61,62,66,83,85,88,90,95,99,102,106,107,134,140,141,158,176,179,180,185,186,190,193,194,197,206,212,213,214,215,216,217,227,229,230,231,232,238,240,242,246,247,249,250,253,254,256,261,262,263,264,265,266,268,270,271,272,274,277,278,279,280,285,286,288,290,292,295,298,299,300,302],IDE:[5,12],IDs:134,Its:[100,106,107,242,280],NOT:[90,162,286],Not:[7,20,29,90,92,185,187,229,286],One:[6,20,95,107,185,229,242,254,259,278,285],PCs:8,QoS:[20,21],RTS:257,Such:[185,264,265,280],TMS:266,That:[2,20,61,146,185,232,254,264,265,266,274,278,279,285,286],The:[1,2,3,4,5,6,7,8,10,11,12,14,15,16,17,18,19,20,21,22,23,24,26,27,29,30,31,33,34,37,43,45,46,47,50,55,57,58,59,61,63,64,66,70,71,72,73,75,76,77,78,80,81,82,84,85,86,87,88,89,90,91,92,93,94,95,96,99,100,101,102,103,104,105,106,107,134,135,136,137,138,139,140,141,142,146,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,178,179,180,181,182,183,185,186,187,188,190,191,192,193,194,196,197,198,199,200,201,202,204,205,206,212,213,214,215,216,217,218,219,220,221,222,224,225,226,227,229,230,231,232,233,236,238,240,241,242,243,244,246,247,248,249,250,251,252,253,254,255,256,257,259,261,262,263,264,265,266,267,269,270,271,272,273,274,275,277,278,279,280,284,285,286,287,288,289,290,291,292,294,295,296,297,298,299,300,302],Then:[10,33,63,134,146,185,229,242,249,253,257,277,285,286,299],There:[4,8,10,22,23,28,57,61,80,85,90,94,99,100,104,105,107,135,136,140,166,185,187,193,212,213,218,221,229,230,249,250,253,261,266,274,277,281,286,292,299,300],These:[5,20,27,50,61,90,99,100,102,104,134,135,140,185,194,213,216,217,218,221,231,243,255,259,263,264,265,266,267,272,279,280,287,288],Use:[1,7,8,11,27,28,50,57,58,59,62,71,80,81,82,99,138,146,148,229,242,254,261,264,265,266,269,274,278,279,286,287,289,297],Used:[94,99,234,235,237],Uses:[31,42,139,231],Using:[20,49,93,94,268,297,302],Was:274,Will:20,With:[9,20,21,30,90,95,102,134,229,231,248,249,250,251,256,285,299,300,302],Yes:[10,19,90,134,139,252],__a:84,__asm:270,__builtin_offsetof:230,__etext:272,__n:84,__t1:84,__t2:84,__wfi:270,_access:261,_adc:286,_addr:264,_addr_:[264,265],_app:264,_build:[33,63],_cfg:[214,215],_cli:[215,216,288],_cnt:146,_config:[213,214,215,290],_file:158,_gatt_ac:261,_imghdr_siz:99,_init:[213,214,215],_itvl:103,_last:103,_len:90,_log:215,_name:232,_nrf52_adc_h_:286,_object:206,_ofb:[214,216,288],_onb:[214,216,292],_pad1:134,_pad2:134,_pad3:134,_pad:[94,104,134],_param:221,_rea:206,_reserv:213,_resource_t:287,_senseair_h_:285,_sensor:214,_set:264,_shell_init:[215,288],_stage:232,_stat:215,a600anj1:229,abbrevi:259,abc:[253,277],abil:[6,22,31,55,90,251],abl:[2,90,99,140,141,243,252,260,264,265,266,279,285,286],abort:[49,222,226,231,232,233,253,277,290],about:[1,3,10,23,29,40,57,58,59,62,64,80,81,82,91,95,99,103,105,106,146,147,151,185,206,217,229,230,241,242,246,251,259,262,263,264,265,269,273,274,280,285,286],abov:[9,10,14,19,85,90,93,95,103,106,134,158,166,185,197,221,229,230,231,232,243,253,256,259,261,264,265,268,274,277,279,284,286],absent:[134,185],abstrat:146,acc:288,accel:[288,292],accel_rev:288,acceleromet:[213,215,287,288,289,292],accept:[20,27,142,166,185,202,242,266,270,272,274,279],access:[15,20,21,27,59,61,64,70,80,81,82,87,89,94,95,99,104,140,141,142,146,158,166,173,175,179,186,187,194,202,212,213,215,216,229,232,238,246,253,256,263,266,277,285],access_:263,access_cb:[261,263,284],access_fla:166,access_flag:[166,168],accessor:90,accgyro:288,accommod:[24,90,93,102,134,185,264],accomplish:[9,10,55,179,185,261],accord:[99,134,238,239],accordingli:[24,99,105],account:[10,61,90,134],accur:272,achiev:[26,185,264,265],ack_rxd:274,acknowledg:274,acl:20,acquir:[26,94,104,185,194],acquisit:194,across:[30,31,55,61,62,140,185,187],act:[22,30,202,229],action:[9,27,62,242,251,259,263,274,286],activ:[12,16,17,21,47,71,99,105,197,202,229,242,247,249,250,259,274,295,298,299,300],actual:[2,7,34,77,90,91,99,105,134,162,169,177,185,190,229,231,233,241,251,256,264,265,266,279,280,281,285,286],ad_fil:158,adafruit:[8,286,288],adapt:[21,102,254,266,269,270,278,292],adapter_nsrst_delai:[266,270],adaptor:272,adc0:286,adc:[9,53,140],adc_0:286,adc_0_interrupt_prior:286,adc_0_oversampl:286,adc_0_resolut:286,adc_buf_read:286,adc_buf_releas:286,adc_buf_s:286,adc_buf_set:286,adc_chan_config:286,adc_config:286,adc_dev:286,adc_event_handler_set:286,adc_evq:286,adc_hw_impl:53,adc_init:286,adc_nrf52:286,adc_number_channel:286,adc_number_sampl:286,adc_read:286,adc_read_ev:286,adc_result:286,adc_result_mv:286,adc_sampl:286,adc_sns_str:286,adc_sns_typ:286,adc_sns_val:286,adc_stack:286,adc_stack_s:286,adc_stm32f4:140,adc_task:286,adc_task_handl:286,adc_task_prio:286,add:[1,2,4,6,7,11,12,27,37,39,50,55,57,58,59,61,62,80,88,90,95,102,104,106,107,136,137,146,158,187,194,214,215,222,230,232,242,243,244,246,247,248,251,253,254,256,257,260,266,267,268,275,277,278,279,288,289,290,291,293,295,296,297,298,302],added:[10,12,32,53,55,81,90,93,99,104,105,134,136,141,143,158,194,221,246,247,254,266,268,278,280,284,285,295,296,298,302],adding:[2,10,31,37,55,90,99,100,106,146,230,253,256,268,277,279,280,284,285,286],addit:[1,12,21,29,43,55,61,62,99,100,102,134,140,158,185,194,212,229,232,233,236,242,243,251,256,259,266,267,269,270,272,273,274,285,296],addition:62,addr:[27,30,91,141,206,211,257,264,265,288],addr_typ:[27,30],address:[20,21,22,25,27,29,31,32,55,66,90,91,95,134,140,141,142,157,185,194,197,206,213,215,229,247,249,254,257,261,274,278,292,299],aditihilbert:4,adjust:[20,99,246,248],admin:[4,257],adress:27,adsertis:27,adv:[21,27,30,31],adv_data:27,adv_field:[259,264],adv_param:[259,262,264,265],advanc:[59,174,185,249,250,299,300],advantag:262,advantang:259,adverb:62,adverti:[264,265],advertis:[15,20,21,24,26,31,32,66,247,258,260,262,284,286,287],advertise_128bit_uuid:287,advertise_16bit_uuid:287,advertising_interv:[27,29],advic:[100,101],advinterv:29,aes:[254,266,269,271,273,278,295,296,298],aesni:[295,296],af80:[284,286],affect:[134,174,179,180,186,212,229,244,256,275],aflag:[1,50,61],after:[4,8,11,22,26,30,41,50,55,57,58,61,80,81,84,88,100,105,106,134,135,140,144,148,152,158,179,185,197,215,229,231,236,242,243,247,251,252,254,257,259,261,262,263,266,267,278,279,288,292],again:[8,20,26,57,59,80,99,134,146,229,230,251,259,266,269,270,271,272,273,274,284,286,298],against:[22,95],agnost:158,agre:[285,286],agreement:[285,286],ah02mie2:285,ahead:106,aid:[61,215],aim:[20,141,158,258,302],ain0:286,ain1:286,air:[20,90,229,243,274,293,302],air_q:285,air_qual:[284,285,286],albeit:255,alert:258,algorithm:[21,86],align:[90,91,104,146,251],all201612161220:75,all:[1,2,3,6,7,8,9,10,12,14,15,16,17,18,20,21,22,24,26,27,28,29,30,31,35,40,41,43,49,50,51,52,53,55,61,66,72,75,90,93,94,95,99,100,102,103,105,106,134,135,136,140,146,150,156,158,165,166,169,171,172,175,177,179,181,183,185,186,187,190,206,212,213,214,215,216,217,218,219,221,226,229,230,231,232,236,238,241,242,243,244,248,252,253,256,257,258,259,260,261,262,263,264,265,268,270,272,274,275,277,279,280,281,282,284,285,286,288,290,292,295,298],alloc:[73,77,88,89,90,91,93,157,185,226,259,261],allow:[2,3,4,6,8,9,12,20,21,27,31,39,50,55,57,58,59,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,88,92,94,95,102,104,134,136,140,158,179,185,197,198,212,216,217,218,220,221,229,230,232,235,239,242,243,246,251,254,257,259,262,264,268,269,274,278,286,288,292,294],almost:[8,251],alon:239,along:[10,61,90,105,224,285],alongsid:[251,264],alphabet:[185,232],alreadi:[6,7,8,11,20,24,31,43,58,59,81,82,84,101,102,134,141,152,159,165,166,171,172,173,178,185,193,242,248,249,250,254,255,256,266,268,269,270,271,272,273,274,278,284,285,286,287,295,298,299,300],also:[1,3,5,6,7,8,11,12,21,23,24,27,34,37,40,55,57,58,59,60,61,66,80,83,90,91,95,99,102,104,105,106,134,135,136,137,140,141,146,158,179,185,197,200,202,212,213,214,215,217,219,221,229,230,231,232,242,243,244,246,251,253,254,256,259,262,263,267,268,274,275,277,278,279,280,284,285,286,288,289,290,291,292,295,296,298],alt:298,altern:[6,134,146,229,261],although:279,altogeth:[85,284],alwai:[8,61,99,106,134,162,164,166,167,174,176,185,190,253,255,261,264,265,272,277,279,280,285,302],ambigu:20,ambiti:256,amd64:[57,80],amend:[1,32,50,62,244,247,249,250,275,299,300],amg:288,among:[86,99,134,182,229],amount:[24,85,90,91,101,158,177,212,229,251,259],analog:[140,293],analyz:[12,250,300],android:[287,289,291,294],ani:[1,4,8,10,14,21,22,27,33,49,50,59,61,63,64,66,73,76,77,80,81,82,84,88,90,93,94,95,99,101,103,104,105,106,134,136,141,142,158,165,175,179,180,181,182,184,185,200,212,215,216,221,229,230,232,239,242,243,247,257,259,268,269,274,280,284,285,286,292,297,302],announc:[259,264,265],annoy:[261,281],anonym:27,anoth:[10,21,26,27,30,61,90,94,95,99,100,101,105,106,136,193,202,229,231,242,249,250,251,259,261,274,285,286,296,299,300],ans:[285,286],answer:95,anymor:[90,251],anyth:[1,8,23,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,229,242,248,256,264,265,267,280,285,286],apach:[1,2,6,7,10,11,12,21,32,33,37,38,39,43,44,50,51,53,55,57,58,59,61,62,63,80,81,82,99,134,136,139,140,158,190,229,230,232,242,249,250,252,253,254,256,257,258,260,264,266,267,268,269,270,271,272,273,274,277,278,279,280,285,286,287,288,289,292,294,295,296,297,298,299,300,302],apart:106,api:[1,16,17,18,19,20,21,53,55,61,95,102,105,106,140,141,168,187,191,192,193,194,196,197,198,199,200,215,216,221,230,265,270,287,291],app:[1,7,8,12,21,26,29,32,34,37,38,42,43,45,46,47,48,50,53,55,62,73,76,77,99,134,136,140,158,187,230,231,232,242,243,246,247,248,249,251,253,254,256,258,259,262,263,264,265,266,268,269,270,271,272,273,277,278,284,285,286,287,288,289,290,291,295,296,297,298,299,302],app_error:286,app_log_init:212,app_util_platform:286,appear:[27,29,102,194,251,261,263],append:[146,164,174,176,185,253,277],append_loc:[147,148],append_test:[253,277],appl:[249,250,266,292,294,299,300],appli:[12,24,134,136,179,180,185,200,212,229,232,253,274,277],applic:[1,2,4,5,6,8,9,10,11,13,14,18,20,21,23,24,25,26,28,30,34,39,42,47,50,55,57,58,59,60,61,73,76,77,78,82,83,88,90,93,99,103,105,134,136,137,138,139,140,158,179,185,191,197,215,216,217,218,219,220,221,227,230,231,232,241,247,250,253,255,258,261,262,267,276,277,284,285,291,294,296,297,300,302],applicaton:1,applict:12,approach:[31,99,232],appropri:[62,93,99,102,105,138,140,185,194,197,232,242,248,256,259,262,264,265,267,285,286,291],approv:10,apps_air_qu:285,apps_bleprph:229,apps_blinki:[55,61],apps_my_sensor_app:292,apr:[269,271,274,286],apropo:[249,250,266,292,299,300],apt:[4,6,7,56,60,79,83,257],arbitrari:[134,242,254,257,266,269,270,271,272,273,274,278,286,288,295,296,298],arbitrarili:[134,185,265],arc4:266,arch:[61,99,102,196,238,269,270,271,272,273,274,292],arch_sim:[268,292],architectur:[57,80,84,86,91,96,99,101,102,106,134,140,157,187,193,196,251],archiv:[4,7,57,59,61,172,242,243,254,256,266,268,269,270,271,272,273,274,278,285,286,288,292,295,296,298],arduino:[12,251,267,276,279,284,285,302],arduino_101:53,arduino_blinki:[12,251,266],arduino_boot:[12,266],arduino_mkr1000:[254,278],arduino_primo_nrf52:[53,269,285],arduino_zero:266,arduino_zero_debug:266,arduinowifi:[254,278],area:[90,99,134,135,146,156,180,182,183,232],area_desc:[182,183],aren:107,arg:[12,84,92,95,103,105,140,156,212,215,224,233,246,251,261,262,284,285,286,292],argc:[84,95,105,135,144,145,182,183,204,221,222,226,227,228,232,239,246,251,253,264,265,268,277,285,290,292],argument:[11,12,20,45,50,55,62,85,88,103,136,173,190,199,206,212,215,217,221,227,251,259,262,263,264,265,269,271,279,280,292],argv:[84,105,135,144,145,182,183,204,221,222,226,227,228,232,239,246,251,253,264,265,268,277,285,290,292],arm:[5,6,7,12,85,99,107,249,250,266,272,292,298,299,300],around:[30,90,134,286,287,289],arrai:[23,145,146,156,179,180,182,183,206,207,208,210,211,221,226,232,248,251,259,263],arrang:[99,229],arriv:92,articl:281,artifact:[35,39,50,55,57,58,59,279],ascii:185,asf:[1,279,285,286],ask:[10,95,135,213,251,272,279,280,285],aspect:[27,90,134,251],assembl:[1,61,99,102,269,270,271,272,273,274,292],assert:[67,90,103,136,163,176,182,183,214,230,233,246,251,261,262,263,264,265,268,284,285,286,290,292],assign:[10,19,21,23,29,37,50,53,66,95,99,105,146,185,186,232,242,254,261,266,269,270,271,272,273,274,278,286,288,295,298],associ:[22,24,88,90,103,105,134,232,233,259,262],assum:[7,12,30,43,59,60,82,83,90,99,105,134,141,197,202,232,242,243,246,248,249,250,255,256,268,274,284,285,286,287,289,291,292,299,300],asynchron:200,at45db:141,at45db_default_config:141,at45db_dev:141,at45db_erase_sector:141,at45db_init:141,at45db_read:141,at45db_sector_info:141,at45db_writ:141,at45dbxxx:141,at91samd21g18:266,at91samd:266,ate_m:213,atmel:[2,254,266,278],atop:[140,187],att:[18,21,28,261],attach:[8,12,88,99,193,249,250,256,269,274,286,292,299,300],attempt:[20,23,27,93,94,105,134,169,177,182,183,184,185,232,261,262,263,274],attempt_stat:230,attent:3,attr:[28,30,211],attr_handl:[260,261,262,284,286],attribit:206,attribut:[14,16,17,20,21,28,50,53,62,66,100,102,206,211,232,258,261],auth:[27,281],authent:[20,22,30,134,260],author:[1,20,43,61,136,277,285,286],auto:[29,141],autocomplet:55,autoconf:55,autom:31,automat:[1,10,21,24,25,42,55,61,100,203,221,230,232,236,243,253,256,258,259,266,269,270,272,273,277,279,285,286,287,302],autoselect:266,avaial:274,avail:[1,2,3,4,7,9,20,21,23,24,29,30,31,32,47,57,58,59,62,64,73,80,81,82,90,103,104,107,134,136,138,140,146,158,169,179,193,202,213,221,229,232,238,241,243,249,250,264,268,274,280,286,291,299,300],avail_queu:136,avoid:[61,94,95,103,251,287],awai:[20,99,135,261,286],await:3,awar:[259,264,265],b0_0:272,b0_1:272,b1_0:272,b1_1:272,b5729002b340:[284,286],b8d17c77a03b37603cd9f89fdcfe0ba726f8ddff6eac63011dee2e959cc316c2:247,bab:212,back:[8,58,64,69,80,81,82,106,107,134,135,136,194,219,243,263,272,273,285,291,295,296,298],backend:135,backward:[21,134,136,185,221],bad:[134,229,280],badli:95,band:[21,22,27],bang:285,bank:272,bar:[12,135,302],bare:[85,258,264,265,302],base64:[7,136,274,292],base:[1,2,4,6,7,12,20,21,24,31,34,39,55,57,58,59,61,90,107,138,140,142,174,187,194,231,251,254,257,263,266,269,270,272,273,278,285,287,288,292],baselibc:[7,48,99],baselin:139,bash:[2,12,55,59,99],bash_complet:36,bash_profil:[11,58,60,81,83],bashrc:55,basi:[9,19,22,105,280,285,286],basic:[1,14,21,29,30,31,61,90,93,99,105,107,140,158,189,191,193,200,229,243,247,254,256,257,274,279,281,283,284,294,296,297],batch:99,batteri:[9,24,31,102,264],baud:[66,136,257,285],baudrat:[141,197],bbno055_cli:288,bc_acc_bw:[215,290],bc_acc_rang:[215,290],bc_mask:[215,290],bc_opr_mod:[215,290],bc_placement:215,bc_pwr_mode:[215,290],bc_unit:[215,290],bc_use_ext_xt:290,bcfg:290,bd_addr:20,be9699809a049:71,beacon:[14,255,256,267],bearer:[21,32],becaus:[8,10,12,20,22,26,30,50,88,134,175,185,186,194,197,213,215,218,222,229,231,251,253,277,279,281,285,287,288,289,292],becom:[22,31,134,259,262],been:[4,10,20,26,36,43,55,58,59,61,77,81,82,84,89,90,91,97,98,105,134,135,144,146,158,159,171,179,185,197,200,229,232,252,254,257,262,266,269,274,278,284,285],befor:[2,4,7,8,12,20,41,50,57,61,80,84,85,88,89,94,95,96,99,103,105,106,107,134,135,136,146,152,179,180,184,197,199,200,206,217,218,221,223,229,230,232,238,239,243,246,251,253,254,256,257,258,259,261,264,265,267,268,270,274,277,278,286,291,294,297],begin:[26,146,154,253,257,260,262,264,265,277,279],beginn:302,behav:[20,30,95,253,264,265,277],behavior:[59,95,102,167,168,179,250,251,253,254,261,263,277,278,300],behaviour:93,behind:[93,106],being:[20,91,95,103,105,134,135,141,158,185,195,196,204,205,229,233,251,253,260,262,277,285,302],bell:104,belong:[14,134,185,263],below:[1,2,4,6,12,18,20,22,23,24,30,43,62,90,95,99,100,104,105,134,136,138,141,159,166,169,185,186,188,199,215,229,242,244,251,253,256,261,263,266,269,270,271,272,273,274,275,277,279,280,281,284,286,287,288,290,294,302],benefit:[10,95,185,232,241,246],best:[99,166,206,280],beta:[140,286],better:[134,230],between:[7,12,21,26,27,31,37,46,55,104,106,136,185,193,194,204,206,216,229,231,232,243,246,257,269,274,280,286,288,292],beyond:185,bhd:66,big:[23,61,90,274,280],bigger:229,bin:[2,4,7,11,12,34,35,37,38,43,46,48,50,55,57,58,59,60,61,80,81,82,83,99,174,175,229,232,242,243,247,248,249,250,253,254,256,257,260,266,268,269,270,271,272,273,274,277,278,285,286,288,292,295,296,298,299,300],bin_basenam:61,binari:[4,7,11,34,37,39,55,58,60,61,79,81,83,107,138,194,268,285],binutil:4,bit:[7,14,23,25,27,29,57,58,59,66,81,82,84,87,90,91,105,106,107,134,185,194,195,213,215,217,218,229,230,249,250,251,254,256,261,262,263,264,265,278,280,285,286,287,292,299,300],bitbang:195,bits0x00:27,bl_rev:288,bla:212,ble:[14,18,19,23,26,30,31,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,90,134,138,139,229,232,243,247,255,257,259,261,262,263,267,283,284,285,289,291,294,302],ble_:261,ble_addr_t:[264,265],ble_addr_type_publ:262,ble_app:[256,264,265],ble_app_advertis:[264,265],ble_app_on_sync:[264,265],ble_app_set_addr:[264,265],ble_att:[76,243,261],ble_att_err_attr_not_found:20,ble_att_err_attr_not_long:20,ble_att_err_insufficient_authen:20,ble_att_err_insufficient_author:20,ble_att_err_insufficient_enc:20,ble_att_err_insufficient_key_sz:20,ble_att_err_insufficient_r:[20,284,286],ble_att_err_invalid_attr_value_len:[20,261],ble_att_err_invalid_handl:20,ble_att_err_invalid_offset:20,ble_att_err_invalid_pdu:20,ble_att_err_prepare_queue_ful:20,ble_att_err_read_not_permit:20,ble_att_err_req_not_support:20,ble_att_err_unlik:[20,284,286],ble_att_err_unsupported_group:20,ble_att_err_write_not_permit:20,ble_att_svr_entry_pool:73,ble_att_svr_prep_entry_pool:73,ble_eddystone_set_adv_data_uid:264,ble_eddystone_set_adv_data_url:264,ble_eddystone_url_scheme_http:264,ble_eddystone_url_suffix_org:264,ble_err_acl_conn_exist:20,ble_err_auth_fail:20,ble_err_chan_class:20,ble_err_cmd_disallow:20,ble_err_coarse_clk_adj:20,ble_err_conn_accept_tmo:20,ble_err_conn_establish:20,ble_err_conn_limit:20,ble_err_conn_parm:20,ble_err_conn_rej_bd_addr:20,ble_err_conn_rej_channel:20,ble_err_conn_rej_resourc:20,ble_err_conn_rej_secur:20,ble_err_conn_spvn_tmo:20,ble_err_conn_term_loc:20,ble_err_conn_term_m:20,ble_err_ctlr_busi:20,ble_err_diff_trans_col:20,ble_err_dir_adv_tmo:20,ble_err_encryption_mod:20,ble_err_host_busy_pair:20,ble_err_hw_fail:20,ble_err_inq_rsp_too_big:20,ble_err_instant_pass:20,ble_err_insufficient_sec:20,ble_err_inv_hci_cmd_parm:20,ble_err_inv_lmp_ll_parm:20,ble_err_link_key_chang:20,ble_err_lmp_collis:20,ble_err_lmp_ll_rsp_tmo:20,ble_err_lmp_pdu:20,ble_err_mac_conn_fail:20,ble_err_mem_capac:20,ble_err_no_pair:20,ble_err_no_role_chang:20,ble_err_page_tmo:20,ble_err_parm_out_of_rang:20,ble_err_pending_role_sw:20,ble_err_pinkey_miss:20,ble_err_qos_parm:20,ble_err_qos_reject:20,ble_err_rd_conn_term_pwroff:20,ble_err_rd_conn_term_resrc:20,ble_err_rem_user_conn_term:20,ble_err_repeated_attempt:20,ble_err_reserved_slot:20,ble_err_role_sw_fail:20,ble_err_sco_air_mod:20,ble_err_sco_itvl:20,ble_err_sco_offset:20,ble_err_sec_simple_pair:20,ble_err_synch_conn_limit:20,ble_err_unit_key_pair:20,ble_err_unk_conn_id:20,ble_err_unk_lmp:20,ble_err_unknown_hci_cmd:20,ble_err_unspecifi:20,ble_err_unsupp_lmp_ll_parm:20,ble_err_unsupp_qo:20,ble_err_unsupp_rem_featur:20,ble_err_unsupport:20,ble_ga:263,ble_gap:76,ble_gap_adv_param:[264,265],ble_gap_adv_set_field:259,ble_gap_adv_start:[259,262,264,265],ble_gap_chr_uuid16_appear:[261,263],ble_gap_chr_uuid16_device_nam:[261,263],ble_gap_chr_uuid16_periph_pref_conn_param:261,ble_gap_chr_uuid16_periph_priv_flag:261,ble_gap_chr_uuid16_reconnect_addr:261,ble_gap_conn_desc:262,ble_gap_conn_find:262,ble_gap_conn_fn:259,ble_gap_conn_mode_und:[259,262],ble_gap_disc_mode_gen:[259,262],ble_gap_ev:262,ble_gap_event_conn_upd:262,ble_gap_event_connect:262,ble_gap_event_disconnect:262,ble_gap_event_enc_chang:262,ble_gap_event_fn:[264,265],ble_gap_event_subscrib:262,ble_gap_svc_uuid16:[261,263],ble_gap_upd:73,ble_gatt:76,ble_gatt_access_ctxt:[261,284,286],ble_gatt_access_op_read_chr:[261,284,286],ble_gatt_access_op_write_chr:[261,284,286],ble_gatt_chr_def:[261,263,284],ble_gatt_chr_f_notifi:284,ble_gatt_chr_f_read:[261,263,284],ble_gatt_chr_f_read_enc:284,ble_gatt_chr_f_writ:284,ble_gatt_chr_f_write_enc:284,ble_gatt_register_fn:263,ble_gatt_svc_def:[261,263,284],ble_gatt_svc_type_primari:[261,263,284],ble_gattc:76,ble_gattc_proc_pool:73,ble_gatts_chr_upd:[284,286],ble_gatts_clt_cfg_pool:73,ble_gatts_find_chr:[284,286],ble_gatts_register_svc:263,ble_h:[14,15,16,17,19,20,23,26,76,264,265,286],ble_hci_ram_evt_hi_pool:73,ble_hci_ram_evt_lo_pool:73,ble_hci_uart_baud:257,ble_hs_:263,ble_hs_adv_field:[259,264],ble_hs_att_err:20,ble_hs_cfg:[26,264,265],ble_hs_conn_pool:73,ble_hs_eagain:20,ble_hs_ealreadi:20,ble_hs_eapp:20,ble_hs_eauthen:20,ble_hs_eauthor:20,ble_hs_ebaddata:20,ble_hs_ebusi:20,ble_hs_econtrol:20,ble_hs_edon:20,ble_hs_eencrypt:20,ble_hs_eencrypt_key_sz:20,ble_hs_einv:20,ble_hs_emsgs:20,ble_hs_eno:20,ble_hs_enoaddr:20,ble_hs_enomem:20,ble_hs_enomem_evt:20,ble_hs_enotconn:20,ble_hs_enotsup:20,ble_hs_enotsync:20,ble_hs_eo:20,ble_hs_ereject:20,ble_hs_erol:20,ble_hs_err_sm_peer_bas:20,ble_hs_err_sm_us_bas:20,ble_hs_estore_cap:20,ble_hs_estore_fail:20,ble_hs_etimeout:20,ble_hs_etimeout_hci:20,ble_hs_eunknown:20,ble_hs_ev_tx_notif:88,ble_hs_event_tx_notifi:88,ble_hs_forev:[262,264,265],ble_hs_hci_err:20,ble_hs_hci_ev_pool:73,ble_hs_id:23,ble_hs_id_gen_rnd:[23,264,265],ble_hs_id_set_rnd:[19,23,264,265],ble_hs_l2c_err:20,ble_hs_reset_fn:26,ble_hs_sm_peer_err:20,ble_hs_sm_us_err:20,ble_hs_sync_fn:26,ble_ibeacon_set_adv_data:265,ble_l2cap:76,ble_l2cap_chan_pool:73,ble_l2cap_sig_err_cmd_not_understood:20,ble_l2cap_sig_err_invalid_cid:20,ble_l2cap_sig_err_mtu_exceed:20,ble_l2cap_sig_proc_pool:73,ble_ll:[76,77,285],ble_ll_cfg_feat_le_encrypt:229,ble_ll_conn:76,ble_ll_prio:232,ble_lp_clock:24,ble_max_connect:[287,289],ble_mesh_dev_uuid:32,ble_mesh_pb_gatt:32,ble_own:[264,265],ble_own_addr_random:[264,265],ble_phi:76,ble_prph:285,ble_public_dev_addr:23,ble_rigado:47,ble_role_broadcast:289,ble_role_peripher:289,ble_sm_err_alreadi:20,ble_sm_err_authreq:20,ble_sm_err_cmd_not_supp:20,ble_sm_err_confirm_mismatch:20,ble_sm_err_cross_tran:20,ble_sm_err_dhkei:20,ble_sm_err_enc_key_sz:20,ble_sm_err_inv:20,ble_sm_err_numcmp:20,ble_sm_err_oob:20,ble_sm_err_pair_not_supp:20,ble_sm_err_passkei:20,ble_sm_err_rep:20,ble_sm_err_unspecifi:20,ble_sm_legaci:229,ble_tgt:[256,264,265],ble_uu:263,ble_uuid128_init:[284,286],ble_uuid128_t:[284,286],ble_uuid16:[261,263],ble_uuid16_declar:[284,286],ble_uuid:286,ble_uuid_128_to_16:261,ble_uuid_u16:[284,286],ble_xtal_settle_tim:24,bleadc:286,blecent:[7,61],blehci:[7,61],blehciproj:257,blehostd:66,blemesh:[21,32],blenano:53,bleprph:[7,21,61,66,229,247,250,258,259,260,261,262,263,284,285,286,287,300],bleprph_advertis:[259,262],bleprph_appear:261,bleprph_device_nam:[259,261],bleprph_log:[259,262,284,286],bleprph_oic:[7,61,291],bleprph_oic_sensor:287,bleprph_on_connect:259,bleprph_pref_conn_param:261,bleprph_print_conn_desc:262,bleprph_privacy_flag:261,bleprph_reconnect_addr:261,blesplit:[7,61],bletest:[7,61],bletini:[7,21,37,38,45,46,50,61,71,243,257,260],bletiny_chr_pool:73,bletiny_dsc_pool:73,bletiny_svc_pool:73,bletoh:90,bleuart:[7,61],blink:[1,7,61,99,105,193,246,248,251,266,267,269,270,271,272,273,285,286,302],blink_nord:[250,300],blink_nrf:285,blink_primo:285,blink_rigado:47,blinki:[1,12,34,43,44,48,55,61,99,249,250,251,254,256,257,274,278,285,286,294,295,296,298,299,300,302],blinky_callout:268,blinky_primo:285,blinky_sim:61,blinky_task_handl:193,blksize:91,blksz:[73,296],blob:[20,190],block:[20,29,73,84,88,90,91,104,140,146,149,179,180,181,182,183,197,200,246,285,296],block_siz:91,blue:273,bluetooth:[1,9,20,22,23,24,27,29,32,90,229,247,258,259,264,265,267,285,286,302],bmd300eval:[48,53,271,286],bmd:[271,286],bno055:[214,215,287,289,290],bno055_0:[214,288,290],bno055_acc_cfg_bw_125hz:290,bno055_acc_cfg_rng_16g:290,bno055_acc_unit_ms2:290,bno055_angrate_unit_dp:290,bno055_cfg:[215,290],bno055_cli:[288,289],bno055_config:[215,290],bno055_default_cfg:215,bno055_do_format_android:290,bno055_err:215,bno055_euler_unit_deg:290,bno055_get_chip_id:215,bno055_id:215,bno055_info:215,bno055_init:[214,215],bno055_ofb:[214,287,288,289],bno055_opr_mode_ndof:290,bno055_pwr_mode_norm:290,bno055_sensor_get_config:215,bno055_sensor_read:215,bno055_shel:288,bno055_shell_init:288,bno055_stat_sect:215,bno055_temp_unit_degc:290,board:[1,2,4,5,7,8,10,12,23,24,30,39,42,47,53,55,57,58,59,61,95,99,140,187,189,194,215,216,220,229,231,232,242,243,246,247,248,249,250,251,257,260,264,265,267,268,284,285,290,291,292,294,297,299,300,302],bodi:[134,290],bold:[242,252],bond:[22,27,29,30,260],bondabl:27,bone:[85,258,264,265,302],bookkeep:146,bool:206,boot:[7,10,43,61,99,106,107,136,202,242,243,247,254,257,266,269,270,271,272,273,274,278,285,286,288,292,295,296,298],boot_boot_serial_test:7,boot_bootutil:229,boot_build_statu:134,boot_build_status_on:134,boot_clear_statu:134,boot_copy_area:134,boot_copy_imag:134,boot_erase_area:134,boot_fill_slot:134,boot_find_image_area_idx:134,boot_find_image_part:134,boot_find_image_slot:134,boot_go:134,boot_img_mag:134,boot_init_flash:134,boot_load:99,boot_mag:134,boot_move_area:134,boot_nrf:285,boot_olimex:272,boot_primo:285,boot_read_image_head:134,boot_read_statu:134,boot_select_image_slot:134,boot_seri:[7,136],boot_serial_setup:7,boot_slot_addr:134,boot_slot_to_area_idx:134,boot_swap_area:134,boot_test:7,boot_vect_delete_main:134,boot_vect_delete_test:134,boot_vect_read_main:134,boot_vect_read_on:134,boot_vect_read_test:134,boot_write_statu:134,bootabl:[229,247,295,298],bootload:[1,12,43,47,99,102,107,136,202,242,247,251,267,268,285,286,287,289,297],bootutil:[7,107,134,136,254,266,269,270,271,272,273,274,278,288,295,296,298],bootutil_misc:[7,266,269,270,271,273,288,295,296,298],both:[6,9,11,14,20,22,27,29,39,55,57,58,59,62,90,94,99,104,134,135,137,140,179,185,194,197,206,212,229,231,232,241,253,254,266,268,274,277,278,281,286],bottl:[58,81],bottom:[12,99,103,260],bound:[99,158],boundari:[90,91,99],box:[12,250,300],branch:[1,4,7,10,11,55,56,57,59,60,79,80,82,83,134,252,254,266,278,279,280],branchnam:10,brand:273,bread:286,breadboard:286,breakdown:229,breakout:8,breakpoint:[266,270],breviti:[229,242,296],brew:[3,4,7,11,36,55,58,60,81,83],brick:134,bridg:185,brief:[19,188,193,264,265,274],briefli:99,bring:[12,99,187,288,291,294],broad:302,broadca:[264,265],broadcast:[14,27,31,259,264,265],brows:[260,269,279],browser:252,bsd:107,bsp:[1,7,24,32,34,37,38,42,43,45,47,50,55,61,62,95,96,135,140,179,180,182,183,187,189,192,193,213,214,215,216,218,229,232,242,246,249,250,254,256,257,260,266,268,269,270,271,272,273,274,278,285,286,287,288,289,290,292,295,296,298,299,300,302],bsp_arduino_zero:266,bsp_arduino_zero_pro:[254,266,278],bsp_flash_dev:180,bsp_timer:199,bsppackag:99,bss:[48,99,229],bssnz_t:[284,285,286],btattach:257,btshell:29,buad:66,buf:[135,141,159,160,161,162,166,167,169,170,174,177,206],buffer:[10,20,90,91,95,102,103,136,140,162,169,175,177,185,194,206,212,231,265,286],buffer_len:286,buffer_size_down:[249,299],bug:[4,7,11,166,167,249,250,266,270,292,299,300],bui:286,build:[1,2,3,4,5,6,11,31,32,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,80,82,95,99,100,102,134,140,187,194,205,212,216,229,230,231,232,238,246,247,253,258,259,260,267,277,284,285,294,297,302],build_arduino_blinki:12,build_arduino_boot:12,build_numb:204,build_profil:[1,32,37,38,43,50,53,61,99,229,242,254,256,257,260,266,269,270,271,272,273,274,278,285,286,287,288,289,292,295,296,298],buildabl:7,builder:252,built:[1,4,7,8,9,21,33,34,38,39,42,43,55,57,58,59,60,61,63,81,82,83,93,134,197,212,229,238,242,243,252,253,254,256,257,260,264,265,266,267,268,269,270,271,272,273,274,277,278,284,285,286,287,288,292,295,296,298],bunch:285,bundl:[55,107,158],burn:[264,265],bus:[2,194],buse:[140,187],busi:[20,91,94,251,285],button1_pin:246,button:[2,4,10,12,104,246,266,269],bytes_read:[159,166,169,174,177],bytyp:218,c_ev:85,c_evq:85,c_next:85,c_tick:85,cabl:[243,246,247,251,254,257,266,267,269,270,271,272,274,278,286,292,294,295,297,298],cach:[58,81,140,179,181,187],cache_large_file_test:[253,277],calcul:[20,29,48,106,134,146],calendar:9,call:[6,7,9,11,19,21,23,26,36,61,84,85,86,88,89,90,91,92,93,94,95,96,97,98,99,103,104,105,106,107,134,135,136,137,138,140,141,144,146,147,148,149,151,152,156,164,167,171,174,177,178,181,182,184,185,186,190,194,196,197,199,201,203,206,212,213,214,215,217,218,219,221,223,224,227,230,232,234,235,236,237,238,239,240,243,246,251,253,255,256,259,260,261,262,263,264,265,266,268,274,277,279,285,286,287,288,292,297],callback:[20,26,84,88,136,146,151,156,197,199,213,214,215,217,219,232,246,259,261,263,264,265,268,285,292],caller:[136,146,205,206,222,226],callout:[88,95,103,218,268,292],callout_l:246,callout_reset:135,came:257,can:[1,2,3,4,5,6,7,8,9,11,12,19,20,21,22,23,24,27,30,31,33,34,35,42,45,50,55,57,58,59,60,61,62,63,64,66,72,76,80,81,82,83,84,85,86,88,90,91,93,94,95,99,100,102,103,104,105,107,134,135,136,137,140,141,142,143,146,147,149,151,152,156,157,158,167,171,172,175,177,179,180,182,185,186,187,193,195,196,197,199,201,202,206,212,213,214,215,216,217,218,221,222,226,227,228,229,230,231,232,234,235,237,238,241,242,243,244,246,247,248,249,250,251,252,253,254,256,257,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,277,278,279,280,284,285,286,287,288,289,290,292,294,295,296,298,299,300,302],cancel:[20,27,85],candid:279,cannot:[4,19,20,71,84,85,88,90,91,92,93,94,95,103,104,134,135,157,175,185,232,243,254,266,278,279,280,281],capabl:[20,22,27,29,101,136,140,212,229,249,251,268,299],capac:20,captian:81,captur:185,carbon:284,card:[142,157],care:[90,95,105,169,177,264,265,279,280,284],carri:90,cascad:[1,61],cast:261,cat:[80,285,286],catastroph:26,categor:99,categori:[10,102],caus:[95,104,159,166,167,172,175,185,194,198,231,233,247,249,251,286,299],caveat:134,cb_arg:[156,199,259,263,264,265],cb_func:199,cbmem:[7,212,233],cbmem_buf:212,cbmem_entry_hdr:233,cbmem_init:212,cbmem_read:233,cbmem_test_case_1_walk:233,cbor:[138,139],cborattr:7,cccd:27,ccm:22,cdc:269,cell:22,cellar:[4,6,11,36,58,60,81,83],central:[20,30,258,259,260,262],certain:[1,21,90,91,95,99,140,257,280],certainli:286,cess_op_:261,cf_arg:85,cf_c:85,cf_func:85,cfg:[70,177,178,214,215,270],cflag:[1,50,61,99],cgi:107,ch_commit:135,ch_export:135,ch_get:135,ch_name:135,ch_set:135,chain:[90,91,93,103,104,206],challeng:[244,275],chanc:[95,105],chang:[1,4,6,7,10,11,19,20,21,22,24,28,30,46,49,50,52,57,61,62,80,93,99,100,134,185,213,214,221,229,231,232,242,243,246,248,249,250,251,252,257,260,262,264,265,266,270,284,285,286,287,288,289,292,294,299,300],channel:[20,21,29,140,286],channel_map:27,chapter:[2,21,102,138],charact:[136,145,162,165,179,185,200,204,205,206,207,208,209,210,221,226,232,249,254,263,278,292,299],character:24,characteri:[261,263],characterist:[9,16,17,21,27,28,134,260,263,284,286],check:[4,6,8,11,20,22,55,56,79,91,135,185,201,206,215,229,231,232,242,247,253,256,257,258,269,272,274,277,280,285,288,290,297],checkbox:59,checkin:[77,103],checkout:[10,80,82,267],checksum:[146,148],child:[160,161,162,167,170,185],children:185,chip:[4,102,140,141,187,193,197,198,213,215,254,266,267,269,270,273,278,279,285,288],chip_id:288,chipset:[140,187,254,266,278],choic:[2,10,179,257,288],choos:[6,7,10,93,105,107,229,230,243,251,256,259,268,269,271,284,286],chose:230,chosen:[93,99,134,157,185,286],chr:[261,284,286],chr_access:261,chr_val_handl:[284,286],chunk:10,ci40:53,cid:260,circuit:194,circular:[212,231,232],circularli:280,cks:91,clang:6,clarif:10,clarifi:140,clariti:142,classif:20,clean:[1,11,33,39,50,57,58,59,63,81,165,183,251,274],cleanli:232,clear:[72,134,185],clearli:[8,20],cli:136,click:[2,4,10,12,252,260,264,265,266,269,270,272,298],client:[12,17,18,20,21,27,31,158,186,216,264,284],clk:197,clobber:172,clock:[20,25,87,196,266,270,288],clock_freq:84,clone:[10,11,45,50,55,58,81],close:[2,59,140,158,159,160,161,162,163,166,167,169,170,174,175,176,177,178,200,214,266,269,270,272,273,290],cmake:1,cmd:[55,61,99,285,288],cmd_len:285,cmd_queue:136,cmd_read_co2:285,cmp:285,cmsi:[2,7,48,99,266,269,270,271,272,273,292],cmsis_nvic:[99,269,270,271,272,273,292],cn4:242,cnt:[73,136,182,183,296],co2:[284,285],co2_evq:284,co2_read_ev:284,co2_sns_str:284,co2_sns_typ:284,co2_sns_val:284,co2_stack:284,co2_stack_s:284,co2_task:284,co2_task_handl:284,co2_task_prio:284,coap:[139,216,219,287,291],coars:20,coc:27,code:[1,5,7,9,11,13,18,21,24,26,27,29,55,86,90,91,92,93,95,101,102,106,107,134,136,138,140,142,145,158,159,160,161,162,163,165,166,167,169,170,172,174,175,176,177,178,182,183,184,185,186,187,193,202,212,214,215,216,229,232,233,234,235,237,238,239,243,246,251,254,258,259,261,262,263,266,267,268,274,276,278,279,285,286,287,290,291,292,294,296,297,302],codebas:[254,266,278],coded_interval_max:27,coded_interval_min:27,coded_lat:27,coded_max_conn_event_len:27,coded_min_conn_event_len:27,coded_scan_interv:27,coded_scan_window:27,coded_timeout:27,codepag:157,coding_standard:7,coexist:134,collect:[1,7,43,55,61,90,91,138,146,186,206,229,242,279],collis:20,colon:66,color:248,column:19,com11:8,com1:66,com3:[8,254,268,278,288,295,298],com6:8,com:[8,10,11,12,33,55,57,58,59,63,80,81,82,107,190,242,254,257,268,278,279,281,288,295,296,298],combin:[1,20,22,26,43,61,95,99,194,256,264,265,279,280],combo:229,come:[3,21,30,55,61,99,107,136,140,212,254,266,272,273,278,285,286,298],comm:[242,267],comma:[51,66],comman:227,command:[1,2,4,7,8,10,11,20,30,34,35,36,37,38,40,41,42,44,45,46,47,48,49,51,52,53,54,57,58,59,60,61,67,68,70,71,72,75,76,78,80,81,82,83,99,102,134,137,139,142,144,194,202,203,212,216,222,226,227,228,229,230,231,232,238,242,244,245,247,248,249,250,251,253,254,256,264,265,266,268,269,270,271,272,273,274,275,277,278,279,281,282,286,287,288,289,290,292,295,298,299,300],comment:[3,10,99,241,302],commerci:285,commit:[10,11],common:[55,61,88,90,92,102,104,140,141,187,193,215,216,229,263,270],commonli:[104,197,264],commun:[9,21,26,27,31,66,78,136,138,142,194,197,213,214,215,242,246,247,248,251,254,257,259,262,267,274,278,279,285,286,288,292,295,296,297,298,302],compani:29,compar:[10,20,166,251,269,270,271,274,282,286],comparison:[20,22,106],compat:[4,10,21,55,134,136,141,221,222,229,249,254,266,274,278,288,290,292,299],compens:106,compil:[1,4,5,6,7,8,11,20,34,47,53,55,58,61,81,90,99,102,107,140,221,230,232,238,241,242,243,246,254,256,266,269,270,271,272,273,274,278,285,286,287,288,292,295,296,298],complaint:21,complementari:31,complet:[9,12,20,22,27,29,30,33,55,59,63,88,99,101,102,105,134,136,146,160,161,162,167,170,185,187,197,212,229,236,240,241,246,251,257,259,264,265,270,279,286,287,290,291,292,295,296,298],completion_cb:136,complex:[9,31,95,99,140,187,251,255],compli:21,complianc:[285,286],compliant:21,complic:[55,95,229],compon:[1,7,12,18,39,48,55,57,58,59,61,86,99,102,135,140,187,194,197,229,230,243,246,247,254,257,264,265,267,278,285,294,297],compos:[39,57,58,59,241],composit:206,comprehens:241,compress:[55,81,179,264],compris:[7,134,179,180],comput:[3,4,6,8,12,31,56,58,59,79,81,136,148,157,247,251,256,257,266,267,269,270,271,272,273,287,289,294,295,297,298],concept:[12,22,90,95,166,221,232,247,251,254,255,256,258,266,267,278,294,297],concern:[3,90,185],concis:138,conclud:[264,265,286],concurr:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,85,89,258,259],condit:[4,20,134,185,194,214,221,231,233,253,277,285,286],condition:[55,214,231,232,288],conduct:[134,138],conf:274,conf_export_tgt:135,conf_fcb_dst:135,conf_fcb_src:135,conf_file_dst:135,conf_file_src:135,conf_get_valu:135,conf_handl:135,conf_init:239,conf_int8:135,conf_load:135,conf_regist:[135,233],conf_sav:135,conf_save_on:135,conf_set_valu:135,conf_str_from_valu:135,conf_value_set:135,confidenti:22,config:[1,7,32,50,61,62,64,78,80,81,82,137,141,157,159,163,166,169,176,231,232,239,243,256,285,286,288],config_:214,config__sensor:214,config_bno055_sensor:[214,290],config_cli:135,config_fcb:[135,231],config_fcb_flash_area:[231,232],config_lis2dh12_sensor:214,config_newtmgr:[50,243],config_nff:[135,158,231],config_pkg_init:232,config_test_al:239,config_test_handl:233,config_test_insert:[233,234],configur:[6,7,9,19,20,25,26,31,32,50,55,57,58,59,61,62,87,95,99,100,102,134,136,138,140,158,179,181,185,187,189,197,199,216,217,219,229,244,246,249,250,251,256,259,263,266,269,272,273,274,275,281,286,288,291,292,294,296,299,300],configuraton:157,confirm:[8,20,27,71,134,229,247,274,295,298],confirmbe9699809a049:71,conflict:[61,231,280],confluenc:10,confus:[279,286],congratul:[7,242,260,284,285,286],conjunct:[31,217],conn:[27,28,30,64,65,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,247,262,264,265,295,296,298],conn_handl:[20,260,261,262,284,286],conn_interval_max:29,conn_interval_min:29,conn_itvl:[30,260],conn_lat:[30,260],conn_mod:262,conn_profil:[65,66,67,68,69,70,71,72,73,74,75,76,77],conn_upd:262,connect:[4,7,8,9,10,12,15,20,21,22,24,26,28,29,31,38,42,43,55,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,102,136,138,139,140,187,194,197,198,229,242,246,258,259,260,261,262,264,265,267,284,285,294,297],connect_don:[254,278],connectable_mod:259,connection_profil:71,connectionless:27,connector:[4,243,257,269,272,274,298],connextra:10,connintervalmax:29,connintervalmin:29,connstr:[66,247,295,296,298],conntyp:10,consecut:103,consequ:[20,134,229],conserv:[9,90,102],consid:[21,62,90,95,104,148,194,233,263,279],consider:233,consist:[1,21,31,61,104,105,134,135,138,140,168,185,197,229,231,232,238,263],consol:[1,7,8,12,26,55,61,102,107,135,143,160,161,162,167,170,177,200,212,225,232,246,253,256,257,260,264,265,267,277,285,286,296],console_append_char_cb:136,console_blocking_mod:136,console_compat:136,console_echo:136,console_handle_char:136,console_init:136,console_input:136,console_is_init:136,console_is_midlin:136,console_max_input_len:136,console_non_blocking_mod:136,console_out:136,console_pkg_init:232,console_printf:[20,26,136,159,160,161,162,166,167,169,170,174,177,233,284,285,286,292],console_prompt:285,console_read:136,console_rtt:[136,249,292,299],console_rx_cb:136,console_set_completion_cb:136,console_set_queu:136,console_tick:[136,285],console_uart:[136,249,292,299],console_uart_baud:136,console_uart_dev:136,console_uart_flow_control:136,console_uart_tx_buf_s:136,console_writ:[136,233],consolid:185,consortium:138,constantli:[254,259,278,286,302],constitu:[43,185],constrain:[9,55,139,244,275],constraint:266,construct:[11,92,104],consult:[158,187],consum:[88,104],consumpt:22,contact:[100,101,242],contain:[1,3,7,11,29,31,34,50,55,61,85,90,91,99,101,102,106,134,136,138,140,143,146,159,162,163,166,169,172,173,174,176,182,185,189,193,200,202,204,205,206,217,225,229,230,232,233,236,238,241,253,256,257,259,261,263,264,265,274,277,279,280,288,302],content:[12,49,61,80,99,134,146,147,148,160,161,162,167,170,177,185,199,206,229,239,242,251,253,259,263,264,265,272,274,277,280,281,288,290],context:[55,77,84,86,88,95,97,105,136,140,145,221,223,232,243,246,262,268],contigu:[90,134,146,185],continu:[6,99,104,135,185,221,229,243,246,248,249,251,252,254,257,266,267,272,278,286,289,290,291,292,294,296,297,299],contrast:232,contribut:[13,22,57,58,59,80,81,82,253,255,277,294],contributor:[187,285,286],control:[8,9,18,19,20,21,22,23,25,26,29,31,55,66,102,136,140,146,166,179,187,190,193,197,212,215,221,232,256,270,272,279,280,285,286,291],contruct:260,convei:90,conveni:[12,20,90,135,177,185,205,233],convent:[253,274,277,288,292],convers:[107,140,261],convert:[1,8,20,71,84,85,90,106,135,140,180,182,183,185,206,232,261,263,285,286],coordin:[287,289],copi:[1,4,45,49,50,62,80,82,90,100,101,134,146,185,206,214,229,230,247,249,250,259,262,266,285,286,290,292,299,300],copy_don:134,copyright:[4,249,250,266,272,285,286,292,299,300],core:[1,6,7,12,21,29,32,37,38,43,48,50,51,53,55,61,62,71,85,88,89,90,91,92,93,94,99,101,103,104,135,138,140,158,187,190,229,230,242,249,250,251,253,254,256,257,258,259,260,266,267,268,269,270,271,272,273,274,277,278,279,280,285,286,287,288,289,292,294,295,296,297,298,299,300,302],core_cminstr:270,core_o:136,core_path:61,coreconvert:71,coredownload:71,coredump:[7,189],coredump_flash_area:232,coreeras:71,corelist:71,corner:272,corp:[2,266],correct:[1,2,4,41,91,99,134,179,229,232,251,253,257,270,271,272,274,277,286,288],correctli:[2,90,248,253,257,266,270,277,286,287],correspo:263,correspond:[12,20,84,90,99,134,168,181,185,186,212,213,259,261,264,265,280,286],corrupt:[173,185],corrupt_block_test:[253,277],corrupt_scratch_test:[253,277],cortex:[4,107,196,254,269,271,274,278,286,292],cortex_m0:[61,196],cortex_m4:[61,99,269,270,271,272,273,274,292],cortex_m:266,cost:9,could:[20,90,104,185,204,261,285],couldn:[233,259,285],count:[55,81,104,134,135,185],counter:[86,92,230,274],countri:21,coupl:[1,272,285,286],cours:284,cover:[8,61,140,185,232,241,251,263],cpptool:12,cpu:[86,99,101,140,187,196,251,266,270],cputim:[24,84,87,288,292],cputime_geq:[84,87],cputime_gt:[84,87],cputime_leq:[84,87],cputime_lt:[84,87],crank:286,crash:[64,78,80,81,82,103,134,137,243],crash_test:[7,137,243],crash_test_newtmgr:243,crc16:185,crc:[7,136,142,285],creat:[1,2,3,4,5,6,8,10,11,12,22,27,32,34,39,41,43,44,45,46,47,50,55,57,58,59,61,62,66,71,80,81,82,88,91,93,95,101,103,104,105,107,136,140,149,163,165,166,167,172,175,176,178,179,182,185,212,213,215,216,218,219,223,229,230,231,232,238,240,246,248,251,258,263,267,268,279,281,284,290,291,294,297,302],create_arduino_blinki:12,create_mbuf_pool:90,create_path:165,creation:[47,140,242,274,286],creator:[213,214,215,216,218,287,288,290,292],credenti:281,criteria:20,critic:3,cross:[5,6,7,9,102],crt0:48,crti:48,crtn:48,crw:8,crypto:[7,254,266,269,271,273,278,295,296,298],crypto_mbedtl:229,cryptograph:[22,134],cryptographi:22,crystal:25,csrk:27,css:252,cssv6:29,csw:[77,285,295,298],ctassert:84,ctlr_name:66,ctlr_path:66,ctrl:[12,249,256,285,288,299],ctxt:[261,262,284,286],cur_ind:262,cur_notifi:262,curi:[260,262],curiou:[3,252],curl:[11,58],curn:[260,262],curr:278,currantlab:[81,82],current:[11,24,27,31,39,40,41,44,45,46,50,51,57,58,59,60,71,81,82,83,84,86,88,90,93,94,95,99,103,104,105,106,134,135,136,140,141,142,143,145,146,157,158,163,164,165,166,176,178,185,202,213,221,230,231,233,236,240,242,243,244,247,251,264,266,267,270,272,274,275,279,280,282,288,292],custom:[23,71,91,168,186,212,232],cvs:[249,250,266,272,292,299,300],cwd:12,cycl:[19,21,31,185],cylind:286,daemon:[2,257],dai:[106,221],dap:[2,266,269,273],darwin10:[249,250,266,292,299,300],darwin:6,data:[9,14,20,21,27,28,30,31,43,48,64,69,80,81,82,84,93,95,99,102,105,134,135,136,138,139,147,148,149,150,151,152,156,159,163,165,166,168,169,174,175,176,177,178,181,184,195,200,211,214,216,219,220,224,226,229,232,250,251,261,262,264,265,284,285,286,294,300,302],data_len:285,data_mod:197,data_ord:197,databas:28,databuf:292,datagram:224,datalen:27,datasheet:99,date:[11,68,157,253,274,277,285],datetim:[7,64,78,80,81,82,136,137,139,243,253,277],datetime_pars:[253,277],daunt:259,daylight:106,dbm:[21,27,29],ddress:25,deactiv:229,deal:[90,95,99,140],deb:[57,60,80,83],debian:[4,6],debug:[1,2,4,5,6,7,39,43,47,50,55,57,58,59,62,100,215,216,231,242,247,249,250,254,256,257,266,268,269,270,271,272,273,278,285,286,287,288,289,292,295,296,298,299,300],debug_arduino_blinki:12,debug_arduinoblinki:12,debugg:[5,38,39,55,57,58,59,61,198,249,250,266,269,270,272,273,274,298,299,300],dec:[48,229],decemb:22,decid:[55,86,102,251,285],decim:[22,194],decis:194,declar:[12,94,105,135,190,199,214,226,235,237,246,253,277,279,290,292],decod:[221,224],decompress:264,dedic:[88,99,102,221,229,243,246,249,250,261,299,300],deeper:[90,242,274,286],def:[7,214,231,232,286,292],defaultdevic:82,defin:[1,6,19,20,21,24,27,28,29,31,34,42,43,47,50,53,61,84,85,87,88,90,91,95,103,105,134,135,137,139,140,182,183,190,192,193,212,213,214,216,217,218,219,220,221,227,229,231,232,233,234,236,238,242,246,249,251,253,255,257,259,261,267,274,277,279,280,284,285,286,287,288,291,292,295,297,298,299],defininig:31,defininit:205,definit:[1,12,29,35,37,42,50,61,90,91,99,134,221,230,238,257,261,263,279,284,285,286],defint:231,del:27,delai:[26,84,106,248,251,274],deleg:229,delet:[1,6,10,12,27,35,39,45,49,50,55,57,58,59,61,62,159,175,179,185,244,248,275,284,290,292],delimit:50,deliv:[85,157],delta:[55,81,242],demo:284,demonstr:[20,26,92,165,172,177,274,288,292],denot:90,dep:[1,50,55,61,62,99,136,141,142,157,158,186,187,212,214,221,230,232,243,246,256,268,277,285,286,287,292],depend:[1,4,6,8,20,22,24,27,39,41,49,50,52,55,57,58,59,62,66,85,90,101,107,134,136,157,158,166,185,193,194,207,212,214,221,230,232,233,236,238,240,251,253,254,256,266,277,278,279,282,285,286,288,295,297,298],depict:187,deploi:[43,229,268],deploy:31,deprec:232,depth:[4,101],dequeu:[88,246],deriv:[20,185],desc:[182,183,262],descend:[134,175],describ:[1,2,7,10,11,12,24,28,33,63,95,99,100,102,105,134,138,146,152,157,179,185,193,195,197,206,211,213,214,215,221,229,231,232,238,242,243,252,256,258,263,264,270,273,274,279,285,286,287,288,290,294],descript:[1,7,10,19,27,28,30,55,61,90,93,99,100,101,135,142,145,147,148,149,150,151,152,153,154,155,156,159,160,161,162,163,164,165,166,167,169,170,172,173,174,175,176,177,178,182,183,188,204,205,207,208,209,210,211,212,213,214,217,218,222,223,224,225,226,227,228,230,231,232,233,234,235,236,237,242,244,250,274,275,277,279,280,285,286,300],descriptor:[16,17,27,28,61,166,167,180,182,183,185,261],design:[21,22,23,55,102,103,106,134,179,185,221,229,240,251,253,263,277],desir:[84,90,104,214,253,277,282],desktop:10,destin:[4,31,162,169,172,177,185,194,205,212],detail:[1,10,12,21,22,29,55,95,105,134,135,158,179,194,197,213,214,215,217,218,229,242,243,249,250,256,259,261,263,264,265,266,274,279,292,299,300],detect:[20,55,146,158,179,182,183,198,224,231,232,257],determin:[20,88,90,91,105,134,146,185,221,229,232,241,259,262,279,290],dev:[1,2,3,4,7,8,10,11,12,48,61,66,82,136,140,141,214,215,232,241,242,247,248,254,256,257,260,266,268,269,270,271,272,273,274,278,279,280,281,285,286,287,288,290,292,295,296,298,302],dev_found:257,develop:[3,5,6,7,8,9,13,20,55,59,61,82,90,91,93,95,100,101,102,105,138,140,216,219,221,232,241,247,249,250,251,257,258,261,264,266,267,269,272,273,279,280,284,285,286,291,294,298,299,300,302],devic:[3,4,8,9,14,19,20,21,22,25,28,29,31,32,43,55,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,102,134,136,138,139,140,141,142,158,180,187,190,193,194,197,216,217,218,219,229,230,231,232,243,249,250,254,255,256,258,259,260,261,263,264,265,266,268,269,270,271,272,273,274,278,284,286,291,292,295,296,297,298,299,300,302],device_id:190,deviceaddr:23,deviceaddrtyp:23,dflt:206,dhcp:[254,278],dhkei:20,diagram:[138,251,270,272],dialog:[12,59,250,300],dictat:[11,62],did:[10,229],diff:285,differ:[4,6,7,8,11,12,20,24,27,30,45,55,57,80,85,90,93,94,95,99,100,101,102,105,140,179,187,193,214,229,230,231,232,235,243,244,246,247,250,251,253,254,256,257,268,269,270,272,275,277,278,279,280,282,284,288,290,292,298,300],differenti:[90,279],difficult:[21,101,134,231],dig:[7,258],digit:[22,140,193,286],dioxid:284,dir:[27,142,158,160,161,162,167,168,170],direct:[10,20,27,194,221,230,280],direct_addr:[264,265],directli:[7,11,14,18,36,158,212,229,232,244,253,254,264,266,275,277,278,287,290],directori:[1,4,6,7,8,10,11,12,34,35,37,41,43,45,50,55,57,59,60,80,82,83,85,88,90,91,92,93,94,99,100,101,103,104,135,140,142,160,161,162,165,166,167,170,171,172,173,175,177,178,196,198,238,242,248,250,253,254,256,257,266,267,269,270,271,272,273,277,278,279,280,285,286,287,288,292,294,295,297,298,300,302],dirent:[142,160,161,162,167,168,170],dirnam:[160,161,162,167,170],dirti:242,disabl:[6,20,22,24,30,84,136,157,185,197,212,214,215,221,229,231,232,243,244,249,254,262,275,278,287,288,289,292,299],disable_auto_eras:141,disallow:[20,179],disbl:221,disc_mod:262,discard:[185,254,278],disciplin:257,disclaim:[7,11,55,256],disconnec:27,disconnect:[27,262],discontigu:134,discov:[22,27,28,257],discover:[27,29,139,219,259,291],discoverable_mod:259,discoveri:[28,138,140,142,257,262,267],discret:[179,180],discuss:[10,90,100,214,229,259,288],disjoint:20,disk:[7,134,146,158,159,173,175,179,180],disk_nam:158,disk_op:142,disk_regist:[142,158],dispatch:[95,232,246],displai:[1,6,22,27,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,61,62,64,66,69,71,72,73,76,77,80,81,82,91,140,187,232,257,272,274,285,287,289,294,295,298],displayonli:27,displayyesno:27,dist:[57,80],distanc:[21,230],distinct:22,distribut:[1,4,6,20,21,27,55,107,134,279,285,286],distro:6,div0:67,dive:90,divid:[18,20,67,135,137,179,180,229],dle:27,dll:[269,271,274,286],dm00063382:242,dma:140,dndebug:50,dnrf52:99,do_task:230,doc:[4,6,7,10,23,33,63,252,266,267,270],docker:[3,7,266,302],dockertest:2,document:[1,4,8,12,14,18,20,23,25,59,62,64,99,103,107,143,157,158,168,186,187,190,229,238,242,247,249,250,251,253,254,258,261,263,264,265,266,269,271,277,278,279,288,292,295,296,299,300],doe:[7,20,22,35,50,61,66,71,88,90,95,96,97,99,100,105,134,136,138,140,146,163,167,175,176,179,180,182,185,197,202,212,214,215,217,227,230,231,232,243,244,246,247,251,256,259,266,269,270,271,273,274,275,281,292,297],doesn:[8,10,20,32,134,142,163,175,176,229,233,248,251,256,257,259],doing:[89,106,140,251,261,268,285],domain:2,don:[1,10,31,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,90,135,143,146,169,177,242,261,263,264,265,279,285,286],done:[6,7,8,23,25,55,81,94,95,99,106,134,136,146,147,166,167,181,202,218,234,235,237,242,243,247,249,250,251,254,257,263,264,265,266,269,270,271,274,278,286,292,299,300],dont:[249,299],doorbel:55,dop:158,doubl:[2,206,272],doubli:185,doubt:263,down:[1,12,61,80,82,229,243,270,272,298],downgrad:[6,7],download:[1,2,4,7,10,12,29,39,41,42,55,58,59,60,70,71,81,82,83,158,202,249,250,252,253,254,256,257,266,269,270,271,272,273,277,278,281,285,292,294,295,296,298,299,300],doxygen:[4,7,85,88,90,91,92,93,94,103,104,135,266,270],doxygengroup:[85,88,90,91,92,93,94,103,104,135],dpidr:273,dpkg:[57,60,80,83],drag:20,drain:24,draw:24,drive:[9,61,106,140,194],driver:[7,55,141,142,158,187,192,193,195,214,216,218,230,249,256,266,269,270,271,272,273,278,288,292,298,299],drop:[10,12,26,185,270,272,298],dsc:261,dsimmon:285,dst:[45,50,70,177,205],dsym:[55,61],dtest:50,due:[20,91,134,141,146,157,266,270,272],dummi:185,dump:[135,249,299],dumpreg:288,duplex:21,duplic:27,durat:[19,27,30,106,261,288],duration_m:[264,265],dure:[20,22,71,86,99,103,134,136,167,185,203,214,229,232,238,251,256,261,268,287,290],duti:[21,31],dwarf:61,dylib:4,dynam:[88,89,91],e407:[272,298],e407_:272,e407_devboard:[53,272,298],e407_devboard_download:272,e407_sch:298,e761d2af:[284,286],e_gatt:263,eabi:[4,7,12,99,107,249,250,266,292,299,300],each:[1,2,10,11,12,19,20,21,22,23,28,32,43,48,49,50,61,62,64,66,73,77,88,91,92,95,99,104,106,134,136,140,160,161,162,167,168,170,172,179,180,181,185,187,193,212,213,215,216,217,218,219,221,225,226,229,230,232,243,246,251,253,261,262,263,264,265,266,277,279,288,290,291,292,302],ead:158,eager:3,earlier:[10,30,57,58,59,80,81,82,175,249,261,264,265,284,285,286,299],eas:141,easi:[1,2,3,8,9,140,187,194,230,231,233,252,269,286,287],easier:[24,99,285],easiest:285,easili:[9,177,216,232,292],east:106,eavesdropp:19,ecdsa256:134,ecdsa:134,echo:[12,60,64,78,80,81,82,83,136,137,139,243,254,278,285,295,296,298],echocommand:12,eck_regist:103,eclips:12,ectabl:[264,265],edbg:[2,266],eddyston:[27,267],eddystone_url:[27,29],edit:[7,100,157,242,244,248,274,275,279,290],editign:252,editor:[59,61,242,248,270],ediv:27,edr:[20,29,257],edu:[249,269,299],ee02:274,eeirili:284,eeprom:141,effect:[104,106,135,158,179,180],effici:[21,31,90,91,185,266],eid:264,eight:[138,174],einval:84,eir:29,eir_len:257,either:[1,4,6,11,21,27,29,30,57,59,61,80,85,86,90,91,135,136,137,143,146,172,194,229,232,233,236,237,243,264,265,274,285,286,294],elaps:[20,84,106],electron:302,element:[39,53,55,57,58,59,85,88,90,91,94,103,104,105,134,135,145,146,147,148,151,153,154,185,206,221,251],elev:94,elf:[7,12,34,38,48,55,61,71,229,242,243,249,250,253,254,256,257,260,266,268,269,270,271,272,273,274,277,278,285,286,288,292,295,296,298,299,300],elfifi:71,elicit:229,els:[23,86,103,134,160,161,162,167,170,185,215,229,249,284,285,286,299],elsewher:[258,261,279],emac:285,email:[3,241,302],emb:141,embed:[1,3,4,12,39,55,57,58,59,107,134,179,197,241,242,249,250,266,272,292,299,300],emit:[55,61],emploi:21,empti:[50,93,105,146,173,185,232,236,253,255,263,277],emptiv:9,emul:[254,274,278,290],enabl:[1,8,9,24,30,31,32,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,62,73,76,77,78,88,97,99,135,136,137,138,140,141,157,187,197,201,212,214,215,216,218,219,220,226,231,232,242,246,247,249,250,256,259,262,267,276,283,284,285,286,290,294,297,299,300,302],enc:[205,207,208,210],enc_chang:262,encapsul:21,encod:[7,51,136,138,139,207,208,209,210,219,221,225,253,274,277,287,291,292],encoding_cborattr:229,encoding_tinycbor:229,encompass:[14,20],encount:[7,10,20,57,90,156,185,251],encourag:140,encrypt:[20,22,27,30,179,260,262],encrypt_connect:20,end:[9,20,28,30,55,134,146,164,174,176,185,211,232,240,255,256,274,285],endian:[23,61,90,134,274],endif:[226,230,232,239,240,253,268,277,285,286,292],energi:[9,21,22,90,267,302],english:134,enjoi:286,enough:[55,90,102,134,162,202,205,285],enqueu:[92,199],ensur:[11,12,21,59,99,103,106,107,162,187,194,229,230,231,232,243,246,247,251,254,257,261,267,278,279,280,288,291,294,297],entail:229,enter:[12,22,47,99,221,227,228,230,251,266,268,270,288,292],entir:[2,99,134,179,180,185,251,263,285],entireti:177,entiti:[43,258],entri:[20,22,72,135,146,147,148,151,154,156,160,161,162,167,170,177,179,180,185,211,215,221,226,229,263,289],enumer:[134,190,198,213],environ:[3,4,9,12,55,58,59,61,82,102,107,140,197,240,257,296],eof:[57,80],ephemer:264,epoch:106,equal:[29,72,90,185,212,231,232,233],equat:29,equival:[46,61,141,166,187,286,302],eras:[10,71,134,141,142,146,155,179,180,183,185,191,266,270,271,272,274,286],erase_sector:272,err:[103,165,211,215,224,225,230,284,286],error:[1,2,4,6,7,20,21,26,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,80,82,84,90,95,99,103,141,142,159,160,161,162,163,165,166,167,169,170,172,173,174,175,176,177,178,179,182,183,184,215,229,232,253,254,259,261,262,263,266,269,270,272,273,274,277,278,280,284,285,286,287,290,292,298],error_rsp_rx:[76,243],error_rsp_tx:[76,243],error_stat:230,escap:[249,254,278,292,299],especi:106,essenti:[43,61,232,251],establish:[20,27,78,243,246,259,260,262,269,271,274,286],etc:[1,21,24,26,36,43,57,80,90,91,95,101,102,134,138,140,187,189,200,204,251,255,262,285,286],ethernet:[140,187],etyp:286,eui:274,eul:288,euler:288,ev_arg:[88,103,136],ev_cb:[88,136,246],ev_next:88,ev_queu:88,eval:[271,286],evalu:[12,84,106,231,232,271,274,279,286],evalut:106,even:[4,10,84,93,102,134,157,185,206,218,229,284,286,290],event:[20,24,25,27,85,92,95,103,105,136,140,212,218,221,223,230,232,243,251,257,259,260,264,265,284,285,286,290,292,302],event_q:286,event_queu:136,eventq:[92,284,285],eventq_exampl:246,eventu:[4,105,106,185],ever:[90,134,146],everi:[1,32,61,103,104,105,140,156,185,262,264,266,268,280,285,292],everyon:[10,251],everyth:[1,90,99,103,229,251,253,254,277,278,285],evq:223,evq_list:88,evq_task:88,exact:[102,134,193,230],exactli:[93,99,104,163,176,232],examin:[193,199,259,261,296],exampl:[1,2,3,6,7,9,12,22,23,24,25,30,31,55,57,58,59,60,61,62,64,80,82,83,84,88,90,91,92,93,94,99,100,102,103,104,105,106,107,134,136,139,158,179,180,186,190,194,195,212,214,215,216,217,221,226,229,230,241,242,243,249,250,251,253,254,255,257,258,262,266,268,270,274,277,278,279,280,281,285,287,288,289,290,291,292,295,296,298,299,300,302],example1:90,example2:90,exce:[185,222,226,249,299],exceed:20,except:[7,51,90,134,230,259,264,265,285,286],excerpt:[136,213,214,215,226,231,232,261,263,290],exchang:[14,21,22,27,28],excit:[7,242,256],exclud:[51,134,229,288],exclus:[22,94,104,213],exe:[12,59,60,82,83],exec_write_req_rx:[76,243],exec_write_req_tx:[76,243],exec_write_rsp_rx:[76,243],exec_write_rsp_tx:[76,243],execut:[1,2,7,11,12,30,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,61,62,67,80,82,86,88,95,99,102,105,107,139,142,143,145,197,202,223,232,236,238,239,243,251,253,259,261,262,263,264,265,268,277,285],exhaust:[20,103,146,185],exisit:27,exist:[2,10,20,24,29,41,46,49,50,71,100,146,152,157,163,165,166,167,172,173,175,176,178,179,182,183,185,193,213,215,220,232,235,248,249,250,254,260,266,269,270,271,272,273,278,280,285,286,287,289,290,291,292,294,295,297,298,299,300,302],exit:[8,80,249,269,271,274,285,286,299],expect:[6,20,43,61,85,95,99,103,135,136,140,229,233,234,235,236,237,251,253,257,264,265,274,277],experi:[22,244,275,288],expertis:279,expir:[84,85,88,199,246],expire_msec:201,expire_sec:201,expiri:[85,199],explain:[4,12,104,243,254,255,256,257,264,265,267,278,280,294,297,302],explan:[34,35,37,38,39,43,44,45,46,47,48,50,51,53,54,65,66,67,68,69,70,71,72,73,74,75,76,77,158,259],explanatori:[30,100,264,265],explic:288,explicit:[253,277],explicitli:259,explor:[134,229,261,294],expos:[1,14,21,95,139,179,180,181,216,221,232,258,263],express:[23,174,232,233,263,285,286],ext:[12,270],ext_bynam:218,ext_bytyp:218,extend:[20,29,30,286,289,291],extended_dur:27,extended_period:27,extens:[21,30,143,274],extent:[249,250,266,292,299,300],extern:[12,29,40,99,103,140,141,181,187,193,212,230,238,249,250,279,280,286,299,300],extra:[38,42,47,140,158,247,249,252,259,292,299],extra_gdb_cmd:61,extract:[4,11,58,59,60,82,83,242,269],extrajtagcmd:[38,42,47],extrem:9,eyes:233,f401re:53,f411a55d7a5f54eb8880d380bf47521d8c41ed77fd0a7bd5373b0ae87ddabd42:295,f4discoveri:270,f_activ:146,f_active_id:146,f_align:146,f_close:[168,186],f_closedir:[168,186],f_dirent_is_dir:[168,186],f_dirent_nam:[168,186],f_filelen:[168,186],f_getpo:[168,186],f_magic:146,f_mkdir:[168,186],f_mtx:146,f_name:[168,186],f_oldest:146,f_open:[168,186],f_opendir:[168,186],f_read:[168,186],f_readdir:[168,186],f_renam:[168,186],f_scratch:146,f_scratch_cnt:146,f_sector:146,f_sector_cnt:146,f_seek:[168,186],f_unlink:[168,186],f_version:146,f_write:[168,186],face:229,facil:[19,107,238,246],fact:[141,279],factor:9,factori:273,fail:[20,42,57,80,103,146,149,166,167,179,185,233,234,235,237,249,253,256,262,269,270,273,274,277,279,286,299],fail_msg:233,failov:229,failur:[20,103,134,142,147,148,149,151,152,154,155,156,158,159,160,162,163,165,166,169,172,173,174,175,176,177,178,182,183,184,222,224,225,226,233,239,240,253,261,262,263,277],fair:90,fairli:[24,55,61,90,104],fall:[102,107,302],fallback:27,fals:[229,231,233],famili:[4,107,141,157,257],familiar:[3,12,232,242,243,249,255,256,258,285,286,292,299,302],fanci:105,faq:[11,13],far:[256,292],fashion:[95,146,185,242],fast:285,fat2n:[7,61],fatf:[7,142,157,158],fault:136,favorit:[242,248],fcb:[7,135,147,148,149,150,151,152,153,154,155,156,212],fcb_append:[146,148,149],fcb_append_finish:[146,147],fcb_append_to_scratch:147,fcb_entri:[146,147,148,151,156],fcb_err_nospac:147,fcb_err_novar:151,fcb_getnext:146,fcb_init:146,fcb_log:212,fcb_rotat:[146,147],fcb_walk:146,fcb_walk_cb:156,fda_id:185,fe80:[249,299],fe_area:[146,151,156],fe_data_:146,fe_data_len:[146,151,156],fe_data_off:[146,151,156],fe_elem_:146,fe_elem_off:146,feat:286,featur:[1,3,11,19,20,30,91,102,105,146,158,179,221,229,232,241,259,274,288,294],feedback:[242,248,267,286],feel:3,femal:298,fetch:[1,12,40,57,80,243,246,247,257,267,279,280,285,294,297],few:[1,6,14,25,31,55,61,91,99,100,230,253,256,261,264,274,277,286,302],ffconf:157,ffffffff:272,ffs2nativ:[7,61],fhss:21,ficr:23,fictiti:[279,280],fie_child_list:185,field:[20,27,86,88,90,99,134,136,181,194,207,209,213,214,215,221,226,229,230,232,259,261,263,264,265,279,280,288,290],fifo:146,figur:[90,134,135,146],file:[1,2,4,6,7,10,11,12,34,36,37,41,43,46,48,50,55,57,58,59,60,61,64,70,71,80,81,82,83,100,101,102,107,134,135,136,140,179,190,193,195,202,212,213,214,217,218,221,229,231,232,236,238,242,243,244,246,248,250,252,253,254,256,257,263,266,268,269,270,272,273,274,275,277,278,279,281,285,286,288,296,300],file_nam:61,filenam:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,70,71,99,157,162,166,168,172,175,179,185,229,257,285],filesystem:[55,135,157,202],fill:[10,48,101,146,147,149,151,152,205,206,253,256,261,264,265,277,285,286],filter:[2,22,27,30,72,266],find:[1,2,3,20,28,34,55,61,85,88,90,91,92,93,94,100,102,103,104,135,152,187,218,230,231,235,241,242,249,250,254,256,257,266,269,270,273,278,292,295,298,299,300,302],find_info_req_rx:[76,243],find_info_req_tx:[76,243],find_info_rsp_rx:[76,243],find_info_rsp_tx:[76,243],find_type_value_req_rx:[76,243],find_type_value_req_tx:76,find_type_value_rsp_rx:76,find_type_value_rsp_tx:76,fine:[9,264,265],finish:[4,104,147,185,274,285],fip:21,fire:[85,201,251,260,292],firmwar:[134,158,243,249,250,269,271,274,278,285,286,299,300],first:[2,3,6,8,12,21,22,29,33,57,58,59,60,63,82,83,84,85,90,91,94,99,105,107,134,135,146,174,179,180,185,186,190,204,206,218,221,229,232,242,243,251,254,255,258,259,260,261,263,264,265,267,268,274,278,284,285,286,288,292,294,297,302],fit:[4,177,185,244,259,260,275],five:[20,21,22,163,176,243],fix:[6,10,11,91,106,134,281],fl_area:147,fl_data_off:147,flag:[1,6,12,27,29,55,57,58,59,61,62,64,80,81,82,90,100,134,166,229,247,257,261,263,284,285,288,295,298],flash0:158,flash:[1,9,39,43,48,55,57,58,59,61,101,102,135,140,147,148,152,158,180,182,183,186,187,191,192,193,195,202,212,229,232,243,244,266,270,271,272,274,275,286],flash_area:[146,156],flash_area_bootload:[99,134,182,183,231,232],flash_area_image_0:[99,134,182,183],flash_area_image_1:[99,134,182,183,232],flash_area_image_scratch:[99,134,182,183,231],flash_area_nff:[182,183,231,232],flash_area_noexist:231,flash_area_read:[146,151,156],flash_area_reboot_log:[231,232],flash_area_to_nffs_desc:[182,183],flash_area_writ:[146,147],flash_area_x:146,flash_id:141,flash_map:[7,135,182,183,231,232],flash_map_init:232,flash_own:[231,232],flash_spi_chip_select:193,flash_test:[7,136],flat:[90,206,212],flavor:266,flexibl:[90,102,241,259,279,280],flg:285,flight:90,float_us:287,flood:31,flow:[21,136,257,264,265],fmt:136,focu:251,folder:[4,10,12,33,55,59,63,248,269],follow:[1,2,3,4,6,7,8,10,11,12,19,20,21,23,24,26,27,29,30,31,32,37,38,43,50,51,55,57,58,59,60,61,64,66,67,71,72,73,77,78,80,81,82,83,87,88,90,92,93,94,99,100,102,104,105,106,107,134,136,137,139,140,141,142,146,158,166,173,174,175,179,180,181,185,186,187,194,196,197,207,209,212,213,214,215,216,218,219,229,230,231,232,233,234,235,236,237,238,242,243,246,247,248,251,253,254,256,257,258,259,261,263,264,265,266,267,268,269,270,271,272,273,274,277,278,279,280,281,284,285,286,287,288,289,290,291,292,294,295,297,298],foo:135,foo_callout:135,foo_conf_export:135,foo_conf_set:135,foo_val:135,footer:[134,268],footprint:[9,138,140],fop:171,fopen:166,forc:[41,49,52,90,229],forev:[105,166,167,240],forgeri:22,forget:[80,166,167,242,284,285,286],forgot:285,fork:10,form:[1,19,22,23,26,66,90,92,105,185,232,253,261,262,264,274,277,279],formal:[7,20],format:[8,29,50,66,68,71,72,90,136,138,157,158,179,182,183,204,205,206,213,230,232,233,236,254,257,264,268,278,279,280,288,295,298],former:185,formula:[3,60,83],forth:[135,206],fortun:55,forver:27,forward:259,found:[1,20,33,55,63,91,99,154,179,185,206,257,262,263,264,266,270,272,298],foundat:[4,21,31,138,249,250,266,272,279,285,286,292,299,300],four:[19,22,47,134,174,178],fraction:[106,253,277],frame:[221,224,225,251,274],framerwork:137,framework:[21,28,103,138,213,219,220,238,239,257,287,288,289,292,293,294],frdm:53,free:[2,4,73,88,89,90,91,146,185,222,226,229,249,250,260,262,266,272,292,296,299,300],freebsd:107,freed:[91,185],freedom:[262,264,265],frequenc:[21,24,84,87,99,103,106,140,187,196,201,230,251,274],frequent:[10,19,21,22,103,264,265,292],friend:31,friendli:140,from:[1,4,6,7,8,9,10,11,12,19,20,22,23,26,27,30,31,32,35,36,38,39,41,43,44,45,46,47,49,50,51,55,56,60,61,62,64,65,66,68,69,70,71,72,73,76,77,79,83,84,85,86,88,89,90,91,92,93,94,95,99,100,101,102,103,104,105,106,107,134,135,137,138,139,141,142,143,145,146,152,158,159,160,161,162,166,167,168,169,170,172,174,175,177,182,183,185,186,194,202,205,206,212,213,214,215,216,217,218,219,220,221,223,224,229,230,231,232,233,234,235,237,238,240,242,243,246,247,249,250,251,253,254,255,256,257,258,261,262,263,264,265,266,267,268,269,270,271,272,273,274,277,278,279,280,285,286,288,292,294,295,296,298,299,300],front:185,fs_access_append:166,fs_access_read:[159,166,169,174],fs_access_trunc:[163,166,172,175,176],fs_access_writ:[163,166,172,175,176],fs_cli:7,fs_cli_init:222,fs_close:[163,166,169,172,174,175,176,177,178],fs_closedir:[142,167],fs_dir:[158,160,161,162,167,168,170],fs_dirent:[7,158,160,161,162,167,168,170],fs_dirent_is_dir:[160,162,167,170],fs_dirent_nam:[142,160,161,167,170],fs_eaccess:173,fs_ealreadi:178,fs_ecorrupt:[173,182,183],fs_eempti:173,fs_eexist:[171,173],fs_eful:173,fs_ehw:173,fs_einval:173,fs_enoent:[142,160,161,162,167,170,172,173],fs_enomem:173,fs_eo:173,fs_eoffset:173,fs_eok:173,fs_eunexp:173,fs_euninit:173,fs_fcb:229,fs_file:[7,158,159,163,164,166,168,169,172,174,175,176],fs_filelen:176,fs_if:[168,186],fs_ls_cmd:222,fs_ls_struct:222,fs_mkdir:[7,178],fs_mount:7,fs_name:158,fs_nmgr:7,fs_op:[171,186],fs_open:[159,163,169,172,174,175,176,177,178],fs_opendir:[142,160,161,162,170],fs_read:[159,166,174,177],fs_readdir:[142,160,161,162,167],fs_regist:186,fs_unlink:165,fs_write:[163,172,178],fssl:[11,58],fsutil:[7,158],fsutil_r:158,fsutil_w:158,ftdichip:257,fulfil:261,full:[1,7,8,20,21,28,30,48,55,99,134,135,141,147,162,166,172,173,185,202,212,221,229,231,232,243,248,256,259,262,263,268,285,286,288,292,302],fuller:185,fulli:[9,21,134,179,180,185,229,256,265,279,280,286],fun:[242,285],func:[103,135],fundament:[1,302],funtion:206,further:[6,99,103,194],furthermor:[95,134,179,180,185,229,251,264,265],fuse:55,futur:[93,185,213,221,232,274,279,280,281],g_bno055_sensor_driv:215,g_bno055stat:215,g_current_task:84,g_led_pin:[248,251,268],g_mbuf_buff:90,g_mbuf_mempool:90,g_mbuf_pool:90,g_mystat:230,g_nmgr_shell_transport:224,g_os_run_list:[84,86],g_os_sleep_list:[84,86],g_os_start:84,g_os_task_list:84,g_stats_map_my_stat_sect:230,g_task1_loop:268,gain:[94,104,186,256,286],gap:[18,19,20,21,30,185,258,261,263,285,286,287],garbag:146,gatewai:274,gatt:[14,18,21,27,30,31,32,258,261,263,285,286,287],gatt_acc:261,gatt_adc_v:286,gatt_co2_v:284,gatt_co2_val_len:284,gatt_srv:286,gatt_srv_sns_access:286,gatt_svr:[263,284,286,288],gatt_svr_chr_access_gap:[261,263],gatt_svr_chr_access_sec_test:[263,284],gatt_svr_chr_sec_test_rand_uuid:[263,284],gatt_svr_chr_sec_test_static_uuid:[263,284],gatt_svr_chr_writ:[284,286],gatt_svr_register_cb:263,gatt_svr_sns_access:[284,286],gatt_svr_svc:[261,263,284],gatt_svr_svc_adc_uuid:286,gatt_svr_svc_co2_uuid:284,gatt_svr_svc_sec_test_uuid:[263,284],gaussian:21,gavin:58,gc_on_oom_test:[253,277],gc_test:[253,277],gcc:[4,7,57,107],gcc_startup_:99,gcc_startup_myboard:99,gcc_startup_myboard_split:99,gcc_startup_nrf52:[99,269,271,292],gcc_startup_nrf52_split:[269,271,273,274,292],gdb:[4,7,12,38,47,61,62,99,249,250,251,256,266,268,269,270,272,273,286,292,299,300],gdb_arduino_blinki:12,gdbmacro:7,gdbpath:12,gdbserver:6,gear:107,gen:[27,30],gen_task:246,gen_task_ev:246,gen_task_prio:246,gen_task_stack:246,gen_task_stack_sz:246,gen_task_str:246,gener:[1,11,15,16,17,18,19,20,21,23,27,28,29,31,34,35,43,55,61,62,85,88,90,91,94,99,105,134,142,179,180,193,206,229,231,234,235,237,242,243,247,248,249,250,251,252,253,254,256,257,259,260,263,264,265,266,267,268,269,270,271,272,273,274,277,278,279,284,285,288,292,295,298,299,300],get32:84,get:[2,4,6,7,8,9,10,11,23,55,56,58,59,60,61,64,76,79,81,82,83,86,90,94,95,99,101,102,103,105,106,134,135,139,140,146,156,163,166,169,172,177,185,193,206,213,217,219,229,232,233,242,246,248,251,253,254,255,257,259,261,263,264,265,266,267,269,270,272,273,274,277,278,284,285,286,291,292,298,302],gettng:[244,275],gfsk:21,ggdb:6,ghz:[21,254,278],gist:[140,193],gister_li:217,git:[11,55,58,80,81,82,107,254,266,278,279,280,281],github:[1,7,10,11,33,55,57,58,59,63,80,81,82,107,190,242,254,266,278,279,280,281,285,286,294],githublogin:281,githubpassword:281,githubusercont:[11,57,58,59,80,81,82],give:[55,193,229,242,251,256,264,265,274,279,280,286],given:[12,20,42,84,91,102,105,106,134,142,145,151,152,158,206,213,217,218,251,280],glanc:259,glibc:57,global:[1,29,62,90,91,94,181,212,213,215,230,238,261,285],gnd:[8,274,286,288,298],gnu:[3,4,12,38,47,249,250,266,270,272,273,292,299,300],goal:[55,107,297],gobjcopi:6,gobjdump:6,gobl:81,goe:[61,238,253,277,285],going:[102,229,264,268,285,286],golang:[11,59,82],gone:260,good:[7,9,22,55,94,99,103,134,157,229,256,259,265,274,285],googl:[264,294],gopath:[11,57,58,59,60,80,81,82,83],got:[284,285,286],govern:[285,286],gpg:[57,80],gpio:[8,102,140,193,195,197,246],gpio_ev:246,gpio_l:246,gpl:[4,249,250,266,270,272,273,292,299,300],gplv3:[249,250,266,272,292,299,300],gpo:187,grab:89,gracefulli:240,graduat:286,grain:9,graph:[1,50,62,286],graviti:288,great:[8,21,134,231,248,285,286],greater:[21,29,90,185,231],greatest:[134,185],green:[2,10,12,254,266,270,271,278,288,295],grid:55,ground:[286,288],group:[2,10,20,76,137,140,221,230,232,243,274],grow:[53,251],guarante:[91,93],guard:95,guid:[7,11,12,18,59,62,64,82,215,216,232,243,244,246,251,253,258,263,265,275,277,279,295,298],guinea:252,gyro:288,gyro_rev:288,gyroscop:[213,288],h_mynewt_syscfg_:232,hack:[7,9,12,242,248,286],had:[90,95,134,229],hal:[1,7,9,48,55,61,87,101,140,141,182,183,186,187,194,197,199,215,246,256,266,270,272,286,288,292,302],hal_bsp:[7,99,140,192,214,266,269,270,272,285,290],hal_bsp_flash_dev:[99,141,192],hal_bsp_init:214,hal_common:[7,256,270,272],hal_flash:[7,99,141,158,192,266,270,272],hal_gpio:[7,142,190,246],hal_gpio_init_out:[105,246,248,251,268],hal_gpio_irq_en:246,hal_gpio_irq_init:246,hal_gpio_pull_up:246,hal_gpio_toggl:[105,246,248,268],hal_gpio_trig_ris:246,hal_gpio_writ:[190,251],hal_i2c_begin:194,hal_i2c_end:194,hal_i2c_init:194,hal_i2c_master_data:194,hal_i2c_master_read:194,hal_i2c_master_writ:194,hal_i2c_prob:194,hal_i2c_read:194,hal_i2c_writ:194,hal_os_tick:[269,292],hal_reset_caus:[198,290],hal_rtc:157,hal_spi:142,hal_spi_config:197,hal_spi_dis:197,hal_spi_en:197,hal_spi_init:[142,197],hal_spi_set:[141,197],hal_system_start:198,hal_tim:[84,87],hal_timer_cb:[84,199],hal_timer_set_cb:199,hal_timer_start:199,hal_timer_start_at:199,hal_uart:285,hal_uart_blocking_tx:200,hal_uart_config:285,hal_uart_flow_ctl_non:285,hal_uart_init_cb:285,hal_uart_parity_non:285,hal_uart_start_tx:285,hal_watchdog_en:201,hal_watchdog_init:201,hal_watchdog_tickl:201,hal_xxxx:187,half:[16,17,99,106],halfwai:134,halt:[95,196,266,270,272],hand:[229,242,251,253,277],handbook:[269,273],handi:[99,286],handl:[17,20,27,28,30,61,90,92,107,140,141,142,158,159,160,161,162,166,167,170,175,176,177,178,185,212,216,217,221,243,246,260,261,262,284,285,286,292],handler:[88,95,99,137,217,219,222,224,226,227,246,251,284,285,286,287],happen:[9,20,26,135,146,185,254,260,263,264,265,266,278,280],happi:[7,9],har:298,hard:[103,136],hardcod:[25,27],hardwar:[2,3,5,6,7,9,20,21,24,25,31,34,84,87,99,101,102,134,140,179,180,185,189,190,191,192,193,194,196,198,199,200,201,215,229,232,244,246,251,254,256,257,264,265,266,268,269,270,271,275,278,279,285,292,302],harm:134,has:[2,3,4,7,10,11,12,20,22,24,26,30,34,36,43,50,55,57,58,59,61,62,77,80,81,82,84,86,88,89,90,91,95,97,98,99,102,103,104,105,134,135,136,138,140,144,146,158,159,171,175,179,185,193,197,200,202,215,217,229,230,232,238,240,243,247,249,250,251,252,253,254,261,262,263,266,268,269,270,274,277,278,279,280,284,285,291,292,299,300,302],hash:[34,37,43,46,71,134,185,229,247,295,298],have:[1,2,3,6,7,8,9,11,12,19,20,22,24,30,32,43,50,52,54,55,57,58,59,60,61,62,64,80,81,82,83,85,88,90,91,95,99,101,102,103,104,105,107,134,136,138,140,141,143,146,149,179,180,185,187,192,193,199,221,227,229,230,231,232,241,242,243,246,247,248,249,250,252,253,254,255,256,257,260,261,263,264,265,266,267,268,269,270,271,272,273,274,277,278,279,280,282,284,285,286,287,288,289,290,291,292,294,295,296,297,298,299,300,302],haven:[3,142,241,280,285,286,302],hci1:257,hci:[21,255],hci_adv_param:259,hci_common:243,hdr:[134,233],hdr_ver:204,head:[11,58,80,81,82,88,94,104,217,252],header:[1,37,39,46,55,57,58,59,61,99,134,138,146,147,185,190,193,212,214,232,238,243,268,285,286],heading1:252,heading2:252,heading5:252,headless:2,health:264,heap:[91,95,99],heart:251,held:279,hello:[12,69,163,176,200,243,254,267,278,295,296,298,302],help:[1,8,12,31,34,35,37,38,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,64,65,67,68,69,70,71,72,73,74,75,76,77,80,81,82,95,100,101,106,140,206,226,229,231,244,249,250,251,252,253,255,256,259,266,268,269,271,274,275,277,278,281,285,286,288,292,299,300],helper:[1,61,100,141,264,265],henc:[134,241],her:95,here:[1,3,8,10,11,29,32,55,73,76,77,88,90,91,93,99,100,103,135,136,146,162,163,166,169,177,179,193,206,212,213,215,221,229,230,231,232,239,241,242,246,252,253,254,257,261,263,264,265,266,268,269,270,273,274,277,278,279,280,285,286,296,302],hertz:84,hex:[7,37,43,48,71,194,229,272,274,284,292],hexidecim:66,hfxo:24,hidapi:4,hidraw:4,hierarchi:[158,232,238],high:[9,18,21,64,87,104,140,246,249,251,299],high_duti:27,higher:[11,14,20,21,55,58,59,72,80,81,82,94,95,104,105,187,212,218,231,232,241,251,253,257,277,280],highest:[84,86,94,95,97,105,231,232,251],highli:241,highlight:[2,6,30,107,242,254,266,269,271,273,278,286,287,292],hint:55,his:95,histori:231,hit:[36,268],hl_line:[214,215,254],hog:251,hold:[33,43,63,90,91,93,162,205,215,221,242,251,274,279,286],hole:[185,286],home:[7,11,59,99,229,253,256,268,277,281,285],homebrew:[4,6,7,11,36,56,60,79,83],homepag:[1,43,61,136,277,285,286],hook:[103,272,285,298],hop:[21,140],host:[7,9,21,22,23,26,29,30,66,70,71,88,90,134,219,249,250,252,253,254,256,257,261,262,263,266,277,278,285,286,287,291,292,299,300],hotkei:[249,299],hour:106,how:[2,3,4,5,6,7,8,11,12,20,21,23,30,55,57,58,59,60,66,80,81,82,83,88,92,93,94,99,102,103,106,134,135,136,146,152,154,172,179,193,197,207,212,214,215,226,229,230,233,236,238,241,242,243,247,248,251,252,253,254,255,256,257,260,261,262,264,265,266,267,268,269,270,271,272,273,274,276,277,278,284,285,286,288,289,291,292,294,295,296,297,298,302],how_to_edit_doc:252,howev:[3,57,80,90,102,105,107,134,136,179,185,193,230,247,269,279],htm:257,html:[4,33,63,158,249,250,253,266,270,272,292,299,300],http:[1,4,10,11,12,33,39,55,57,58,59,61,63,80,81,82,107,136,143,190,242,249,250,257,264,266,269,270,272,273,277,279,281,285,286,292,298,299,300],httperror404:[57,80],hub:[254,278],human:[257,279],hw_bsp_nativ:61,hw_drivers_nimble_nrf51:229,hw_hal:55,hw_mcu_nordic_nrf51xxx:229,hypothet:20,i2c:[8,140,141,187,194,288,289,292],i2c_0:[287,288,289,292],i2c_0_itf_bno:214,i2c_0_itf_li:214,i2s:266,i2s_callback:266,i386:[4,6],iOS:[260,284,286,287,289,291,294],ibeacon:[23,256,267,302],icon:[10,12],id16:263,id3:[33,63],id_init:232,idcod:266,idea:[61,93,94,103,259],ideal:21,ident:[18,20,22,23,27,30,66,107,139,229,230,238],identifi:[1,8,19,20,27,29,34,71,99,134,135,185,194,254,264,265,269,271,274,278,286,295,298],idl:[27,77,96,103,251,256,285,295,298],idx:[27,141,185],ietf:206,if_rw:139,ifdef:[229,232,239,268,292],ifndef:[232,285,286],ignor:[6,27,82,158,172,179,232,249,299],ih_flag:134,ih_hdr_siz:134,ih_img_s:134,ih_key_id:134,ih_mag:134,ih_tlv_siz:134,ih_ver:134,iii:134,illustr:[12,90,94,95,134,251,286,292],imag:[2,6,7,12,31,34,38,39,42,43,47,55,57,58,59,61,64,78,80,81,82,99,100,102,107,136,137,203,204,205,207,208,210,230,231,241,244,249,250,256,260,266,267,268,275,284,285,296,297,299,300,302],image_ec256:[254,266,269,270,271,272,273,274,278,288,295,296,298],image_ec:[7,254,266,269,270,271,272,273,274,278,288,295,296,298],image_f_ecdsa224_sha256:134,image_f_non_boot:134,image_f_p:134,image_f_pkcs15_rsa2048_sha256:134,image_f_sha256:134,image_head:134,image_header_s:134,image_mag:134,image_magic_non:134,image_ok:134,image_rsa:[7,254,266,269,270,271,272,273,274,278,288,295,296,298],image_tlv:134,image_tlv_:134,image_tlv_ecdsa224:134,image_tlv_rsa2048:134,image_tlv_sha256:134,image_valid:[7,254,266,270,271,273,278,288,295,296,298],image_vers:[134,204,205],img:[37,46,71,242,243,247,248,249,250,254,256,257,260,266,269,270,271,272,273,274,278,285,288,292,295,298,299,300],img_data:211,imgmgr:[7,136,137,158,202,232,243,286],imgmgr_max_ver_str:205,imgmgr_module_init:232,imgr_list:[207,208,210],imgr_upload:211,imgr_ver_jsonstr:205,immedi:[26,99,134,175,185,197,252,259,264,265],impact:[24,185],impl:61,implemen:66,implement:[9,10,21,32,61,66,88,90,91,93,99,101,102,134,135,136,137,157,158,179,185,187,190,192,193,194,195,196,198,202,206,213,214,216,218,220,221,227,232,238,246,253,258,261,263,264,274,277,286,287,288,292],impli:[253,264,265,277,280,285,286],implicit:[253,277],impos:[134,179,180,185],imposs:[19,181],impract:263,impress:286,improv:268,imuplu:288,inc:[4,249,250,266,272,292,299,300],includ:[1,4,7,9,10,14,15,16,17,19,20,21,22,26,27,28,31,43,50,59,61,84,90,99,101,102,134,136,139,140,141,142,144,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,189,190,197,200,202,212,213,214,217,218,219,221,229,231,232,238,242,243,246,247,249,251,253,257,258,259,261,264,265,269,277,279,280,285,286,287,288,290,291,292,297,299],include_tx_pow:27,incom:[20,88,202,221,222,224,246],incompat:[57,80,279],incomplet:[29,99,165],incomplete_block_test:[253,277],incorrect:[42,106],increas:[21,22,185,221,222,226,232,249,251,299],increasin:146,increment:[92,106,135,185,230],incub:[7,55,190,232,242,286],inde:[95,272],indefini:[264,265],indent:6,independ:[22,102,134,140,187,189,191,193,194,196,198,199,200,201,232,285],indetermin:[253,277],index:[31,72,134,257],indian:106,indic:[7,10,19,20,26,28,29,30,88,98,99,103,134,136,138,158,164,166,173,185,193,194,211,218,221,226,229,231,232,247,253,254,261,263,266,269,270,273,277,278,292,294],indirect:286,individu:[11,134,135,140,193,232,237,243,279],industri:[21,157],ineffici:185,infinit:[88,95,232,251,268],info:[39,57,58,59,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,146,147,151,226,247,262,266,270,272,273,278,284,286],inform:[1,6,7,12,20,22,23,27,29,34,37,39,40,57,58,59,61,62,64,66,71,80,81,82,88,90,91,99,101,102,105,134,138,139,151,185,212,213,215,216,226,229,230,232,241,242,246,247,250,251,256,259,262,263,264,265,266,268,274,279,280,281,285,286,288,292,295,298,300],infrastructur:256,ing:[140,264,265],inher:[1,23,261],inherit:[1,4,59,94,181,213],ininclud:230,init:[50,55,84,214,218,232,285,286],init_app_task:95,init_func_nam:232,init_funct:232,init_stag:232,init_task:[246,251],init_tim:[268,292],initi:[16,19,21,23,25,26,27,28,61,84,85,87,88,90,91,92,94,95,96,97,99,103,104,105,135,136,140,144,152,158,173,182,183,184,185,187,189,191,193,194,196,197,199,201,203,206,210,212,214,217,218,219,221,222,226,238,239,243,246,248,253,257,258,262,264,265,268,277,284,285,286,287,288,292],initialis:[215,266],inod:[179,181],inoper:[26,264,265],input:[20,22,27,140,187,193,246,249,253,272,277,299],inquiri:[20,29],insert:185,insid:[24,90,95,167,253,268,272,277],insight:[140,251],inspect:[48,134,135,262],instal:[3,7,9,33,39,54,55,63,78,95,99,100,142,217,243,246,247,248,249,251,253,254,255,256,257,266,267,269,270,271,272,273,277,278,280,282,285,287,288,289,291,292,294,295,296,297,298,299,302],instanc:[2,3,9,27,62,90,181,182,183,185,212,230,259,264,265,266],instant:20,instantan:251,instanti:[95,140],instantli:104,instead:[7,11,12,24,88,104,134,136,229,232,243,246,253,260,266,268,269,270,271,272,273,277,281,284,285,286,287,290],instruct:[3,4,7,11,55,57,62,80,86,102,243,246,249,250,266,269,273,287,288,289,290,292,296,299,300],insuffici:[20,173],insur:[91,105],int16_t:[84,106],int32_max:27,int32_t:[84,106,264,265],int64_t:[84,106],int8:135,integ:[98,206,213,230,232],integr:[12,22,185,194,230],intellig:187,intend:[24,29,36,182,183,194,241],inter:[185,194,246],interact:[2,8,136,138,202,244,249,260,268,275,299],interchang:206,interconnect:[9,138],interdepend:[135,232],interest:[7,14,18,90,99,187,229,248,256,259,264,302],interfac:[4,18,21,30,31,90,134,139,140,141,142,157,158,187,189,191,193,194,196,197,198,200,201,212,215,216,242,255,257,258,266,270,272,285,288,289,292,298],intermedi:[165,166,172],intern:[7,20,88,90,95,99,103,140,141,146,173,182,183,184,192,199,201,202,206,222,226,266,286],internet:[7,12,21,243,246,247,254,257,267,278,294,297],interoper:[138,139],interpret:[143,145,213,217],interrog:286,interrupt:[84,88,96,99,134,189,196,286],interrupt_prior:286,interv:[20,27,29,103,105,213,217,218,246,288,292],interval_max:27,interval_min:27,intervent:102,intial:226,intiat:99,introduc:[1,30,185,231,232],introduct:[251,302],introductori:294,intuit:134,invalid:[20,84,134,142,148,158,159,173,177,178,185,253,261,277],invers:[94,104],invert:104,invoc:[6,263],invok:[2,253,277,281,292],involv:[16,17,19,22,99,102,187,194,253,277],io_cap:27,ioctl:158,iot:21,iotiv:287,ipsp:21,ipv6:21,irk:[19,27],irq_prio:[141,142],isbuildcommand:12,ism:21,ismylaptop:[285,286],isn:[99,185,256],isol:[99,229],isshellcommand:12,issu:[1,6,30,55,66,95,104,134,138,158,179,185,194,243,269,270,271,273,274,282,285,286],ist:106,it_len:134,it_typ:134,ital:252,ite_chr:261,item:[1,99,135,186,217,265],iter:[134,160,161,162,167,170,185,218],itf:215,its:[7,10,11,18,19,20,55,61,86,88,90,94,95,99,102,103,105,134,136,141,146,164,174,177,179,180,185,193,194,212,229,230,231,232,233,238,242,247,248,251,252,255,256,259,261,262,263,264,265,274,279,285,290,296,302],itself:[26,61,90,91,105,134,140,144,146,186,202,207,218,232,242,253,269,277,285,286],iv_build_num:134,iv_major:134,iv_minor:134,iv_revis:134,ize:91,jan:106,javascript:55,jb_read_next:206,jb_read_prev:206,jb_readn:206,je_arg:206,je_encode_buf:206,je_wr_comma:206,je_writ:206,jira:10,jlink:[61,99,247,254,269,271,278,288,292,295],jlink_debug:61,jlink_dev:61,jlinkex:[269,271,274,286],jlinkgdbserv:[249,292,299],job:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,86,95,99,221,261],join:[3,140,241,254,278,302],json:[7,12,34,37,51,55,61,208,209,210,211,242,243,248,253,277,285],json_array_t:206,json_attr_t:[206,211],json_buff:[206,211],json_buffer_read_next_byte_t:206,json_buffer_read_prev_byte_t:206,json_buffer_readn_t:206,json_decod:[211,253,277],json_encod:[205,206,207,208,209,210,253,277],json_encode_object_entri:[208,209,210],json_encode_object_finish:[207,210],json_encode_object_start:[207,208,209],json_enum_t:206,json_read:206,json_read_object:206,json_simple_decod:[253,277],json_simple_encod:[253,277],json_typ:206,json_valu:[206,207,208,209,210],json_value_int:[206,209],json_value_str:206,json_value_stringn:206,json_write_func_t:206,jtag:[4,38,42,47,254,266,269,270,272,278,292,298],jul:80,jump0:67,jump:[134,229],jumper:[8,242,272,285,286,298],just:[1,7,8,20,22,23,62,85,99,100,105,134,141,142,157,172,177,229,242,260,261,264,265,266,268,274,281,282,285,286],jv_len:206,jv_pad1:206,jv_type:206,jv_val:206,k30:[284,285],k64f:53,keep:[9,22,24,95,134,136,140,146,185,214,221,222,226,229,242,248,251,253,277,286],keg:[60,83],kei:[8,19,20,21,31,37,46,57,80,99,134,135,185,205,206,207,209,232,261,274,278,285,288],kept:[86,134,146],kernel:[1,7,9,51,55,61,99,136,140,187,196,201,218,229,232,246,256,257,285,286,287,288,290,292],kernel_o:229,keyboard:[12,22,136],keyboarddisplai:27,keyboardonli:27,keychain:[57,80],keystor:27,keyword:[1,61,100,136,277,279,285,286],khz:[197,266,270],kick:[103,264,265],kilobyt:102,kind:[31,140,249,285,286,299],kit:[8,47,61,242,247,248,249,250,267,269,286,299,300,302],klibc:107,know:[1,8,12,30,61,136,213,217,230,231,251,254,261,262,264,265,267,268,278,285,286,297,302],known:[21,55,106,166,167,185,251,259],l13:269,l2cap:21,lab:32,label:[8,99,272,286],lack:[146,157,229],lag:263,languag:[11,12,55,102,143,285,286],laptop:[3,8,242,243,246,248,257,274,285,286],larg:[20,24,31,90,105,229,230,251],large_system_test:[253,277],large_unlink_test:[253,277],large_write_test:[253,277],larger:[10,31,90,93,233],largest:[93,252],las_app_port:274,las_app_tx:274,las_join:274,las_link_chk:274,las_rd_app_eui:274,las_rd_app_kei:274,las_rd_dev_eui:274,las_rd_mib:274,las_wr_app_eui:274,las_wr_app_kei:274,las_wr_dev_eui:274,las_wr_mib:274,last:[20,26,72,77,103,134,154,185,208,213,221,226,232,254,259,263,264,265,266,274,278,286,288,290,292],last_checkin:[77,295,298],last_n_off:154,last_op:194,last_read_tim:215,latenc:27,later:[7,8,72,85,90,134,238,248,249,250,253,256,262,266,274,277,286,292,299,300],latest:[1,2,4,7,10,11,49,52,55,56,60,79,83,135,242,254,266,278,279,280,285,286],latex:[179,185],latter:[20,90,138,179],launch:12,launchpad:4,law:[249,250,266,285,286,292,299,300],layer:[9,20,21,90,101,102,140,158,168,171,179,186,215,216,232,246,258,286,302],layout:[102,134,180,298],lc_f:214,lc_pull_up_disc:214,lc_rate:214,lc_s_mask:214,lcheck:285,ld4:270,ldebug:231,ldflag:50,ldr:272,le_elem_off:151,lead:[90,95,262,286],leak:[166,167],learn:[7,26,61,242,248,267,294],least:[22,90,103,134,185,243,268,274,286,302],leav:[90,141,154,229],led1:[246,271],led2:246,led3:246,led:[1,7,61,99,102,105,140,187,193,243,246,251,254,257,266,267,268,269,270,271,272,273,278,285,286,288,295,298,302],led_blink_pin:[99,105,248,251,268],led_blink_pin_1:248,led_blink_pin_2:248,led_blink_pin_3:248,led_blink_pin_4:248,led_blink_pin_5:248,led_blink_pin_6:248,led_blink_pin_7:248,led_blink_pin_8:248,led_pin:248,left:[84,91,105,151,205,229,272,284,292,302],legaci:[30,157,232,251],len:[90,141,146,147,168,169,176,177,178,194,206,211,261,274,285],length:[20,21,27,90,99,134,136,146,162,163,182,185,205,261,274],less:[95,107,134,185,263,264,265],lesser:185,lesson:[251,302],let:[4,8,55,90,93,99,212,229,230,242,251,253,256,258,259,260,261,262,263,264,265,268,272,277,279,280,284,285,286,292],level:[1,2,9,14,18,20,23,27,29,30,31,32,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,89,94,99,137,140,141,158,179,180,187,215,231,232,241,253,254,260,261,264,265,266,270,274,277,278,280,284,285,286],level_list:72,leverag:[138,140,255,286],lflag:[1,50,61],lib:[1,4,45,53,55,82,107,136,158,186,231,232,285,286],libc6:6,libc:[7,99,107],libc_baselibc:[229,272],libftdi1:4,libftdi:4,libg:48,libgcc:[48,229],libhidapi:4,librari:[1,4,48,50,55,58,81,88,90,99,100,102,107,134,136,140,158,166,186,187,202,229,230,238,253,256,277,279,280,285,286,287],libusb:4,libusb_error_access:270,libusb_open:270,licens:[4,7,11,55,61,107,140,249,250,254,256,266,270,272,273,278,279,285,286,292,299,300],lieu:66,life:[24,264],light:[9,31,187,213,242,246,248,267,270,271,272,273,287,288,295,298],lightblu:[260,284,286],lightweight:157,like:[2,3,5,8,12,31,55,58,59,62,81,82,90,95,99,102,103,104,107,134,136,140,146,187,194,230,242,248,249,250,253,256,266,270,272,277,279,285,286,287,289,290,292,294,298,299,300],likewis:[62,185],limit:[3,20,27,29,105,107,141,157,222,226,229,243,249,259,264,285,286,299],limt:230,line:[2,6,7,10,12,36,38,39,47,62,99,107,136,193,230,236,242,248,249,257,263,268,270,271,279,281,285,286,287,288,292,299],linear:185,linearacc:288,lines_queu:136,link:[2,3,7,20,21,22,27,34,38,42,60,61,81,83,86,88,90,185,199,221,229,232,238,241,242,249,250,254,256,257,260,265,266,268,269,270,271,272,273,274,278,285,286,288,292,295,296,298,299,300,302],linkag:[85,88],linker:[1,61,100,107,229,256,272],linkerscript:[61,99],linux:[5,7,9,12,56,66,78,79,141,247,254,257,266,268,269,270,272,273,278,288,295,296,297,298],liquid:286,lis2dh12:[214,292],lis2dh12_0:[214,292],lis2dh12_cfg:214,lis2dh12_config:214,lis2dh12_data_rate_hn_1344hz_l_5376hz:214,lis2dh12_fs_2g:214,lis2dh12_init:214,lis2dh12_onb:292,list:[3,6,7,8,12,22,27,29,34,35,48,50,51,53,57,59,61,66,71,72,73,75,76,77,78,80,86,88,90,91,94,99,100,101,104,105,134,136,137,140,142,185,186,199,212,221,230,232,233,236,241,242,247,248,256,259,262,263,266,267,268,269,270,271,272,273,274,279,280,285,286,290,295,296,298,302],listen:[2,14,30,31,66,92,213,218,229,259],listener_cb:292,lit:[243,248,251,257],littl:[6,20,23,90,134,242,248,256,263,274,280,285],live:[140,242,254,262,263,266,278,279,280],lma:272,lmp:20,load:[2,4,5,7,12,34,39,43,47,55,57,58,59,61,99,134,135,229,242,246,247,248,249,250,251,260,267,268,274,280,284,285,286,299,300],load_arduino_blinki:12,load_arduino_boot:12,loader:[10,43,50,99,134,136,254,266,269,270,271,273,278,288,295,296,298],loc:[147,151,156],local:[1,4,6,7,10,11,20,27,28,36,40,49,55,58,60,71,81,83,100,105,106,252,254,259,266,278,290],localhost:[66,249,292,299],locat:[1,8,11,19,31,61,99,134,146,151,185,194,238,251,254,263,268,272,278,279,285,288,295,296,298],lock:[9,89,95,104,146,213,218,246],log:[1,7,10,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,64,65,66,67,68,69,70,71,73,74,75,76,77,78,80,81,82,134,137,138,156,165,172,186,187,221,229,231,232,242,243,244,249,256,266,269,270,272,273,275,285,286,290,292,296,299],log_cbm_handl:212,log_cbmem_handl:212,log_cli:[221,244,275],log_console_handl:[212,215],log_debug:212,log_error:215,log_fcb:232,log_fcb_handl:212,log_handl:212,log_info:215,log_init:232,log_level:[50,212,232,244,247,275],log_level_debug:212,log_level_error:212,log_module_bno055:215,log_module_default:212,log_nam:72,log_newmgr:231,log_newtmgr:[50,231,232,243],log_nmgr_register_group:232,log_regist:[212,215],log_shel:242,log_syslevel:[212,215],logic:[1,21,23,29,134,180,274,285],login:281,loglevel:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,285],logxi:81,long_filename_test:[253,277],longer:[3,8,11,21,24,91,217,231,257,285,287],longjmp:240,longrange_interv:27,longrange_pass:27,longrange_window:27,look:[8,10,24,55,61,99,101,105,107,134,136,137,194,206,211,229,230,242,248,251,252,253,259,261,262,263,277,280,282,284,285,286,290,292,302],lookup:[218,227,261,292],loop:[85,88,95,105,160,161,162,167,170,232,243,251,256,268,284,285,286],lora:274,lora_app_shel:274,lora_app_shell_telee02:274,lora_app_shell_telee0:274,lora_mac_timer_num:274,lose:26,loss:[26,29],lost:[103,185],lost_found_test:[253,277],lot:[7,229,231,253,259,277,286],low:[9,20,21,22,31,84,90,99,104,141,158,187,197,215,251,254,261,264,265,266,267,270,278,302],lower:[20,84,87,94,95,104,105,231,232,247,251,258,268,272],lowest:[73,86,91,185,232,251],lowpow:288,lru:185,lrwxr:[4,81],lsb:194,lst:[34,55,61],ltbase:232,ltd:27,ltk:27,ltk_sc:27,ltrequir:232,lua:[143,144,145],lua_cmd:145,luckili:285,m32:6,m4g:288,mac:[3,5,7,9,12,20,55,56,78,79,242,247,248,254,257,260,266,268,269,270,272,273,274,278,284,286,288,295,296,297,298],machin:[2,3,7,8,100,257,302],maco:[4,66],macro:[20,90,91,99,103,206,213,215,230,232,238,251,253,263,277,286],made:[2,10,11,20,55,71,84,105,134,194,251,252,274,286],mag:288,mag_rev:288,maggyro:288,magic:[61,134,146,185],magnet:[213,288],magnetomet:215,mai:[2,4,6,7,8,12,22,27,29,30,31,51,53,57,58,62,80,81,82,88,90,91,93,95,99,102,107,134,136,138,140,167,185,187,193,194,212,213,214,215,217,218,229,230,231,232,233,236,238,243,249,251,254,256,257,266,268,269,270,271,272,273,274,278,279,285,286,288,292,295,298,299],mail:[3,10,140,241,242,248,256,267,286,302],main:[7,12,26,31,57,61,77,80,88,90,95,101,105,134,136,144,182,183,204,213,218,221,223,228,232,237,239,243,246,248,253,256,259,264,265,266,269,270,271,272,273,277,284,285,286,288,295,296,298],mainli:229,maintain:[4,49,86,134,140,185,213,218,232,253,277,279,280],mainten:[138,230],major:[55,61,102,204,251,265,279,280],major_num:[279,280],make:[1,2,3,7,8,9,19,20,21,24,30,31,33,55,57,63,71,86,90,91,99,134,140,146,147,179,185,187,205,212,229,230,242,247,248,251,253,255,256,257,259,261,262,264,265,266,268,272,274,277,279,284,285,286,287,292,302],makerbeacon:243,malloc:[89,91,99,107,251,286],man:[6,27,107],manag:[6,8,16,17,21,27,31,39,45,57,58,59,61,64,66,68,71,72,73,76,77,80,81,82,88,95,99,100,102,134,136,140,187,203,206,213,215,216,217,229,232,244,247,254,268,269,275,278,280,288,292,295,297,298,302],mandatori:[20,99,233,263,264,265],mani:[20,31,55,61,90,99,101,134,146,154,166,167,187,188,199,261,266,279],manifest:[34,37,43,55,61,242,243,248,285],manipul:[1,39,45,90],manner:[27,29,93,95,134,187],manual:[21,25,60,83,95,105,107,179,229,236,242,249,250,266,272,292,298,299,300],manufactur:[19,27,29,39,43,57,58,59,66,229,254,259,266,278],many_children_test:[253,277],map:[2,3,8,20,27,28,61,102,140,141,166,187,192,193,206,229,231,232,249,254,261,268,278,279,280,288,295,298,299],mar:[106,269,271,274,286,292],march:68,mark:[27,28,71,99,272],marker:99,market:[31,271],mask:[27,213,215,217,218,290,292],mass:[257,270],mass_eras:[269,270],master:[1,7,11,27,56,57,59,60,79,80,82,83,140,187,190,194,197,252,254,266,278,279,280],match:[2,7,20,99,100,102,134,217,218,229,254,266,270,278,279,280],matter:10,max:[162,205,206],max_cbmem_buf:212,max_conn_event_len:27,max_ev:27,max_len:[162,168],maxim:9,maximum:[21,27,29,90,134,136,179,181,185,205,221,222,226,249,253,277,299],mayb:[249,250,299,300],mb_crc:285,mb_crc_check:285,mb_crc_tbl:285,mbed:[269,273],mbedtl:[7,254,266,269,271,273,278,295,296,298],mblehciproj:257,mblen:90,mbuf:[93,95,206,289],mbuf_buf_s:90,mbuf_memblock_overhead:90,mbuf_memblock_s:90,mbuf_mempool_s:90,mbuf_num_mbuf:90,mbuf_payload_s:90,mbuf_pkthdr_overhead:90,mbuf_pool:90,mbuf_usage_example1:90,mbuf_usage_example2:90,mcu:[7,9,53,100,103,140,141,187,193,196,198,202,242,248,251,254,266,269,278,292],mcu_gpio_porta:141,mcu_sim_parse_arg:[268,292],mdw:272,mean:[2,12,20,90,93,98,103,106,134,141,181,197,208,210,232,240,263,270,280,285,286],meaning:144,meant:[1,103,135],measur:[9,251,274],mechan:[1,22,95,229,232,246,279,281,285,286],medic:[21,55],medium:173,meet:[214,247,257,266,267,269,270,271,272,273,288,290,291,292,294,295,296,297,298],mem:[7,232],member:[84,136,259,261],memcpi:261,memori:[9,20,48,73,88,89,90,95,99,102,103,107,134,138,140,141,157,173,179,180,184,185,187,189,191,194,222,226,231,243,244,246,249,251,261,272,274,275,296,299],mempool:[64,80,81,82,221,285],memset:[214,259,262,265,286],mention:[12,185,213,286],menu:[12,59,270,272,298],merchant:4,merci:91,merg:252,mesh:32,messag:[2,4,22,31,42,57,58,59,75,136,138,139,172,221,224,225,233,246,254,266,270,274,278,285],messi:286,messsag:62,met:[20,243,246,254,278],meta:[8,278,288],metadata:[43,134,173],meter:21,method:[25,90,105,139,179,190,193,197,212,221,230,261,279],mfg:[7,39,57,58,59,70,232],mfg_data:29,mfg_init:232,mgmt:[7,136,138,203,221,231,232,243,285,286],mgmt_evq_set:243,mgmt_group_id_config:137,mgmt_group_id_crash:137,mgmt_group_id_default:137,mgmt_group_id_imag:137,mgmt_group_id_log:137,mgmt_group_id_runtest:137,mgmt_group_id_stat:137,mgmt_imgmgr:229,mgmt_newtmgr_nmgr_o:229,mgutz:81,mhz:[21,24],mib:[55,81,274],mic:20,micro:[55,247,249,250,251,254,266,267,269,271,272,274,278,286,288,294,295,297,298,299,300],microcontrol:[9,107,134,272,298],microsecond:[24,84],microsoft:12,mid:[14,134,270],middl:[27,134,185,286],might:[1,2,18,20,61,99,102,136,140,185,187,194,215,229,231,249,250,256,258,259,264,265,266,270,279,280,282,292,299,300],migrat:[185,232],milisecond:27,millisecond:[27,106,274],millivolt:286,min:[72,73,134,278,296],min_conn_event_len:27,mind:[103,256],mingw32:59,mingw64:59,mingw:[4,7,8,12,56,82,254,268,278,288,295,298],mini:270,minicom:[8,254,268,278,285,288],minim:[99,140,157,158,179,185,215,256],minimum:[27,29,72,90,134,185,256],minor:[204,265,279,280],minor_num:[279,280],minut:[81,253,264,277],mip:[7,61],mirror:[1,10,11,279,285,286],misc:288,mislead:6,mismatch:20,miso:197,miso_pin:[141,142],miss:[20,57,99,231,242,248,256,267,286],misspel:231,mitm:27,mk64f12:[140,187],mkdir:[11,43,80,82,99,242,254,266,269,270,271,272,273,274,278,279,285,286],mkdir_test:[253,277],mkdoc:252,mkr1000:276,mkr1000_boot:[254,278],mkr1000_wifi:[254,278],mlme:274,mman:57,mmc0:[142,158],mmc:157,mmc_addr_error:142,mmc_card_error:142,mmc_crc_error:142,mmc_device_error:142,mmc_erase_error:142,mmc_init:142,mmc_invalid_command:142,mmc_ok:142,mmc_op:[142,158],mmc_param_error:142,mmc_read_error:142,mmc_response_error:142,mmc_timeout:142,mmc_voltage_error:142,mmc_write_error:142,mn_socket:7,mobil:31,mod:[30,260],modbu:285,mode:[9,20,22,27,29,140,164,166,173,174,176,187,197,200,215,229,253,259,266,270,272,277,288],model:[21,22,32,88,202,269],modern:[8,157],modif:[11,242,253,277,287],modifi:[6,62,99,139,199,248,251,285,286,291,294],modul:[72,84,87,91,95,107,138,143,212,222,226,228,253,268,274,298],module_list:72,module_nam:[226,228],modulo:106,moment:[141,194,202,261,280],mon:[266,269,270],monitor:[92,136,138,146,219,230,272,287,294,302],monolith:263,month:[253,277],more:[1,4,7,9,10,12,20,21,22,29,30,34,35,39,43,51,53,57,58,59,61,62,64,80,81,82,86,88,90,95,99,104,105,106,107,134,135,140,147,151,158,169,170,185,206,212,213,214,215,216,221,229,232,233,247,248,249,251,253,254,256,259,263,264,265,266,268,269,274,277,278,280,284,285,286,288,292,295,298,299,302],mosi:197,mosi_pin:[141,142],most:[1,8,14,19,21,23,24,25,61,90,99,100,105,107,134,185,190,229,231,251,253,259,277,284,285,286,288,290,292],mostli:[6,9,229,264,265],motor:9,mou:252,mount:[171,286],mous:[140,187],move:[8,45,57,58,59,81,84,95,134,172,229,268,272,286,287,289,292],mp_block_:91,mp_block_siz:91,mp_list:91,mp_membuf_:91,mp_membuf_addr:91,mp_min_fr:91,mp_min_fre:91,mp_num_blo:91,mp_num_block:91,mp_num_fr:91,mp_num_fre:91,mpool:[226,274],mpstat:[64,78,80,81,82,137,139,243,296],mq_ev:92,mq_head:92,msb:194,msdo:99,msec:27,msg:236,msg_data:27,msp:[266,272],msy:59,msys2:56,msys2_path_typ:59,msys64:59,msys_1:[73,296],msys_1_block_count:[287,289],msys_1_block_s:[287,289],mtd:141,mtu:[10,20,27,28,260],mu_head:94,mu_level:94,mu_own:94,mu_prio:94,much:[90,99,104,107,152,185,285],multi:[1,9,50,62,102,105,194],multilib:[6,7,57],multipl:[4,23,27,29,34,35,50,51,55,85,94,95,103,107,135,138,140,187,218,232,259,263,264,279],multiplex:21,multiplexor:102,multipli:[91,251],multitask:[95,251],must:[1,2,4,5,7,8,9,11,12,14,22,24,25,33,37,41,46,53,55,57,59,61,63,66,68,71,80,84,87,88,90,91,95,96,99,102,103,105,134,135,136,142,146,154,158,165,166,168,172,179,180,181,182,184,185,186,197,199,204,205,206,212,213,214,215,217,218,219,221,222,223,226,230,231,232,239,242,243,247,249,251,254,256,259,261,268,271,272,274,278,279,280,285,286,288,289,290,291,292,295,298,299],mutex:[89,95,104,105],mutual:94,my_at45db_dev:141,my_blinki:50,my_blinky_sim:[7,34,35,43,55,61,256,257,269,270,285],my_blocking_enc_proc:20,my_callout:246,my_conf:135,my_config_nam:232,my_driv:[285,286],my_ev_cb:246,my_eventq:243,my_gpio_irq:246,my_interrupt_ev_cb:246,my_memory_buff:91,my_new_target:50,my_newt_target:50,my_packag:212,my_package_log:212,my_pool:91,my_proj1:256,my_proj:256,my_project:[1,254,266,278,279,286],my_protocol_head:90,my_protocol_typ:90,my_result_mv:286,my_sensor:292,my_sensor_devic:292,my_sensor_poll_tim:292,my_stack_s:105,my_stat:230,my_stat_sect:230,my_target1:62,my_task:105,my_task_evq:92,my_task_func:105,my_task_handl:92,my_task_pri:105,my_task_prio:105,my_task_rx_data_func:92,my_task_stack:105,my_timer_ev_cb:246,my_timer_interrupt_eventq:246,my_timer_interrupt_task:246,my_timer_interrupt_task_prio:246,my_timer_interrupt_task_stack:246,my_timer_interrupt_task_stack_sz:246,my_timer_interrupt_task_str:246,my_uart:200,myadc:286,myapp1:[249,299],myapp:230,myapp_cmd:227,myapp_cmd_handl:227,myapp_console_buf:136,myapp_console_ev:136,myapp_init:136,myapp_process_input:136,myapp_shell_init:227,mybl:[34,35,46,50,66,73,76,77,243],myble2:[37,38,257],myblehostd:66,mybleprph:[66,247],mybletyp:66,myboard:[45,99],myboard_debug:99,myboard_download:99,mycmd:228,myconn:243,mycor:71,mydata:90,mydata_length:90,mylora:274,mymcu:101,mymfg:70,mymodul:103,mymodule_has_buff:103,mymodule_perform_sanity_check:103,mymodule_register_sanity_check:103,mynewt:[1,3,4,5,6,11,13,20,21,25,30,32,37,38,39,43,44,50,51,53,55,56,57,59,60,61,62,71,78,79,80,82,83,85,87,88,89,90,91,92,93,94,103,104,105,106,107,134,135,138,139,140,157,158,179,186,187,189,190,193,197,200,212,215,221,223,229,230,231,232,238,241,242,243,244,246,247,249,250,251,253,254,255,257,258,260,264,265,266,267,268,269,270,271,272,273,274,275,277,278,280,284,285,286,288,291,292,295,296,297,298,299,300,302],mynewt_0_8_0_b2_tag:[279,280],mynewt_0_8_0_tag:279,mynewt_0_9_0_tag:279,mynewt_1_0_0_b1_tag:279,mynewt_1_0_0_b2_tag:279,mynewt_1_0_0_rc1_tag:279,mynewt_1_0_0_tag:279,mynewt_1_3_0_tag:[57,59,80,82],mynewt_arduino_zero:[254,266,278,279],mynewt_nord:286,mynewt_stm32f3:242,mynewt_v:[136,221,226,230,232,253,277,286],mynewt_val_:232,mynewt_val_log_level:232,mynewt_val_log_newtmgr:232,mynewt_val_msys_1_block_count:232,mynewt_val_msys_1_block_s:232,mynewt_val_my_config_nam:232,mynewtl:287,mynewtsan:75,myperiph:[247,260],mypool:91,myproj2:229,myproj:[2,7,12,99,242,247,248,250,266,268,269,270,271,272,273,279,285,287,288,292,300],myriad:9,myseri:[73,76,77],myserial01:66,myserial02:66,myserial03:66,mytask:251,mytask_handl:251,mytask_prio:251,mytask_stack:251,mytask_stack_s:251,myudp5683:66,myvar:65,n_sampl:288,nad_flash_id:180,nad_length:180,nad_offset:180,name1:50,name2:50,name:[1,2,4,7,8,10,11,12,20,21,27,29,34,35,37,38,42,43,44,45,47,48,50,51,53,55,57,58,59,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,91,99,100,101,103,106,107,135,136,140,158,160,161,162,165,166,167,170,186,187,193,205,206,207,209,211,212,213,214,215,216,218,222,226,227,228,229,231,234,235,237,242,243,246,249,251,253,254,256,259,261,263,264,265,266,268,269,270,271,272,273,277,278,279,280,281,285,286,287,288,289,292,295,296,298,299],name_is_complet:259,name_len:[160,161,162,167,170,259],namespac:[85,88,90,91,92,93,94,103,104,135,221,264],nano2:[43,53,99,273],nano2_debug:[99,273],nano:[267,302],nanosecond:84,nativ:[2,3,7,12,43,50,53,55,59,61,66,231,232,242,246,257,269,270,278,285,286,296,302],natur:[99,185],navig:[10,302],nb_data_len:185,nb_hash_entri:185,nb_inode_entri:185,nb_prev:185,nb_seq:185,nc_num_block:181,nc_num_cache_block:181,nc_num_cache_inod:181,nc_num_fil:181,nc_num_inod:181,ncb_block:185,ncb_file_offset:185,ncb_link:185,ncheck:285,nci_block_list:185,nci_file_s:185,nci_inod:185,nci_link:185,nda_gc_seq:185,nda_id:185,nda_length:185,nda_mag:185,nda_ver:185,ndb_crc16:185,ndb_data_len:185,ndb_id:185,ndb_inode_id:185,ndb_magic:185,ndb_prev_id:185,ndb_seq:185,ndi_crc16:185,ndi_filename_len:185,ndi_id:185,ndi_mag:185,ndi_parent_id:185,ndi_seq:185,nding:263,ndof:288,ndof_fmc_off:288,nearest:269,neatli:259,necessari:[6,24,39,47,57,58,59,134,158,185,240,242,253,256,261,266,274,277,286],need:[4,5,6,7,8,9,10,11,12,14,23,24,32,43,50,52,55,57,58,59,60,61,64,66,80,81,83,84,85,89,90,91,94,95,99,101,102,103,104,105,134,136,141,146,147,148,158,185,201,212,213,215,216,217,218,221,227,229,230,231,232,236,243,246,247,251,253,254,256,257,259,261,262,263,264,265,266,268,269,270,271,272,273,277,278,280,281,284,287,289,292,295,296,298],neg:[106,185,263],nest:[94,165],net:[4,7,24,51,219,232,254,256,257,261,263,278,285,286,287,289,291],net_nimble_control:229,net_nimble_host:229,network:[1,9,23,27,31,32,55,90,92,95,229,251,254,274,278],never:[19,95,103,105,172,185,232,251,256,261],new_bletini:45,new_slinki:45,newer:6,newest:[146,231,251],newli:[1,10,19,43,134,166,257,264,265,279],newlib:107,newlin:136,newt:[1,3,5,6,7,13,32,56,61,62,73,76,77,80,81,82,83,91,95,99,100,102,140,229,230,231,232,238,242,244,245,246,247,248,249,250,251,253,254,255,256,257,260,264,265,266,267,268,269,270,271,272,273,274,275,277,278,279,280,281,282,285,286,287,288,289,290,292,294,295,296,297,298,299,300,302],newt_1:[57,60],newt_1_1_0_windows_amd64:60,newt_1_3_0_windows_amd64:59,newt_group:2,newt_host:2,newt_us:2,newtgmr:[81,82,83],newtmgr:[1,7,9,10,13,57,58,59,63,64,78,79,136,137,139,202,212,224,225,229,231,232,246,285,286,297,302],newtmgr_1:[80,83],newtmgr_1_1_0_windows_amd64:83,newtmgr_1_3_0_windows_amd64:82,newtmgr_shel:221,newtron:[158,186,231,232],newtvm:11,next:[7,8,24,30,71,77,82,84,86,90,91,134,136,138,146,151,160,161,162,167,170,185,202,206,213,217,218,229,232,240,247,248,251,252,256,259,263,264,265,266,269,272,280,284,285,286],next_checkin:[77,295,298],next_t:84,nff:[7,107,141,158,180,181,182,183,184,186,195,231,232,238,253,277],nffs_area_desc:[179,182,183,233],nffs_area_mag:185,nffs_area_max:[182,183],nffs_block:185,nffs_block_cache_entri:185,nffs_block_cache_list:185,nffs_block_mag:185,nffs_cache_block:185,nffs_cache_block_list:185,nffs_cache_inod:185,nffs_close:186,nffs_closedir:186,nffs_detect:[183,185],nffs_detect_fail:[158,179],nffs_dirent_is_dir:186,nffs_dirent_nam:186,nffs_disk_area:185,nffs_disk_block:185,nffs_disk_inod:185,nffs_file_len:186,nffs_flash:195,nffs_flash_area:[231,232],nffs_format:[182,185,233],nffs_getpo:186,nffs_hash_entri:185,nffs_id_non:185,nffs_init:[181,182,183,186],nffs_inod:185,nffs_inode_entri:185,nffs_inode_list:185,nffs_inode_mag:185,nffs_intern:179,nffs_mkdir:186,nffs_op:186,nffs_open:186,nffs_opendir:186,nffs_read:186,nffs_readdir:186,nffs_renam:186,nffs_seek:186,nffs_short_filename_len:185,nffs_test:[253,277],nffs_test_debug:[253,277],nffs_test_priv:[253,277],nffs_test_system_01:[253,277],nffs_test_unlink:233,nffs_test_util:[253,277],nffs_unlink:186,nffs_write:186,nhe_flash_loc:185,nhe_id:185,nhe_next:185,ni_filenam:185,ni_filename_len:185,ni_inode_entri:185,ni_par:185,ni_seq:185,nice:[230,284],nie_child_list:185,nie_hash_entri:185,nie_last_block_entri:185,nie_refcnt:185,nie_sibling_next:185,nil:67,nim:263,nimbl:[7,23,24,26,29,66,88,232,243,247,255,258,259,260,261,262,263,285,286,287,289],njb:[207,208,209,210,211],njb_buf:211,njb_enc:209,nlip:224,nmgr:139,nmgr_def_taskstat_read:209,nmgr_err_eok:209,nmgr_jbuf:[207,208,209,210,211],nmgr_o:137,nmgr_shell:[136,232,243],nmgr_shell_in:224,nmgr_shell_out:225,nmgr_shell_pkg_init:232,nmgr_task_init:224,nmgr_transport:225,nmgr_uart:243,nmgr_urart_spe:243,nmxact:11,no_of_sampl:288,no_rsp:28,no_wl:[27,30],no_wl_inita:27,node:[21,32,55,160,161,162,167,170,185],nodefault:[206,211],nodup:27,nogdb:[38,47],noinputnooutput:27,non:[7,18,19,21,24,27,31,32,90,150,154,156,185,197,222,224,225,226,229,232,264,265,274,279,292],none:[4,7,8,12,20,27,30,82,96,97,98,99,107,134,185,223,227,228,229,233,236,242,249,250,266,270,274,286,292,299,300],nonexist:[166,185],nonsens:[253,277],nonzero:[147,148,149,151,152,155,156,234,235,237,239,240,253,262,277],nor:22,nordic:[23,99,140,187,192,196,198,246,247,269,271,285,286,288,292,297,302],nordicsemi:[269,271,274,286,292],normal:[2,104,185,236,238,284,288],notat:[55,272],note:[1,2,4,6,7,10,11,12,21,22,23,24,29,32,43,47,50,57,58,59,60,61,66,68,71,80,81,82,83,84,88,90,91,93,94,95,99,100,105,134,136,142,179,194,199,202,213,214,215,216,218,221,222,226,229,231,232,242,243,244,247,249,251,252,254,256,257,259,261,263,264,265,266,268,269,270,271,272,273,274,275,278,279,280,281,285,287,288,289,290,292,294,295,296,298,299,302],noth:[11,185,233,264,265,285,286],notic:[7,11,55,61,95,99,186,229,251,256,280,284,285,286],notif:[10,27,28,88,136,217,258,284],notifi:[10,28,217,262,263],notnul:232,nov:8,now:[2,8,9,59,84,90,91,94,99,104,105,134,157,159,163,166,169,172,174,176,185,193,229,242,243,247,248,249,250,251,253,256,258,259,260,262,263,264,265,266,269,274,277,279,284,285,286,288,292,296,299,300],nreset:266,nrf51:[24,53,99,140,187,244,275],nrf51dk:[53,229],nrf51xxx:196,nrf52840pdk:32,nrf52:[4,24,61,99,140,187,192,198,214,246,247,249,250,257,267,268,269,274,285,287,289,292,297,299,300,302],nrf52_adc_dev_init:286,nrf52_bleprph_oic_bno055:287,nrf52_blinki:[249,268,271,273,299],nrf52_bno055_oic_test:[287,289],nrf52_bno055_test:[288,290],nrf52_boot:[243,257,271,286,287,288,289,295],nrf52_hal:99,nrf52_slinki:295,nrf52_thingi:214,nrf52dk:[37,38,53,61,62,99,232,246,256,257,260,268,271,286,287,288,289,295],nrf52dk_debug:[61,99,268],nrf52dk_download:99,nrf52k_flash_dev:[99,192],nrf52pdk:[257,271],nrf52serial:295,nrf52xxx:[48,99,198,269,292],nrf5x:24,nrf:[25,286],nrf_drv_saadc:286,nrf_drv_saadc_config_t:286,nrf_drv_saadc_default_channel_config_s:286,nrf_drv_saadc_default_config:286,nrf_saadc_channel_config_t:286,nrf_saadc_gain1_6:286,nrf_saadc_input_ain1:286,nrf_saadc_reference_intern:286,nrf_saadc_typ:286,nrpa:[19,264,265],nsampl:288,nsec:84,nth:185,ntick:84,ntoh:90,ntohl:90,ntrst:266,nucleo:53,nul:185,num_block:91,number:[1,8,9,10,22,27,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,60,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,83,84,87,90,91,93,94,95,99,104,106,107,134,135,145,146,147,157,163,169,174,176,177,178,179,180,181,185,193,194,202,204,205,206,213,221,222,226,230,231,232,236,243,246,247,249,251,254,257,263,264,265,266,268,272,274,278,279,280,284,285,286,288,289,295,298,299],numer:[20,22,86,99,134],nvm:266,nxp:[140,187],objcopi:6,objdump:6,object:[4,11,48,55,61,81,84,95,99,102,105,138,172,206,208,209,210,215,217,218,253,262,277,288,291],objsiz:[6,48,229],observ:[14,27,219,257,291],obtain:[27,90,94,104,105,185,279,285,286],obvious:53,oc_add_devic:287,oc_add_resourc:287,oc_app_resourc:[287,289],oc_get:287,oc_if_rw:287,oc_init_platform:287,oc_main_init:[219,287],oc_new_resourc:287,oc_put:287,oc_resource_bind_resource_interfac:287,oc_resource_bind_resource_typ:287,oc_resource_set_default_interfac:287,oc_resource_set_discover:287,oc_resource_set_periodic_observ:287,oc_resource_set_request_handl:287,oc_serv:[219,243,287,289,291],oc_transport_gatt:243,oc_transport_ip:243,oc_transport_seri:243,occasion:90,occur:[26,27,90,94,106,231,261,262,264,265],occurr:232,ocf:138,ocf_sampl:[7,61],ocimgr:137,ock:218,oct:285,octet:[27,29,31,134],od_init:140,od_nam:215,off:[2,20,21,31,32,102,103,105,136,140,146,187,194,211,213,215,216,220,243,246,247,248,256,257,264,265,268,272,287,289,290,291,292,294,302],off_attr:211,offer:[1,21,138,140,157,191,286],offset:[20,28,71,99,106,134,146,154,158,164,168,173,174,176,177,178,180,185,206,229,231,232,288],often:[9,55,99,185,194,197],ohm:286,oic:[7,51,66,138,216,217,292,302],oic_bhd:66,oic_bl:66,oic_seri:66,oic_udp:66,oic_udpconnstr:66,oicmgr:[7,66,137,138,139],old:[45,146],older:[10,59,82,270],oldest:[146,151,155,231],olimex:[267,285,297,302],olimex_blinki:272,olimex_stm32:[53,272,298],om_data:90,om_databuf:90,om_flag:90,om_len:90,om_next:90,om_omp:90,om_pkthdr_:90,om_pkthdr_len:90,omgr:139,omi_block_s:91,omi_min_fre:91,omi_nam:91,omi_num_block:91,omi_num_fre:91,omit:[47,231],omp_databuf:90,omp_databuf_len:90,omp_flag:90,omp_len:90,omp_mbuf_c:90,omp_mbuf_count:90,omp_next:90,omp_pool:90,on_reset:26,on_sync:26,onboard:[215,216,249,250,290,294,299,300,302],onc:[19,29,55,57,61,80,84,85,90,91,94,95,97,105,134,149,187,240,242,243,247,248,259,264,267,268,274,279,285,286],one:[1,4,7,8,10,11,12,19,20,21,22,23,27,29,30,31,34,35,39,43,45,50,51,53,57,58,59,61,67,86,88,90,92,93,94,95,99,102,104,105,134,135,136,142,143,146,158,171,172,179,180,182,183,185,194,202,212,213,217,218,227,229,230,231,232,248,251,252,253,254,256,257,263,264,265,266,267,268,269,270,271,272,273,274,277,278,279,280,281,284,285,286,288,294,295,298,302],ones:[14,90,104,140,187,212,257,302],ongo:27,onli:[1,2,7,8,10,11,12,14,19,20,24,27,29,31,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,60,61,62,66,72,80,83,84,87,88,90,93,95,99,102,103,104,134,135,136,137,140,141,142,144,156,158,160,161,162,164,167,170,171,173,174,179,180,185,194,197,202,212,213,215,216,218,221,226,229,230,231,232,235,236,238,239,241,243,244,247,248,251,252,253,254,259,261,264,266,268,274,275,277,278,279,280,281,285,286,287,288,291,292,296],onlin:[249,250,266,292,299,300],onto:[1,20,42,43,47,99,267,269,270,271,272,273,284,285,288,295,298],oob:[20,27,29],opaqu:[88,158,212,213,215,217,292],open:[4,8,9,10,12,20,21,38,39,47,55,57,58,59,61,102,138,140,158,159,163,164,166,167,169,170,173,174,175,176,177,178,181,185,214,253,264,266,269,270,272,273,277,285,290,296],open_test:[253,277],openocd:[12,99,266,269,270,272,273,298],openocd_debug:[269,285],oper:[1,9,12,15,18,20,21,26,31,39,57,58,59,84,85,90,92,95,102,103,104,106,136,138,140,158,166,167,168,173,175,179,180,184,185,186,187,189,191,193,200,213,218,230,232,241,253,254,256,257,261,262,263,264,265,266,274,277,278,280,281,284,285,288,292],oppos:[31,93,281],opt:4,optim:[1,24,32,37,38,43,50,61,93,99,100,107,140,229,242,251,254,256,257,260,266,269,270,271,272,273,274,278,285,286,288,292,295,298],optimis:31,option:[2,3,4,6,7,8,10,12,22,23,27,36,37,46,51,55,62,66,72,84,85,88,99,134,138,140,156,157,204,213,215,216,221,229,231,232,233,238,252,256,257,263,266,270,272,274,278,279,280,285,286,288,298],orang:[269,273],order:[1,8,9,22,33,55,61,63,86,90,91,94,103,105,107,134,135,138,185,213,231,232,243,248,249,250,251,253,274,277,280,282,285,286,292,299,300],org:[1,4,10,11,39,57,58,59,61,80,82,107,136,143,249,250,264,266,269,270,272,273,277,285,286,292,299,300],organ:[11,140,230,253,277,279],origin:[11,46,99,134,272,285],os_align:[84,90,91],os_arch:[61,91,106],os_arch_arm:196,os_arch_ctx_sw:86,os_bsp_adc0:286,os_bsp_adc0_config:286,os_callout:[61,85,88,103,135,246,268,292],os_callout_func:[85,92],os_callout_func_init:85,os_callout_func_t:85,os_callout_init:[85,103,246,268,292],os_callout_reset:[85,103,246,268,292],os_callout_stop:85,os_cfg:61,os_cli:232,os_cputim:61,os_cputime_delay_nsec:[84,87],os_cputime_delay_tick:[84,87],os_cputime_delay_usec:[84,87],os_cputime_freq:24,os_cputime_get32:[84,87],os_cputime_init:[84,87],os_cputime_nsecs_to_tick:[84,87],os_cputime_ticks_to_nsec:[84,87],os_cputime_ticks_to_usec:[84,87],os_cputime_timer_init:[84,87],os_cputime_timer_num:[24,87],os_cputime_timer_rel:[84,87],os_cputime_timer_start:[84,87],os_cputime_timer_stop:[84,87],os_cputime_usecs_to_tick:[84,87],os_dev:[61,140,213,214,215,286,290],os_dev_clos:[214,290],os_dev_cr:[140,213,214,215,218,286],os_dev_init_func_t:[140,215],os_dev_init_kernel:286,os_dev_init_primari:214,os_dev_init_prio_default:286,os_dev_open:[214,286,290],os_einv:211,os_eno:135,os_error_t:84,os_ev:[85,88,92,103,135,136,246,268,292],os_event_fn:88,os_eventq:[61,85,88,92,103,136,223,246,284,285,286],os_eventq_design:88,os_eventq_dflt_get:[26,95,105,136,232,246,264,265,268,290,292],os_eventq_dflt_set:285,os_eventq_get:[88,103],os_eventq_init:[88,92,103,136,246,284,285],os_eventq_put:[88,136,246],os_eventq_run:[26,88,92,95,105,232,246,264,265,268,285,290,292],os_exit_crit:84,os_fault:61,os_get_return_addr:84,os_get_uptime_usec:[84,106],os_gettimeofdai:[84,106],os_heap:61,os_idle_prio:84,os_info_init:84,os_init:[84,105],os_init_idle_task:84,os_main_stack_s:84,os_main_task_prio:[84,232,251],os_main_task_stack_s:232,os_malloc:[61,89],os_mbuf:[61,90,92,224,225],os_mbuf_append:[90,284,286],os_mbuf_copydata:90,os_mbuf_copyinto:90,os_mbuf_data:90,os_mbuf_free_chain:[90,92],os_mbuf_get:90,os_mbuf_get_pkthdr:90,os_mbuf_pkthdr:[90,92],os_mbuf_pool:90,os_mbuf_pool_init:90,os_mbuf_pullup:90,os_membloc:91,os_memblock:91,os_memblock_get:91,os_memblock_put:91,os_membuf_t:[90,91],os_mempool:[61,90,91],os_mempool_byt:91,os_mempool_info:91,os_mempool_info_name_len:91,os_mempool_init:[90,91],os_mempool_s:[90,91],os_mqueu:92,os_mqueue_get:92,os_mqueue_init:92,os_mqueue_put:92,os_msys_regist:93,os_mutex:[61,84,94,146,213],os_mutex_pend:94,os_mutex_releas:[84,94],os_ok:84,os_pkg_init:232,os_san:61,os_sanity_ch:103,os_sanity_check:[84,103],os_sanity_check_func_t:103,os_sanity_check_init:103,os_sanity_check_regist:103,os_sanity_check_setfunc:103,os_sanity_task_checkin:103,os_sch:[61,84,86],os_sched_ctx_sw_hook:[84,86],os_sched_get_current_t:251,os_sched_get_current_task:[84,86,103,251],os_sched_insert:[84,86],os_sched_next_task:[84,86],os_sched_os_timer_exp:[84,86],os_sched_remov:[84,86],os_sched_resort:[84,86],os_sched_set_current_task:[84,86],os_sched_sleep:[84,86],os_sched_wakeup:[84,86],os_sched_wakeup_tick:84,os_sem:[61,95,104,285],os_sem_init:[95,104,285],os_sem_pend:[95,104,285],os_sem_releas:[95,104,285],os_sem_test_bas:237,os_sem_test_case_1:237,os_sem_test_case_2:237,os_sem_test_case_3:237,os_sem_test_case_4:237,os_sem_test_suit:237,os_settimeofdai:[84,106],os_stack_align:[251,284,285,286],os_stack_t:[84,103,105,224,246,251,284,285,286],os_start:[84,96,105],os_stime_t:84,os_sysview:[250,300],os_task:[61,84,88,94,95,103,104,105,246,251,284,285,286],os_task_count:84,os_task_flag_evq_wait:84,os_task_flag_mutex_wait:84,os_task_flag_no_timeout:84,os_task_flag_sem_wait:84,os_task_func_t:[84,103],os_task_info:[84,105],os_task_info_get_next:[84,105],os_task_init:[84,95,103,105,246,251,284,285],os_task_list:84,os_task_max_name_len:84,os_task_obj:84,os_task_pri_highest:[84,105],os_task_pri_lowest:84,os_task_readi:84,os_task_remov:84,os_task_sleep:84,os_task_st:84,os_task_stailq:84,os_task_state_t:84,os_test:61,os_test_restart:240,os_tick_idl:[196,266,269,292],os_tick_init:196,os_ticks_per_sec:[85,103,106,135,196,215,246,251,268,284,285,286,292],os_tim:[61,84,253,277],os_time_adv:[84,106],os_time_delai:[84,105,106,215,246,248,251,284,286],os_time_get:[84,106],os_time_max:84,os_time_ms_to_tick:[84,106],os_time_t:[84,103,106,196,213,215],os_time_tick_geq:[84,106],os_time_tick_gt:[84,106],os_time_tick_lt:[84,106],os_timeout:285,os_timeout_nev:[84,95,214,290,292],os_timeradd:[84,106],os_timersub:[84,106],os_timev:[84,106,253,277],os_timezon:[84,106,253,277],os_wait_forev:[84,95,105,246,251,284,285],oscallout:85,osev:88,osmbuf:90,osmempool:91,osmqueu:92,osmsi:93,osmutex:94,ossan:103,ossem:104,ostick:84,osx:[242,248],ota:243,otg1:272,otg2:[272,298],other:[1,6,10,11,20,22,24,29,31,50,55,61,84,85,88,90,91,92,93,95,99,100,103,104,105,106,134,135,136,140,158,159,167,170,175,179,180,182,185,191,194,212,215,217,221,229,230,232,242,244,246,249,250,251,253,256,257,258,259,261,262,266,267,268,269,275,277,279,284,286,287,288,289,292,294,299,300],otherwis:[90,95,98,105,148,150,153,279,280],oti_cswcnt:84,oti_last_checkin:84,oti_nam:84,oti_next_checkin:84,oti_prio:84,oti_runtim:84,oti_st:84,oti_stks:84,oti_stkusag:84,oti_taskid:84,oui:[19,274],ount:90,our:[20,55,92,99,229,230,242,243,248,251,253,256,259,264,265,267,268,277,280,284,285,286,295,298],our_id_addr:[30,260],our_id_addr_typ:260,our_key_dist:27,our_ota_addr:[30,260],our_ota_addr_typ:[30,260],out:[8,9,10,11,20,21,22,23,26,27,61,80,81,82,85,90,101,134,136,142,146,147,150,152,166,167,179,186,187,205,207,208,209,210,229,233,240,254,256,258,260,264,265,267,272,278,285,297],out_data:[168,169],out_dir:[167,168,170],out_fil:[166,168],out_id_addr_typ:30,out_len:[163,168,169,177],out_nam:[142,162,168],out_name_l:162,out_name_len:[162,168],out_tick:84,outdat:58,outfil:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,285],outgo:225,outlin:5,output:[1,7,12,21,22,27,30,34,35,37,38,39,40,41,42,43,44,45,46,47,49,50,51,52,54,57,58,59,62,69,73,75,76,77,81,85,88,90,91,92,93,94,99,103,104,105,134,135,187,193,212,229,231,233,242,246,249,253,254,266,268,269,270,272,273,274,277,278,285,288,292,296,299],outsid:[20,21,90],outweigh:90,over:[20,21,22,23,27,29,31,65,66,67,68,69,70,71,72,73,74,75,76,77,92,134,139,140,142,146,148,156,194,200,212,229,243,249,251,254,261,267,268,270,274,278,284,285,287,288,289,291,294,297,299,302],overal:[10,24,179],overhead:90,overlap:[20,185],overrid:[50,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,99,212,229,230,243,257],overridden:[23,232,257],oversampl:286,overview:[134,288,289,292],overwrit:[6,49,50,59,60,82,83,99,136,185,244,254,266,275,278],overwrite_many_test:[253,277],overwrite_one_test:[253,277],overwrite_three_test:[253,277],overwrite_two_test:[253,277],overwritten:[134,178,185],own:[2,11,19,20,39,57,58,59,61,94,95,102,104,105,141,185,197,212,229,230,252,255,256,285,286],own_addr_t:[264,265],own_addr_typ:[27,66,264,265],owner:[94,281],ownership:[94,185,285,286],pacakg:256,pacif:106,pack:[4,55,81,90,247,254,269,271,278,288,292,295],packag:[6,9,11,23,24,26,34,39,40,41,43,45,50,51,52,53,55,56,58,59,60,79,83,88,95,100,105,134,135,137,138,140,143,144,158,168,179,187,189,202,203,206,214,215,218,219,220,221,229,230,237,238,239,242,246,257,267,268,269,274,276,279,280,286,289,290,291,302],package1:212,package1_log:212,package2:212,package2_log:212,packet:[20,21,27,29,92,221,225,264,274],packet_data:90,pacman:[7,59],pad:[90,94,104,134],page:[1,4,5,6,7,8,10,20,22,57,58,60,80,81,83,99,107,141,186,194,195,213,214,215,216,242,248,252,256,258,262,264,265,267,286],page_s:141,pair:[20,21,22,27,66,134,135,185,206,211,232,260,262],pakcag:221,panel:12,param:[27,221,226,262],param_nam:221,paramet:[1,20,26,27,28,30,61,66,72,84,103,106,142,146,156,212,214,215,221,232,243,253,259,261,262,263,264,265,277],parameter_nam:232,parameter_valu:232,parent:[160,161,162,167,170,172,178,185],parenthes:90,pariti:200,parlanc:11,parmaet:27,parmet:[27,28],pars:[55,204,221,233,236,253,264,277],part:[22,29,90,101,134,146,174,179,180,185,186,229,259,260,263,285,286,291],parti:[254,264,266,278],partial:[64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,134,179,180],particular:[4,20,47,61,95,99,102,103,134,136,140,158,187,197,199,206,240,262,264,265],particularli:[244,275],partit:[20,99,134,179,185,229],pass:[1,7,12,20,27,61,84,88,90,103,136,140,141,145,146,156,166,169,177,185,194,206,213,214,215,217,221,224,234,235,236,237,253,259,263,264,265,277,286,292],passiv:27,passkei:[20,22,27],password:[11,58,80,257,281],past:[20,286],patch:[269,270,273],path:[2,4,6,10,11,12,29,50,57,58,59,60,61,66,80,81,82,83,99,100,158,165,166,167,168,172,175,177,178,232,279,285,286],pathloss:29,pattern:[27,99,251],payload:[90,138,139,194],pc6:298,pc7:298,pca100040:257,pca:[247,271,286],pcb:285,pci:[140,187],pcmcia:[140,187],pdf:[242,298],pdt:[106,253,277],pdu:[20,27],peek:251,peer:[10,22,28,66,247,261,263,264,265],peer_addr:[27,30,66,259],peer_addr_typ:[27,30,66,259],peer_id:66,peer_id_addr:260,peer_id_addr_typ:260,peer_nam:[66,247],peer_ota_addr:260,peer_ota_addr_typ:260,pem:[37,46],pencil:10,pend:[20,88,94,134,194,247],per:[11,19,90,94,134,135,179,193,230,251,253,277,280,285],perfom:134,perform:[3,4,5,9,11,12,20,22,25,27,36,57,58,59,64,80,81,82,84,90,95,96,99,103,105,107,134,136,141,157,158,172,185,194,218,229,232,242,247,261,266,268,269,274,280,284,285,286,287,288,289,292],perhap:279,period:[9,19,22,27,85,103,196,201,246,251],peripher:[9,20,21,24,26,29,30,99,102,140,187,188,194,197,230,247,255,256,259,262,263,264,284,285,286],perman:[71,134,185,229,247,259,262],permiss:[285,286],permit:[20,249,250,263,266,292,299,300],persist:[134,157],perspect:229,pertain:262,petteriaimonen:107,phdr:90,phone:[22,31],php:55,phy:[21,27],phy_opt:27,physic:[21,27,29,66,136,190,193],pick:[86,95,212,264,265],pictur:[242,269],pid:270,piec:[21,99,285],pig:252,pin:[7,8,20,99,102,105,140,187,190,193,197,213,242,246,254,268,269,272,274,278,285,286,288,292,298],ping:95,pinout:101,piqu:302,pitfal:90,pkcs15:134,pkg1:231,pkg2:231,pkg:[1,7,11,39,43,50,53,55,57,58,59,61,100,101,107,136,140,141,142,157,158,186,187,212,214,221,230,231,232,243,246,253,256,268,277,285,286,287,292],pkg_init_func1_nam:232,pkg_init_func1_stag:232,pkg_init_func2_nam:232,pkg_init_func2_stag:232,pkg_init_func:232,pkg_init_funcn_nam:232,pkg_init_funcn_stag:232,pkg_test:239,pkga_syscfg_nam:232,pkga_syscfg_name1:232,pkga_syscfg_name2:232,pkgn_syscfg_name1:232,pkt:285,pkts_rxd:92,place:[3,55,61,85,107,134,146,174,229,232,238,243,248,251,256,257,263,264,265,272,280,285,294],plai:[12,21,294],plain:[229,270,280],plan:[2,140,221],platform:[2,7,9,11,12,23,24,57,58,59,66,80,81,82,85,95,99,100,102,140,199,238,247,251,254,256,266,268,269,270,272,273,278,285,286,288,295,296,297,298],pleas:[10,39,57,58,59,100,101,213,217,218,230,242,248,249,250,266,267,279,286,292,299,300],plenti:[251,285],plist:61,plu:[90,162,185,194],plug:[8,186,242,272,273,285,286],plumb:284,pmode:288,point:[2,4,6,31,86,90,94,99,101,105,107,134,136,140,147,148,149,150,151,153,154,155,156,167,168,170,185,213,256,261,262,264,265,285,286,287],pointer:[67,84,85,86,88,90,91,94,99,105,106,136,140,146,147,148,156,159,161,162,163,164,166,168,169,174,176,177,178,185,186,194,199,204,205,206,212,213,214,215,218,221,222,223,226,227,233,251,261,262],poke:286,polici:[27,279],poll:[95,217,288,292],poll_du:288,poll_dur:288,poll_interv:288,poll_itvl:288,poller:[213,217,218,292],pong:95,pool:[73,80,93,95,274,289,296],popul:[1,7,12,50,62,106,181,185,238,254,267,278,294,297,302],port:[2,12,66,95,136,140,193,200,212,230,243,254,257,266,268,269,270,271,272,273,278,285,288,292,295,296,297,298,302],portabl:[140,187],portingto:100,portion:[134,152,194,284,286],posit:[106,134,164,174,177,272],posix:59,possibilti:[249,250,299,300],possibl:[21,22,24,27,28,30,32,36,53,90,94,106,134,140,158,179,180,185,187,212,229,230,249,263,279,288,299],post:[49,92,140,246,256],potenti:[102,229,280],pour:[58,81],power:[2,9,20,21,22,27,29,31,55,99,102,136,140,187,215,243,247,254,257,266,271,272,274,278,287,288,289,290,292,295,298],ppa:4,pre:[4,9,212,230,279,280],precaut:261,preced:23,precis:[6,20],predict:251,preempt:[94,95,104,105],preemptiv:[95,105,251],prefer:[3,27,29,144,247,261,285],preference0x01:27,prefix:[61,185,216,232,286],prepar:[20,269,271,274,286],preprocessor:[221,230],prerequisit:12,presenc:[99,185,259,264,265,279],present:[1,90,93,99,134,136,185,202,214,229,253,257,272,277,286],press:[8,12,104,246,250,251,256,278,285,288,300],presum:[90,92,274],pretti:286,prev:185,prev_ind:262,prev_notifi:262,prevent:[94,95,134,175,261],previ:[260,262],preview:[252,257,271],previou:[21,56,57,58,59,78,79,80,81,82,134,185,206,231,232,256,257,268,279,284],previous:[6,12,57,58,59,60,80,81,82,83,197,243,260,282,286,288],prevn:[260,262],pri:[77,285,295,298],primari:[27,99,134,138,172,247,263,265,284],primarili:107,primary_phi:27,primo:[267,284,285],primo_boot:269,primo_debug:269,primoblinki:269,print:[48,57,58,59,62,135,136,142,160,161,162,167,170,177,221,231,233],print_statu:177,print_usag:204,printabl:205,printf:[107,142,233,236],prio:[103,196,224],prior:[22,24,49,95,97,134,172,181,185,197,274],prioriti:[77,84,86,88,94,95,97,104,105,140,179,189,196,232,246,257,286,302],priv:27,privaci:[19,21,27],privat:[19,22,32,37,46,57,66,80,134,264,265],privileg:2,pro:[251,266,269],probabl:[7,10,99,258,281,285],probe:[194,254,269,278,292],problem:[7,104,134,167,229,231],proce:[3,6,11,134,240,253,254,266,269,270,271,272,273,277,278,285,295,298],procedur:[6,11,16,19,20,22,27,28,64,75,80,81,82,134,185,186,229,288,291],proceed:[7,258,264,265],process:[3,6,9,10,20,22,26,27,31,61,85,86,88,92,99,105,134,136,137,185,218,219,223,229,230,232,242,243,246,249,250,251,264,265,287,290,291,292,299,300],process_data:175,process_rx_data_queu:92,processor:[4,9,90,105,140,187,193,249,250,251,266,272,292,299,300],produc:[104,134,230,236,270],product:[55,102,180,193,216,257,285,298],profil:[14,15,16,17,21,27,28,31,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,256,266,295,297,298],profile01:[65,67,68,69,70,71,72,73,74,75,76,77],profile0:77,program:[4,6,8,12,23,86,134,136,195,242,251,254,266,268,269,271,274,278,286],programat:136,programm:[249,250,270,299,300],programmat:[143,292],progress:[7,20,134,140,141,185,255],prohibit:173,project:[3,6,8,11,33,34,39,40,41,44,49,50,52,55,57,58,59,61,63,85,88,90,91,92,93,94,103,104,105,107,134,135,136,141,142,144,157,182,183,187,202,212,230,237,238,246,248,249,251,252,253,260,277,281,282,287,288,292,293,294,299,302],prompt:[7,8,11,12,47,58,59,99,256,266,268,269,270,271,272,273,285,288,292],prone:263,proper:[140,286],properli:[24,61,95,103,201,251,257,261,284,285,286],properti:[12,19,31,59,99,134,139,179,180,185,212,242,258,269],proport:185,propos:10,propper:285,prot_length:90,prot_tif:90,prot_typ:90,protcol:90,protect:[22,89,134,146],protocol:[14,20,21,28,61,66,90,134,138,139,194,289,291,294,297],prototyp:[88,102,232,264,265],provid:[1,2,7,9,11,12,19,20,21,22,27,30,31,37,39,45,50,57,58,59,66,70,71,72,75,80,87,89,90,91,94,95,99,101,102,103,106,134,136,140,141,142,146,157,158,179,187,194,204,213,216,218,219,221,230,238,241,243,253,254,258,264,265,266,274,277,278,279,280,285,286,291],provis:[21,32],provision:31,proxi:[21,31],pseln:286,pselp:286,pset:197,psm:27,psp:[266,270],pst:[68,106,253,277],pth:272,ptr:200,public_id:27,public_id_addr:30,public_target_address:29,publish:22,pull:[11,49,80,82,88,90,140,246,268,272],pullup:90,purpos:[4,22,50,55,99,103,134,187,193,212,215,217,229,230,251,261,274,286,292],push:[10,252],put:[1,2,7,43,61,80,82,88,92,94,99,104,105,106,139,251,253,259,264,265,277,286],putti:[8,254,268,278,288],pwd:[2,11],pwm:9,pwr:[270,272],px4:4,python:[33,63],qualifi:261,qualiti:293,quat:288,queri:[9,19,50,55,57,58,59,61,62,139,161,162,163,164,177,185,213,215,230,259,288,296],question:256,queu:[20,246],queue:[26,61,84,85,90,92,94,95,103,104,105,136,185,199,218,221,223,225,232,243,264,265,284,290,292,294,302],quick:[2,3],quickli:[106,187,251,286,288,291,292,294],quickstart:[2,251],quiet:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,285],quit:[19,99,249,256,259,264,265,266,269,270,272,273,299],quot:66,r_find_n:218,r_lock:218,r_match_:218,r_regist:218,r_unlock:218,radio:[21,24,257],raff:81,rais:94,ram:[48,99,101,179,229,256,266,285,286,287],ram_siz:99,rand:27,random:[19,20,25,27,30,66,257,263,264,265,284],random_id:27,random_id_addr:30,randomli:19,rang:[9,20,21,29,107,185,204,274],rare:90,rate:[66,85,136,218,219,257,274,288,291,292],rather:[14,20,99,107,134,158,172,229,286],raw:[11,57,58,59,80,81,82,136,179,185,232,233,286],rb_bletini:50,rb_blinki:[43,50],rb_blinky_rsa:43,rb_boot:43,rbnano2_blinki:273,rbnano2_boot:273,rdy:84,reach:103,read:[4,6,7,11,12,14,18,19,20,23,27,28,55,61,64,65,68,73,76,77,80,81,82,134,135,136,140,141,142,146,148,151,152,156,158,159,160,161,162,164,166,167,169,170,174,175,177,185,191,193,194,206,211,212,217,218,219,220,232,233,242,243,246,247,249,250,251,253,254,260,262,263,264,265,266,267,270,273,274,277,278,279,284,285,286,287,288,289,291,294,297,299,300],read_acceleromet:292,read_cb:292,read_chr:261,read_config:[159,166,169],read_part1_middl:174,read_rsp_rx:76,read_rsp_tx:76,read_sensor_interv:292,read_test:[253,277],read_type_req_rx:76,read_type_req_tx:[76,243],read_type_rsp_rx:[76,243],read_type_rsp_tx:[76,243],readabl:[257,281],readdesc:7,readdir_test:[253,277],reader:[253,277,284,286],readi:[10,84,86,88,105,136,206,249,251,266,285,299],readili:140,readm:[7,11,55,61,99,253,256,277],readnow:61,real:[1,7,9,88,95,136,185,206,241,246,249,256,263,292,299],realist:[253,277],realli:[90,286],rearm:85,reason:[10,20,26,27,90,91,134,251,253,260,262,274,277,279],reassembl:21,rebas:11,reboot:[7,71,134,229,231,247,287,289],reboot_log:72,reboot_log_flash_area:[231,232],reboot_start:290,rebuild:[32,61,82,290],rec0:134,rec1:134,rec2:134,recal:[261,279],receiv:[10,14,20,27,29,31,55,81,92,136,137,142,194,200,213,218,221,224,227,243,259,262,263,270,274,292,295,298],recent:[185,269],recip:6,recipi:29,reclaim:185,recogn:[55,185,286],recommend:[3,4,7,12,57,58,80,81,90,136,195,214,215,221,231,232,243,244,246,249,259,263,269,273,275,288,294,299],reconfigur:[197,200,290],reconnect:261,record:[134,185,215,230,238,250,300],recov:134,recover:134,recreat:280,recur:201,recurs:[55,61,175],red:[27,28,242,270,272,298],redbear:[267,302],redefin:231,redistribut:[55,249,250,266,279,292,299,300],reduc:[9,22,24,31,88,107,138,212,243,246,276],redund:229,reenter:[244,275],ref0:67,refer:[7,8,10,18,22,23,29,55,67,90,99,172,175,185,197,216,222,226,229,252,254,259,264,265,266,268,272,278,285,286,288,298],referenc:[1,185,193],reflect:260,reformat:185,refrain:26,refresh:[2,49,252,266],refus:[249,292,299],regard:[179,180,253,277,285,286],regardless:41,region:[99,134,173,179,180,185],regist:[23,75,86,93,100,135,137,140,144,158,168,171,187,194,203,212,213,217,219,222,224,226,227,228,232,251,261,263,285,286,292],register_:217,registr:[17,186,230,261,292],registri:215,regress:[234,235,237,238,239],regular:[161,253,277],reject:[20,253,277],rel:[84,95,154],relai:[21,31],relat:[10,27,31,43,141,229,249,250,259,262,266,274,292,299,300],relationship:[27,104],releas:[3,4,7,31,49,56,78,79,94,95,104,140,194,221,232,254,266,278,279,280],release_not:[7,11],relev:[101,134,140,193],reli:[1,7,55,232],reliabl:[21,134,157,179,264,265,280],remain:[99,169,175,185,229,233,236,251,261],remaind:[99,185,236,253,259,277,279],rememb:[2,41,80,82,94,266,284],remind:266,remot:[1,7,9,12,20,27,28,49,55,66,78,80,81,82,138,242,243,246,247,254,257,266,267,268,278,285,286,292,294,296,297,302],remov:[2,4,6,27,35,45,60,83,84,88,92,104,136,142,185,229,261,266,292],renam:172,rename_test:[253,277],repeat:[2,11,20,194,248,261],repeatedli:[29,134],replac:[4,6,99,101,107,202,229,232,233,236,248,266,268,284,295,298],repli:27,repo814721459:55,repo:[1,6,7,10,11,41,55,57,61,80,99,140,158,193,229,242,249,250,252,253,254,256,266,268,269,270,271,272,273,274,277,278,281,285,286,287,288,292,295,296,298,299,300],repop:7,report:[1,4,6,10,20,99,230,233,236,249,250,253,266,270,277,285,292,299,300],reposistori:7,reposit:174,repositori:[1,4,11,12,40,41,44,49,51,52,57,61,80,140,242,252,254,255,256,258,266,267,274,278,282,285,294,297,302],repres:[1,12,61,87,106,134,136,165,185,213,215,217,218,221,251,263],represent:[134,138],reproduc:[1,61,134,186,264,265],req_api:[61,136,212],request:[12,20,27,66,67,74,78,91,93,94,99,104,134,138,139,142,146,169,185,216,217,219,221,229,243,260,261,266,270,272,274,279,280,284,286,287,291,292,295,298],requir:[1,2,4,6,9,11,20,24,30,31,53,59,61,66,80,82,88,90,91,95,100,101,102,104,134,136,138,141,158,168,179,180,185,199,212,214,221,229,230,231,232,235,242,243,246,251,253,256,259,261,266,269,273,274,277,279,280,284,285,286,288,290,291,292,302],res:287,resch:84,reserv:[20,90,99,102,147,149,185,213,251,274],reserved16:185,reserved8:185,reset:[25,64,78,80,81,82,94,103,137,138,198,229,240,243,249,250,256,257,260,269,270,271,273,286,288,292,299,300],reset_cb:26,reset_config:266,reset_handl:[99,272],resid:[102,134,180,185,248,263,285],resign:[57,58,59],resist:286,resistor:[246,286],resolut:[22,87,230,286],resolv:[1,19,20,22,27,32,55,66,81,231,242,264,265,279],resourc:[9,20,29,61,89,94,104,139,216,217,219,221,242,246,249,250,266,287,289,291,292,298,299,300],respect:106,respond:[17,25,229,259,261,263,284,285],respons:[10,15,20,28,29,69,86,95,136,138,142,219,229,251,254,259,261,278,285,291,295,296,298],rest:[1,46,61,90,185,204,206,233],restart:[2,134,135,146,185,266],restor:[135,179,182,183,185,269,271,274,286],restrict:[134,146,179,180,185,221,232,261,262],restructuredtext:10,result:[10,12,20,58,62,106,166,167,180,185,205,213,230,232,236,238,253,263,270,277,284,285,286],resum:[21,105,134,185,259,262],resynchron:49,retain:[134,185,232,262],retransmit:31,retreiv:139,retri:[273,274],retriev:[57,80,106,138,158,160,161,162,163,164,167,169,170,177,180,213,215,256,294],reus:[55,81,134,232],reusabl:55,rev:288,revdep:[1,50,62],revers:[1,23,50,62,134,185,261,272],revert:[134,247],review:[10,229,253,259,277],revis:[4,204,288],revision_num:[279,280],revisit:[256,262],rewrit:185,rewritten:185,rfc:[68,206,253,277],ribbon:[272,298],rigado:[48,271,286],right:[2,3,10,55,61,84,135,252,259,272,286],rimari:263,ring:104,ristic:263,rite_fil:158,robust:157,role:[20,21,30,31,104,261],room:[185,251],root:[2,4,8,31,80,142,171,185,242,279],rotat:172,rotate_log:172,routin:[84,107,135,146,147,149,168,186,206,237,285],rpa:[19,27],rpa_pub:[27,66],rpa_rnd:[27,66],rsa2048:134,rsa:134,rsp:27,rssi:[27,29,257],rtc:9,rto:[55,95,251],rtt:[136,301,302],rtt_buffer_size_down:[249,299],rubi:[11,55,58],rule:[232,253,270,277],run:[2,3,4,5,6,8,9,11,23,24,30,34,39,41,43,50,52,55,57,58,59,60,61,64,66,67,77,78,80,81,82,83,84,85,86,88,94,95,99,102,103,104,105,134,135,137,138,141,142,158,166,167,185,199,201,219,221,227,229,231,239,240,241,242,243,247,248,251,253,254,256,257,264,265,267,269,270,271,272,273,274,277,278,285,286,287,288,289,290,292,295,297,298,302],runner:12,runtest:[7,137,243],runtest_newtmgr:243,runtim:[25,77,254,266,278,285,295,298],runtimeco:[57,58,59,80,81,82,242,254,266,278,279,286],rwx:99,rwxr:[80,82],rx_cb:136,rx_data:285,rx_off:285,rx_phys_mask:27,rx_power:27,rxpkt:90,rxpkt_q:92,s_cnt:230,s_dev:213,s_func:213,s_hdr:230,s_itf:213,s_listener_list:213,s_lock:213,s_map:230,s_map_cnt:230,s_mask:213,s_name:230,s_next:[213,230],s_next_run:213,s_pad1:230,s_poll_rat:213,s_size:230,s_st:[213,292],s_type:213,saadc_config_irq_prior:286,saadc_config_oversampl:286,saadc_config_resolut:286,sad:292,sad_i:292,sad_x:292,sad_x_is_valid:292,sad_y_is_valid:292,sad_z:292,sad_z_is_valid:292,safe:158,safeguard:95,safeti:261,sai:[61,93,105,254,266,278,279,280,285],said:[193,286],sam0:266,sam3u128:[269,271,274,286,292],samd21:[254,266,278],samd21g18a:266,samd21xx:266,samd:266,same:[6,10,12,22,29,34,37,47,51,59,61,78,90,93,94,99,100,104,134,136,157,179,185,194,218,229,230,231,232,233,242,246,248,251,259,261,262,267,269,271,274,279,280,281,286,287],sampl:[1,12,21,30,61,90,92,100,140,219,229,232,286,287,289,291,292,297],sample_buffer1:286,sample_buffer2:286,sample_cmd:228,sample_cmd_handl:228,sample_command:226,sample_modul:[226,228],sample_module_command:226,sample_module_init:226,sample_mpool:226,sample_mpool_help:226,sample_mpool_param:226,sample_target:53,sample_tasks_help:226,sample_tasks_param:226,saniti:[77,95,256],sanity_interv:103,sanity_itvl:103,sanity_task:103,sanity_task_interv:103,satisfactori:279,satisfi:[185,280],sattempt_stat:230,save:[12,31,49,50,71,106,135,136,194,215,251,261],saw:262,sbrk:[99,269,270,271,272,273],sc_arg:103,sc_checkin:103,sc_checkin_itvl:103,sc_checkin_last:103,sc_cmd:[221,222,226,227,228,285],sc_cmd_f:221,sc_cmd_func:[221,222,226,227,228,285],sc_cmd_func_t:221,sc_func:103,sc_next:[103,158],sc_valtyp:213,scalabl:[157,185],scale:31,scan:[15,21,24,26,27,29,185,257,259,287,289],scan_interv:27,scan_req:27,scan_req_notif:27,scan_result:[254,278],scan_rsp:27,scan_window:27,scannabl:[27,30],scenario:[22,104,202],scene:31,schedul:[9,24,88,95,96,97,102,105,106,251],schemat:[99,298],scheme:[19,29,99],scientif:21,sck_pin:[141,142],scl:[194,288],sco:20,scope:[12,90,251],scratch:[99,134,146,147,149,229],screen:[8,274],script:[7,42,61,143,145,272],scroll:[12,243,260],sd_get_config:[213,215],sd_read:[213,215],sda:[194,288],sdcard:142,sdk:[45,53,232],search:[12,100,140,182,185,218,249,250,256,266,272,279,287,292,299,300],searchabl:140,sec000:134,sec125:134,sec126:134,sec127:134,sec:[288,292],second:[22,26,27,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,85,91,99,103,105,106,134,146,201,221,229,242,248,251,253,259,264,265,268,272,277,284,285,286,288,292],secondar:263,secondari:[27,71,99,134,247,263,285],secondary_phi:27,secret:[22,27],section:[1,5,6,7,11,12,14,24,25,29,30,61,95,99,105,134,185,215,229,231,232,243,247,251,254,255,259,262,263,266,267,278,279,280,286,294,296,297],sector:[134,146,147,152,154,155,156,185,191,272],sector_address:141,secur:[21,134,229,263,281,284],see:[2,4,5,6,7,8,10,11,12,21,22,23,24,33,36,43,55,57,58,59,61,63,64,66,80,81,82,85,88,89,94,95,99,102,105,134,143,153,166,187,194,197,206,212,213,214,215,216,217,218,219,220,221,230,231,232,242,243,244,247,248,249,250,251,252,254,256,257,259,260,261,263,264,265,266,267,268,269,270,271,272,273,274,275,278,279,280,281,284,285,286,287,288,289,291,292,294,295,297,298,299,300],seek:[174,185],seem:[259,286],seen:[91,192,195,196,201,279,302],segger:[136,247,254,269,271,274,278,286,288,292,295,301,302],segger_rtt_conf:[249,299],segment:[21,287],sel:298,select:[4,12,19,21,55,59,185,193,197,213,221,250,266,268,269,270,272,287,289,298,300],selector:213,self:[3,30,100,253,264,265,277],selftest:[253,277],sem_head:104,sem_token:104,sema:285,semant:262,semaphor:[95,105,285],semi:285,send:[3,10,14,20,27,28,31,38,42,47,64,66,67,69,74,78,80,81,82,90,136,138,139,194,200,219,241,242,248,259,267,284,286,291,296,302],send_pkt:90,sender:259,sens:[20,134,229,286],senseair:[284,285],senseair_cmd:285,senseair_co2:[284,285],senseair_init:285,senseair_read:[284,285],senseair_read_typ:[284,285],senseair_rx_char:285,senseair_shell_func:285,senseair_tx:285,senseair_tx_char:285,sensi:287,sensibl:232,sensor:[9,31,140,230,302],sensor_accel_data:292,sensor_callout:292,sensor_cfg:[213,215],sensor_cli:[220,288,289,292],sensor_cr:[214,288,290],sensor_data_func_t:[215,217],sensor_data_funct_t:215,sensor_dev_cr:214,sensor_devic:213,sensor_driv:[213,215],sensor_ftostr:292,sensor_g:213,sensor_get_config_func_t:[213,215],sensor_get_itf:215,sensor_in:213,sensor_init:[213,215],sensor_itf:[213,214,215],sensor_itf_i2c:[213,214],sensor_itf_spi:213,sensor_itf_uart:213,sensor_listen:[213,217,292],sensor_lo:213,sensor_mg:218,sensor_mgr_find_next_bydevnam:[218,292],sensor_mgr_find_next_bytyp:218,sensor_mgr_l:218,sensor_mgr_lock:218,sensor_mgr_match_bytyp:218,sensor_mgr_regist:[213,215,218],sensor_mgr_unlock:218,sensor_mgr_wakeup_r:[218,292],sensor_nam:288,sensor_o:[219,287,288,289,291,292],sensor_offset:288,sensor_oic_init:[219,287],sensor_oic_obs_r:[219,291],sensor_r:[213,217],sensor_read:[213,217],sensor_read_func_t:[213,215],sensor_register_listen:[217,292],sensor_s:213,sensor_set_driv:[213,215],sensor_set_interfac:[213,215],sensor_set_poll_rate_m:[213,218,292],sensor_set_type_mask:[213,215],sensor_shel:288,sensor_timestamp:213,sensor_type_acceleromet:[213,214,215,290,292],sensor_type_al:213,sensor_type_eul:[215,290],sensor_type_grav:[215,290],sensor_type_gyroscop:[213,215,290],sensor_type_light:213,sensor_type_linear_accel:[215,290],sensor_type_magnetic_field:[213,215,290],sensor_type_non:213,sensor_type_rotation_vector:[215,290],sensor_type_t:[213,215,217,218,292],sensor_type_temperatur:[213,215],sensor_type_user_defined_6:213,sensor_un:[213,217],sensor_unregister_listen:[217,292],sensor_value_type_float:[213,215],sensor_value_type_float_triplet:[213,215],sensor_value_type_int32:213,sensor_value_type_int32_triplet:213,sensor_value_type_opaqu:213,sensor_value_type_temperatur:215,sensornam:[213,214,215,216,288,290,292],sensorname_cli:215,sensorname_ofb:288,sensors_o:289,sensors_test:[287,288,290,291],sensors_test_config_bno055:290,sent:[20,29,136,185,200,221,261,263,274],sentenc:[62,252],sep:[4,81,82],separ:[20,26,34,35,50,51,66,134,140,182,185,188,204,212,229,230,261,264,265,266,269,270,272,273,274],seper:[249,299],sequenc:[95,134,136,179,185,233,236],sequenti:[179,180,185],seri:[134,165,198,263,302],serial:[10,66,88,134,135,136,138,139,140,146,194,197,230,243,246,247,269,273,274,285,287,288,289,296,297],serror_stat:230,serv:[18,55,99,146,216,229,287],server:[12,14,18,20,21,27,31,139,216,217,219,229,252,263,274,284,287,289,291,292],servic:[16,17,21,27,28,29,31,95,102,140,187,241,254,259,260,261,262,278,280,285,287],service_data_uuid128:[27,29],service_data_uuid16:29,service_data_uuid32:[27,29],sesnor:292,session:[12,38,39,47,55,57,58,59,61,99,249,266,269,270,272,273,299],set:[1,2,7,8,9,10,12,19,20,23,24,27,28,29,31,32,34,36,37,39,50,53,55,56,58,59,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,79,81,82,84,85,87,88,90,93,102,103,104,105,106,134,135,136,140,141,151,158,159,163,166,168,169,173,176,179,181,182,183,185,187,193,194,196,197,200,201,206,214,216,218,219,220,221,222,226,227,228,229,230,238,242,244,246,247,249,251,253,254,257,260,261,264,265,266,267,269,270,271,272,273,274,275,277,278,279,280,281,284,286,288,289,291,292,294,295,297,298,299],setting1:231,setting2:231,settl:25,setup:[11,57,59,60,71,80,82,83,215,229,243,247,256,257,267,268,284,285,286,288,292,294,295,296,297,298],sever:[3,20,21,23,27,61,99,100,102,106,134,185,229,232,240,241,263,264,265,271,272,279],sha256:134,sha:134,shall:[24,27,29],share:[4,22,89,94,95,104,229,246,279],sheet:215,shell:[1,7,8,21,30,55,59,80,102,135,136,143,144,212,216,222,223,224,225,226,227,228,230,231,232,242,243,244,249,251,267,274,275,284,285,287,288,289,294,299],shell_cmd:[221,222,226,227,228,285],shell_cmd_argc_max:[221,274],shell_cmd_func_t:221,shell_cmd_h:221,shell_cmd_help:[221,226,244,275],shell_cmd_regist:[221,227,285],shell_compat:221,shell_complet:221,shell_evq:285,shell_init:232,shell_max_compat_command:[221,222],shell_max_input_len:144,shell_max_modul:[221,226],shell_modul:221,shell_newtmgr:[221,243],shell_nlip_input_func_t:224,shell_nlip_input_regist:221,shell_os_modul:[221,244,275],shell_param:[221,226],shell_prompt_modul:[221,268],shell_regist:[221,228],shell_sample_mpool_display_cmd:226,shell_sample_tasks_display_cmd:226,shell_stack:[144,285],shell_stack_s:285,shell_task:[221,231,232,243,244,268,275,285,288,292],shell_task_handl:285,shell_task_init:144,shell_task_prio:[144,285],shell_task_prior:231,shell_task_stack_s:144,shield:95,shift:[12,21],ship:[6,10],shortcut:[12,285],shorten:259,shorter:[185,248],shorthand:[90,279],shortli:286,shot:274,should:[4,8,10,12,19,26,30,32,55,57,59,61,81,84,85,86,88,99,102,103,104,105,134,136,140,143,144,146,152,156,158,162,163,166,176,179,185,187,194,199,200,201,204,206,215,218,221,230,232,236,238,242,248,249,250,251,253,254,257,259,260,261,262,264,265,266,268,269,270,271,272,273,274,277,278,279,282,285,286,287,288,290,292,295,298,299,300],show:[1,4,5,6,7,8,11,12,27,28,31,36,39,40,43,50,53,57,58,59,60,61,62,72,80,81,82,83,90,105,135,136,200,212,226,229,231,232,238,241,242,243,246,247,249,250,251,252,254,257,263,266,267,268,269,270,271,272,273,274,278,284,285,286,287,288,289,290,291,292,294,295,296,298,299,300,302],shown:[6,7,12,43,55,61,90,92,95,134,141,188,199,215,230,242,253,261,266,269,271,274,277,279,281,284,286,288,290,292,296],si_addr:[213,214],si_cs_pin:213,si_num:[213,214],si_typ:[213,214],sibl:[11,280],sid:27,side:[12,21,30,135,285],sierra:[58,81],sig:[20,29,31],sign:[6,10,37,46,47,57,58,59,80,213,248,257,267],signal:[20,21,26,29,105,197,262],signatuar:12,signatur:[27,46,134],signed_imag:134,signific:[19,90,229,274],significantli:31,signigic:90,silent:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,232,285],silicon:32,sim1:[295,296,298],sim:[6,7,61,100,285,295,297,298],sim_slinki:[231,296],similar:[1,8,10,12,95,99,214,253,257,274,277,284],similarli:[93,212],simpl:[12,20,21,61,86,90,95,99,104,105,107,135,138,140,157,187,230,242,251,258,259,264,265,268,286,292,294],simplehttpserv:[33,63],simpler:[99,263],simplest:[90,295,298],simpli:[6,10,88,91,93,104,105,136,187,229,242,251,255,260,266,284],simplic:[134,264,265],simplifi:[20,88,91,194],simul:[2,3,5,6,50,240,251,292,296],simultan:[27,29,30],simultaneosli:158,sinc:[3,20,24,32,61,90,95,99,104,106,134,221,230,247,248,251,254,256,257,264,265,266,268,278,279,284,285,286,287],singl:[2,3,7,22,39,47,55,57,58,59,93,104,105,134,140,158,177,179,180,185,215,230,232,253,258,259,263,264,277,279],singli:185,sissu:198,sit:[14,18,140,187,229],site:[258,269,273],situat:[95,229],six:[22,23],size:[9,20,27,29,39,55,57,58,59,61,73,77,90,91,93,99,105,106,107,134,136,138,141,162,179,180,181,185,211,212,229,230,231,232,233,241,243,251,266,270,272,274,276,289],size_t:[162,168,206],sizeof:[90,135,142,159,160,161,162,166,167,169,170,177,211,214,233,251,259,261,262,265,284,285,286],skelet:257,skeleton:[7,44,50,242,254,256,257,266,269,270,271,272,273,274,278,286,295,296,298],skip:[6,11,47,59,134,146,148,254,266,269,270,271,272,273,278,295,298],sl_arg:[217,292],sl_func:[217,292],sl_next:217,sl_sensor_typ:[217,292],slash:185,slave:[27,29,194,197],slave_interval_rang:29,sleep:[9,84,86,88,92,94,104,105,106,246,251,268],slightli:[102,229],slink:[295,296,298],slinki:[7,45,61,136,158,182,183,229,231,232],slinky_o:[7,61],slinky_sim:231,slinky_task_prior:231,slist_entri:[84,90,103,158,185,213,217],slist_head:[84,91,94,104,213],slot0:134,slot1:134,slot:[7,20,61,71,202,229,244,247,249,250,254,257,260,266,268,269,270,271,272,273,274,275,278,285,288,292,295,298,299,300],slower:[3,102,103],small:[20,24,90,136,140,177,229,230,253,263,270,277,285,286],smaller:[10,90,93,138,201,229,252,266],smallest:[93,185],smart:[21,31,55,61,285,291],smarter:280,smp:[20,21],snapshot:[43,269,273,280],snip:[1,36,43,55,61,243,256,257,286],snippet:261,soc:102,socket:2,soft:[64,80,81,82,198],softwar:[1,3,4,6,21,38,42,47,50,102,103,134,187,241,247,249,254,266,269,271,272,278,279,285,286,288,292,295,299],solder:285,solut:[55,187,264,265],solv:[134,229],some:[1,8,12,30,64,76,90,91,92,95,99,102,104,105,107,134,136,142,146,157,158,159,166,169,179,180,212,226,231,238,242,243,244,249,250,251,253,254,258,259,260,261,262,264,265,268,269,270,273,274,275,277,278,279,285,286,292,295,298,299,300,302],somebodi:[135,285],somehow:61,someon:[10,86,286],someth:[20,242,249,254,256,257,278,281,299],sometim:[135,249,254,266,278,299],somewhat:[95,134,185],somewher:[134,185,229,286],soon:[21,280,286],sooner:201,sophist:251,sort:[185,260],sourc:[1,4,9,21,24,50,56,58,60,61,79,81,83,102,134,135,140,172,185,193,215,216,232,238,246,254,258,266,269,270,272,278,279,280,286,292,294,298],space:[12,21,34,35,50,51,66,90,102,146,147,162,179,180,202,205,221,229,230,254,256,264,267,278,294,297,302],spec:20,specfi:288,special:[8,90,102,141,229,233,236,253,263,264,265,277,278,279,280,285,288],specif:[11,20,21,22,23,29,31,57,58,59,61,62,84,86,88,90,91,95,99,101,102,106,134,138,140,156,158,179,180,187,193,194,196,198,199,202,212,213,215,229,232,233,237,238,243,251,253,254,257,259,261,262,264,265,266,272,274,277,278,279,285,286,295,298],specifi:[1,4,6,7,10,11,12,20,27,30,34,35,37,39,41,43,45,46,50,51,53,55,57,58,59,61,65,66,67,68,69,70,71,72,73,74,75,76,77,87,88,99,102,103,106,107,136,138,139,156,158,159,160,161,162,163,164,165,166,167,169,170,172,173,174,175,176,177,178,180,182,183,185,189,212,213,214,215,216,217,218,219,220,221,222,223,226,231,233,236,238,243,244,247,249,254,256,259,261,262,263,264,265,266,271,272,275,278,279,280,281,286,288,291,292,295,298,299],spectrum:21,speed:[9,21,185,200,249,266,269,270,271,274,286,299],spew:[254,278],sphinx:[33,63],spi:[8,21,102,140,141,142,193,197],spi_cfg:[141,142],spi_miso_pin:[141,142],spi_mosi_pin:[141,142],spi_num:[141,142,197],spi_sck_pin:[141,142],spi_ss_pin:[141,142],spitest:[7,61],split:[7,71,99,185,231,247,286,295,296,298],split_app:7,split_app_init:232,split_config:[295,296],split_elf_nam:61,split_file_test:[253,277],split_load:232,splitti:[7,61,229,231],spot:99,spread:21,spuriou:[253,277],squar:194,sram:272,src:[6,7,11,45,50,55,61,70,80,82,99,101,140,182,183,186,187,195,196,198,201,204,232,238,248,251,253,254,256,266,269,270,271,272,273,274,277,278,284,285,286,288,290,292,295,296,298],ss_op_wr:261,ss_pin:[141,142],ssec:27,sstatic:284,st_cputim:292,st_ostv:292,stabil:[279,280],stabl:[1,7,57,58,80,81,279,280],stack:[1,9,18,21,24,26,27,30,55,77,86,88,90,92,95,105,229,232,255,256,257,258,259,261,262,263,274,285],stack_len:224,stack_ptr:224,stack_siz:103,staff:[80,81],stage:[103,134,140,214,229,232],stai:[166,167],stailq_entri:[84,88,90,91,230],stailq_head:[84,88,92],stale:[2,266],stand:[93,239],standalon:[10,229],standard:[7,21,31,106,138,139,140,141,157,158,166,187,259,264,265,274,284,285],standbi:[21,202],start:[2,4,8,9,10,12,26,27,28,30,38,47,59,62,71,82,84,89,90,94,95,96,97,98,99,101,105,134,140,143,146,147,149,152,158,165,166,174,177,180,185,194,195,196,198,199,201,210,218,229,232,240,242,250,251,252,253,255,256,259,266,267,268,269,270,272,273,274,277,279,284,285,286,287,288,289,290,292,296,300,302],starter:248,startup:[19,21,26,30,134,229,232,251,264,265],startup_stm32f40x:[270,272],stash:49,stat:[1,7,64,78,80,81,82,137,138,232,243,244,249,256,274,275,285,286,292,299],state:[6,21,26,31,52,55,84,86,88,99,103,106,139,146,182,183,187,206,246,247,251,266,272,280,282],statement:[11,232,243],statist:[1,48,64,73,76,77,80,81,82,249,274,295,296,298,299],stats_cli:[1,244,275,285],stats_hdr:[215,230],stats_inc:230,stats_incn:230,stats_init:[215,230],stats_init_and_reg:230,stats_module_init:232,stats_my_stat_sect:230,stats_nam:[1,37,38,76,215,230],stats_name_end:[215,230],stats_name_init_parm:[215,230],stats_name_map:230,stats_name_start:[215,230],stats_newtmgr:[1,231,232,243],stats_regist:[215,230],stats_sect_decl:[215,230],stats_sect_end:[215,230],stats_sect_entri:[215,230],stats_sect_start:[215,230],stats_size_16:230,stats_size_32:[215,230],stats_size_64:230,stats_size_init_parm:[215,230],statu:[10,11,20,142,177,229,247,260,262,264,266,274,285,295,296,298],stdarg:[233,236],stderr:204,stdio:286,stener:217,step:[2,4,6,7,12,47,55,57,59,80,82,95,99,100,134,136,194,214,229,230,252,254,256,257,264,265,266,269,270,271,272,273,274,278,279,285,286,295,296,298],sterli:280,sterlinghugh:280,stic:[261,263],still:[5,59,66,84,102,103,249,260,294,299],stitch:1,stksz:[77,285,295,298],stkuse:[77,285,295,298],stlink:270,stm32:[270,272,298],stm32_boot:298,stm32_slinki:298,stm32f2x:270,stm32f303vc:[242,248],stm32f3discoveri:242,stm32f4:[140,141,142,267],stm32f4_adc_dev_init:140,stm32f4_hal_spi_cfg:[141,142],stm32f4disc_blinki:270,stm32f4disc_boot:270,stm32f4discoveri:[53,270],stm32f4discovery_debug:270,stm32f4x:270,stm32f4xx:193,stm32f4xxi:193,stm32serial:298,stm32x:270,stm34f4xx:193,stm:298,stmf303:242,stmf32f4xx:193,stmf3:242,stmf3_blinki:[242,248],stmf3_boot:[242,248],stop:[2,27,84,85,146,156,194,195,254,259,278,288],storag:[20,135,146,173,257,279],store:[1,11,22,27,31,34,35,37,50,55,57,59,61,80,86,88,90,106,135,136,146,153,185,202,205,206,224,230,256,259,261,262,279,285,286,287,292,294],stori:90,str:[136,200,206],straight:[259,285],straightforward:[256,286],strategi:251,strcmp:[135,285],stream:[21,206,211,212,224],strength:29,strict:[261,266],strictli:[179,180,185,286],string:[1,10,27,29,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,107,135,136,139,145,166,177,204,205,206,211,221,222,226,230,232,233,236,253,264,265,277,279,280,284,285,286,296],strip:[46,90],strlen:[259,261],strongli:158,struct:[84,85,87,88,90,91,92,94,95,99,103,104,105,106,134,135,136,140,141,142,146,147,148,149,150,151,152,153,154,155,156,159,160,161,162,163,164,166,167,169,170,171,172,174,175,176,179,182,183,185,186,192,194,197,199,204,205,206,207,208,209,210,211,212,213,214,215,217,218,221,222,223,224,225,226,227,228,230,233,238,239,246,251,253,259,261,262,263,264,265,268,277,284,285,286,290,292],structur:[7,11,12,18,28,55,61,78,95,99,105,134,136,140,142,152,168,181,184,194,199,204,205,212,214,215,216,222,226,227,230,253,254,261,267,277,278,285,286,290,294,297,302],strutur:90,stub:[61,107,212,246,253,264,265,268,277,285,286],studio:[5,13],stuff:279,style:[136,252],sub:[28,43,45,50,70,71,72,75,76,140,161,265,282],subcmd1:227,subcmd2:227,subcommand:[45,50,62,64,66,70,71,72,75,76,227],subcompon:21,subdirectori:[2,238,253,277],subfold:269,subject:185,submit:11,subrang:20,subscrib:[28,260,262,286],subsequ:[21,22,134,166,167,229,253,259,262,277],subset:[22,182,213,215,218,288],substitut:[6,252,256,257],subsystem:[30,59,88,135,136,141,142,221],subtract:[104,106],subtre:135,succe:[182,253,277],succesfulli:[247,248,249,250,254,256,257,260,266,268,269,270,271,272,273,274,278,285,288,292,295,298,299,300],success:[3,20,55,84,90,95,142,147,148,149,150,151,152,154,155,156,158,159,160,162,163,165,166,167,169,170,171,172,173,174,175,176,177,178,182,183,184,185,204,207,208,209,210,211,222,224,225,226,236,239,240,242,248,253,261,263,272,274,277,286],successfuli:[99,253,277,292],successfulli:[7,20,55,99,103,229,242,243,247,248,254,256,257,260,262,264,265,266,269,270,271,272,273,274,278,285,286,287,288,289,292,295,296,298],sudo:[4,6,7,11,57,58,60,80,83,257],suffici:[91,185],suffix:[253,277],suggest:[3,6,218,241,244,275,302],suit:[6,55,235,237,238,256,276],suitabl:[20,99,179],sum:90,summar:[99,229],summari:[6,11,19,36,221,226,265],supersed:185,supervision_timeout:[30,260],supplement:[29,259],supplementari:99,suppli:[158,176,178,182,253,277],support:[1,3,4,6,7,10,12,14,19,20,21,22,29,30,32,53,58,66,81,87,95,99,101,107,134,136,138,139,140,141,142,157,185,188,189,193,197,206,212,213,214,215,218,221,222,226,227,229,230,232,246,247,254,256,257,258,259,263,264,266,267,269,278,279,280,285,289,294,296,297,302],suppos:[43,94,103,104,193,230],suppress:296,suppresstasknam:12,sure:[2,7,8,57,90,205,253,256,257,259,261,266,268,274,277,279,284,285,286],suspend:288,svc:263,sw_rev:288,swap:[2,84,86,99,179,186,229,249,266,299],swclk:266,swd:[254,266,269,270,271,272,273,274,278,286,292],swdio:266,sweep:185,swim:270,swo:[254,269,278,292],symbol:[4,7,12,61,229,249,250,266,270,292,299,300],symlink:[60,83],sync:[20,25,39,57,58,59],sync_cb:[26,264,265],synchron:[20,39,49,57,58,59,102,104,140,197],syntax:[232,244,252,274,275,288],synthes:24,sys:[1,7,55,57,61,135,136,137,186,212,221,230,231,232,239,243,246,250,253,254,256,268,277,278,285,286,288,292,300],sys_config:[135,229],sys_config_test:7,sys_console_ful:229,sys_einv:[215,292],sys_enodev:215,sys_flash_map:[270,272],sys_log:229,sys_mfg:[7,266,269,270,271,272,288,295,298],sys_shel:229,sys_stat:229,sys_sysinit:[7,266,269,270,271,272,273,288,295,298],syscfg:[23,24,32,37,38,50,61,99,103,135,136,158,179,214,215,216,218,219,220,221,222,226,230,231,243,244,247,249,250,253,254,257,266,268,269,274,275,277,278,285,286,288,289,291,292,299,300],sysconfig:243,sysflash:[266,272],sysinit:[7,25,26,95,105,136,203,214,232,246,253,254,264,265,266,268,274,277,278,285,286,292],sysinit_assert_act:232,sysinit_panic_assert:[214,215,232],sysresetreq:266,system:[1,3,6,8,9,25,39,50,57,58,59,61,62,84,87,90,93,95,99,102,103,105,106,107,134,135,136,137,146,160,161,162,166,167,168,170,171,173,179,181,182,183,185,193,196,197,198,202,203,212,226,229,230,240,241,244,250,251,254,256,257,266,268,269,272,274,275,278,279,280,285,292,300],system_l:193,system_stm32f4xx:[270,272],systemview:302,sysview:[250,300,301],sysview_mynewt:[250,300],sytem:195,syuu:59,t_arg:84,t_ctx_sw_cnt:84,t_dev:213,t_driver:213,t_flag:84,t_func:[84,251],t_interfa:213,t_itf:213,t_lockcnt:84,t_name:84,t_next_wakeup:84,t_obj:84,t_pad:84,t_poll_r:213,t_prio:[84,86],t_run_tim:84,t_sanity_check:84,t_stackptr:84,t_stacksiz:84,t_stacktop:84,t_state:84,t_string:211,t_taskid:84,t_type_m:213,t_uinteg:211,tab:[30,36],tabl:[19,20,99,134,137,157,166,185,232,261,263,274,288],tag:280,tail:185,tailq_entri:[84,85,185,199],tailq_head:[84,185],take:[6,7,23,45,50,55,62,90,95,135,147,205,218,229,230,251,253,259,261,262,263,264,265,277,284,286],taken:[7,61,95,261,279,280,284],talk:[257,259,296],tap:[4,56,79],tar:[4,57,58,59,60,81,82,83],tarbal:4,target:[3,4,5,7,12,25,29,32,34,35,36,37,38,39,42,43,46,47,48,53,55,57,58,59,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,102,135,202,229,230,231,232,238,244,247,251,253,255,264,265,267,275,277,285,287,289,291,297],target_nam:34,targetin:[264,265],task1:[95,103,295,298],task1_evq:103,task1_handl:95,task1_init:95,task1_prio:95,task1_sanity_checkin_itvl:103,task1_sem:95,task1_stack:95,task1_stack_s:95,task2:[95,295,298],task2_handl:95,task2_init:95,task2_prio:95,task2_sem:95,task2_stack:95,task2_stack_s:95,task:[9,11,55,64,77,80,81,82,85,86,88,91,92,94,95,96,97,99,101,102,104,106,136,140,145,175,209,218,221,223,226,232,240,243,261,268,274,284,285,287,290,292,295,296,298,302],task_l:246,task_prior:[231,232],tasknam:12,taskstat:[64,78,80,81,82,137,139,243,295,298],tbd:[263,286],tc_case_fail_arg:238,tc_case_fail_cb:238,tc_case_init_arg:238,tc_case_init_cb:238,tc_case_pass_arg:238,tc_case_pass_cb:238,tc_print_result:[238,239],tc_restart_arg:238,tc_restart_cb:238,tc_suite_init_arg:238,tc_suite_init_cb:238,tc_system_assert:238,tck:266,tcp:[266,270],tdi:266,tdo:266,teach:251,team:[4,187,252],technic:[10,242],technolog:[21,141],tee:[1,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,285],telee02:274,telee02_boot:274,telemetri:264,telenor:274,teli:[264,265],tell:[30,55,146,161,202,206,229,230,232,242,259,261,264,265,272,280,284,286],telnet:[249,254,278,292,299],tem:288,temperatur:[165,213,288],templat:[7,45,253,256,277,285,292],temporari:[20,103,134,185],temporarili:[94,103],term:[3,134,140,158,193,196,279],termin:[2,4,7,8,10,12,20,21,27,59,82,136,160,161,162,166,167,170,177,179,180,182,185,249,254,257,259,262,263,266,268,269,270,271,272,273,274,278,290,292,299],terminato:162,termintor:162,terribl:[7,256],test:[4,6,12,39,50,57,58,59,61,64,67,71,75,80,81,82,134,136,137,187,215,216,229,232,233,234,235,236,237,238,239,240,243,247,249,257,263,264,265,266,268,269,271,276,279,284,286,296,299,302],test_assert:[234,235,237,253,277],test_assert_fat:[233,253,277],test_cas:[233,253,277],test_case_1:235,test_case_2:235,test_case_3:235,test_case_nam:[234,235],test_datetime_parse_simpl:[253,277],test_datetime_suit:[253,277],test_json:[253,277],test_json_util:[253,277],test_project:44,test_suit:[234,235,253,277],test_suite_nam:237,testbench:[7,61],testcas:[7,253,277],testnam:75,testutil:[7,186,253,277],text:[39,48,69,90,136,177,221,229,236,270,295,298],textual:1,tgt:135,tgz:4,than:[3,7,14,20,29,72,90,93,94,95,99,102,104,105,106,107,134,138,158,169,172,185,201,218,221,229,231,233,235,249,251,257,263,264,265,269,286,292,299],thank:30,thee:102,thei:[1,6,20,29,30,61,85,90,91,95,99,104,105,134,135,140,175,185,199,229,230,232,238,241,244,248,253,259,260,261,263,264,265,274,275,277,279,280,282,284,288],their_key_dist:27,them:[2,9,55,90,93,99,104,166,183,185,202,229,230,232,251,253,254,257,259,264,265,266,277,278,279,286,287,302],themselv:[93,95,263],theori:[55,232],therebi:[104,146],therefor:[20,134,154,158,166,251,281],thi:[1,2,3,4,5,6,7,8,9,10,11,12,14,18,20,21,22,23,24,25,26,27,29,30,31,32,33,34,41,43,52,53,55,57,58,59,60,61,63,64,66,71,72,80,81,82,83,84,85,86,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,104,105,107,134,135,136,138,140,141,142,143,144,146,147,148,149,152,158,160,161,162,164,165,166,167,168,170,172,174,175,177,178,179,180,181,182,184,185,186,187,189,190,192,193,194,195,197,199,200,201,202,203,206,207,208,209,210,211,212,213,214,215,216,217,218,219,221,222,223,224,226,228,229,230,231,232,234,235,236,237,238,239,240,241,242,243,244,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,277,278,279,280,281,284,285,286,287,288,289,290,291,292,294,295,296,297,298,299,300,302],thing:[1,10,21,24,26,55,61,91,99,102,103,140,213,229,253,264,265,277,280,284,285,286,290,292],thingi:[214,249,250,299,300],thingy_boot:292,thingy_debug:[249,250,292,299,300],thingy_my_sensor:292,think:[10,134,286],third:[6,19,254,257,259,266,278,286],thorough:280,those:[1,31,32,39,55,57,58,59,61,99,102,134,143,147,229,241,280,284,285,286],though:[93,134,185,194,218,229],thought:286,thread:[9,256,266,270,272],three:[2,11,19,59,61,93,134,136,172,212,229,230,232,246,251,256,258,259,265,266,272,274],through:[21,23,61,62,93,134,139,146,152,157,160,161,162,167,170,179,180,187,197,206,218,243,253,254,258,260,262,265,266,268,272,277,278,284,285,286,289,291,294],throughout:[1,99,253,277],throughput:21,thrown:6,thu:[90,99,104,134,140,179,180,193,194,251],tick:[84,85,96,97,102,103,106,136,196,199,221,251,268,269,285,292],ticker:85,ticket:10,tickl:[103,201],tid:[77,285,295,298],tie:229,tied:158,ties:256,time:[1,7,9,10,11,12,19,20,21,22,25,27,31,34,43,57,58,59,60,61,77,82,83,85,88,90,95,96,97,99,102,103,104,134,136,142,146,157,166,167,185,187,213,221,229,230,241,246,248,249,251,253,254,256,259,261,263,264,265,269,271,274,277,278,284,285,286,288,292,294,299],time_datetim:[229,292],time_datetime_test:[253,277],time_in_flight:90,timeout:[20,27,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,247,285],timer:[24,84,85,87,88,99,103,187,196,199,201,218,292],timer_0:24,timer_4:274,timer_5:24,timer_ev_cb:[268,292],timer_interrupt_task:246,timestamp:[72,213],timev:106,timezon:[106,253,277],timtest:[7,61],ting:[264,265],tini:[272,298],tinycbor:[7,287],tinycrypt:7,tinyprintf:107,tip:103,titl:[8,297],tlm:264,tlv:[27,134],tmp:[57,59,80,82,175,229],tmpstr:292,todo:[61,185,264,265],togeth:[1,43,55,61,90,93,143,185,229,260,272,286],toggl:[7,105,193,246,251,268],token:[75,95,104,221,281],told:202,too:[20,95,140,166,167,185,231,285],took:270,tool:[1,2,3,5,6,7,9,10,12,13,39,54,57,58,61,62,63,66,78,79,80,81,91,95,99,100,102,139,140,230,231,232,238,242,243,244,246,247,249,250,253,254,255,256,257,266,267,272,274,275,277,278,279,280,281,286,287,292,294,296,297,299,300,302],toolbox:2,toolchain:[2,3,5,7,12,33,59,63,243,247,254,257,267,278,294,297,302],toolkit:3,tools_1:[57,58,59,81,82],top:[1,10,12,35,61,93,140,179,231,253,257,264,265,277,286],topic:1,total:[9,55,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,90,107,134,185,269,271,274,286],tour:258,track:[19,21,22,134,185],tradeoff:229,trail:134,trailer:134,transact:[20,194],transfer:[22,197,285],transform:185,transit:134,translat:[193,264],transmiss:[20,27,197,225,274],transmit:[29,31,136,194,274],transmitt:200,transport:[20,21,27,80,136,139,232,247,256,257,266,270,285,286,287,289,291,294],travers:[90,160,161,162,167,170],traverse_dir:[160,161,162,167,170],treat:[146,207],tree:[1,6,7,50,55,61,99,165,256],tri:[3,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,135,142,231,274],trial:99,tricki:105,trigger:[6,10,88],triplet:213,troubleshoot:[230,231],truncat:[163,175,176,178],truncate_test:[253,277],trust:[22,27,285],tt_chr_f:263,tt_svc_type_p:263,ttl:[257,298],tty:[8,254,268,278,285,288,295,298],ttys002:66,ttys003:66,ttys005:296,ttys012:[295,298],ttys10:8,ttys2:[8,254,268,278,288,295,298],ttys5:8,ttyusb0:[10,66,257],ttyusb2:[8,254,278,295,298],ttyusb:[8,254,268,278,288,295,298],tu_any_fail:[239,253,277],tu_case_init_fn_t:238,tu_case_report_fn_t:238,tu_config:[238,239],tu_init:238,tu_restart_fn_t:238,tu_suite_init_fn_t:238,tupl:106,turn:[24,140,187,193,229,243,256,257,267,268,271,279,280,288,295],tutiori:[73,76],tutori:[2,3,6,7,8,10,12,21,23,59,77,214,215,219,220,221,238,242,243,246,247,251,253,254,255,256,257,258,259,260,261,262,263,264,265,266,268,269,270,271,272,273,274,277,278,284,285,286,287,288,289,290,291,292,295,296,298],tv_sec:[84,106,253,277,292],tv_usec:[84,106,253,277,292],tvp:[84,106],tweak:157,two:[2,3,10,12,18,19,21,22,23,27,31,43,45,50,55,61,66,90,91,94,95,99,101,105,106,134,136,138,179,185,194,212,213,221,227,229,230,231,232,242,243,246,251,253,254,256,257,259,261,264,265,266,268,269,270,271,272,273,274,277,278,279,280,281,282,285,286,287,288,291,292,295,298],tx_data:285,tx_len:285,tx_off:285,tx_phys_mask:27,tx_power_level:[27,29],tx_time_on_air:274,txd:274,txpower:274,txt:[70,159,163,166,169,176,177,178,250,300],type:[1,7,8,10,12,19,20,23,27,29,30,31,39,43,45,46,53,55,57,58,59,61,66,85,90,91,99,102,105,134,136,139,166,167,182,183,185,197,206,207,211,212,214,217,219,221,224,231,232,233,234,235,236,237,242,246,247,249,250,251,253,254,256,257,259,260,261,262,263,264,266,269,270,271,272,274,277,278,279,280,281,284,285,286,290,291,292,295,296,298,299,300],typedef:[26,84,88,136,156,206,213,221],typic:[3,9,21,26,31,55,61,90,92,95,99,100,103,134,136,140,179,180,187,190,193,194,197,212,213,229,230,232,238,253,259,264,265,277],tz_dsttime:[84,106,253,277],tz_minuteswest:[84,106,253,277],u8_len:142,uart0:[136,285,296],uart1:285,uart:[7,8,21,55,102,136,140,195,200,224,243,249,256,257,269,270,271,272,273,274,285,292,299],uart_0_pin_rx:285,uart_0_pin_tx:285,uart_bitbang:[195,269],uart_flow_control_non:136,uart_hal:[7,270,271,272],uartno:285,ubuntu:[4,6,7,57,80],uci:23,udev:270,udp:66,uext:298,uicr:23,uid:264,uint16:[27,28],uint16_max:27,uint16_t:[20,84,90,94,103,104,134,141,146,147,185,194,206,213,224,230,261,284,285,286],uint32:[27,71],uint32_max:27,uint32_t:[84,85,87,91,92,134,141,146,154,158,159,163,164,166,168,169,174,177,178,180,181,185,196,197,199,201,212,213,215,230],uint64:27,uint64_t:206,uint8:27,uint8_max:27,uint8_t:[23,32,84,88,90,94,99,103,134,136,140,141,146,154,158,159,160,161,162,166,167,168,169,170,174,177,180,185,192,194,197,206,212,213,215,224,230,259,261,264,265,285,286],uint_max:211,uinteg:[206,211],ultim:261,umbrella:229,unabl:[2,185,266,269,270,273],unaccept:20,unadorn:20,unam:2,unc_t:221,unchang:[99,185],unconfirm:274,und:[27,30],undefin:[82,232],under:[4,7,10,11,12,20,26,34,55,61,71,107,135,140,221,263,266,270,271,273,285,286],underli:[102,140,146,158,166,167,186,187,213],underlin:252,understand:[7,106,213,229,241,242,247,274,279,286],understood:[166,233],underwai:134,undesir:95,undirect:[27,259],unexpect:[20,160,161,162,167,170,173],unexpectedli:[20,253,277],unexpir:85,unicast:31,unicod:157,unidirect:27,unifi:140,uniform:[29,59],uniformli:62,uninstal:7,unint32:71,uninterpret:232,union:[185,206,261],uniqu:[9,19,32,99,185,212,230,231,232,264,274],unit:[1,7,20,27,39,51,57,58,59,85,105,134,232,253,277,302],unittest:[7,45,55,61,232,253,256,277,285],univers:200,unix:[2,59,158,242],unknown:[20,231],unlabel:285,unless:[27,105,134,179,202,232,285,286],unlicens:21,unlik:[20,91,253,277],unlink:[58,60,81,83,159,167,172,175],unlink_test:[253,277],unlock:[213,218],unmet:99,unpack:[57,59],unplug:273,unpredict:167,unprovis:31,unregist:217,unresolv:[187,253,277],unrespons:20,unset:[50,134],unsign:[105,206,230,273,292],unspecifi:[20,42],unstabl:[57,58,80,81],unsupport:[20,263],unsur:185,unsync:26,untar:4,until:[20,26,61,84,92,95,104,136,146,185,197,200,259,264,265,274,279],unuesd:262,unus:[71,90,284,285,286],unwritten:134,updat:[2,4,15,20,27,30,36,37,49,52,57,58,59,60,80,81,83,134,148,185,232,244,253,260,262,268,269,275,277,284,286,287,292],upgrad:[2,39,56,59,79,99,134,136,242,243,249,254,257,266,278,299,302],uplink:274,uplink_cntr:274,uplink_freq:274,upload:[10,43,70,71,158,202,229,247,269],upon:[1,3,10,26,55,134,185,230,262],upper:[23,185,232],uppercas:216,upstream:138,uri:[27,29,139],url:[27,264,277,279],url_bodi:264,url_body_len:264,url_schem:264,url_suffix:264,usabl:[1,99,256,264],usag:[1,9,57,58,59,62,80,81,82,90,140,141,158,179,185,194,213,221,226,230,232,251,274,285,296],usart6_rx:298,usart6_tx:298,usb:[2,3,8,21,42,66,243,246,247,251,254,257,266,267,269,270,271,272,273,274,278,286,288,294,295,297,298],usbmodem14211:66,usbmodem14221:66,usbmodem401322:8,usbseri:[8,254,268,278,285,288,295,298],usbttlseri:257,use:[1,4,5,6,7,8,11,12,14,19,20,21,22,24,27,30,32,41,45,50,51,55,56,58,59,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,79,81,82,85,87,88,92,93,99,100,102,104,105,134,135,136,137,140,142,146,147,157,158,171,172,175,179,182,183,185,186,194,206,207,208,209,210,211,212,213,214,215,216,217,218,221,222,223,226,227,229,230,231,232,238,242,243,244,245,246,247,248,249,250,251,253,254,255,256,257,259,260,261,262,264,265,266,267,268,269,272,274,275,277,278,280,281,284,285,286,287,288,291,292,294,295,296,297,298,299,300],use_wl:27,use_wl_inita:27,usec:[84,288,292],used:[6,7,10,11,12,19,20,22,23,24,27,29,30,31,34,46,49,61,66,72,84,87,90,91,93,94,99,104,105,106,107,134,135,136,141,142,146,149,157,158,162,185,191,194,195,196,197,199,201,206,213,214,215,221,229,230,231,232,233,234,235,236,237,240,241,242,248,251,253,254,257,259,261,262,263,264,265,266,274,277,278,279,280,286,287,288],useful:[3,20,95,177,215,256,279],user:[1,2,4,6,7,8,9,18,20,22,24,48,55,58,59,61,78,80,81,82,85,90,91,93,99,100,103,134,136,137,140,141,146,152,158,179,197,198,199,200,220,229,230,231,232,239,242,246,254,263,266,272,274,278,279,280,281,285,286,292,298],user_defined_head:90,user_hdr:90,user_id:[231,232],user_manu:242,usernam:[10,48,59,279],uses:[2,4,6,7,8,12,14,20,21,22,23,24,30,32,55,65,66,67,68,69,70,71,72,73,74,75,76,77,78,87,88,99,103,106,107,134,136,137,138,139,140,142,146,157,158,185,187,193,194,212,213,214,215,217,218,221,223,227,231,232,238,240,243,246,247,254,261,262,263,266,268,271,278,279,281,285,287,288,289,292,295,298],using:[1,2,4,6,7,8,11,12,19,20,21,24,26,27,28,29,31,33,36,37,43,44,57,58,59,60,61,63,66,76,80,81,82,83,85,87,90,93,94,95,100,101,102,103,104,105,106,107,134,135,140,146,149,151,156,157,158,166,185,187,193,194,196,201,206,215,216,218,221,229,230,232,234,235,237,238,242,243,246,247,249,250,251,252,253,254,256,257,263,265,266,267,268,269,270,271,272,273,274,277,278,284,285,286,287,289,292,296,297,299,300],usr:[4,6,11,36,57,58,59,60,80,81,82,83],usu:101,usual:[24,90,91,107,140,210,212],utc:[68,106,253,277],utctim:84,utf:29,util:[7,11,20,21,31,95,107,136,157,158,195,212,232,243,253,277],util_cbmem:292,util_cbmem_test:7,util_crc:[292,296,298],util_mem:[7,254,266,268,269,270,271,272,273,274,278,288,292,295,296,298],util_pars:[274,288,292],uuid128:[27,29,261,263,265],uuid128_is_complet:[27,29],uuid16:[27,28,29,261,284,286],uuid16_is_complet:[27,29],uuid32:[27,29],uuid32_is_complet:[27,29],uuid:[27,28,29,30,32,66,261,263,265,284,286,287],uvp:[84,106],v10:292,v14:270,v25:270,va_arg:215,va_list:[233,236],val:[23,24,39,50,57,58,59,61,99,135,190,207,212,230,231,232,243,264,265,268,274,285,287],valid:[20,39,50,53,57,58,59,61,66,72,90,91,134,141,146,156,158,175,182,183,185,194,213,253,261,277,285,286],valu:[1,4,7,12,20,23,24,27,28,29,30,37,39,42,46,50,53,57,58,59,61,62,64,65,66,68,71,72,75,80,81,82,84,86,90,99,104,105,106,134,135,140,180,181,185,194,206,212,214,216,218,221,229,230,243,244,246,247,249,257,260,261,262,263,264,265,275,279,280,284,285,286,288,289,291,292,294,299],valuabl:279,value1:[50,232],value2:[50,232],valuen:232,vanilla:157,vari:[9,90,102,134],variabl:[1,4,11,24,34,37,50,59,61,62,65,84,90,91,105,135,136,179,206,212,213,214,215,218,226,229,233,236,242,251,259,261,274,279,280,287,288,289,292],variant:[22,101,193],variat:12,varieti:[4,262],variou:[23,24,61,90,134,138,140,187,262,267,274],vdd:286,vector:288,vendor:279,ver:[1,7,55,204,205,242,254,257,266,278,279,280,281,285,286],ver_len:205,ver_str:205,verb:62,verbos:[1,7,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,254,266,278,285],veri:[1,9,31,55,90,105,107,134,185,214,249,252,255,263,268,269,279,286,287,299],verif:22,verifi:[22,57,59,80,82,134,185,187,215,229,247,251,253,269,270,271,273,274,277,286,287],versa:[8,229],version:[1,2,4,6,7,10,11,12,21,22,34,37,39,41,43,47,55,56,60,79,83,85,136,146,185,202,204,205,212,229,232,242,243,247,249,250,254,257,265,266,268,269,270,271,272,273,274,278,282,285,286,288,292,295,298,299,300],via:[8,20,26,42,55,134,136,140,158,160,161,162,167,170,179,180,182,185,186,187,194,218,221,229,230,232,247,257,258,259,261,269,271,274,279,285,286,288,289,291,294],vice:[8,229],vid:270,view:[1,7,10,12,30,50,62,66,216,220,221,229,230,232,250,279,286,291,300],vim:59,vin:288,violat:20,viper:11,virtual:[66,190,193],virtualbox:266,visibl:[2,28],visit:[39,57,58,59],visual:[5,13,250,300],visualstudio:12,vol:22,volatil:270,voltag:[140,142,187,270,286],volum:[29,157],vscode:12,vtref:[269,271,274,286],vvp:[84,106],wai:[2,3,9,21,30,31,59,61,85,88,95,105,106,136,158,193,194,195,212,229,231,252,279,280,281,285,286],wait:[84,86,88,94,95,104,105,142,197,232,246,251,272,274,284,285,286,294],waitin:94,wake:[86,92,95,104,105,218,251],wakeup:218,walk:[93,105,152,156,185,212,286],wall:6,wallclock:[85,106],wanda:81,want:[1,3,11,18,50,57,58,59,60,61,80,83,85,86,90,91,94,95,103,104,105,134,135,136,156,158,175,193,212,213,214,217,230,241,243,244,248,249,253,256,258,259,261,263,264,265,266,267,269,270,271,272,274,275,277,279,285,286,289,299,302],warn:[1,6,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,62,231,261,269,285],warranti:[4,249,250,266,285,286,292,299,300],watch:256,watchdog:[95,103,201],watchpoint:[266,270],wdog:67,wear:256,wear_level_test:[253,277],wearabl:9,web:[242,252],webfreak:12,websit:252,welcom:[8,140,255,278,285,288],well:[8,22,40,55,90,91,102,104,134,135,140,202,233,241,260,274,285,286],were:[29,73,84,90,134,187,229,280,284,285],werror:[6,50],wes:274,west:106,wfi:270,wget:[57,59,80,82],what:[7,8,20,41,55,102,104,141,146,179,180,185,214,215,229,232,245,251,253,259,262,263,264,265,277,280,284,285,286],whatev:[23,104,254,278],wheel:[8,242],when:[1,2,6,7,8,10,12,14,20,22,23,24,26,29,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,61,62,66,72,81,84,85,86,88,89,90,91,92,94,95,99,100,102,103,104,105,106,134,135,136,137,140,146,147,148,151,157,158,160,161,162,166,167,168,170,175,177,179,180,185,193,194,197,199,202,206,209,213,214,215,217,218,219,221,224,227,229,230,231,232,236,238,240,243,246,247,249,251,252,253,256,257,258,259,262,263,264,265,266,269,270,272,273,277,279,280,281,285,286,287,288,289,290,291,292,296,299],whenev:[21,26,140,185,206,217,261,263,292],where:[8,9,10,11,22,29,31,35,37,50,55,59,60,61,83,85,90,91,93,99,101,102,105,134,135,136,146,147,148,151,154,156,185,193,196,200,205,206,212,229,231,232,243,251,254,263,264,265,268,269,274,278,285,286,288,295,298],wherea:[90,280],whether:[10,12,22,84,88,106,134,146,161,194,198,214,215,216,218,219,220,221,230,232,240,253,259,261,263,277,288,290,291,292],which:[1,2,4,8,10,11,14,19,20,21,30,32,34,39,55,57,58,59,61,62,66,80,81,82,84,85,86,90,91,94,95,99,102,103,104,105,107,134,135,140,141,143,146,156,157,158,185,190,193,194,199,202,206,213,215,229,230,231,233,236,239,240,242,247,249,251,253,254,259,260,261,262,263,264,265,266,274,277,278,279,280,285,286,296,299],white:[22,27],whitelist:27,who:10,whole:141,whose:[61,62,185,218],why:[10,251],wide:[21,229],wifi:[7,254,278],wifi_connect:[254,278],wifi_init:278,wifi_request_scan:[254,278],wikipedia:[194,197],winc1500_wifi:[254,278],window:[5,6,7,9,12,27,56,66,78,79,99,136,247,249,254,257,266,268,269,270,271,272,273,274,278,288,295,298,299],winusb:[270,272,298],wipe:150,wire:[8,194,197,274,285,286,298],wireless:21,wish:[6,10,179,180,194,251,279,297],withdraw:10,within:[1,12,20,31,41,55,99,100,102,134,140,146,151,154,156,179,180,185,187,193,204,206,212,215,216,217,221,230,238,251,253,262,272,277,279,285],without:[6,10,22,24,28,30,134,158,167,179,180,185,186,212,221,228,229,230,232,247,253,266,277,285,286,290],wno:6,won:[8,229,286],wonder:286,word:[6,55,90,95,104,134,185,249,250,261,266,279,292,299,300],word_siz:197,work:[2,4,8,10,11,22,24,55,61,62,86,94,95,99,101,102,104,105,134,136,140,141,166,187,230,242,243,248,251,253,256,257,260,266,268,274,277,282,284,285,286,289,291,294],work_stack:251,work_stack_s:251,work_task:251,work_task_handl:251,work_task_prio:251,workaround:10,workspac:[1,2,11,39,57,58,59,60,80,82,83],workspaceroot:12,world:[12,21,200,259,264,265,267,281,302],worri:95,worth:[1,100,285],would:[5,12,58,59,81,82,85,90,95,104,134,136,143,146,187,193,194,209,227,229,230,238,251,253,256,272,274,277,279,280,285,286,294,298],wrap:[106,230,268],wrapper:88,write:[1,9,14,20,28,61,64,65,80,81,82,88,100,134,135,136,140,141,142,146,147,148,152,157,158,163,164,174,176,178,179,180,187,191,193,194,200,202,204,207,208,209,210,212,225,230,236,246,251,255,260,262,263,274,276,285,286,287,294],write_cmd_rx:[76,243],write_cmd_tx:[76,243],write_config:[163,176],write_id:178,write_req_rx:[76,243],write_req_tx:[76,243],write_rsp_rx:[76,243],write_rsp_tx:[76,243],written:[11,20,23,59,82,95,134,146,147,148,151,156,162,163,166,169,175,176,177,179,180,185,261,263,268,280],wrong:[42,286],wsl:[12,59],www:[107,242,249,250,257,266,285,286,292,298,299,300],x86:[4,12],x86_64:[249,250,266,292,299,300],xml:[7,85,88,90,91,92,93,94,103,104,135],xpf:4,xpsr:[266,270,272],xtal_32768:99,xtal_32768_synth:24,xxx:[6,99,141],xxx_branch_0_8_0:[279,280],xxx_branch_1_0_0:[279,280],xxx_branch_1_0_2:[279,280],xxx_branch_1_1_0:[279,280],xxx_branch_1_1_2:[279,280],xxx_branch_1_2_0:[279,280],xxx_branch_1_2_1:[279,280],xxxx:187,xzf:[57,59,60,82,83],yai:285,yaml:11,year:31,yes:[22,274],yesno:27,yet:[7,84,95,102,247,256,279,280,286],yield:95,yml:[1,6,7,41,43,50,52,53,55,61,100,101,107,135,136,141,142,158,179,186,212,214,221,229,230,231,232,242,243,244,246,253,254,256,257,266,268,274,275,277,278,279,281,282,285,286,287,288,292],you:[1,3,4,5,6,7,8,9,10,11,12,18,19,30,33,34,35,39,41,43,45,46,47,50,51,52,53,54,55,57,58,59,60,61,63,64,66,68,76,80,81,82,83,85,88,95,99,100,101,102,107,134,135,136,137,138,140,143,144,146,147,148,152,161,166,167,169,175,177,179,180,186,187,190,193,194,196,206,209,212,213,214,216,217,218,221,222,223,226,227,228,229,230,231,232,238,241,243,244,246,247,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,277,278,279,280,281,284,286,287,288,289,290,291,292,294,295,296,297,298,299,300,302],your:[1,3,4,6,8,10,19,30,39,50,52,55,56,58,59,60,61,70,71,79,81,82,83,85,95,99,100,101,102,103,105,137,138,139,140,141,142,144,146,157,179,187,212,214,221,227,229,231,232,238,244,246,247,248,249,250,252,255,256,257,258,259,260,262,263,264,265,267,268,274,275,280,284,285,286,287,289,290,294,295,297,298,299,300,302],yourself:[2,10,30,95,99,258,285,302],ype:[264,265],yym:6,zadig:[270,272,298],zero:[12,24,90,99,106,150,154,156,163,175,176,181,206,222,224,225,226,232,251,253,254,263,264,265,267,274,277,278,279,292,302],zip:[4,269,286]},titles:["&lt;no title&gt;","Concepts","Everything You Need in a Docker Container","Setup &amp; Get Started","Installing the Cross Tools for ARM","Native Installation","Installing Native Toolchain","Creating Your First Mynewt Project","Using the Serial Port with Mynewt OS","Mynewt Documentation","FAQ","Contributing to Newt or Newtmgr Tools","Developing Mynewt Applications with Visual Studio Code","Appendix","NimBLE Host ATT Client Reference","NimBLE Host GAP Reference","NimBLE Host GATT Client Reference","NimBLE Host GATT Server Reference","NimBLE Host","NimBLE Host Identity Reference","NimBLE Host Return Codes","BLE User Guide","NimBLE Security","Configure device ddress","Configure clock for controller","NimBLE Setup","Respond to <em>sync</em> and <em>reset</em> events","GAP API for btshell","GATT feature API for btshell","Advertisement Data Fields","API for btshell app","Bluetooth Mesh","Sample application","Mynewt Newt Tool Documentation","newt build","newt clean","newt complete","newt create-image","newt debug","newt help","newt info","newt install","newt load","newt mfg","newt new","newt pkg","newt resign-image","newt run","newt size","newt sync","newt target","newt test","newt upgrade","newt vals","newt version","Newt Tool Guide","Install","Installing Newt on Linux","Installing Newt on Mac OS","Installing Newt on Windows","Installing Previous Releases of Newt","Theory of Operations","Command Structure","Mynewt Newt Manager Documentation","Command List","newtmgr config","newtmgr conn","newtmgr crash","newtmgr datetime","newtmgr echo","newtmgr fs","newtmgr image","newtmgr log","newtmgr mpstat","newtmgr reset","newtmgr run","newtmgr stat","newtmgr taskstat","Newt Manager Guide","Install","Installing Newtmgr on Linux","Installing Newtmgr on Mac OS","Installing Newtmgr on Windows","Installing Previous Releases of Newtmgr","Core OS API","Callout","Scheduler","CPU Time","Event Queues","Heap","Mbufs","Memory Pools","Mqueue","Msys","Mutex","Mynewt Core OS","os_init","os_start","os_started","BSP Porting","Porting Mynewt to a new CPU Architecture","Porting Mynewt to a new MCU","Porting Mynewt OS","Sanity","Semaphore","Task","OS Time","Baselibc","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","Bootloader","Config","Console","Customizing Newt Manager Usage with mgmt","Newt Manager","Using the OIC Framework","Drivers","flash","mmc","elua","lua_init","lua_main","Flash Circular Buffer (FCB)","fcb_append","fcb_append_finish","fcb_append_to_scratch","fcb_clear","fcb_getnext","fcb_init","fcb_is_empty","fcb_offset_last_n","fcb_rotate","fcb_walk","The FAT File System","File System Abstraction","fs_close","fs_closedir","fs_dirent_is_dir","fs_dirent_name","fs_filelen","fs_getpos","fs_mkdir","fs_open","fs_opendir","struct fs_ops","fs_read","fs_readdir","fs_register","fs_rename","fs/fs Return Codes","fs_seek","fs_unlink","fs_write","fsutil_read_file","fsutil_write_file","Newtron Flash Filesystem (nffs)","struct nffs_area_desc","struct nffs_config","nffs_detect","nffs_format","nffs_init","Internals of nffs","Other File Systems","Hardware Abstraction Layer","HAL Interfaces","hal_bsp","Creating New HAL Interfaces","hal_flash","hal_flash_int","hal_gpio","hal_i2c","Using HAL in Your Libraries","hal_os_tick","hal_spi","hal_system","hal_timer","hal_uart","hal_watchdog","Image Manager","imgmgr_module_init","imgr_ver_parse","imgr_ver_str","JSON","json_encode_object_entry","json_encode_object_finish","json_encode_object_key","json_encode_object_start","json_read_object","Logging","Sensor API","Creating and Configuring a Sensor Device","Sensor Device Driver","Mynewt Sensor Framework Overview","Sensor Listener API","Sensor Manager API","OIC Sensor Support","Sensor Shell Command","Shell","shell_cmd_register","shell_evq_set","shell_nlip_input_register","shell_nlip_output","shell_register","shell_register_app_cmd_handler","shell_register_default_module","Split Images","Statistics Module","Validation and Error Messages","System Configuration and Initialization","TEST_ASSERT","TEST_CASE","TEST_CASE_DECL","TEST_PASS","TEST_SUITE","testutil","tu_init","tu_restart","OS User Guide","Blinky, your \u201cHello World!\u201d, on STM32F303 Discovery","Enabling Newt Manager in Your Application","How to Reduce Application Code Size","How to Define a Target","How to Use Event Queues to Manage Multiple Events","Over-the-Air Image Upgrade","Pin Wheel Modifications to \u201cBlinky\u201d on STM32F3 Discovery","SEGGER RTT Console","SEGGER SystemView","Tasks and Priority Management","Try Markdown","Write a Test Suite for a Package","Enable Wi-Fi on Arduino MKR1000","Bluetooth Low Energy","Set up a bare bones NimBLE application","Use HCI access to NimBLE controller","BLE Peripheral Project","Advertising","BLE Peripheral App","Characteristic Access","GAP Event callbacks","Service Registration","BLE Eddystone","BLE iBeacon","Blinky, your \u201cHello World!\u201d, on Arduino Zero","Project Blinky","Enabling The Console and Shell for Blinky","Blinky, your \u201cHello World!\u201d, on Arduino Primo","Blinky, your \u201cHello World!\u201d, on STM32F4-Discovery","Blinky, your \u201cHello World!\u201d, on a nRF52 Development Kit","Blinky, your \u201cHello World!\u201d, on Olimex","Blinky, your \u201cHello World!\u201d, on RedBear Nano 2","LoRaWAN App","How to Reduce Application Code Size","Other","Write a Test Suite for a Package","Enable Wi-Fi on Arduino MKR1000","Adding Repositories to your Project","Create a Repo out of a Project","Accessing a private repository","Upgrade a repo","Air Quality Sensor Project","Air quality sensor project via Bluetooth","Air quality sensor project","Adding an Analog Sensor on nRF52","Adding OIC Sensor Support to the bleprph_oic Application","Enabling an Off-Board Sensor in an Existing Application","Enabling OIC Sensor Data Monitoring in the sensors_test Application","Changing the Default Configuration for a Sensor","Enabling OIC Sensor Data Monitoring","Developing an Application for an Onboard Sensor","Sensors","Sensor Tutorials Overview","Project Slinky using the Nordic nRF52 Board","Project Sim Slinky","Project Slinky","Project Slinky Using Olimex Board","SEGGER RTT Console","SEGGER SystemView","Tooling","Tutorials"],titleterms:{"abstract":[158,187],"default":[251,268,290],"function":[99,106,107,143,146,202,206,213,215,217,218,232,238,251,261,263,287,290],"import":242,"new":[7,44,100,101,185,190,260,290,292,295,296,298],"public":23,"return":[20,96,97,98,142,144,145,147,148,149,150,151,152,153,154,155,156,159,160,161,162,163,164,165,166,167,169,170,171,172,173,174,175,176,177,178,182,183,184,203,204,205,207,208,209,210,211,222,223,224,225,226,227,228,233,234,235,236,237,239,240],"switch":[107,251],"try":[252,253,277],Adding:[58,81,230,279,286,287,290,292],For:4,The:[157,268],Use:[2,243,246,257,268,285,292,295,298],Used:213,Uses:212,Using:[8,57,80,90,92,136,139,195,288,292,298],acceleromet:290,access:[257,261,281],adafruit:10,adc:286,add:[66,99,264,265,284,285,286,287,292],addit:[279,286],address:[19,23,30,264,265],administr:10,advertis:[27,29,30,259,264,265],air:[247,283,284,285],all:246,ambigu:231,analog:286,apach:[9,31],api:[27,28,30,84,85,86,87,88,89,90,91,92,93,94,103,104,135,136,157,158,179,186,190,212,213,217,218,292],app:[9,30,61,229,250,257,260,274,292,294,300],app_get_light:287,app_set_light:287,appendix:[13,99],applic:[7,12,32,95,212,213,214,229,242,243,244,246,251,254,256,257,264,265,266,268,269,270,271,272,273,274,275,278,286,287,288,289,290,292,295,298],apt:[57,80],architectur:100,arduino:[8,254,266,269,278],area:[179,185,231],argument:[96,97,98,144,145,147,148,149,150,151,152,153,154,155,156,159,160,161,162,163,164,165,166,167,169,170,171,172,174,175,176,177,178,182,183,203,204,205,207,208,209,210,211,222,223,224,225,226,228,233,234,235,236,237,239,240],arm:4,artifact:61,assert:[253,277],assign:231,associ:12,att:[14,20],attach:257,attribut:[30,263],autocomplet:36,avail:[27,28,39,43,50,267,279,294,297],bare:256,baselibc:107,bash:36,basic:95,beacon:[264,265],bearer:31,begin:[30,259],being:261,belong:30,between:[254,278],binari:[57,59,80,82],bit:6,ble:[21,256,258,260,264,265,286,287],blehci:257,bleprph_gap_ev:262,bleprph_oic:287,blink:242,blink_rigado:48,blinki:[7,193,242,248,266,267,268,269,270,271,272,273],block:185,bluetooth:[21,31,255,257,284],bluez:257,bno055:288,bno055_log:215,bno055_stat:215,board:[102,214,254,266,269,270,271,272,273,274,278,286,287,288,289,295,298],bone:256,boot:[134,229],bootload:[134,254,257,266,269,270,271,272,273,274,278,288,292,295,298],branch:[58,81],brew:6,bsp:[53,99,102,231],btmgmt:257,btmon:257,btshell:[27,28,30],buffer:146,bug:10,build:[7,9,12,34,55,61,242,243,248,251,254,256,257,266,268,269,270,271,272,273,274,278,286,287,288,289,290,292,295,296,298],cach:185,call:290,callback:262,callout:[85,246],can:10,cannot:290,categori:302,chang:[33,63,290],channel:27,characterist:[30,258,261],check:[57,58,59,80,81,82,99,103,134,218],choos:[253,277],circular:146,clean:35,clear:273,cli:[135,285],client:[14,16],clock:24,close:274,code:[10,12,20,99,100,173,230,244,253,275,277],collect:185,command:[12,27,28,39,43,50,62,64,66,138,215,220,221,243,257,285,296],committ:10,commun:[8,243,268],compil:100,complet:[36,221],compon:[21,279],comput:[57,80,254,278,288,292],concept:[1,229],conclus:[256,264,265,286],condit:232,config:[65,135],configur:[1,12,23,24,27,28,30,135,157,212,213,214,215,218,231,232,242,243,264,265,268,290],conflict:232,congratul:[253,277],conn:66,connect:[27,30,243,247,249,254,257,266,268,269,270,271,272,273,274,278,286,287,288,289,292,295,296,298,299],consider:251,consol:[136,221,230,249,254,268,278,288,292,299],contain:2,content:[33,63],context:251,contribut:11,control:[24,257,264,265,287,288,289,294],copi:[99,287],core:[20,84,95,102],cpu:[84,87,100,102],crash:67,creat:[7,37,90,99,100,190,214,242,243,247,253,254,256,257,260,264,265,266,269,270,271,272,273,274,277,278,280,285,286,287,288,289,292,295,296,298],creation:95,cross:4,crystal:24,current:229,custom:[103,137,243],data:[29,85,87,88,89,90,91,92,94,103,104,106,143,146,158,179,185,194,202,206,213,215,217,218,221,238,259,274,287,288,289,290,291,292],datetim:68,ddress:23,debian:[57,80],debug:[12,38,61,99],debugg:[4,12],declar:230,decod:206,defin:[12,99,215,230,245],definit:[189,191,192,193,194,196,197,198,199,200,201,231,232],delet:[66,287],depend:[7,61,99,102,141,142,186,187,242,243,268,280,287,292],descript:[34,35,37,38,40,41,42,43,44,45,46,47,48,49,50,51,52,53,65,66,67,68,69,70,71,72,73,74,75,76,77,85,86,87,88,89,91,94,102,103,104,105,106,107,136,140,143,146,157,158,179,187,189,191,192,193,194,196,197,198,199,200,201,202,206,221,229,238,288],descriptor:[30,258,263,279],design:[140,187],detail:230,detect:185,determin:261,develop:[12,271,292],devic:[2,23,27,30,135,213,214,215,247,257,287,288,289,290,294],direct:30,directori:[61,185],disabl:27,discov:30,discoveri:[27,242,248,270],disk:185,disk_op:158,displai:30,docker:2,document:[10,33,63],doe:279,download:[11,57,61,80,99,242,248,274,286],driver:[140,213,215,285,286,290],duplic:231,echo:69,eddyston:264,edit:10,editor:10,elua:143,empti:[264,265],emul:288,enabl:[2,27,36,221,229,230,243,254,268,278,287,288,289,291,292],encod:206,endif:[214,215],energi:255,enhanc:179,enter:256,environ:11,equip:251,eras:269,error:231,establish:[30,254,257,278],etap:286,event:[26,88,246,262,268],everyth:[2,274,286],exampl:[8,20,21,26,34,35,37,38,39,43,44,45,46,47,48,50,51,53,54,65,66,67,68,69,70,71,72,73,74,75,76,77,95,135,140,141,142,144,145,147,148,149,150,151,152,153,154,155,156,157,159,160,161,162,163,165,166,167,169,170,172,174,175,176,177,178,182,183,187,189,191,192,193,196,198,199,200,201,204,205,207,208,209,210,211,222,224,225,227,228,231,232,233,234,235,237,238,239,240,246],execut:[6,242,248,249,250,269,270,271,273,274,286,296,299,300],exist:[243,268,279,288],explor:7,express:231,extend:[27,292],extens:[2,12],extern:[242,254,266,278],faq:10,fat:157,fcb:146,fcb_append:147,fcb_append_finish:148,fcb_append_to_scratch:149,fcb_clear:150,fcb_getnext:151,fcb_init:152,fcb_is_empti:153,fcb_offset_last_n:154,fcb_rotat:155,fcb_walk:156,featur:[7,10,21,22,28,31,95],fetch:[7,254,266,278],field:29,file:[99,141,142,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,180,181,182,183,184,185,186,230,235,280,287,290,292],filesystem:[158,179],fill:99,find:279,first:[7,9],flag:[34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,65,66,67,68,69,70,71,72,73,74,75,76,77],flash:[99,134,141,146,179,185,231,269,273],format:[134,185],framework:[139,215,216,243,291],from:[57,58,59,80,81,82,136,287,289,290],fs_close:159,fs_closedir:160,fs_dirent_is_dir:161,fs_dirent_nam:162,fs_filelen:163,fs_getpo:164,fs_mkdir:165,fs_op:168,fs_open:166,fs_opendir:167,fs_read:169,fs_readdir:170,fs_regist:171,fs_renam:172,fs_seek:174,fs_unlink:175,fs_write:176,fsutil_read_fil:177,fsutil_write_fil:178,ft232h:8,full:136,futur:179,gap:[15,27,262],garbag:185,gatt:[16,17,28,284],gcc:6,gdb:6,gener:[22,30,140,187,232,246],get:[3,57,80,215],git:[10,59],global:[34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,65,66,67,68,69,70,71,72,73,74,75,76,77],guarante:262,guid:[21,55,78,241],hal:[102,188,190,195,285],hal_bsp:189,hal_flash:191,hal_flash_int:192,hal_gpio:193,hal_i2c:194,hal_os_tick:196,hal_spi:197,hal_system:198,hal_tim:199,hal_uart:200,hal_watchdog:201,handler:[135,212,221],hardcod:23,hardwar:[23,187,242,249,250,274,286,288,299,300],have:10,hci:[20,257],header:[14,15,16,17,19,20,90,141,142,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,180,181,182,183,184,186,230,287,290],heading3:252,heading4:252,heap:89,hello:[242,266,269,270,271,272,273],help:[39,221],high:134,hold:230,homebrew:[58,81],host:[14,15,16,17,18,19,20,264,265],how:[10,107,232,244,245,246,275,279,287,290],ibeacon:265,ident:19,identifi:279,ignor:231,imag:[10,37,46,71,134,202,229,242,243,247,248,254,257,269,270,271,272,273,274,278,286,287,288,289,290,292,295,298],imgmgr_module_init:203,imgr_ver_pars:204,imgr_ver_str:205,implement:[100,140,212,215,230],includ:[30,215,230,263],indefinit:[264,265],info:40,inform:221,initi:[30,141,142,179,213,215,230,232,251,290],inod:185,input:[136,221],instal:[2,4,5,6,11,12,36,41,56,57,58,59,60,79,80,81,82,83,242,274,286],instead:292,integr:134,interfac:[186,188,190,213],intern:[179,185],interrupt:246,introduct:[9,14,15,16,17,18,19,20,31,55,99,246,253,258,277],invalid:231,invok:138,issu:10,join:274,json:206,json_encode_object_entri:207,json_encode_object_finish:208,json_encode_object_kei:209,json_encode_object_start:210,json_read_object:211,kei:[22,27],kit:271,l2cap:[20,27],laptop:10,latest:[57,58,59,80,81,82],launch:[250,300],layer:187,led:[242,248],legaci:27,level:[134,212,247],libc:6,librari:[195,242],like:10,limit:134,line:221,link:4,linker:99,linux:[2,4,6,8,11,57,60,80,83],lis2dh12_onb:214,list:[10,64,107,143,146,202,206,213,217,218,229,238,252,264,265,288,292],listen:[217,292],load:[42,243,254,257,266,269,270,271,272,273,278,287,288,289,290,292,295,298],loader:229,log:[72,212,215,247],look:218,lorawan:274,low:255,lua_init:144,lua_main:145,mac:[2,4,6,8,11,58,60,81,83],macro:106,main:[251,268,287,290,292],make:10,manag:[9,10,20,55,63,78,137,138,202,218,243,246,251],manual:[57,80],map:[99,134],markdown:252,master:[58,81],mbuf:90,mcu:[99,101,102],measur:179,memori:[91,273],merg:10,mesh:[21,31],messag:231,method:[23,57,80],mfg:43,mgmt:137,mingw:59,minim:136,miscellan:179,mkr1000:[254,278],mmc:142,model:31,modif:248,modifi:[243,268,287,292],modul:[221,230],monitor:[257,289,291],more:[55,242],move:185,mpstat:73,mqueue:92,msy:93,msys2:59,multipl:[12,158,230,231,246],mutex:94,my_sensor_app:292,mynewt:[2,7,8,9,10,12,23,31,33,58,63,81,95,99,100,101,102,136,216,256,279,287,289,294],mynewt_v:[214,215],name:[30,221,230,232],nano:273,nativ:[5,6],need:[2,242,248,249,250,274,279,285,286,288,299,300],newt:[2,9,10,11,12,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,60,63,78,137,138,243],newtmgr:[11,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82,83,138,221,230,243,247,295,296,298],newtron:179,next:[6,288],nff:[179,185],nffs_area_desc:180,nffs_config:181,nffs_detect:182,nffs_format:183,nffs_init:184,nimbl:[14,15,16,17,18,19,20,21,22,25,256,257,264,265],node:31,nordic:[8,295],normal:90,note:[55,96,97,106,143,144,145,147,148,149,150,151,152,153,154,155,156,159,162,164,165,166,167,171,172,174,176,177,180,181,203,204,205,223,230,233,236,286],notnul:231,nrf52:[271,286,288,295],nrf52_adc:286,nrf52dk:[8,10],nrf:23,object:[185,213,242,248,249,250,267,274,286,299,300],off:[214,288],oic:[139,219,287,289,291,294],oicmgr:243,olimex:[272,298],omgr_app_init:287,onboard:[214,292],onto:[254,266,278],open:[257,274],openocd:4,oper:[55,61,134,194,197,229],option:[243,269],orient:27,os_init:96,os_start:[97,98],ota:274,other:[7,12,186,243,276,280],out:[253,277,279,280],output:[48,53,136],over:[221,247],overrid:[231,232],overview:[64,216,258,259,260,262,267,287,290,291,294,297],own:10,pack:2,packag:[1,7,57,61,80,99,102,136,186,212,213,216,231,232,243,253,254,256,266,277,278,285,287,288,292],packet:90,passiv:30,patch:10,peer:[20,30],perform:30,peripher:[258,260],persist:135,pin:248,pkg:[45,99],platform:[8,187],poll:[213,218],pool:[90,91],port:[8,99,100,101,102,274],preempt:251,prerequisit:[7,243,246,247,251,254,257,260,266,267,268,269,270,271,272,273,278,287,288,289,290,291,292,294,295,296,297,298,302],preview:[33,63],previou:[60,83],primo:269,principl:[140,187],prioriti:[231,251],privaci:22,privat:281,pro:8,process:[221,268],produc:[6,61],profil:[243,247,296],project:[1,7,10,12,21,242,243,254,256,257,258,266,267,268,269,270,271,272,273,274,278,279,280,283,284,285,286,295,296,297,298],prompt:221,protect:273,protocol:[221,243,264,265],provis:31,pull:[2,10],put:246,qualiti:[283,284,285],queri:[295,298],question:10,queue:[88,246,268],ram:185,random:23,rate:213,rational:55,read:[30,213,215,261,290,292],reboot:290,rebuild:[11,292],reconfigur:214,recoveri:134,redbear:273,reduc:[10,244,247,275],refer:[14,15,16,17,19,20,232],referenc:232,regist:[103,186,215,218,221,230,288],registr:263,releas:[57,58,59,60,80,81,82,83],renam:185,repo:[279,280,282],repositori:[7,10,55,279,280,281,286],represent:185,request:10,requir:99,reset:[26,74,134],resign:46,resolut:280,resolv:[61,232,280],respond:26,restrict:231,retriev:[229,230],review:[251,261],round:248,rtt:[249,292,299],run:[7,12,47,75,249,250,266,268,296,299,300],runtim:[23,135],safeti:158,sampl:[32,288,290],saniti:103,satisfi:99,scale:[253,277],scan:30,schedul:[84,86],scratch:185,script:[2,99],section:230,secur:[20,22,27],segger:[4,249,250,299,300],select:2,semaphor:104,semiconductor:8,send:[30,257,274],sensor:[213,214,215,216,217,218,219,220,283,284,285,286,287,288,289,290,291,292,293,294],sensor_read:292,sensors_test:289,sequenc:229,serial:[8,221,254,257,268,278,295,298],server:17,servic:[30,258,263,284,286],set:[6,11,30,57,80,99,212,213,215,231,232,243,256,259,263,268,285,287,290,296],settl:24,setup:[3,8,25,249,250,254,278,299,300],shell:[215,220,221,268,292],shell_cmd_regist:222,shell_evq_set:223,shell_nlip_input_regist:224,shell_nlip_output:225,shell_regist:226,shell_register_app_cmd_handl:227,shell_register_default_modul:228,should:280,show:[30,66],sign:[134,242,254,269,270,271,272,273,274,278,286,295,298],signatur:261,sim:296,simul:7,singl:229,size:[10,48,244,275],skeleton:292,slinki:[295,296,297,298],slot:134,smart:[287,289,294],softwar:[10,250,300],some:10,sourc:[7,11,55,57,59,80,82,243,264,265,285,287],space:185,special:106,specif:[100,280],specifi:[186,232],split:229,stack:[251,264,265],start:[3,254,257,278],startup:99,stat:[76,215,230],state:[134,135,229],statist:230,statu:134,step:[11,247,267,287,288,289,290,292,297],stm32f303:242,stm32f3:[242,248],stm32f4:270,storag:27,struct:[158,168,180,181],structur:[62,85,87,88,89,90,91,92,94,103,104,106,143,146,158,179,185,202,206,213,217,218,221,238],stub:136,studio:12,stuff:285,sub:66,submit:10,suit:[253,277],summari:20,support:[2,31,61,102,158,187,216,219,242,243,287,288,291,292],swap:134,sync:[26,49,264,265],syscfg:[212,229,232,287],sysinit_app:232,system:[24,55,157,158,186,231,232],systemview:[250,300],tabl:230,talk:[254,278],tap:[58,81],target:[1,23,50,61,99,242,243,245,248,249,250,254,256,257,260,266,268,269,270,271,272,273,274,278,286,288,292,295,296,298,299,300],task:[12,84,103,105,231,246,251,286],taskstat:77,tcp:[254,278],templat:99,termin:288,test:[7,51,99,253,277,285],test_assert:233,test_cas:[234,235],test_case_decl:235,test_pass:236,test_suit:237,testutil:238,theori:[61,194,197,229],thingi:292,thread:158,through:230,time:[24,84,87,106],timer:[246,268],togeth:246,tool:[4,11,33,55,59,82,301],toolchain:[4,6],topolog:31,transport:[221,243],tree:285,tu_init:239,tu_restart:240,tutori:[229,267,294,297,302],type:[213,215,218,288],undefin:231,under:[253,277],undirect:30,unifi:229,unlink:185,updat:11,upgrad:[52,57,58,80,81,229,247,282],upload:268,usag:[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,65,66,67,68,69,70,71,72,73,74,75,76,77,137,146],usb2:2,use:[10,57,80,90,95,279],user:[21,241],using:[10,55,295,298],val:53,valid:231,valu:[96,97,98,142,144,145,147,148,149,150,151,152,153,154,155,156,159,160,161,162,163,164,165,166,167,169,170,171,172,174,175,176,177,178,182,183,184,203,204,205,207,208,209,210,211,213,215,222,223,224,225,226,227,228,231,232,233,234,235,236,237,239,240,287,290],variabl:230,vector:134,verif:[134,290],verifi:290,version:[54,57,58,59,80,81,82,279,280],via:[254,278,284,292],view:[287,288,289,292],violat:231,virtualbox:2,visual:12,wait:[264,265],want:[10,242],watch:[242,248],water:286,welcom:9,what:[10,242,248,279],wheel:248,where:280,why:[90,95,279],window:[2,4,8,11,59,60,82,83],work:12,workspac:12,world:[242,266,269,270,271,272,273],would:10,wrapper:2,write:[30,33,63,185,253,261,273,277],yml:[99,280],you:[2,242,248,285],your:[2,7,9,11,12,57,80,186,195,230,242,243,251,253,254,266,269,270,271,272,273,277,278,279,288,292,296],zero:266}})
\ No newline at end of file
diff --git a/develop/tutorials/ble/ble.html b/develop/tutorials/ble/ble.html
index 544c5f5d9..c61febe8f 100644
--- a/develop/tutorials/ble/ble.html
+++ b/develop/tutorials/ble/ble.html
@@ -235,6 +235,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/ble/ble_bare_bones.html b/develop/tutorials/ble/ble_bare_bones.html
index e420a9cf4..10200e066 100644
--- a/develop/tutorials/ble/ble_bare_bones.html
+++ b/develop/tutorials/ble/ble_bare_bones.html
@@ -237,6 +237,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/ble/blehci_project.html b/develop/tutorials/ble/blehci_project.html
index a475fa57d..1cede9531 100644
--- a/develop/tutorials/ble/blehci_project.html
+++ b/develop/tutorials/ble/blehci_project.html
@@ -237,6 +237,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-adv.html b/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-adv.html
index 7b3fb3749..4ecdb2424 100644
--- a/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-adv.html
+++ b/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-adv.html
@@ -246,6 +246,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../../../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../../../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../../../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-app.html b/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-app.html
index 7972ea350..c8fc1c222 100644
--- a/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-app.html
+++ b/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-app.html
@@ -246,6 +246,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../../../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../../../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../../../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-chr-access.html b/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-chr-access.html
index e7889b82d..b1a47c7bc 100644
--- a/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-chr-access.html
+++ b/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-chr-access.html
@@ -246,6 +246,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../../../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../../../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../../../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-gap-event.html b/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-gap-event.html
index 369b418b3..477c1ab63 100644
--- a/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-gap-event.html
+++ b/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-gap-event.html
@@ -246,6 +246,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../../../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../../../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../../../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-svc-reg.html b/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-svc-reg.html
index 925e9871e..8a94d3c62 100644
--- a/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-svc-reg.html
+++ b/develop/tutorials/ble/bleprph/bleprph-sections/bleprph-svc-reg.html
@@ -246,6 +246,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../../../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../../../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../../../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/ble/bleprph/bleprph.html b/develop/tutorials/ble/bleprph/bleprph.html
index 53da406ad..b0240af9d 100644
--- a/develop/tutorials/ble/bleprph/bleprph.html
+++ b/develop/tutorials/ble/bleprph/bleprph.html
@@ -244,6 +244,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/ble/eddystone.html b/develop/tutorials/ble/eddystone.html
index e0c032e7a..808ce6717 100644
--- a/develop/tutorials/ble/eddystone.html
+++ b/develop/tutorials/ble/eddystone.html
@@ -237,6 +237,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/ble/ibeacon.html b/develop/tutorials/ble/ibeacon.html
index 12c24b9c5..c2d3ee22a 100644
--- a/develop/tutorials/ble/ibeacon.html
+++ b/develop/tutorials/ble/ibeacon.html
@@ -237,6 +237,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/blinky/arduino_zero.html b/develop/tutorials/blinky/arduino_zero.html
index f6445c8a1..0b5265615 100644
--- a/develop/tutorials/blinky/arduino_zero.html
+++ b/develop/tutorials/blinky/arduino_zero.html
@@ -239,6 +239,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/blinky/blinky.html b/develop/tutorials/blinky/blinky.html
index 86bfdf1cf..b18a87b02 100644
--- a/develop/tutorials/blinky/blinky.html
+++ b/develop/tutorials/blinky/blinky.html
@@ -237,6 +237,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/blinky/blinky_console.html b/develop/tutorials/blinky/blinky_console.html
index adfb8ef09..d476e1d56 100644
--- a/develop/tutorials/blinky/blinky_console.html
+++ b/develop/tutorials/blinky/blinky_console.html
@@ -239,6 +239,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/blinky/blinky_primo.html b/develop/tutorials/blinky/blinky_primo.html
index 626dd0b9a..a18621b3d 100644
--- a/develop/tutorials/blinky/blinky_primo.html
+++ b/develop/tutorials/blinky/blinky_primo.html
@@ -239,6 +239,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/blinky/blinky_stm32f4disc.html b/develop/tutorials/blinky/blinky_stm32f4disc.html
index 3dcccecb7..0ebe99b42 100644
--- a/develop/tutorials/blinky/blinky_stm32f4disc.html
+++ b/develop/tutorials/blinky/blinky_stm32f4disc.html
@@ -239,6 +239,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/blinky/nRF52.html b/develop/tutorials/blinky/nRF52.html
index 5996608e9..df437f550 100644
--- a/develop/tutorials/blinky/nRF52.html
+++ b/develop/tutorials/blinky/nRF52.html
@@ -239,6 +239,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/blinky/olimex.html b/develop/tutorials/blinky/olimex.html
index 486579657..164abb542 100644
--- a/develop/tutorials/blinky/olimex.html
+++ b/develop/tutorials/blinky/olimex.html
@@ -239,6 +239,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/blinky/rbnano2.html b/develop/tutorials/blinky/rbnano2.html
index deead1335..5e9c635bc 100644
--- a/develop/tutorials/blinky/rbnano2.html
+++ b/develop/tutorials/blinky/rbnano2.html
@@ -239,6 +239,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/lora/lorawanapp.html b/develop/tutorials/lora/lorawanapp.html
index 403b8804a..9b615d8b4 100644
--- a/develop/tutorials/lora/lorawanapp.html
+++ b/develop/tutorials/lora/lorawanapp.html
@@ -228,6 +228,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2 current"><a class="current reference internal" href="#">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/other/codesize.html b/develop/tutorials/other/codesize.html
new file mode 100644
index 000000000..a41051ebc
--- /dev/null
+++ b/develop/tutorials/other/codesize.html
@@ -0,0 +1,394 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>How to Reduce Application Code Size &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/>
+          <link rel="up" title="Other" href="other.html"/>
+          <link rel="next" title="Write a Test Suite for a Package" href="unit_test.html"/>
+          <link rel="prev" title="Other" href="other.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+      <a href="../tutorials.html">Tutorials</a> /
+    
+      <a href="other.html">Other</a> /
+    
+    How to Reduce Application Code Size
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-documentation/edit/master/docs/tutorials/other/codesize.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../tutorials.html">Tutorials</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../blinky/blinky.html">Project Blinky</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../repo/add_repos.html">Working with repositories</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../slinky/project-slinky.html">Project Slinky for Remote Comms</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../ble/ble.html">Bluetooth Low Energy</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="other.html">Other</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" href="#">How to reduce Application Code Size</a></li>
+<li class="toctree-l3"><a class="reference internal" href="unit_test.html">Write a Test Suite for a Package</a></li>
+<li class="toctree-l3"><a class="reference internal" href="wi-fi_on_arduino.html">Enable Wi-Fi on Arduino MKR1000</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="how-to-reduce-application-code-size">
+<h1>How to Reduce Application Code Size<a class="headerlink" href="#how-to-reduce-application-code-size" title="Permalink to this headline">?</a></h1>
+<p>Gettng your application to fit in an image slot can be challenging,
+particularly on flash constrained hardware such as the nRF51. Below are
+some suggested system configuration settings that reduce the code size
+of your Mynewt image.</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="35%" />
+<col width="65%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Setting</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>LOG_LEVEL: 255</td>
+<td>Disable all logging.</td>
+</tr>
+<tr class="row-odd"><td>LOG_CLI: 0</td>
+<td>Disable log shell commands.</td>
+</tr>
+<tr class="row-even"><td>STATS_CLI: 0</td>
+<td>Disable stats shell commands.</td>
+</tr>
+<tr class="row-odd"><td>SHELL_TASK: 0</td>
+<td>Disable the interactive shell.</td>
+</tr>
+<tr class="row-even"><td>SHELL_OS_MODULE: 0</td>
+<td>Disable memory management shell commands.</td>
+</tr>
+<tr class="row-odd"><td>SHELL_CMD_HELP: 0</td>
+<td>Disable help for shell commands.</td>
+</tr>
+</tbody>
+</table>
+<p>You can use the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">set</span></code> command to set the syscfg settings
+in the <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file for the target. See the <a class="reference internal" href="../../newt/command_list/newt_target.html"><span class="doc">Newt Tool Command
+Guide</span></a> for the command syntax.</p>
+<p><strong>Note:</strong> The <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">set</span></code> command deletes all the current syscfg
+settings in the target <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file and only sets the syscfg
+settings specified in the command. If you are experimenting with
+different settings to see how they affect the code size and do not want
+to reenter all the setting values in the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">set</span></code> command,
+you can use the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">amend</span></code> command. This command adds or
+updates only the settings specified in the command and does not
+overwrite other setting values. While you can also edit the target
+<code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file directly, we recommend that you use the
+<code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span></code> commands.</p>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
+      
+        <a href="unit_test.html" class="btn btn-neutral float-right" title="Write a Test Suite for a Package" accesskey="n">Next: Write a Test Suite for a Package <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="other.html" class="btn btn-neutral" title="Other" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Other</a>
+      
+    </div>
+
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/tutorials/other/other.html b/develop/tutorials/other/other.html
new file mode 100644
index 000000000..9a27c7b87
--- /dev/null
+++ b/develop/tutorials/other/other.html
@@ -0,0 +1,351 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Other &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/>
+          <link rel="up" title="Tutorials" href="../tutorials.html"/>
+          <link rel="next" title="How to Reduce Application Code Size" href="codesize.html"/>
+          <link rel="prev" title="SEGGER SystemView" href="../tooling/segger_sysview.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+      <a href="../tutorials.html">Tutorials</a> /
+    
+    Other
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-documentation/edit/master/docs/tutorials/other/other.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../tutorials.html">Tutorials</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../blinky/blinky.html">Project Blinky</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../repo/add_repos.html">Working with repositories</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../slinky/project-slinky.html">Project Slinky for Remote Comms</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../ble/ble.html">Bluetooth Low Energy</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Other</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="codesize.html">How to reduce Application Code Size</a></li>
+<li class="toctree-l3"><a class="reference internal" href="unit_test.html">Write a Test Suite for a Package</a></li>
+<li class="toctree-l3"><a class="reference internal" href="wi-fi_on_arduino.html">Enable Wi-Fi on Arduino MKR1000</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="other">
+<h1>Other<a class="headerlink" href="#other" title="Permalink to this headline">?</a></h1>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="codesize.html">How to reduce Application Code Size</a></li>
+<li class="toctree-l1"><a class="reference internal" href="unit_test.html">Write a Test Suite for a Package</a></li>
+<li class="toctree-l1"><a class="reference internal" href="wi-fi_on_arduino.html">Enable Wi-Fi on Arduino MKR1000</a></li>
+</ul>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
+      
+        <a href="codesize.html" class="btn btn-neutral float-right" title="How to Reduce Application Code Size" accesskey="n">Next: How to Reduce Application Code Size <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../tooling/segger_sysview.html" class="btn btn-neutral" title="SEGGER SystemView" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: SEGGER SystemView</a>
+      
+    </div>
+
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/tutorials/other/unit_test.html b/develop/tutorials/other/unit_test.html
new file mode 100644
index 000000000..fb6ee1ea6
--- /dev/null
+++ b/develop/tutorials/other/unit_test.html
@@ -0,0 +1,675 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Write a Test Suite for a Package &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/>
+          <link rel="up" title="Other" href="other.html"/>
+          <link rel="next" title="Enable Wi-Fi on Arduino MKR1000" href="wi-fi_on_arduino.html"/>
+          <link rel="prev" title="How to Reduce Application Code Size" href="codesize.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+      <a href="../tutorials.html">Tutorials</a> /
+    
+      <a href="other.html">Other</a> /
+    
+    Write a Test Suite for a Package
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-documentation/edit/master/docs/tutorials/other/unit_test.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../tutorials.html">Tutorials</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../blinky/blinky.html">Project Blinky</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../repo/add_repos.html">Working with repositories</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../slinky/project-slinky.html">Project Slinky for Remote Comms</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../ble/ble.html">Bluetooth Low Energy</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="other.html">Other</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="codesize.html">How to reduce Application Code Size</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Write a Test Suite for a Package</a></li>
+<li class="toctree-l3"><a class="reference internal" href="wi-fi_on_arduino.html">Enable Wi-Fi on Arduino MKR1000</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="write-a-test-suite-for-a-package">
+<h1>Write a Test Suite for a Package<a class="headerlink" href="#write-a-test-suite-for-a-package" title="Permalink to this headline">?</a></h1>
+<p>This document guides the reader through creating a test suite for a
+Mynewt package.</p>
+<div class="section" id="introduction">
+<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">?</a></h2>
+<p>Writing a test suite involves using the
+<span class="xref std std-doc">test/testutil</span> package. The
+testutil library provides the functionality needed to define test suites
+and test cases.</p>
+</div>
+<div class="section" id="choose-your-package-under-test">
+<h2>Choose Your Package Under Test<a class="headerlink" href="#choose-your-package-under-test" title="Permalink to this headline">?</a></h2>
+<p>Choose the package you want to write a test suite for. In this tutorial,
+we will use the <code class="docutils literal notranslate"><span class="pre">time/datetime</span></code> in the apache-mynewt-core repo.
+Throughout this tutorial, we will be inside the apache-mynewt-core repo
+directory, unlike most tutorials which operate from the top-level
+project directory.</p>
+</div>
+<div class="section" id="create-a-test-package">
+<h2>Create A Test Package<a class="headerlink" href="#create-a-test-package" title="Permalink to this headline">?</a></h2>
+<p>Typically, a library has only one test package. The convention is name
+the test package by appending <code class="docutils literal notranslate"><span class="pre">/test</span></code> to the host library name. For
+example, the test package for <code class="docutils literal notranslate"><span class="pre">encoding/json</span></code> is
+<code class="docutils literal notranslate"><span class="pre">encoding/json/test</span></code>. The directory structure of the json package is
+shown below:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">encoding/json</span>
+<span class="go">??? include</span>
+<span class="go">??? ??? json</span>
+<span class="go">???     ??? json.h</span>
+<span class="go">??? pkg.yml</span>
+<span class="go">??? src</span>
+<span class="go">??? ??? json_decode.c</span>
+<span class="go">??? ??? json_encode.c</span>
+<span class="go">??? test</span>
+<span class="go">    ??? pkg.yml</span>
+<span class="go">    ??? src</span>
+<span class="go">        ??? test_json.c</span>
+<span class="go">        ??? test_json.h</span>
+<span class="go">        ??? test_json_utils.c</span>
+<span class="go">        ??? testcases</span>
+<span class="go">            ??? json_simple_decode.c</span>
+<span class="go">            ??? json_simple_encode.c</span>
+</pre></div>
+</div>
+<p>The top-level <code class="docutils literal notranslate"><span class="pre">test</span></code> directory contains the json test package. To
+create a test package for the datetime package, we need to create a
+similar package called <code class="docutils literal notranslate"><span class="pre">time/datetime/test</span></code>.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt pkg new time/datetime/test -t unittest
+<span class="go">Download package template for package type pkg.</span>
+<span class="go">Package successfuly installed into /home/me/mynewt-core/time/datetime/test.</span>
+</pre></div>
+</div>
+<p>We now have a test package inside <code class="docutils literal notranslate"><span class="pre">time/datetime</span></code>:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">time/datetime</span>
+<span class="go">??? include</span>
+<span class="go">??? ??? datetime</span>
+<span class="go">???     ??? datetime.h</span>
+<span class="go">??? pkg.yml</span>
+<span class="go">??? src</span>
+<span class="go">??? ??? datetime.c</span>
+<span class="go">??? test</span>
+<span class="go">    ??? README.md</span>
+<span class="go">    ??? pkg.yml</span>
+<span class="go">    ??? src</span>
+<span class="go">    ??? ??? main.c</span>
+<span class="go">    ??? syscfg.yml</span>
+</pre></div>
+</div>
+<p>There is one modification we need to make to the new package before we
+can start writing unit test code. A test package needs access to the
+code it will be testing, so we need to add a dependency on
+<code class="docutils literal notranslate"><span class="pre">&#64;apache-mynewt-core/time/datetime</span></code> to our <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go"> pkg.name: &quot;time/datetime/test&quot;</span>
+<span class="go"> pkg.type: unittest</span>
+<span class="go"> pkg.description: &quot;Description of your package&quot;</span>
+<span class="go"> pkg.author: &quot;You &lt;you@you.org&gt;&quot;</span>
+<span class="go"> pkg.homepage: &quot;http://your-url.org/&quot;</span>
+<span class="go"> pkg.keywords:</span>
+
+<span class="go"> pkg.deps:</span>
+<span class="go">     - &#39;@apache-mynewt-core/test/testutil&#39;</span>
+<span class="hll"><span class="go">     - &#39;@apache-mynewt-core/time/datetime&#39;</span>
+</span>
+<span class="go"> pkg.deps.SELFTEST:</span>
+<span class="go">     - &#39;@apache-mynewt-core/sys/console/stub&#39;</span>
+</pre></div>
+</div>
+<p>While we have the <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file open, let?s take a look at what newt
+filled in automatically:</p>
+<ul class="simple">
+<li><code class="docutils literal notranslate"><span class="pre">pkg.type:</span> <span class="pre">unittest</span></code> designates this as a test package. A <em>test
+package</em> is special in that it can be built and executed using the
+<code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">test</span></code> command.</li>
+<li>A test package always depends on
+<code class="docutils literal notranslate"><span class="pre">&#64;apache-mynewt-core/test/testutil</span></code>. The testutil library provides
+the tools necessary for verifying package behavior,</li>
+<li>The <code class="docutils literal notranslate"><span class="pre">SELFTEST</span></code> suffix indicates that a setting should only be
+applied when the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">test</span></code> command is used.</li>
+</ul>
+<p>Regarding the conditional dependency on <code class="docutils literal notranslate"><span class="pre">sys/console/stub</span></code>, the
+datetime package requires some form of console to function. In a regular
+application, the console dependency would be supplied by a higher order
+package. Because <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">test</span></code> runs the test package without an
+application present, the test package needs to supply all unresolved
+dependencies itself when run in self-test mode.</p>
+</div>
+<div class="section" id="create-your-test-suite-code">
+<h2>Create Your Test Suite Code<a class="headerlink" href="#create-your-test-suite-code" title="Permalink to this headline">?</a></h2>
+<p>We will be adding a <em>test suite</em> to the <code class="docutils literal notranslate"><span class="pre">main.c</span></code> file. The test suite
+will be empty for now. We also need to invoke the test suite from
+<code class="docutils literal notranslate"><span class="pre">main()</span></code>.</p>
+<p>Our <code class="docutils literal notranslate"><span class="pre">main.c</span></code> file now looks like this:</p>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&quot;sysinit/sysinit.h&quot;</span><span class="cp"></span>
+<span class="cp">#include</span> <span class="cpf">&quot;testutil/testutil.h&quot;</span><span class="cp"></span>
+
+<span class="n">TEST_SUITE</span><span class="p">(</span><span class="n">test_datetime_suite</span><span class="p">)</span> <span class="p">{</span>
+    <span class="cm">/* Empty for now; add test cases later. */</span>
+<span class="p">}</span>
+
+<span class="cp">#if MYNEWT_VAL(SELFTEST)</span>
+<span class="kt">int</span>
+<span class="n">main</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
+<span class="p">{</span>
+    <span class="cm">/* Initialize all packages. */</span>
+    <span class="n">sysinit</span><span class="p">();</span>
+
+    <span class="n">test_datetime_suite</span><span class="p">();</span>
+
+    <span class="cm">/* Indicate whether all test cases passed. */</span>
+    <span class="k">return</span> <span class="n">tu_any_failed</span><span class="p">;</span>
+<span class="p">}</span>
+<span class="cp">#endif</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="try-it-out">
+<h2>Try It Out<a class="headerlink" href="#try-it-out" title="Permalink to this headline">?</a></h2>
+<p>We now have a working test suite with no tests. Let?s make sure we get a
+passing result when we run <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">test</span></code>:</p>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span>$ newt test time/datetime
+&lt;build output&gt;
+Executing test: /home/me/mynewt-core/bin/targets/unittest/time_datetime_test/app/time/datetime/test/time_datetime_test.elf
+Passed tests: [time/datetime/test]
+All tests passed
+</pre></div>
+</div>
+</div>
+<div class="section" id="create-a-test">
+<h2>Create a Test<a class="headerlink" href="#create-a-test" title="Permalink to this headline">?</a></h2>
+<p>To create a test within your test suite, there are two things to do.</p>
+<ol class="arabic simple">
+<li>Implement the test case function using the <code class="docutils literal notranslate"><span class="pre">testutil</span></code> macros.</li>
+<li>Call the test case function from within the test suite.</li>
+</ol>
+<p>For this tutorial we will create a test case to verify the
+<code class="docutils literal notranslate"><span class="pre">datetime_parse()</span></code> function. The <code class="docutils literal notranslate"><span class="pre">datetime_parse()</span></code> function is
+declared as follows:</p>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/**</span>
+<span class="cm"> * Parses an RFC 3339 datetime string.  Some examples of valid datetime strings</span>
+<span class="cm"> * are:</span>
+<span class="cm"> * 2016-03-02T22:44:00                  UTC time (implicit)</span>
+<span class="cm"> * 2016-03-02T22:44:00Z                 UTC time (explicit)</span>
+<span class="cm"> * 2016-03-02T22:44:00-08:00            PST timezone</span>
+<span class="cm"> * 2016-03-02T22:44:00.1                fractional seconds</span>
+<span class="cm"> * 2016-03-02T22:44:00.101+05:30        fractional seconds with timezone</span>
+<span class="cm"> *</span>
+<span class="cm"> * On success, the two output parameters are filled in (tv and tz).</span>
+<span class="cm"> *</span>
+<span class="cm"> * @return                      0 on success;</span>
+<span class="cm"> *                              nonzero on parse error.</span>
+<span class="cm"> */</span>
+<span class="kt">int</span>
+<span class="n">datetime_parse</span><span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">input</span><span class="p">,</span> <span class="k">struct</span> <span class="n">os_timeval</span> <span class="o">*</span><span class="n">tv</span><span class="p">,</span> <span class="k">struct</span> <span class="n">os_timezone</span> <span class="o">*</span><span class="n">tz</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>Our test case should make sure this function rejects invalid input, and
+that it parses valid input correctly. The updated <code class="docutils literal notranslate"><span class="pre">main.c</span></code> file looks
+like this:</p>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&quot;sysinit/sysinit.h&quot;</span><span class="cp"></span>
+<span class="cp">#include</span> <span class="cpf">&quot;testutil/testutil.h&quot;</span><span class="cp"></span>
+<span class="cp">#include</span> <span class="cpf">&quot;os/os_time.h&quot;</span><span class="cp"></span>
+<span class="cp">#include</span> <span class="cpf">&quot;datetime/datetime.h&quot;</span><span class="cp"></span>
+
+<span class="n">TEST_SUITE</span><span class="p">(</span><span class="n">test_datetime_suite</span><span class="p">)</span>
+<span class="p">{</span>
+    <span class="n">test_datetime_parse_simple</span><span class="p">();</span>
+<span class="p">}</span>
+
+<span class="n">TEST_CASE</span><span class="p">(</span><span class="n">test_datetime_parse_simple</span><span class="p">)</span>
+<span class="p">{</span>
+    <span class="k">struct</span> <span class="n">os_timezone</span> <span class="n">tz</span><span class="p">;</span>
+    <span class="k">struct</span> <span class="n">os_timeval</span> <span class="n">tv</span><span class="p">;</span>
+    <span class="kt">int</span> <span class="n">rc</span><span class="p">;</span>
+
+    <span class="cm">/*** Valid input. */</span>
+
+    <span class="cm">/* No timezone; UTC implied. */</span>
+    <span class="n">rc</span> <span class="o">=</span> <span class="n">datetime_parse</span><span class="p">(</span><span class="s">&quot;2017-06-28T22:37:59&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tz</span><span class="p">);</span>
+    <span class="n">TEST_ASSERT_FATAL</span><span class="p">(</span><span class="n">rc</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+    <span class="n">TEST_ASSERT</span><span class="p">(</span><span class="n">tv</span><span class="p">.</span><span class="n">tv_sec</span> <span class="o">==</span> <span class="mi">1498689479</span><span class="p">);</span>
+    <span class="n">TEST_ASSERT</span><span class="p">(</span><span class="n">tv</span><span class="p">.</span><span class="n">tv_usec</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+    <span class="n">TEST_ASSERT</span><span class="p">(</span><span class="n">tz</span><span class="p">.</span><span class="n">tz_minuteswest</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+    <span class="n">TEST_ASSERT</span><span class="p">(</span><span class="n">tz</span><span class="p">.</span><span class="n">tz_dsttime</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+
+    <span class="cm">/* PDT timezone. */</span>
+    <span class="n">rc</span> <span class="o">=</span> <span class="n">datetime_parse</span><span class="p">(</span><span class="s">&quot;2013-12-05T02:43:07-07:00&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tz</span><span class="p">);</span>
+    <span class="n">TEST_ASSERT_FATAL</span><span class="p">(</span><span class="n">rc</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+    <span class="n">TEST_ASSERT</span><span class="p">(</span><span class="n">tv</span><span class="p">.</span><span class="n">tv_sec</span> <span class="o">==</span> <span class="mi">1386236587</span><span class="p">);</span>
+    <span class="n">TEST_ASSERT</span><span class="p">(</span><span class="n">tv</span><span class="p">.</span><span class="n">tv_usec</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+    <span class="n">TEST_ASSERT</span><span class="p">(</span><span class="n">tz</span><span class="p">.</span><span class="n">tz_minuteswest</span> <span class="o">==</span> <span class="mi">420</span><span class="p">);</span>
+    <span class="n">TEST_ASSERT</span><span class="p">(</span><span class="n">tz</span><span class="p">.</span><span class="n">tz_dsttime</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+
+    <span class="cm">/*** Invalid input. */</span>
+
+    <span class="cm">/* Nonsense. */</span>
+    <span class="n">rc</span> <span class="o">=</span> <span class="n">datetime_parse</span><span class="p">(</span><span class="s">&quot;abc&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tz</span><span class="p">);</span>
+    <span class="n">TEST_ASSERT</span><span class="p">(</span><span class="n">rc</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">);</span>
+
+    <span class="cm">/* Date-only. */</span>
+    <span class="n">rc</span> <span class="o">=</span> <span class="n">datetime_parse</span><span class="p">(</span><span class="s">&quot;2017-01-02&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tz</span><span class="p">);</span>
+    <span class="n">TEST_ASSERT</span><span class="p">(</span><span class="n">rc</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">);</span>
+
+    <span class="cm">/* Zero month. */</span>
+    <span class="n">rc</span> <span class="o">=</span> <span class="n">datetime_parse</span><span class="p">(</span><span class="s">&quot;2017-00-28T22:37:59&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tz</span><span class="p">);</span>
+    <span class="n">TEST_ASSERT</span><span class="p">(</span><span class="n">rc</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">);</span>
+
+    <span class="cm">/* 13 month. */</span>
+    <span class="n">rc</span> <span class="o">=</span> <span class="n">datetime_parse</span><span class="p">(</span><span class="s">&quot;2017-13-28T22:37:59&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tz</span><span class="p">);</span>
+    <span class="n">TEST_ASSERT</span><span class="p">(</span><span class="n">rc</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="cp">#if MYNEWT_VAL(SELFTEST)</span>
+<span class="kt">int</span>
+<span class="n">main</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
+<span class="p">{</span>
+    <span class="cm">/* Initialize all packages. */</span>
+    <span class="n">sysinit</span><span class="p">();</span>
+
+    <span class="n">test_datetime_suite</span><span class="p">();</span>
+
+    <span class="cm">/* Indicate whether all test cases passed. */</span>
+    <span class="k">return</span> <span class="n">tu_any_failed</span><span class="p">;</span>
+<span class="p">}</span>
+<span class="cp">#endif</span>
+</pre></div>
+</div>
+<p>Take a few minutes to review the above code. Then keep reading for some
+specifics.</p>
+<div class="section" id="asserting">
+<h3>Asserting<a class="headerlink" href="#asserting" title="Permalink to this headline">?</a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">test/testutil</span></code> package provides two tools for verifying the
+correctness of a package:</p>
+<ul class="simple">
+<li><code class="docutils literal notranslate"><span class="pre">TEST_ASSERT</span></code></li>
+<li><code class="docutils literal notranslate"><span class="pre">TEST_ASSERT_FATAL</span></code></li>
+</ul>
+<p>Both of these macros check if the supplied condition is true. They
+differ in how they behave when the condition is not true. On failure,
+<code class="docutils literal notranslate"><span class="pre">TEST_ASSERT</span></code> reports the error and proceeds with the remainder of the
+test case. <code class="docutils literal notranslate"><span class="pre">TEST_ASSERT_FATAL</span></code>, on the other hand, aborts the test
+case on failure.</p>
+<p>The general rule is to only use <code class="docutils literal notranslate"><span class="pre">TEST_ASSERT_FATAL</span></code> when subsequent
+assertions depend on the condition being checked. For example, when
+<code class="docutils literal notranslate"><span class="pre">datetime_parse()</span></code> is expected to succeed, the return code is checked
+with <code class="docutils literal notranslate"><span class="pre">TEST_ASSERT_FATAL</span></code>. If <code class="docutils literal notranslate"><span class="pre">datetime_parse()</span></code> unexpectedly failed,
+the contents of the <code class="docutils literal notranslate"><span class="pre">tv</span></code> and <code class="docutils literal notranslate"><span class="pre">tz</span></code> objects would be indeterminate, so
+it is desirable to abort the test instead of checking them and reporting
+spurious failures.</p>
+</div>
+<div class="section" id="scaling-up">
+<h3>Scaling Up<a class="headerlink" href="#scaling-up" title="Permalink to this headline">?</a></h3>
+<p>The above example is small and self contained, so it is reasonable to
+put everything in a single C file. A typical package will need a lot
+more test code, and it helps to follow some conventions to maintain
+organization. Let?s take a look at a more realistic example. Here is the
+directory structure of the <code class="docutils literal notranslate"><span class="pre">fs/nffs/test</span></code> package:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">fs/nffs/test</span>
+<span class="go">??? pkg.yml</span>
+<span class="go">??? src</span>
+<span class="go">    ??? nffs_test.c</span>
+<span class="go">    ??? nffs_test.h</span>
+<span class="go">    ??? nffs_test_debug.c</span>
+<span class="go">    ??? nffs_test_priv.h</span>
+<span class="go">    ??? nffs_test_system_01.c</span>
+<span class="go">    ??? nffs_test_utils.c</span>
+<span class="go">    ??? nffs_test_utils.h</span>
+<span class="go">    ??? testcases</span>
+<span class="go">        ??? append_test.c</span>
+<span class="go">        ??? cache_large_file_test.c</span>
+<span class="go">        ??? corrupt_block_test.c</span>
+<span class="go">        ??? corrupt_scratch_test.c</span>
+<span class="go">        ??? gc_on_oom_test.c</span>
+<span class="go">        ??? gc_test.c</span>
+<span class="go">        ??? incomplete_block_test.c</span>
+<span class="go">        ??? large_system_test.c</span>
+<span class="go">        ??? large_unlink_test.c</span>
+<span class="go">        ??? large_write_test.c</span>
+<span class="go">        ??? long_filename_test.c</span>
+<span class="go">        ??? lost_found_test.c</span>
+<span class="go">        ??? many_children_test.c</span>
+<span class="go">        ??? mkdir_test.c</span>
+<span class="go">        ??? open_test.c</span>
+<span class="go">        ??? overwrite_many_test.c</span>
+<span class="go">        ??? overwrite_one_test.c</span>
+<span class="go">        ??? overwrite_three_test.c</span>
+<span class="go">        ??? overwrite_two_test.c</span>
+<span class="go">        ??? read_test.c</span>
+<span class="go">        ??? readdir_test.c</span>
+<span class="go">        ??? rename_test.c</span>
+<span class="go">        ??? split_file_test.c</span>
+<span class="go">        ??? truncate_test.c</span>
+<span class="go">        ??? unlink_test.c</span>
+<span class="go">        ??? wear_level_test.c</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">fs/nffs/test</span></code> package follows these conventions:</p>
+<ol class="arabic simple">
+<li>A maximum of one test case per C file.</li>
+<li>Each test case file goes in the <code class="docutils literal notranslate"><span class="pre">testcases</span></code> subdirectory.</li>
+<li>Test suites and utility functions go directly in the <code class="docutils literal notranslate"><span class="pre">src</span></code>
+directory.</li>
+</ol>
+<p>Test packages contributed to the Mynewt project should follow these
+conventions.</p>
+</div>
+</div>
+<div class="section" id="congratulations">
+<h2>Congratulations<a class="headerlink" href="#congratulations" title="Permalink to this headline">?</a></h2>
+<p>Now you can begin the work of validating your packages.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
+      
+        <a href="wi-fi_on_arduino.html" class="btn btn-neutral float-right" title="Enable Wi-Fi on Arduino MKR1000" accesskey="n">Next: Enable Wi-Fi on Arduino MKR1000 <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="codesize.html" class="btn btn-neutral" title="How to Reduce Application Code Size" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: How to Reduce Application Code Size</a>
+      
+    </div>
+
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/tutorials/other/wi-fi_on_arduino.html b/develop/tutorials/other/wi-fi_on_arduino.html
new file mode 100644
index 000000000..c464f6055
--- /dev/null
+++ b/develop/tutorials/other/wi-fi_on_arduino.html
@@ -0,0 +1,668 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    
+    <title>Enable Wi-Fi on Arduino MKR1000 &mdash; Apache Mynewt 1.3.0 documentation</title>
+    
+
+    
+    
+      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+
+    
+      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
+    
+      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
+    
+
+    
+
+    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
+          <link rel="index" title="Index"
+                href="../../genindex.html"/>
+          <link rel="search" title="Search" href="../../search.html"/>
+      <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/>
+          <link rel="up" title="Other" href="other.html"/>
+          <link rel="next" title="OS User Guide" href="../../os/os_user_guide.html"/>
+          <link rel="prev" title="Write a Test Suite for a Package" href="unit_test.html"/> 
+
+    
+    <script src="../../_static/js/modernizr.min.js"></script>
+
+    
+    <script>
+    (function(i, s, o, g, r, a, m) {
+	i["GoogleAnalyticsObject"] = r;
+	(i[r] =
+		i[r] ||
+		function() {
+			(i[r].q = i[r].q || []).push(arguments);
+		}),
+		(i[r].l = 1 * new Date());
+	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
+	a.async = 1;
+	a.src = g;
+	m.parentNode.insertBefore(a, m);
+})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
+
+ga("create", "UA-72162311-1", "auto");
+ga("send", "pageview");
+</script>
+    
+
+  </head>
+
+  <body class="not-front page-documentation" role="document" >
+    <div id="wrapper">
+      <div class="container">
+    <div id="banner" class="row v2-main-banner">
+        <a class="logo-cell" href="/">
+            <img class="logo" src="../../_static/img/logo.png">
+        </a>
+        <div class="tagline-cell">
+            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
+        </div>
+        <div class="news-cell">
+            <div class="well">
+              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (December 13, 2017)
+            </div>
+        </div>
+    </div>
+</div>
+      
+<header>
+    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
+        <div class="container">
+            <!-- Collapsed navigation -->
+            <div class="navbar-header">
+                <!-- Expander button -->
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+            </div>
+
+            <!-- Expanded navigation -->
+            <div class="navbar-collapse collapse">
+                <!-- Main navigation -->
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
+                    </li>
+                    <li class="important">
+                        <a href="/get_started/quick_start.html">Quick Start</a>
+                    </li>
+                    <li>
+                        <a href="/about/">About</a>
+                    </li>
+                    <li>
+                        <a href="/talks/">Talks</a>
+                    </li>
+                    <li class="active">
+                        <a href="/documentation/">Documentation</a>
+                    </li>
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    <li>
+                        <a href="/community/">Community</a>
+                    </li>
+                    <li>
+                        <a href="/events/">Events</a>
+                    </li>
+                </ul>
+
+                <!-- Search, Navigation and Repo links -->
+                <ul class="nav navbar-nav navbar-right">
+                    
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+      <!-- STARTS MAIN CONTENT -->
+      <div id="main-content">
+        
+
+
+
+
+
+<div id="breadcrumb">
+  <div class="container">
+    <a href="/documentation/">Docs</a> /
+    
+      <a href="../tutorials.html">Tutorials</a> /
+    
+      <a href="other.html">Other</a> /
+    
+    Enable Wi-Fi on Arduino MKR1000
+    
+  <div class="sourcelink">
+    <a href="https://github.com/apache/mynewt-documentation/edit/master/docs/tutorials/other/wi-fi_on_arduino.rst" class="icon icon-github"
+           rel="nofollow"> Edit on GitHub</a>
+</div>
+  </div>
+</div>
+        <!-- STARTS CONTAINER -->
+        <div class="container">
+          <!-- STARTS .content -->
+          <div id="content" class="row">
+            
+            <!-- STARTS .container-sidebar -->
+<div class="container-sidebar col-xs-12 col-sm-3">
+  <div id="docSidebar" class="sticky-container">
+    <div role="search" class="sphinx-search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+    
+<!-- Note: only works when deployed -->
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    <option
+      value="/develop"
+      selected
+      >
+      Version: develop (latest - mynewt-documentation)
+    </option>
+    <option
+      value="/latest/os/introduction"
+      >
+      Version: master (latest - mynewt-site)
+    </option>
+    <option
+      value="/v1_2_0/os/introduction"
+      >
+      Version: 1.2.0
+    </option>
+    <option
+      value="/v1_1_0/os/introduction">
+      Version: 1.1.0
+    </option>
+    <option
+      value="/v1_0_0/os/introduction">
+      Version: 1.0.0
+    </option>
+    <option
+      value="/v0_9_0/os/introduction">
+      Version: 0_9_0
+    </option>
+</select>
+    <div class="region region-sidebar">
+      <div class="docs-menu">
+      
+        
+        
+            <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../tutorials.html">Tutorials</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../blinky/blinky.html">Project Blinky</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../repo/add_repos.html">Working with repositories</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../slinky/project-slinky.html">Project Slinky for Remote Comms</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../ble/ble.html">Bluetooth Low Energy</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="other.html">Other</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="codesize.html">How to reduce Application Code Size</a></li>
+<li class="toctree-l3"><a class="reference internal" href="unit_test.html">Write a Test Suite for a Package</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Enable Wi-Fi on Arduino MKR1000</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../network/ble/ble_intro.html">BLE User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
+</ul>
+
+        
+      
+      </div>
+    </div>
+  </div>
+  <!-- ENDS STICKY CONTAINER -->
+</div>
+<!-- ENDS .container-sidebar -->
+
+            <div class="col-xs-12 col-sm-9">
+              <div class="alert alert-info" role="alert">
+  <p>
+    This is the development version of Apache Mynewt documentation. As such it may not be as complete as the latest
+    stable version of the documentation found <a href="/latest/os/introduction/">here</a>.
+  </p>
+  <p>
+    To improve this documentation please visit <a href="https://github.com/apache/mynewt-documentation">https://github.com/apache/mynewt-documentation</a>.
+  </p>
+</div>
+              
+              <div class="">
+                <div class="rst-content">
+                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+                   <div itemprop="articleBody">
+                    
+  <div class="section" id="enable-wi-fi-on-arduino-mkr1000">
+<h1>Enable Wi-Fi on Arduino MKR1000<a class="headerlink" href="#enable-wi-fi-on-arduino-mkr1000" title="Permalink to this headline">?</a></h1>
+<p>This tutorial shows you how to enable Wi-Fi on an Arduino MKR1000 board
+and connect to a Wi-Fi network.</p>
+<div class="section" id="prerequisites">
+<h2>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline">?</a></h2>
+<p>Ensure that you have met the following prerequisites before continuing
+with this tutorial:</p>
+<ul class="simple">
+<li>Have an Arduino MKR1000 board.</li>
+<li>Have Internet connectivity to fetch remote Mynewt components.</li>
+<li>Have a computer to build a Mynewt application and connect to the
+board over USB.</li>
+<li>Have a Micro-USB cable to connect the board and the computer.</li>
+<li>Have local Wi-Fi network that the computer is connected to and that
+the MKR1000 board can join.</li>
+<li>Have a <a class="reference internal" href="../../get_started/serial_access.html"><span class="doc">Serial Port Setup</span></a>.</li>
+<li>Have a <a class="reference external" href="https://www.segger.com/jlink-debug-probes.html">Segger J-Link Debug
+Probe</a>.</li>
+<li>Have a <a class="reference external" href="https://www.segger.com/jlink-adapters.html#CM_9pin">J-Link 9 pin Cortex-M
+Adapter</a> that
+allows JTAG, SWD and SWO connections between J-Link and Cortex M
+based target hardware systems</li>
+<li>Install the <a class="reference external" href="https://www.segger.com/jlink-software.html">Segger JLINK Software and documentation
+pack</a>.</li>
+<li>Install the Newt tool and toolchains (See <a class="reference internal" href="../../get_started/native_install/index.html"><span class="doc">Native Installation</span></a>)</li>
+<li>Create a project space (directory structure) and populated it with
+the core code repository (apache-mynewt-core) or know how to as
+explained in <a class="reference internal" href="../../get_started/project_create.html"><span class="doc">Creating Your First
+Project</span></a>.</li>
+<li>Read the Mynewt OS <span class="xref std std-doc">Concepts</span>
+section.</li>
+</ul>
+</div>
+<div class="section" id="create-a-project">
+<h2>Create a Project<a class="headerlink" href="#create-a-project" title="Permalink to this headline">?</a></h2>
+<p>Create a new project if you do not have an existing one. You can skip
+this step and proceed to <a class="reference external" href="#%20fetchexternal">fetch external packages</a>
+if you already created a project.</p>
+<p>Run the following commands to create a new project:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> mkdir ~/dev
+<span class="gp">$</span> <span class="nb">cd</span> ~/dev
+<span class="gp">$</span> newt new arduinowifi
+<span class="go">Downloading project skeleton from apache/mynewt-blinky...</span>
+<span class="go">Installing skeleton in arduinowifi...</span>
+<span class="go">Project arduinowifi successfully created.</span>
+<span class="gp">$</span> <span class="nb">cd</span> arduinowifi
+<span class="gp">$</span> newt install
+<span class="go">apache-mynewt-core</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="fetch-external-packages">
+<h2>Fetch External Packages<a class="headerlink" href="#fetch-external-packages" title="Permalink to this headline">?</a></h2>
+<p>Mynewt uses source code provided directly from the chip manufacturer for
+low level operations. Sometimes this code is licensed only for the
+specific manufacturer of the chipset and cannot live in the Apache
+Mynewt repository. That happens to be the case for the Arduino Zero
+board which uses Atmel SAMD21. Runtime?s git hub repository hosts such
+external third-party packages and the Newt tool can fetch them.</p>
+<p>To fetch the package with MCU support for Atmel SAMD21 for Arduino Zero
+from the Runtime git repository, you need to add the repository to the
+<code class="docutils literal notranslate"><span class="pre">project.yml</span></code> file in your base project directory.</p>
+<p>Mynewt uses source code provided directly from the chip manufacturer for
+low level operations. Sometimes this code is licensed only for the
+specific manufacturer of the chipset and cannot live in the Apache
+Mynewt repository. That happens to be the case for the Arduino Zero
+board which uses Atmel SAMD21. Runtime?s github repository hosts such
+external third-party packages and the Newt tool can fetch them.</p>
+<p>To fetch the package with MCU support for Atmel SAMD21 for Arduino Zero
+from the Runtime git repository, you need to add the repository to the
+<code class="docutils literal notranslate"><span class="pre">project.yml</span></code> file in your base project directory (<code class="docutils literal notranslate"><span class="pre">arduinowifi</span></code>).</p>
+<p>Here is an example <code class="docutils literal notranslate"><span class="pre">project.yml</span></code> file with the Arduino Zero repository
+added. The sections with <code class="docutils literal notranslate"><span class="pre">mynewt_arduino_zero</span></code> that need to be added
+to your project file are highlighted.</p>
+<p><strong>Note:</strong> On Windows platforms: You need to set <code class="docutils literal notranslate"><span class="pre">vers</span></code> to <code class="docutils literal notranslate"><span class="pre">0-dev</span></code>
+and use the latest master branch for both repositories.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp"> $</span> more project.yml
+
+<span class="go"> project.name: &quot;my_project&quot;</span>
+
+<span class="go"> project.repositories:</span>
+<span class="go">     - apache-mynewt-core</span>
+<span class="hll"><span class="go">     - mynewt_arduino_zero</span>
+</span>
+<span class="go"> repository.apache-mynewt-core:</span>
+<span class="go">     type: github</span>
+<span class="go">     vers: 1-latest</span>
+<span class="go">     user: apache</span>
+<span class="go">     repo: mynewt-core</span>
+
+<span class="hll"><span class="go"> repository.mynewt_arduino_zero:</span>
+</span><span class="hll"><span class="go">     type: github</span>
+</span><span class="hll"><span class="go">     vers: 1-latest</span>
+</span><span class="hll"><span class="go">     user: runtimeco</span>
+</span><span class="hll"><span class="go">     repo: mynewt_arduino_zero</span>
+</span><span class="gp"> $</span>
+</pre></div>
+</div>
+<p>Install the project dependencies using the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">install</span></code> command
+(you can specify <code class="docutils literal notranslate"><span class="pre">-v</span></code> for verbose output):</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt install
+<span class="go">apache-mynewt-core</span>
+<span class="go">mynewt_arduino_zero</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+<p><strong>NOTE:</strong> If there has been a new release of a repo used in your project
+since you last installed it, the <code class="docutils literal notranslate"><span class="pre">1-latest</span></code> version for the repo in
+the <code class="docutils literal notranslate"><span class="pre">project.yml</span></code> file will refer to the new release and will not
+match the installed files. In that case you will get an error message
+saying so and you will need to run <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">upgrade</span></code> to overwrite the
+existing files with the latest codebase.</p>
+</div>
+<div class="section" id="create-a-target-for-the-bootloader">
+<h2>Create a Target for the Bootloader<a class="headerlink" href="#create-a-target-for-the-bootloader" title="Permalink to this headline">?</a></h2>
+<p>You need to create two targets for the MKR1000 board, one for the
+bootloader and one for the <code class="docutils literal notranslate"><span class="pre">winc1500_wifi</span></code> application. Run the
+following <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span></code> commands, from your project directory, to
+create a bootloader target. We name the target <code class="docutils literal notranslate"><span class="pre">mkr1000_boot</span></code>.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt target create mkr1000_boot
+<span class="gp">$</span> newt target <span class="nb">set</span> mkr1000_boot <span class="nv">bsp</span><span class="o">=</span>@mynewt_arduino_zero/hw/bsp/arduino_mkr1000
+<span class="gp">$</span> newt target <span class="nb">set</span> mkr1000_boot <span class="nv">app</span><span class="o">=</span>@apache-mynewt-core/apps/boot
+<span class="gp">$</span> newt target <span class="nb">set</span> mkr1000_boot <span class="nv">build_profile</span><span class="o">=</span>optimized
+<span class="gp">$</span> newt target <span class="nb">set</span> mkr1000_boot <span class="nv">syscfg</span><span class="o">=</span><span class="nv">BSP_ARDUINO_ZERO_PRO</span><span class="o">=</span><span class="m">1</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="create-a-target-for-the-wi-fi-application">
+<h2>Create a Target for the Wi-Fi Application<a class="headerlink" href="#create-a-target-for-the-wi-fi-application" title="Permalink to this headline">?</a></h2>
+<p>Run the following <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span></code> commands to create a target for the
+<code class="docutils literal notranslate"><span class="pre">winc1500_wifi</span></code> application in the arduino repository. We name the
+application target <code class="docutils literal notranslate"><span class="pre">mkr1000_wifi</span></code>.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt target create mkr1000_wifi
+<span class="gp">$</span> newt target <span class="nb">set</span> mkr1000_wifi <span class="nv">app</span><span class="o">=</span>@mynewt_arduino_zero/apps/winc1500_wifi
+<span class="gp">$</span> newt target <span class="nb">set</span> mkr1000_wifi <span class="nv">bsp</span><span class="o">=</span>@mynewt_arduino_zero/hw/bsp/arduino_mkr1000
+<span class="gp">$</span> newt target <span class="nb">set</span> mkr1000_wifi <span class="nv">build_profile</span><span class="o">=</span>debug
+<span class="gp">$</span> newt target <span class="nb">set</span> mkr1000_boot <span class="nv">syscfg</span><span class="o">=</span><span class="nv">BSP_ARDUINO_ZERO_PRO</span><span class="o">=</span><span class="m">1</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="build-the-bootloader">
+<h2>Build the Bootloader<a class="headerlink" href="#build-the-bootloader" title="Permalink to this headline">?</a></h2>
+<p>Run the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">build</span> <span class="pre">mkr1000_boot</span></code> command to build the bootloader:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt build mkr1000_boot
+<span class="go">Building target targets/mkr1000_boot</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/crypto/mbedtls/src/aes.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_validate.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/apps/boot/src/boot.c</span>
+
+<span class="go">       ...</span>
+
+<span class="go">Archiving util_mem.a</span>
+<span class="go">Linking ~/dev/arduinowifi/bin/targets/mkr1000_boot/app/apps/boot/boot.elf</span>
+<span class="go">Target successfully built: targets/mkr1000_boot</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="build-the-wi-fi-application">
+<h2>Build the Wi-Fi Application<a class="headerlink" href="#build-the-wi-fi-application" title="Permalink to this headline">?</a></h2>
+<p>Run the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">build</span> <span class="pre">mkr1000_wifi</span></code> command to build the wi-fi
+application image:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span>newt build mkr1000_wifi
+<span class="go">Building target targets/mkr1000_wifi</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/image_validate.c</span>
+<span class="go">Compiling repos/apache-mynewt-core/boot/bootutil/src/loader.c</span>
+<span class="go">           ...</span>
+
+<span class="go">Archiving util_mem.a</span>
+<span class="go">Linking ~/dev/arduinowifi/bin/targets/mkr1000_wifi/app/apps/winc1500_wifi/winc1500_wifi.elf</span>
+<span class="go">Target successfully built: targets/mkr1000_wifi</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="sign-and-create-the-wi-fi-application-image">
+<h2>Sign and Create the Wi-Fi Application Image<a class="headerlink" href="#sign-and-create-the-wi-fi-application-image" title="Permalink to this headline">?</a></h2>
+<p>Run the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">create-image</span> <span class="pre">mkr1000_wifi</span> <span class="pre">1.0.0</span></code> command to sign and
+create an image file for the Wi-Fi application. You may assign an
+arbitrary version (e.g. 1.0.0) number.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span>newt create-image  mkr1000_wifi <span class="m">1</span>.0.0
+<span class="go">Compiling bin/targets/mkr1000_wifi/generated/src/mkr1000_wifi-sysinit-app.c</span>
+<span class="go">Archiving mkr1000_wifi-sysinit-app.a</span>
+<span class="go">Linking ~/dev/arduinowifi/bin/targets/mkr1000_wifi/app/apps/winc1500_wifi/winc1500_wifi.elf</span>
+<span class="go">App image succesfully generated: ~/dev/arduinowifi/bin/targets/mkr1000_wifi/app/apps/winc1500_wifi/winc1500_wifi.img</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="connect-to-the-board">
+<h2>Connect to the Board<a class="headerlink" href="#connect-to-the-board" title="Permalink to this headline">?</a></h2>
+<ul class="simple">
+<li>Connect your computer to the MKR1000 board with the Micro-USB cable.</li>
+<li>Connect the debug probe to the JTAG port on the board using the Jlink
+9-pin adapter and cable.</li>
+</ul>
+<blockquote>
+<div><img alt="J-Link debug probe to MKR1000" src="../../_images/mkr1000-jlink.jpg" /></div></blockquote>
+<p>Mynewt will download and debug the target through this port. You should
+see a green LED come on and indicates the board has power.</p>
+</div>
+<div class="section" id="load-the-bootloader-onto-the-board">
+<h2>Load the Bootloader onto the Board<a class="headerlink" href="#load-the-bootloader-onto-the-board" title="Permalink to this headline">?</a></h2>
+<p>Run the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">load</span> <span class="pre">mkr1000_boot</span></code> command to load the bootloader onto
+the board:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt load mkr1000_boot
+<span class="go">Loading bootloader</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="load-the-wi-fi-application-image-onto-the-board">
+<h2>Load the Wi-Fi Application Image onto the Board<a class="headerlink" href="#load-the-wi-fi-application-image-onto-the-board" title="Permalink to this headline">?</a></h2>
+<p>Run the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">load</span> <span class="pre">mkr1000_wifi</span></code> command to load the wifi application
+onto the board:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt load mkr1000_wifi
+<span class="go">Loading app image into slot 1</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="setup-a-serial-connection-between-your-computer-and-the-board">
+<h2>Setup a Serial Connection Between Your Computer and the Board<a class="headerlink" href="#setup-a-serial-connection-between-your-computer-and-the-board" title="Permalink to this headline">?</a></h2>
+<p>Set up a serial connection from your computer to the MKR1000 board (See
+<a class="reference internal" href="../../get_started/serial_access.html"><span class="doc">Serial Port Setup</span></a>). On the
+MKR1000 board, the TX pin is PIN 14 and the RX pin in PIN 13. <img alt="Serial Connection to MKR1000" src="../../_images/mkr1000-serial.jpg" /></p>
+<p>Locate the port, in the /dev directory on your computer, that the
+serial connection uses. The format of the port name is platform
+dependent:</p>
+<ul>
+<li><p class="first">Mac OS uses the format <code class="docutils literal notranslate"><span class="pre">tty.usbserial-&lt;some</span> <span class="pre">identifier&gt;</span></code>.</p>
+</li>
+<li><p class="first">Linux uses the format <code class="docutils literal notranslate"><span class="pre">TTYUSB&lt;N&gt;</span></code>, where <code class="docutils literal notranslate"><span class="pre">N</span></code> is a number. For
+example, TTYUSB2.</p>
+</li>
+<li><p class="first">MinGW on Windows uses the format <code class="docutils literal notranslate"><span class="pre">ttyS&lt;N&gt;</span></code>, where <code class="docutils literal notranslate"><span class="pre">N</span></code> is a
+number. You must map the port name to a Windows COM port:
+<code class="docutils literal notranslate"><span class="pre">/dev/ttyS&lt;N&gt;</span></code> maps to <code class="docutils literal notranslate"><span class="pre">COM&lt;N+1&gt;</span></code>. For example, <code class="docutils literal notranslate"><span class="pre">/dev/ttyS2</span></code>
+maps to <code class="docutils literal notranslate"><span class="pre">COM3</span></code>.</p>
+<p>You can also use the Windows Device Manager to find the COM port
+number.</p>
+</li>
+</ul>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> ls /dev/tty*usbserial*
+<span class="go">/dev/tty.usbserial-1d13</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="start-wi-fi-via-console">
+<h2>Start Wi-Fi via console<a class="headerlink" href="#start-wi-fi-via-console" title="Permalink to this headline">?</a></h2>
+<p>Use a terminal emulation program to communicate with the board over the
+serial port. This tutorial shows a Minicom set up. Run the minicom
+command with the serial port you located on your computer:</p>
+<p><strong>Note:</strong> On Windows, you can use the PuTTY application.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> minicom -D /dev/tty.usbserial-1d13 -b <span class="m">115200</span>
+</pre></div>
+</div>
+<p>Type <code class="docutils literal notranslate"><span class="pre">wifi</span> <span class="pre">start</span></code> to start Wi-Fi.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go"> Welcome to minicom 2.7.1</span>
+
+<span class="go"> OPTIONS:</span>
+<span class="go"> Compiled on May 17 2017, 15:29:14.</span>
+<span class="go"> Port /dev/tty.usbserial, 15:12:10</span>
+
+<span class="go"> Press Meta-Z for help on special keys</span>
+
+
+<span class="hll"><span class="go"> 138465 compat&gt; wifi start</span>
+</span><span class="go"> 144570 compat&gt; (APP)(INFO)Chip ID 1503a0</span>
+<span class="go"> (APP)(INFO)Firmware ver   : 19.4.4</span>
+<span class="go"> (APP)(INFO)Min driver ver : 19.3.0</span>
+<span class="go"> (APP)(INFO)Curr driver ver: 19.3.0</span>
+<span class="go"> wifi_init : 0</span>
+</pre></div>
+</div>
+<p>Connect to the local Wi-Fi network. Note that the MKR1000 board only
+supports 2.4 GHz Wi-Fi networks.</p>
+<p>Run the <code class="docutils literal notranslate"><span class="pre">wifi</span> <span class="pre">connect</span></code> command and specify your network and . After
+you are connected to your wi-fi network, run the <code class="docutils literal notranslate"><span class="pre">net</span> <span class="pre">service</span></code> command
+to start network services.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="hll"><span class="go"> wifi connect</span>
+</span><span class="go"> 037624 wifi_request_scan : 0</span>
+<span class="go"> 037627 compat&gt; scan_results 7: 0</span>
+<span class="go"> 038454 wifi_connect : 0</span>
+<span class="go"> 039451 connect_done : 0</span>
+<span class="go"> 039958 dhcp done</span>
+<span class="go"> 192.168.0.135</span>
+<span class="hll"><span class="go"> 040169 get sys time response 2017.7.12-22.41.33</span>
+</span><span class="go"> net service</span>
+</pre></div>
+</div>
+<p>The board is connected to the network succesfully and has IP address:
+192.168.0.135</p>
+</div>
+<div class="section" id="establish-tcp-connection-and-talk">
+<h2>Establish TCP Connection and Talk!<a class="headerlink" href="#establish-tcp-connection-and-talk" title="Permalink to this headline">?</a></h2>
+<p>From a terminal on your computer, telnet to ports 7, 9, or 19 using the
+IP address your board has been assigned. Type something on this terminal
+and see the console output (on minicom). Can you see the difference in
+the behaviors?</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span>telnet  <span class="m">192</span>.168.0.135 <span class="m">7</span>
+<span class="go">Trying 192.168.0.135...</span>
+<span class="go">Connected to 192.168.0.135.</span>
+<span class="go">Escape character is &#39;^]&#39;.</span>
+<span class="go">hello</span>
+<span class="go">hello</span>
+<span class="go">^]</span>
+<span class="go">telnet&gt; q</span>
+<span class="gp">$</span>
+</pre></div>
+</div>
+<p>One port echoes whatever is typed, one discards everything it gets, and
+the third spews out bits constantly. Type <code class="docutils literal notranslate"><span class="pre">wifi</span> <span class="pre">stop</span></code> to disable WiFi
+on the Arduino board.</p>
+</div>
+</div>
+
+
+                   </div>
+                  </div>
+                  
+    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
+      
+        <a href="../../os/os_user_guide.html" class="btn btn-neutral float-right" title="OS User Guide" accesskey="n">Next: OS User Guide <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="unit_test.html" class="btn btn-neutral" title="Write a Test Suite for a Package" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Write a Test Suite for a Package</a>
+      
+    </div>
+
+                </div>
+              </div>
+            </div>
+            <!-- ENDS CONTENT SECTION -->
+          </div>
+          <!-- ENDS .content -->
+        </div>
+      </div>
+      <footer>
+  <div class="container">
+    <div class="row">
+      <div class="col-xs-12">
+          
+              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
+          
+      </div>
+      <div class="col-xs-12">
+          <div class="logos">
+              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
+              <small class="footnote">
+                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
+                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
+              </small>
+              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
+                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
+              </a>
+          </div>
+      </div>
+    </div>
+  </div>
+</footer>
+    </div>
+    <!-- ENDS #wrapper -->
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'1.3.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
+      <script type="text/javascript" src="../../_static/js/affix.js"></script>
+      <script type="text/javascript" src="../../_static/js/main.js"></script>
+
+   
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/develop/tutorials/repo/add_repos.html b/develop/tutorials/repo/add_repos.html
index 9e10e58ab..47edcd67b 100644
--- a/develop/tutorials/repo/add_repos.html
+++ b/develop/tutorials/repo/add_repos.html
@@ -233,6 +233,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/repo/create_repo.html b/develop/tutorials/repo/create_repo.html
index 55bb3235d..6462f14ec 100644
--- a/develop/tutorials/repo/create_repo.html
+++ b/develop/tutorials/repo/create_repo.html
@@ -235,6 +235,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/repo/private_repo.html b/develop/tutorials/repo/private_repo.html
index 8bdfccdae..fbb294ad7 100644
--- a/develop/tutorials/repo/private_repo.html
+++ b/develop/tutorials/repo/private_repo.html
@@ -235,6 +235,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/repo/upgrade_repo.html b/develop/tutorials/repo/upgrade_repo.html
index 1155ecb69..8c9cca962 100644
--- a/develop/tutorials/repo/upgrade_repo.html
+++ b/develop/tutorials/repo/upgrade_repo.html
@@ -235,6 +235,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/sensors/air_quality.html b/develop/tutorials/sensors/air_quality.html
index f5255c990..ad321a474 100644
--- a/develop/tutorials/sensors/air_quality.html
+++ b/develop/tutorials/sensors/air_quality.html
@@ -239,6 +239,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/sensors/air_quality_ble.html b/develop/tutorials/sensors/air_quality_ble.html
index 11d6e0d18..15f3c94f7 100644
--- a/develop/tutorials/sensors/air_quality_ble.html
+++ b/develop/tutorials/sensors/air_quality_ble.html
@@ -241,6 +241,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/sensors/air_quality_sensor.html b/develop/tutorials/sensors/air_quality_sensor.html
index b103e2843..a33959fd8 100644
--- a/develop/tutorials/sensors/air_quality_sensor.html
+++ b/develop/tutorials/sensors/air_quality_sensor.html
@@ -241,6 +241,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/sensors/nrf52_adc.html b/develop/tutorials/sensors/nrf52_adc.html
index 1a631db6b..2910fb6b2 100644
--- a/develop/tutorials/sensors/nrf52_adc.html
+++ b/develop/tutorials/sensors/nrf52_adc.html
@@ -235,6 +235,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/sensors/sensor_bleprph_oic.html b/develop/tutorials/sensors/sensor_bleprph_oic.html
index acb9406af..c3cedbd25 100644
--- a/develop/tutorials/sensors/sensor_bleprph_oic.html
+++ b/develop/tutorials/sensors/sensor_bleprph_oic.html
@@ -249,6 +249,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/sensors/sensor_nrf52_bno055.html b/develop/tutorials/sensors/sensor_nrf52_bno055.html
index f872d26ff..474c2bb09 100644
--- a/develop/tutorials/sensors/sensor_nrf52_bno055.html
+++ b/develop/tutorials/sensors/sensor_nrf52_bno055.html
@@ -243,6 +243,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/sensors/sensor_nrf52_bno055_oic.html b/develop/tutorials/sensors/sensor_nrf52_bno055_oic.html
index 0f4f447f4..9c41d8dfd 100644
--- a/develop/tutorials/sensors/sensor_nrf52_bno055_oic.html
+++ b/develop/tutorials/sensors/sensor_nrf52_bno055_oic.html
@@ -249,6 +249,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/sensors/sensor_offboard_config.html b/develop/tutorials/sensors/sensor_offboard_config.html
index 573d1b2c8..63cd21865 100644
--- a/develop/tutorials/sensors/sensor_offboard_config.html
+++ b/develop/tutorials/sensors/sensor_offboard_config.html
@@ -243,6 +243,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/sensors/sensor_oic_overview.html b/develop/tutorials/sensors/sensor_oic_overview.html
index 3bced898b..61d8493ab 100644
--- a/develop/tutorials/sensors/sensor_oic_overview.html
+++ b/develop/tutorials/sensors/sensor_oic_overview.html
@@ -247,6 +247,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/sensors/sensor_thingy_lis2dh12_onb.html b/develop/tutorials/sensors/sensor_thingy_lis2dh12_onb.html
index c63cfd2e4..6c7a23094 100644
--- a/develop/tutorials/sensors/sensor_thingy_lis2dh12_onb.html
+++ b/develop/tutorials/sensors/sensor_thingy_lis2dh12_onb.html
@@ -243,6 +243,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/sensors/sensors.html b/develop/tutorials/sensors/sensors.html
index 1047fc8cc..f2a982fca 100644
--- a/develop/tutorials/sensors/sensors.html
+++ b/develop/tutorials/sensors/sensors.html
@@ -233,6 +233,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/sensors/sensors_framework.html b/develop/tutorials/sensors/sensors_framework.html
index f193dbf28..835da8520 100644
--- a/develop/tutorials/sensors/sensors_framework.html
+++ b/develop/tutorials/sensors/sensors_framework.html
@@ -241,6 +241,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/slinky/project-nrf52-slinky.html b/develop/tutorials/slinky/project-nrf52-slinky.html
index d40607ac1..f45240f0e 100644
--- a/develop/tutorials/slinky/project-nrf52-slinky.html
+++ b/develop/tutorials/slinky/project-nrf52-slinky.html
@@ -235,6 +235,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/slinky/project-sim-slinky.html b/develop/tutorials/slinky/project-sim-slinky.html
index f8dcf378a..dabe40100 100644
--- a/develop/tutorials/slinky/project-sim-slinky.html
+++ b/develop/tutorials/slinky/project-sim-slinky.html
@@ -235,6 +235,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/slinky/project-slinky.html b/develop/tutorials/slinky/project-slinky.html
index bcace2da1..2177f0042 100644
--- a/develop/tutorials/slinky/project-slinky.html
+++ b/develop/tutorials/slinky/project-slinky.html
@@ -233,6 +233,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/slinky/project-stm32-slinky.html b/develop/tutorials/slinky/project-stm32-slinky.html
index a772f8bec..15fba8dd8 100644
--- a/develop/tutorials/slinky/project-stm32-slinky.html
+++ b/develop/tutorials/slinky/project-stm32-slinky.html
@@ -235,6 +235,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/tooling/segger_rtt.html b/develop/tutorials/tooling/segger_rtt.html
index 784b652db..70d6cd88d 100644
--- a/develop/tutorials/tooling/segger_rtt.html
+++ b/develop/tutorials/tooling/segger_rtt.html
@@ -234,6 +234,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l3"><a class="reference internal" href="segger_sysview.html">Segger Sysview</a></li>
 </ul>
 </li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/tooling/segger_sysview.html b/develop/tutorials/tooling/segger_sysview.html
index 0a7eb002c..183ff2bb1 100644
--- a/develop/tutorials/tooling/segger_sysview.html
+++ b/develop/tutorials/tooling/segger_sysview.html
@@ -42,7 +42,7 @@
           <link rel="search" title="Search" href="../../search.html"/>
       <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/>
           <link rel="up" title="Tooling" href="tooling.html"/>
-          <link rel="next" title="OS User Guide" href="../../os/os_user_guide.html"/>
+          <link rel="next" title="Other" href="../other/other.html"/>
           <link rel="prev" title="SEGGER RTT Console" href="segger_rtt.html"/> 
 
     
@@ -234,6 +234,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l3 current"><a class="current reference internal" href="#">Segger Sysview</a></li>
 </ul>
 </li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
@@ -366,7 +367,7 @@ <h3><a class="toc-backref" href="#id5">Launch the app</a><a class="headerlink" h
                   
     <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
       
-        <a href="../../os/os_user_guide.html" class="btn btn-neutral float-right" title="OS User Guide" accesskey="n">Next: OS User Guide <span class="fa fa-arrow-circle-right"></span></a>
+        <a href="../other/other.html" class="btn btn-neutral float-right" title="Other" accesskey="n">Next: Other <span class="fa fa-arrow-circle-right"></span></a>
       
       
         <a href="segger_rtt.html" class="btn btn-neutral" title="SEGGER RTT Console" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: SEGGER RTT Console</a>
diff --git a/develop/tutorials/tooling/tooling.html b/develop/tutorials/tooling/tooling.html
index 9e639b2da..5ca8def26 100644
--- a/develop/tutorials/tooling/tooling.html
+++ b/develop/tutorials/tooling/tooling.html
@@ -232,6 +232,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l3"><a class="reference internal" href="segger_sysview.html">Segger Sysview</a></li>
 </ul>
 </li>
+<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
diff --git a/develop/tutorials/tutorials.html b/develop/tutorials/tutorials.html
index 20ea4cf8d..ba67447c0 100644
--- a/develop/tutorials/tutorials.html
+++ b/develop/tutorials/tutorials.html
@@ -225,6 +225,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
 <li class="toctree-l2"><a class="reference internal" href="lora/lorawanapp.html">LoRa</a></li>
 <li class="toctree-l2"><a class="reference internal" href="sensors/sensors.html">Sensors</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tooling/tooling.html">Tooling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="other/other.html">Other</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../os/os_user_guide.html">OS User Guide</a></li>
@@ -311,7 +312,7 @@ <h2><a class="toc-backref" href="#id3">Tutorial categories</a><a class="headerli
 </li>
 <li>Navigating the Code and Adding Functionality<ul>
 <li><a class="reference internal" href="repo/add_repos.html"><span class="doc">Adding More Repositories to Your Project</span></a></li>
-<li><span class="xref std std-doc">Adding a Unit Test For a Package</span></li>
+<li><a class="reference internal" href="other/unit_test.html"><span class="doc">Adding a Unit Test For a Package</span></a></li>
 </ul>
 </li>
 <li>Using Newtmgr<ul>
diff --git a/master/sitemap.xml b/master/sitemap.xml
index 44e4868d6..6e171931f 100644
--- a/master/sitemap.xml
+++ b/master/sitemap.xml
@@ -4,7 +4,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -13,13 +13,13 @@
         
     <url>
      <loc>http://mynewt.apache.org/pages/ble/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/pages/securitybullets/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -28,7 +28,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/quick-start/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -36,7 +36,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/about/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -44,7 +44,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/talks/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -52,7 +52,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/download/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -60,7 +60,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/community/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -68,7 +68,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/events/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -76,7 +76,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/documentation/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -85,7 +85,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/os/introduction/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -97,7 +97,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/os/get_started/vocabulary/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -133,7 +133,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/known_issues/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -143,37 +143,37 @@
         
     <url>
      <loc>http://mynewt.apache.org/newt/install/prev_releases/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/newtmgr/prev_releases/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/go_env/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/ide/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/how_to_edit_docs/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/answers/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
diff --git a/sitemap.xml b/sitemap.xml
index 44e4868d6..6e171931f 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -4,7 +4,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -13,13 +13,13 @@
         
     <url>
      <loc>http://mynewt.apache.org/pages/ble/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/pages/securitybullets/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -28,7 +28,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/quick-start/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -36,7 +36,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/about/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -44,7 +44,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/talks/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -52,7 +52,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/download/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -60,7 +60,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/community/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -68,7 +68,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/events/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -76,7 +76,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/documentation/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -85,7 +85,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/os/introduction/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -97,7 +97,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/os/get_started/vocabulary/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -133,7 +133,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/known_issues/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -143,37 +143,37 @@
         
     <url>
      <loc>http://mynewt.apache.org/newt/install/prev_releases/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/newtmgr/prev_releases/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/go_env/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/ide/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/how_to_edit_docs/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/answers/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
diff --git a/v0_9_0/sitemap.xml b/v0_9_0/sitemap.xml
index 103fd766a..4ddec4347 100644
--- a/v0_9_0/sitemap.xml
+++ b/v0_9_0/sitemap.xml
@@ -4,7 +4,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -12,7 +12,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/quick-start/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -20,7 +20,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/about/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -28,7 +28,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/download/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -36,7 +36,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/community/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -44,7 +44,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/events/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -53,7 +53,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/os/introduction/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -65,7 +65,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/os/get_started/vocabulary/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -101,7 +101,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/known_issues/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -111,13 +111,13 @@
         
     <url>
      <loc>http://mynewt.apache.org/faq/how_to_edit_docs/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/answers/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
diff --git a/v1_0_0/sitemap.xml b/v1_0_0/sitemap.xml
index 0447c7156..19d47ffb2 100644
--- a/v1_0_0/sitemap.xml
+++ b/v1_0_0/sitemap.xml
@@ -4,7 +4,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -13,7 +13,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/pages/ble/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -22,7 +22,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/quick-start/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -30,7 +30,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/about/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -38,7 +38,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/talks/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -46,7 +46,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/download/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -54,7 +54,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/community/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -62,7 +62,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/events/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -71,7 +71,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/os/introduction/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -83,7 +83,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/os/get_started/vocabulary/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -119,7 +119,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/known_issues/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -129,25 +129,25 @@
         
     <url>
      <loc>http://mynewt.apache.org/faq/go_env/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/ide/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/how_to_edit_docs/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/answers/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
diff --git a/v1_1_0/sitemap.xml b/v1_1_0/sitemap.xml
index 858ae48f5..80066ad87 100644
--- a/v1_1_0/sitemap.xml
+++ b/v1_1_0/sitemap.xml
@@ -4,7 +4,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -13,13 +13,13 @@
         
     <url>
      <loc>http://mynewt.apache.org/pages/ble/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/pages/securitybullets/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -28,7 +28,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/quick-start/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -36,7 +36,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/about/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -44,7 +44,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/talks/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -52,7 +52,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/download/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -60,7 +60,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/community/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -68,7 +68,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/events/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -77,7 +77,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/os/introduction/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -89,7 +89,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/os/get_started/vocabulary/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -125,7 +125,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/known_issues/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -135,25 +135,25 @@
         
     <url>
      <loc>http://mynewt.apache.org/faq/go_env/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/ide/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/how_to_edit_docs/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/answers/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
diff --git a/v1_2_0/sitemap.xml b/v1_2_0/sitemap.xml
index 78443feab..8a78b5bb0 100644
--- a/v1_2_0/sitemap.xml
+++ b/v1_2_0/sitemap.xml
@@ -4,7 +4,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -13,13 +13,13 @@
         
     <url>
      <loc>http://mynewt.apache.org/pages/ble/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/pages/securitybullets/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -28,7 +28,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/quick-start/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -36,7 +36,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/about/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -44,7 +44,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/talks/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -52,7 +52,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/download/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -60,7 +60,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/community/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -68,7 +68,7 @@
     
     <url>
      <loc>http://mynewt.apache.org/events/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -77,7 +77,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/os/introduction/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -89,7 +89,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/os/get_started/vocabulary/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -125,7 +125,7 @@
         
     <url>
      <loc>http://mynewt.apache.org/known_issues/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -135,37 +135,37 @@
         
     <url>
      <loc>http://mynewt.apache.org/newt/install/prev_releases/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/newtmgr/prev_releases/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/go_env/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/ide/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/how_to_edit_docs/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.apache.org/faq/answers/</loc>
-     <lastmod>2018-02-26</lastmod>
+     <lastmod>2018-03-02</lastmod>
      <changefreq>daily</changefreq>
     </url>
         


 

----------------------------------------------------------------
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