Repository: incubator-mynewt-site
Updated Branches:
  refs/heads/master a45eda021 -> 274e59de4


Modified event description

Add os_task_remove

mynewt.apache.org/newtmgr vanity import domain

Added cputime module and WiFi on Arduino MKR1000 documentation PR from cwanda. 
This closes #165.

Updated events

Updated events

Fixed typo in mkdocs.yml


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/commit/274e59de
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/tree/274e59de
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/diff/274e59de

Branch: refs/heads/master
Commit: 274e59de402df86a3e8395720ad8e7ae8c9f9969
Parents: a45eda0
Author: aditihilbert <[email protected]>
Authored: Fri Mar 24 23:33:05 2017 -0700
Committer: aditihilbert <[email protected]>
Committed: Fri Mar 31 11:06:08 2017 -0700

----------------------------------------------------------------------
 .../core_os/context_switch/os_sched_remove.md   |  45 ++++
 docs/os/core_os/cputime/os_cputime.md           |  43 ++++
 .../core_os/cputime/os_cputime_delay_nsecs.md   |  25 ++
 .../core_os/cputime/os_cputime_delay_ticks.md   |  25 ++
 .../core_os/cputime/os_cputime_delay_usecs.md   |  25 ++
 docs/os/core_os/cputime/os_cputime_get32.md     |  23 ++
 docs/os/core_os/cputime/os_cputime_init.md      |  29 +++
 .../cputime/os_cputime_nsecs_to_ticks.md        |  24 ++
 .../cputime/os_cputime_ticks_to_nsecs.md        |  24 ++
 .../cputime/os_cputime_ticks_to_usecs.md        |  24 ++
 .../os/core_os/cputime/os_cputime_timer_init.md |  65 +++++
 .../cputime/os_cputime_timer_relative.md        |  33 +++
 .../core_os/cputime/os_cputime_timer_start.md   |  34 +++
 .../os/core_os/cputime/os_cputime_timer_stop.md |  30 +++
 .../cputime/os_cputime_usecs_to_ticks.md        |  24 ++
 .../memory_pool/os_mempool_info_get_next.md     |  70 ++++++
 docs/os/core_os/task/os_task_remove.md          |  43 ++++
 docs/os/core_os/time/os_get_uptime_usec.md      |  24 ++
 docs/os/core_os/time/os_time_advance.md         |  22 ++
 docs/os/core_os/time/os_time_ms_to_ticks.md     |  29 +++
 docs/os/tutorials/pics/mkr1000-jlink.jpg        | Bin 0 -> 146645 bytes
 docs/os/tutorials/pics/mkr1000-serial.jpg       | Bin 0 -> 73565 bytes
 docs/os/tutorials/project-stm32-slinky.md       | 243 +++++++++++++++++++
 docs/os/tutorials/rbnano2.md                    | 206 ++++++++++++++++
 extras/newtmgr/index.html                       |   6 +
 extras/newtmgr/newtmgr/index.html               |   6 +
 extras/newtmgr/nmxact/index.html                |   6 +
 mkdocs.yml                                      |  14 +-
 28 files changed, 1135 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/context_switch/os_sched_remove.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/context_switch/os_sched_remove.md 
b/docs/os/core_os/context_switch/os_sched_remove.md
new file mode 100644
index 0000000..f0a5048
--- /dev/null
+++ b/docs/os/core_os/context_switch/os_sched_remove.md
@@ -0,0 +1,45 @@
+## <font color="#F2853F" style="font-size:24pt"> os_sched_remove </font>
+
+```c
+int os_sched_remove(struct os_task *t)
+```
+Stops and removes task `t`.
+
+The function removes the task from the `g_os_task_list` task list. It also 
removes the task from one of the following task list:
+
+* `g_os_run_list` if the task is in the Ready state.
+* `g_os_sleep_list` if the task is in the Sleep state.
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| `t` | Pointer to the `os_task` structure for the task to be removed.|
+
+#### Returned values
+OS_OK - The task is removed successfully.
+
+#### Notes
+This function must be called with all interrupts disabled.
+
+#### Example
+
+The `os_task_remove` function calls the `os_sched_remove ` function to remove 
a task:
+```c
+
+int
+os_task_remove(struct os_task *t)
+{
+    int rc;
+    os_sr_t sr;
+
+    /* Add error checking code to ensure task can removed. */
+  
+
+    /* Call os_sched_remove to remove the task. */
+    OS_ENTER_CRITICAL(sr);
+    rc = os_sched_remove(t);
+    OS_EXIT_CRITICAL(sr);
+    return rc;
+}
+```

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/cputime/os_cputime.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/cputime/os_cputime.md 
b/docs/os/core_os/cputime/os_cputime.md
new file mode 100644
index 0000000..1a6ce06
--- /dev/null
+++ b/docs/os/core_os/cputime/os_cputime.md
@@ -0,0 +1,43 @@
+# CPU Time
+
+The MyNewt `cputime` module provides high resolution time and timer support. 
This module is intended for use by BSPs, drivers, and network controllers. 
+
+## Description
+
+The `cputime` API provides high resolution time and timer support.  The module 
must be initialized, using the `os_cputime_init()` function, with the clock 
frequency to use. The module uses the `hal_timer` API, defined in 
hal/hal_timer.h, to access the hardware timers. It uses the hardware timer 
number specified by the `OS_CPUTIME_TIMER_NUM` system configuration setting.
+
+## Data Structures
+
+The module uses the following data structures:
+
+* `uint32_t` to represent `cputime`. Only the lower 32 bits of a 64 timer are 
used. 
+* `struct hal_timer` to represent a cputime timer.
+
+## List of Functions
+
+The functions available in cputime are:
+
+| **Function** | **Description** |
+|-----------|-----------|
+| [os_cputime_delay_nsecs](os_cputime_delay_nsecs.md) | Delays for a specified 
number of nanoseconds. |
+| [os_cputime_delay_ticks](os_cputime_delay_ticks.md) | Delays for a specified 
number of ticks. |
+| [os_cputime_delay_usecs](os_cputime_delay_usecs.md) | Delays for a specified 
number of microseconds. |
+| [os_cputime_get32](os_cputime_get32.md) | Gets the current value of the cpu 
time.|
+| [os_cputime_init](os_cputime_init.md) | Initializes the cputime module. |
+| [os_cputime_nsecs_to_ticks](os_cputime_nsecs_to_ticks.md) | Converts the 
specified number of nanoseconds to number of ticks. |
+| [os_cputime_ticks_to_nsecs](os_cputime_ticks_to_nsecs.md) | Converts the 
specified number of ticks to number of nanoseconds. | 
+| [os_cputime_ticks_to_usecs](os_cputime_ticks_to_usecs.md) | Converts the 
specified number of ticks to number of microseconds. |
+| [os_cputime_timer_init](os_cputime_timer_init.md) | Initializes a timer. |
+| [os_cputime_timer_relative](os_cputime_timer_relative.md) | Sets a timer to 
expire in the specified number of microseconds from the current time. | 
+| [os_cputime_timer_start](os_cputime_timer_start.md) | Sets a timer to expire 
at the specified cputime. |
+| [os_cputime_timer_stop](os_cputime_timer_stop.md) | Stops a timer from 
running. |
+| [os_cputime_usecs_to_ticks](os_cputime_usecs_to_ticks.md) | Converts the 
specified number of microseconds to number of ticks. |
+
+## List of Macros
+
+These macros should be used to evaluate the time with respect to each other.
+
+* `CPUIME_LT(t1,t2)` -- evaluates to true if t1 is before t2 in time.
+* `CPUTIME_GT(t1,t2)` -- evaluates to true if t1 is after t2 in time 
+* `CPUTIME_LEQ(t1,t2)` -- evaluates to true if t1 is on or before t2 in time.
+* `CPUTIME_GEQ(t1,t2)` -- evaluates to true if t1 is on or after t2 in time.

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/cputime/os_cputime_delay_nsecs.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/cputime/os_cputime_delay_nsecs.md 
b/docs/os/core_os/cputime/os_cputime_delay_nsecs.md
new file mode 100644
index 0000000..c4e0e71
--- /dev/null
+++ b/docs/os/core_os/cputime/os_cputime_delay_nsecs.md
@@ -0,0 +1,25 @@
+## <font color="F2853F" style="font-size:24pt">os_cputime_delay_nsecs</font>
+
+```c
+void os_cputime_delay_nsecs(uint32_t nsecs)
+```
+Waits for a specified number of nanoseconds to elapse before returning.
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| `nsecs` |  Number of nanoseconds to delay for.
+
+
+#### Returned values
+N/A
+
+#### Notes
+
+#### Example
+Delays for 250000 nsecs:
+```c
+os_cputime_delay_nsecs(250000)
+```

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/cputime/os_cputime_delay_ticks.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/cputime/os_cputime_delay_ticks.md 
b/docs/os/core_os/cputime/os_cputime_delay_ticks.md
new file mode 100644
index 0000000..a744141
--- /dev/null
+++ b/docs/os/core_os/cputime/os_cputime_delay_ticks.md
@@ -0,0 +1,25 @@
+## <font color="F2853F" style="font-size:24pt">os_cputime_delay_ticks</font>
+
+```c
+void os_cputime_delay_ticks(uint32_t ticks)
+```
+Waits for a specified number of ticks to elapse before returning.
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| `ticks` |  Number of ticks to delay for.
+
+
+#### Returned values
+N/A
+
+#### Notes
+
+#### Example
+Delays for 100000 ticks:
+```c
+os_cputime_delay_ticks(100000)
+```

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/cputime/os_cputime_delay_usecs.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/cputime/os_cputime_delay_usecs.md 
b/docs/os/core_os/cputime/os_cputime_delay_usecs.md
new file mode 100644
index 0000000..86c1b43
--- /dev/null
+++ b/docs/os/core_os/cputime/os_cputime_delay_usecs.md
@@ -0,0 +1,25 @@
+## <font color="F2853F" style="font-size:24pt">os_cputime_delay_usecs</font>
+
+```c
+void os_cputime_delay_usecs(uint32_t usecs)
+```
+Waits for a specified number of microseconds to elapse before returning.
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| `usecs` |  Number of microseconds to delay for.
+
+
+#### Returned values
+N/A
+
+#### Notes
+
+#### Example
+Delays for 250000 usecs:
+```c
+os_cputime_delay_usecs(250000)
+```

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/cputime/os_cputime_get32.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/cputime/os_cputime_get32.md 
b/docs/os/core_os/cputime/os_cputime_get32.md
new file mode 100644
index 0000000..b2ee2c8
--- /dev/null
+++ b/docs/os/core_os/cputime/os_cputime_get32.md
@@ -0,0 +1,23 @@
+## <font color="F2853F" style="font-size:24pt">os_cputime_get32</font>
+
+```c
+uint32_t os_cputime_get32(void)
+```
+Gets the current cputime.  If a timer is 64 bits, only the lower 32 bit is 
returned.
+
+#### Arguments
+N/A
+
+#### Returned values
+
+The current cputime.
+
+#### Notes
+
+#### Example
+
+```c
+uint32 cur_cputime;
+cur_cputime = os_cputime_get32();
+```
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/cputime/os_cputime_init.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/cputime/os_cputime_init.md 
b/docs/os/core_os/cputime/os_cputime_init.md
new file mode 100644
index 0000000..2e119c8
--- /dev/null
+++ b/docs/os/core_os/cputime/os_cputime_init.md
@@ -0,0 +1,29 @@
+## <font color="F2853F" style="font-size:24pt">os_cputime_init</font>
+
+```c
+int os_cputime_init(uint32_t clock_freq)
+```
+Initializes the cputime module with the clock frequency (in HZ) to use for the 
timer resolution. It configures the hardware timer specified by the 
`OS_CPUTIME_TIMER_NUM` sysconfig value to run at the specified clock frequency.
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| `clock_freq` |  Clock frequency, in HZ, for the timer resolution.
+
+
+#### Returned values
+
+0 on success and -1 on error.
+
+#### Notes
+This function must be called after os_init is called. It should only be called 
once and before any other timer API and hardware timers are used.
+
+#### Example
+A BSP package usually calls this function and uses the `OS_CPUTIME_FREQUENCY` 
sysconfig value for the clock frequency argument:
+```c
+int rc
+rc = os_cputime_init(MYNEWT_VAL(OS_CPUTIME_FREQUENCY));
+```
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/cputime/os_cputime_nsecs_to_ticks.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/cputime/os_cputime_nsecs_to_ticks.md 
b/docs/os/core_os/cputime/os_cputime_nsecs_to_ticks.md
new file mode 100644
index 0000000..1666d58
--- /dev/null
+++ b/docs/os/core_os/cputime/os_cputime_nsecs_to_ticks.md
@@ -0,0 +1,24 @@
+## <font color="F2853F" style="font-size:24pt">os_cputime_nsecs_to_ticks</font>
+
+```c
+uint32_t os_cputime_nsecs_to_ticks(uint32_t nsecs)
+```
+Converts a specified number of nanoseconds to cputime ticks.
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| `nsecs` |  Number of nanoseconds to convert to ticks.
+
+
+#### Returned values
+The number of ticks in `nsecs` nanoseconds.
+
+#### Notes
+
+#### Example
+```c
+uint32_t num_ticks;
+num_ticks = os_cputime_nsecs_to_ticks(1000000);
+```

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/cputime/os_cputime_ticks_to_nsecs.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/cputime/os_cputime_ticks_to_nsecs.md 
b/docs/os/core_os/cputime/os_cputime_ticks_to_nsecs.md
new file mode 100644
index 0000000..dc6afa0
--- /dev/null
+++ b/docs/os/core_os/cputime/os_cputime_ticks_to_nsecs.md
@@ -0,0 +1,24 @@
+## <font color="F2853F" style="font-size:24pt">os_cputime_ticks_to_nsecs</font>
+
+```c
+uint32_t os_cputime_ticks_to_nsecs(uint32_t ticks)
+```
+Converts cputime ticks to nanoseconds.
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| `ticks` |  Number of cputime ticks to convert to nanoseconds.
+
+
+#### Returned values
+The number of nanoseconds in `ticks` number of ticks.
+
+#### Notes
+
+#### Example
+```c
+uint32_t num_nsecs;
+num_nsecs = os_cputime_ticks_to_nsecs(1000000);
+```

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/cputime/os_cputime_ticks_to_usecs.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/cputime/os_cputime_ticks_to_usecs.md 
b/docs/os/core_os/cputime/os_cputime_ticks_to_usecs.md
new file mode 100644
index 0000000..6fcc496
--- /dev/null
+++ b/docs/os/core_os/cputime/os_cputime_ticks_to_usecs.md
@@ -0,0 +1,24 @@
+## <font color="F2853F" style="font-size:24pt">os_cputime_ticks_to_usecs</font>
+
+```c
+uint32_t os_cputime_ticks_to_usecs(uint32_t ticks)
+```
+Converts a specified number of cputime ticks to microseconds.
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| `ticks` |  Number of cputime ticks to convert to microseconds.
+
+
+#### Returned values
+The number of microseconds in `ticks` number of ticks.
+
+#### Notes
+
+#### Example
+```c
+uint32_t num_usecs;
+num_usecs = os_cputime_ticks_to_usecs(1000000);
+```

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/cputime/os_cputime_timer_init.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/cputime/os_cputime_timer_init.md 
b/docs/os/core_os/cputime/os_cputime_timer_init.md
new file mode 100644
index 0000000..7fba485
--- /dev/null
+++ b/docs/os/core_os/cputime/os_cputime_timer_init.md
@@ -0,0 +1,65 @@
+## <font color="F2853F" style="font-size:24pt">os_cputime_timer_init</font>
+
+```c
+void os_cputime_timer_init(struct hal_timer *timer, hal_timer_cb fp, void *arg)
+```
+Initializes a cputime timer, indicated by `timer`, with a pointer to a 
callback function to call when the timer expires. When an optional opaque 
argument is specified, it is passed to the timer callback function. 
+
+The callback function has the following prototype:
+```c
+void hal_timer_cb(void *arg)
+```
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| `timer` |  Pointer to the hal_timer to initialize. This value cannot be NULL.
+| `fp`    |  Pointer to the callback function to call when the timer expires. 
This value cannot be NULL.
+| `arg`   | Optional opaque argument to pass to the hal timer callback 
function.
+
+
+#### Returned values
+N/A
+
+#### Notes
+
+#### Example
+
+Example of ble_ll setting up a response timer:
+
+```c
+ble_ll_wfr_timer_exp(void *arg)
+{
+    int rx_start;
+    uint8_t lls;
+
+         ...
+
+    /* If we have started a reception, there is nothing to do here */
+    if (!rx_start) {
+        switch (lls) {
+        case BLE_LL_STATE_ADV:
+            ble_ll_adv_wfr_timer_exp();
+            break;
+
+         ...
+
+        /* Do nothing here. Fall through intentional */
+        case BLE_LL_STATE_INITIATING:
+        default:
+            break;
+        }
+    }
+}
+
+void ble_ll_init(void)
+{
+       ...
+
+    os_cputime_timer_init(&g_ble_ll_data.ll_wfr_timer, ble_ll_wfr_timer_exp, 
NULL);
+
+       ...
+}
+```
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/cputime/os_cputime_timer_relative.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/cputime/os_cputime_timer_relative.md 
b/docs/os/core_os/cputime/os_cputime_timer_relative.md
new file mode 100644
index 0000000..2d420a8
--- /dev/null
+++ b/docs/os/core_os/cputime/os_cputime_timer_relative.md
@@ -0,0 +1,33 @@
+## <font color="F2853F" style="font-size:24pt">os_cputime_timer_relative</font>
+
+```c
+void os_cputime_timer_relative(struct hal_timer *timer, uint32_t usecs)
+```
+Sets a timer to expire in the specified number of microseconds from the 
current time.  The callback function for the timer is called when the timer 
expires. 
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| `timer` |  Pointer to an initialized hal_timer.
+| `usecs` |  The number of microseconds to set the timer to expire from now.
+
+
+#### Returned values
+N/A
+
+#### Notes
+
+`timer` must be initialized using the `os_cputime_timer_init()` function 
before setting up a timer. 
+
+#### Example
+`
+```c
+struct hal_timer mytimer;
+     ...
+
+os_cputime_timer_relative(&mytimer, 100);
+
+```
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/cputime/os_cputime_timer_start.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/cputime/os_cputime_timer_start.md 
b/docs/os/core_os/cputime/os_cputime_timer_start.md
new file mode 100644
index 0000000..4cdba9c
--- /dev/null
+++ b/docs/os/core_os/cputime/os_cputime_timer_start.md
@@ -0,0 +1,34 @@
+## <font color="F2853F" style="font-size:24pt">os_cputime_timer_start</font>
+
+```c
+void os_cputime_timer_start(struct hal_timer *timer, uint32_t cputime)
+```
+Sets a timer to expire at the specified cputime.  The callback function for 
the timer is called when the timer expires. 
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| `timer` |  Pointer to an initialized hal_timer.
+| `cputime` |  The cputime when the timer expires.
+
+
+#### Returned values
+N/A
+
+#### Notes
+
+`timer` must be initialized using the `os_cputime_timer_init()` function 
before setting up a timer.
+
+#### Example
+
+```c
+void
+ble_ll_wfr_enable(uint32_t cputime)
+{
+    os_cputime_timer_start(&g_ble_ll_data.ll_wfr_timer, cputime);
+}
+
+```
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/cputime/os_cputime_timer_stop.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/cputime/os_cputime_timer_stop.md 
b/docs/os/core_os/cputime/os_cputime_timer_stop.md
new file mode 100644
index 0000000..5c38f06
--- /dev/null
+++ b/docs/os/core_os/cputime/os_cputime_timer_stop.md
@@ -0,0 +1,30 @@
+## <font color="F2853F" style="font-size:24pt">os_cputime_timer_stop</font>
+
+```c
+void os_cputime_timer_stop(struct hal_timer *timer)
+```
+Stops a timer from running. The timer is removed from the timer queue and 
interrupts are disabled if there are no more timers on the timer queue.
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| `timer` |  Pointer to the timer to stop.
+
+
+#### Returned values
+N/A
+
+#### Notes
+
+#### Example
+
+```c
+void
+ble_ll_wfr_disable(void)
+{
+    os_cputime_timer_stop(&g_ble_ll_data.ll_wfr_timer);
+}
+
+```
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/cputime/os_cputime_usecs_to_ticks.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/cputime/os_cputime_usecs_to_ticks.md 
b/docs/os/core_os/cputime/os_cputime_usecs_to_ticks.md
new file mode 100644
index 0000000..dd6618d
--- /dev/null
+++ b/docs/os/core_os/cputime/os_cputime_usecs_to_ticks.md
@@ -0,0 +1,24 @@
+## <font color="F2853F" style="font-size:24pt">os_cputime_usecs_to_ticks</font>
+
+```c
+uint32_t os_cputime_usecs_to_ticks(uint32_t usecs)
+```
+Converts a specified number of microseconds to cputime ticks.
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| `usecs` |  Number of microseconds to convert to ticks.
+
+
+#### Returned values
+The number of ticks in `usecs` nanoseconds.
+
+#### Notes
+
+#### Example
+```c
+uint32_t num_ticks;
+num_ticks = os_cputime_usecs_to_ticks(100);
+```

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/memory_pool/os_mempool_info_get_next.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/memory_pool/os_mempool_info_get_next.md 
b/docs/os/core_os/memory_pool/os_mempool_info_get_next.md
new file mode 100644
index 0000000..8f5f2a3
--- /dev/null
+++ b/docs/os/core_os/memory_pool/os_mempool_info_get_next.md
@@ -0,0 +1,70 @@
+## <font color="F2853F" style="font-size:24pt"> os_mempool_info_get_next</font>
+
+```c
+struct os_mempool * os_mempool_info_get_next(struct os_mempool *mp, struct 
os_mempool_info *omi)
+```
+Populates the os_mempool_info structure pointed to by `omi` with memory pool 
information. 
+The value of `mp` specifies the memory pool information to populate. If `mp` 
is **NULL**, it populates the information for the first memory pool on the 
memory pool list. If `mp` is not NULL, it populates the information for the 
next memory pool after `mp`.   
+ 
+<br>
+#### Arguments
+
+| Arguments | Description | 
+|-----------|-------------| 
+| `mp` | Pointer to the memory pool in the memory pool list from the previous 
`os_mempool_info_get_next` function call. The next memory pool after `mp` is 
populated. If `mp` is NULL, the first memory pool on the memory pool list is 
populated.|
+| `omi` |  Pointer to `os_mempool_info` structure where memory information 
will be stored.| 
+
+<br>
+#### Returned values
+
+* A pointer to the memory pool structure that was used to populate the memory 
pool information structure. 
+
+* NULL indicates `mp` is the last memory pool on the list and `omi` is not 
populated with memory pool information.
+
+<br>
+#### Example
+
+```c
+
+shell_os_mpool_display_cmd(int argc, char **argv)
+{
+    struct os_mempool *mp;
+    struct os_mempool_info omi;
+    char *name;
+
+    name = NULL;
+    found = 0;
+
+    if (argc > 1 && strcmp(argv[1], "")) {
+        name = argv[1];                  
+    }
+    console_printf("Mempools: \n");
+    mp = NULL;
+    console_printf("%32s %5s %4s %4s %4s\n", "name", "blksz", "cnt", "free",
+                   "min");
+    while (1) {
+        mp = o{_mempool_info_get_next(mp, &omi);
+        if (mp == NULL) {
+            break;      
+        }
+        if (name) {
+            if (strcmp(name, omi.omi_name)) {
+                continue;
+            } else {
+                found = 1;
+            }
+        }
+
+        console_printf("%32s %5d %4d %4d %4d\n", omi.omi_name,
+                       omi.omi_block_size, omi.omi_num_blocks,
+                       omi.omi_num_free, omi.omi_min_free);
+    }
+
+    if (name && !found) {
+        console_printf("Couldn't find a memory pool with name %s\n",
+                name);
+    }
+    return (0);
+}
+
+```

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/task/os_task_remove.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/task/os_task_remove.md 
b/docs/os/core_os/task/os_task_remove.md
new file mode 100644
index 0000000..79f18c3
--- /dev/null
+++ b/docs/os/core_os/task/os_task_remove.md
@@ -0,0 +1,43 @@
+## <font color="F2853F" style="font-size:24pt"> os_task_remove</font>
+
+```c
+int os_task_remove(struct os_task *t)
+```
+Removes a task, `t`, from the task list. A task cannot be removed when it is 
in one of the following states:
+
+* It is running - a task cannot remove itself.
+* It has not been initialized.
+* It is holding a lock on a semphore or mutex.
+* It is suspended waiting on a lock (semaphore or mutex) or for an event on an 
event queue.
+
+<br>
+#### Arguments
+
+| Arguments | Description | 
+|-----------|-------------| 
+| `t` | Pointer to the `os_task` structure for the task to be removed |
+
+<br>
+#### Returned values
+`OS_OK`:  Task `t` is removed sucessfully.
+<br>`OS_INVALID_PARM`:  Task `t` is the calling task. A task cannot remove 
itself.
+<br>`OS_NOT_STARTED`:  Task `t` is not initialized.
+<br>`OS_EBUSY`: Task `t` is either holding a lock or suspended waiting on lock 
on event.
+<br>
+#### Example
+
+```c
+
+struct os_task worker_task;
+
+int
+remove_my_worker_task(void)
+{
+    /* Add error checking code to ensure task can removed. */
+    
+    /* Call os_task_remove to remove the worker task */
+    rc = os_task_remove(&worker_task);
+    return rc;
+}
+```
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/time/os_get_uptime_usec.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/time/os_get_uptime_usec.md 
b/docs/os/core_os/time/os_get_uptime_usec.md
new file mode 100644
index 0000000..4859196
--- /dev/null
+++ b/docs/os/core_os/time/os_get_uptime_usec.md
@@ -0,0 +1,24 @@
+## <font color="F2853F" style="font-size:24pt">os_get_uptime_usec</font>
+
+```c
+int64_t os_get_uptime_usec(void)
+```
+Gets the time duration, in microseconds, since boot.
+
+#### Arguments
+
+N/A
+
+#### Returned values
+Time since boot in microseconds. 
+
+#### Notes
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```c
+   int64_t time_since_boot;
+   time_since_boot = os_get_uptime_usec();
+```

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/time/os_time_advance.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/time/os_time_advance.md 
b/docs/os/core_os/time/os_time_advance.md
new file mode 100644
index 0000000..fff1245
--- /dev/null
+++ b/docs/os/core_os/time/os_time_advance.md
@@ -0,0 +1,22 @@
+## <font color="F2853F" style="font-size:24pt">os_time_advance</font>
+
+```c
+void os_time_advance(int ticks)
+```
+Moves the OS time forward by the value specified in `ticks`.  Typically, this 
is called in one place by the architecture specific OS code 
(kernel/os/src/arch)  timer_handler which is in turn called by the BSP specific 
code assigned to drive the OS timer tick. See Porting Mynewt OS for details.
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| `ticks` |  Number of ticks to move the OS time forward. |
+
+
+#### Returned values
+
+N/A
+
+#### Notes
+
+
+#### Example

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/core_os/time/os_time_ms_to_ticks.md
----------------------------------------------------------------------
diff --git a/docs/os/core_os/time/os_time_ms_to_ticks.md 
b/docs/os/core_os/time/os_time_ms_to_ticks.md
new file mode 100644
index 0000000..4508012
--- /dev/null
+++ b/docs/os/core_os/time/os_time_ms_to_ticks.md
@@ -0,0 +1,29 @@
+## <font color="F2853F" style="font-size:24pt">os_time_ms_to_ticks</font>
+
+```c
+int os_time_ms_to_ticks(uint32_t ms, uint32_t *out_ticks)
+```
+Converts milliseconds to OS ticks.
+
+#### Arguments
+| Arguments | Description |
+|-----------|-------------|
+| `ms` |  Number of milliseconds to convert to OS ticks. |
+| `out_ticks` | Pointer to an uint32_t to return the number of OS ticks for 
`ms` milliseconds.|
+
+N/A
+
+#### Returned values
+`0`:  Success
+<br>`OS_EINVAL`:  Number of ticks is too large to fit in an uint32_t.
+
+N/A
+
+#### Notes
+
+
+#### Example
+```c
+unint32_t num_ticks;
+os_time_ms_to_ticks(50, &num_ticks);
+```

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/tutorials/pics/mkr1000-jlink.jpg
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/pics/mkr1000-jlink.jpg 
b/docs/os/tutorials/pics/mkr1000-jlink.jpg
new file mode 100755
index 0000000..cfa09ca
Binary files /dev/null and b/docs/os/tutorials/pics/mkr1000-jlink.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/tutorials/pics/mkr1000-serial.jpg
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/pics/mkr1000-serial.jpg 
b/docs/os/tutorials/pics/mkr1000-serial.jpg
new file mode 100755
index 0000000..f4e3819
Binary files /dev/null and b/docs/os/tutorials/pics/mkr1000-serial.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/tutorials/project-stm32-slinky.md
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/project-stm32-slinky.md 
b/docs/os/tutorials/project-stm32-slinky.md
new file mode 100644
index 0000000..926a459
--- /dev/null
+++ b/docs/os/tutorials/project-stm32-slinky.md
@@ -0,0 +1,243 @@
+## Project Slinky Using STM32 Board
+
+The goal of the project is to enable and demonstrate remote communications 
with the Mynewt OS via newt manager (newtmgr) by leveraging a sample app 
"Slinky" included under the /apps directory in the repository. In this project 
we will define a target for the STM32-E407 board and assign the app "Slinky" to 
it.
+
+If you have an existing project that has a different application and you wish 
to add newtmgr functionality to it, check out the [Enable newtmgr in any 
app](add_newtmgr.md) tutorial.
+
+<br>
+
+
+###Prerequisites
+Ensure that you have met the following prerequisites before continuing with 
this tutorial:
+
+* Have a STM32-E407 development board from Olimex. 
+* Have a ARM-USB-TINY-H connector with JTAG interface for debugging ARM 
microcontrollers (comes with the ribbon cable to hook up to the board)
+* Have a USB to TTL Serial Cable with female wiring harness.
+* Have a USB Micro-A cable to connect your computer to the board.
+* Have Internet connectivity to fetch remote Mynewt components.
+* Have a computer to build a Mynewt application and connect to the board over 
USB.
+* Install the newt tool and the toolchains (See Basic Setup).
+* Install the newtmgr tool.
+* 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.
+* Read the Mynewt OS Concepts section.
+
+### Overview of Steps
+
+* Install dependencies
+* Define a target using the newt tool
+* Build executables for the targets using the newt tool
+* Set up serial connection with the targets
+* Create a connection profile using the newtmgr tool
+* Use the newtmgr tool to communicate with the targets
+
+### Create a New Project
+Create a new project if you do not have an existing one.  You can skip this 
step and proceed to [create the targets](#create_targets) if you already have a 
project created or completed the [Sim Slinky](project-slinky.md) tutorial.
+
+```no-highlight
+$ newt new slinky
+Downloading project skeleton from apache/incubator-mynewt-blinky...
+...
+Installing skeleton in slink...
+Project slink successfully created
+$ cd slinky
+$newt install
+apache-mynewt-core
+```
+
+<br>
+
+###<a name="create_targets"></a> Create the Targets
+Create two targets for the STM32-E407 board - one for the bootloader and one 
for the Slinky application.
+
+Run the following `newt target` commands, from your project directory, to 
create a bootloader target. We name the target `
+stm32_boot`.
+
+```no-highlight
+$ newt target create stm32_boot
+$ newt target set stm32_bootr 
bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard
+$ newt target set stm32_boot build_profile=optimized
+$ newt target set stm32_boot target.app=@apache-mynewt-core/apps/boot
+```
+<br>
+Run the following `newt target` commands to create a target for the Slinky 
application. We name the target `stm32_slinky`.
+
+```no-highlight
+$ newt target create stm32_slinky
+$ newt target set stm32_slinky 
bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard
+$ newt target set stm32_slinky build_profile=debug
+$ newt target set stm32_slinky app=@apache-mynewt-core/apps/slinky
+```
+<br>
+
+### Build the Targets
+Run the `newt build stm32_boot` command to build the bootloader:
+
+```no-highlight
+$ newt build stm32_boot
+Building target targets/stm32_boot
+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/loader.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/crypto/mbedtls/src/aes.c
+Compiling repos/apache-mynewt-core/boot/bootutil/src/bootutil_misc.c
+Compiling repos/apache-mynewt-core/apps/boot/src/boot.c
+
+      ...
+
+Archiving sys_mfg.a
+Archiving sys_sysinit.a
+Archiving util_mem.a
+Linking ~/dev/slinky/bin/targets/stm32_boot/app/apps/boot/boot.elf
+Target successfully built: targets/stm32_boot
+$
+```
+<br>
+Run the `newt build stm32_slinky` command to build the Slinky application:
+
+```no-highlight
+$newt build stm32_slinky
+Building target targets/stm32_slinky
+Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec.c
+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/boot/bootutil/src/loader.c
+Compiling repos/apache-mynewt-core/boot/bootutil/src/image_validate.c
+Compiling repos/apache-mynewt-core/boot/split/src/split.c
+Compiling repos/apache-mynewt-core/boot/bootutil/src/bootutil_misc.c
+Compiling repos/apache-mynewt-core/apps/slinky/src/main.c
+
+       ...
+
+Archiving util_crc.a
+Archiving util_mem.a
+Linking ~/dev/slinky/bin/targets/stm32_slinky/app/apps/slinky/slinky.elf
+Target successfully built: targets/stm32_slinky
+$
+```
+<br>
+### Sign and Create the Slinky Application Image
+
+Run the `newt create-image stm32_slinky 1.0.0` command to create and sign the 
application image. You may assign an arbitrary version (e.g. 1.0.0) to the 
image.
+
+```no-highlight
+create-image stm32_slinky 1.0.0
+App image succesfully generated: 
~/dev/slinky/bin/targets/stm32_slinky/app/apps/slinky/slinky.img
+$
+```
+<br>
+
+
+###Connect to the Board
+
+* Connect the USB A-B type cable to the ARM-USB-TINY-H debugger connector. 
+* Connect the ARM-USB-Tiny-H debugger connector to your computer and the board.
+* Connect the USB Micro-A cable to the USB-OTG2 port on the board.
+* Set the Power Sel jumper on the board to pins 5 and 6 to select USB-OTG2 as 
the power source.  If you would like to use a different power source, refer to 
the [OLIMEX STM32-E407 user 
manual](https://www.olimex.com/Products/ARM/ST/STM32-E407/resources/STM32-E407.pdf)
 for pin specifications.
+
+You should see a red LED light up on the board. 
+
+<br>
+### Load the Bootloader and the Slinky Application Image
+
+Run the `newt load stm32_boot` command to load the bootloader onto the board:
+
+```no-highlight
+$ newt load stm32_boot
+Loading bootloader
+$
+```
+<br>
+Run the `newt load stm32_slinky` command to load the Slinky application image 
onto the board:
+```no-highlight
+$ newt load stm32_slinky
+Loading app image into slot 1
+$
+```
+<br>
+
+### Connect Newtmgr with the Board using a Serial Connection
+
+Locate the PC6/USART6_TX (pin 3), PC7/USART6_RX (pin 4), and GND (pin 2) of 
the UEXT connector on the Olimex board. More information on the UEXT connector 
can be found at 
[https://www.olimex.com/Products/Modules/UEXT/](https://www.olimex.com/Products/Modules/UEXT/).
 The schematic of the board can be found at 
[https://www.olimex.com/Products/ARM/ST/STM32-E407/resources/STM32-E407_sch.pdf](https://www.olimex.com/Products/ARM/ST/STM32-E407/resources/STM32-E407_sch.pdf)
 for reference.
+
+
+![Alt Layout - Serial Connection](pics/serial_conn.png)
+
+* Connect the female RX pin of the USB-TTL serial cable to the TX (Pin 3) of 
the UEXT connector on the board.
+* Connect the female TX pin of the USB-TTL serial cable to the RX (Pin 4) of 
the UEXT connector on the board.
+* Connect the GND pin of the USB-TTL serial cable to the GND (Pin 2) of the 
UEXT connector on the board.
+
+<br>
+Locate the port, in the /dev directory on your computer, that the serial 
connection uses. It should be of the type `tty.usbserial-<some identifier>`.
+
+```no-highlight
+$ ls /dev/tty*usbserial*
+/dev/tty.usbserial-1d13
+$
+```
+
+<br>
+Setup a newtmgr connection profile for the serial port. For our example, the 
port is  `/dev/tty.usbserial-1d13`.
+
+Run the `newtmgr conn add` command to define a newtmgr connection profile for 
the serial port.  We name the connection profile `stm32serial`.  You will need 
to replace the `connstring` with the specific port for your serial connection.
+
+```no-highlight
+$ newtmgr conn add stm32serial type=serial connstring=/dev/tty.usbserial-1d13
+Connection profile stm32serial successfully added
+$
+```
+<br>
+You can run the `newt conn show` command to see all the newtmgr connection 
profiles:
+
+```no-highlight
+$ newtmgr conn show
+Connection profiles:
+  stm32serial: type=serial, connstring='/dev/tty.usbserial-1d13'
+  sim1: type=serial, connstring='/dev/ttys012'
+$
+```
+
+<br>
+### Use Newtmgr to Query the Board
+Run some newtmgr commands to query and receive responses back from the board 
(See the [Newt Manager Guide](newtmgr/overview) for more information on the 
newtmgr commands).
+
+Run the `newtmgr echo hello -c stm32serial` command. This is the simplest 
command that requests the board to echo back the
+ text.
+
+```no-highlight
+$ newtmgr echo hello -c stm32serial
+hello
+$
+```
+<br>
+Run the `newtmgr image list -c stm32serial` command to list the images on the 
board:
+
+```no-highlight
+$ newtmgr image list -c stm32serial
+Images:
+ slot=0
+    version: 1.0.0
+    bootable: true
+    flags: active confirmed
+    hash: 9cf8af22b1b573909a8290a90c066d4e190407e97680b7a32243960ec2bf3a7f
+Split status: N/A
+$
+```
+
+
+<br>
+Run the `newtmgr taskstats -c stm32serial` command to display the task 
statistics on the board:
+
+```no-highlight
+$ newtmgr taskstats -c stm32serial
+Return Code = 0
+      task pri tid  runtime      csw    stksz   stkuse last_checkin 
next_checkin
+     task1   8   2        0       90      192      110        0        0
+     task2   9   3        0       90       64       31        0        0
+      idle 255   0    89460    89463       64       26        0        0
+      main 127   1        4       26     1024      368        0        0
+$
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/docs/os/tutorials/rbnano2.md
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/rbnano2.md b/docs/os/tutorials/rbnano2.md
new file mode 100644
index 0000000..52883fa
--- /dev/null
+++ b/docs/os/tutorials/rbnano2.md
@@ -0,0 +1,206 @@
+## Blinky, your "Hello World!", on RedBear Nano 2
+
+<br>
+
+### 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 application that blinks an LED on a RedBear 
Nano 2 board.  Download the application to the target and watch it blink!
+
+<br>
+
+### Prerequisites
+
+Ensure that you have met the following prerequisites before continuing with 
this tutorial:
+
+* Have a RedBear Nano 2 board. 
+* Have Internet connectivity to fetch remote Mynewt components.
+* Have a computer to build a Mynewt application and connect to the board over 
USB.
+* Install the Newt tool and toolchains (See [Basic 
Setup](/os/get_started/get_started.md)).
+* 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.md) section.
+
+**Note:** You must install a patched version of OpenOCD .10.0 (See [Debugger 
Option 2 in the Arduino Primo Blinky Tutorial](/os/tutorials/blinky_primo)).
+
+### Create a Project  
+Create a new project if you do not have an existing one.  You can skip this 
step and proceed to [create the targets](#create_targets) if you already have a 
project created.  
+
+Run the following commands to create a new project:
+
+```no-highlight
+    $ 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
+    $ newt install
+    apache-mynewt-core
+    $
+``` 
+
+<br>
+
+### <a name="create_targets"></a>Create the Targets
+
+Create two targets for the RedBear Nano 2 board - one for the bootloader and 
one for the Blinky application.
+
+Run the following `newt target` commands, from your project directory, to 
create a bootloader target. We name the target `rbnano2_boot`:
+
+```no-highlight
+$ newt target create rbnano2_boot
+$ newt target set rbnano2_boot app=@apache-mynewt-core/apps/boot
+$ newt target set rbnano2_boot bsp=@apache-mynewt-core/hw/bsp/rb-nano2
+$ newt target set rbnano2_boot build_profile=optimized
+```
+
+<br>
+Run the following `newt target` commands to create a target for the Blinky 
application. We name the target `nrf52_blinky`.
+
+```no-highlight
+$ newt target create rbnano2_blinky
+$ newt target set rbnano2_blinky app=apps/blinky
+$ newt target set rbnano2_blinky bsp=@apache-mynewt-core/hw/bsp/rb-nano2
+$ newt target set rbnano2_blinky build_profile=debug
+```
+<br>
+You can run the `newt target show` command to verify the target settings:
+
+```no-highlight
+$ newt target show 
+targets/rbnano2_blinky
+    app=apps/blinky
+    bsp=@apache-mynewt-core/hw/bsp/rb-nano2
+    build_profile=debug
+targets/rbnano2_boot
+    app=@apache-mynewt-core/apps/boot
+    bsp=@apache-mynewt-core/hw/bsp/rb-nano2
+    build_profile=optimized
+```
+<br>
+
+### Build the Target Executables 
+
+Run the `newt build rbnano2_boot` command to build the bootloader:
+
+```no-highlight
+$newt build rbnano2_boot
+Building target targets/rbnano2_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/boot/bootutil/src/loader.c
+Compiling repos/apache-mynewt-core/crypto/mbedtls/src/aes.c
+Compiling repos/apache-mynewt-core/boot/bootutil/src/image_validate.c
+Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec.c
+Compiling repos/apache-mynewt-core/boot/bootutil/src/bootutil_misc.c
+Compiling repos/apache-mynewt-core/apps/boot/src/boot.c
+
+      ...
+
+Archiving sys_sysinit.a
+Archiving util_mem.a
+Linking ~/dev/myproj/bin/targets/rbnano2_boot/app/apps/boot/boot.elf
+Target successfully built: targets/rbnano2_boot
+```
+
+<br>
+Run the `newt build rbnano2_blinky` command to build the Blinky application:
+
+```no-highlight
+$newt build rbnano2_blinky
+Building target targets/rbnano2_blinky
+Assembling 
repos/apache-mynewt-core/hw/bsp/rb-nano2/src/arch/cortex_m4/gcc_startup_nrf52_split.s
+Compiling repos/apache-mynewt-core/hw/drivers/uart/src/uart.c
+Compiling repos/apache-mynewt-core/hw/cmsis-core/src/cmsis_nvic.c
+Compiling repos/apache-mynewt-core/hw/bsp/rb-nano2/src/sbrk.c
+Compiling apps/blinky/src/main.c
+
+     ...
+
+Archiving sys_sysinit.a
+Archiving util_mem.a
+Linking ~/dev/myproj/bin/targets/rbnano2_blinky/app/apps/blinky/blinky.elf
+Target successfully built: targets/rbnano2_blinky
+
+```
+
+<br>
+
+### Sign and Create the Blinky Application Image 
+
+Run the `newt create-image rbnano2_blinky 1.0.0` command to create and sign 
the application image. You may assign an arbitrary version (e.g. 1.0.0) to the 
image.
+
+```no-highlight
+$newt create-image rbnano2_blinky 1.0.0
+App image succesfully generated: 
~/dev/myproj/bin/targets/rbnano2_blinky/app/apps/blinky/blinky.img
+```
+
+<br>
+
+### Connect to the Board
+
+Connect the RedBear Nano 2 USB to a USB port on your computer. You should see 
an orange LED light up on the board.
+
+        
+### Load the Bootloader and the Blinky Application Image
+
+Run the `newt load rbnano2_boot` command to load the bootloader onto the 
board: 
+
+```no-highlight
+$ newt load rbnano2_boot
+Loading bootloader
+$
+```
+<br>
+Note: The flash memory on the RedBear Nano 2 comes write protected from the 
factory. If you get an error loading the bootloader and you are using a brand 
new chip, you need to clear the write protection from the debugger and then 
load the bootloader again.  Run the `newt debug rbnano2_blinky` command and 
issue the following commands at the highlighted (gdb) prompts.  
+
+```hl_lines="8 9 11 14"
+$newt debug rbnano2_blinky
+[~/dev/myproj/repos/apache-mynewt-core/hw/bsp/rb-nano2/rb-nano2_debug.sh  
~/dev/myproj/repos/apache-mynewt-core/hw/bsp/rb-nano2 
~/dev/myproj/bin/targets/rbnano2_blinky/app/apps/blinky/blinky]
+Open On-Chip Debugger 0.10.0-dev-snapshot (2017-03-28-11:24)
+Licensed under GNU GPL v2
+
+     ...
+
+(gdb) set {unsigned long}0x4001e504=2
+(gdb) x/1wx 0x4001e504
+0x4001e504:0x00000002
+(gdb) set {unsigned long}0x4001e50c=1
+Info : SWD DPIDR 0x2ba01477
+Error: Failed to read memory at 0x00009ef4
+(gdb) x/32wx 0x00
+0x0:0xffffffff0xffffffff0xffffffff0xffffffff
+0x10:0xffffffff0xffffffff0xffffffff0xffffffff
+0x20:0xffffffff0xffffffff0xffffffff0xffffffff
+0x30:0xffffffff0xffffffff0xffffffff0xffffffff
+0x40:0xffffffff0xffffffff0xffffffff0xffffffff
+0x50:0xffffffff0xffffffff0xffffffff0xffffffff
+0x60:0xffffffff0xffffffff0xffffffff0xffffffff
+0x70:0xffffffff0xffffffff0xffffffff0xffffffff
+(gdb)
+```
+
+<br>
+Run the `newt load rbnano2_blinky` command to load the Blinky application 
image onto the board.
+```no-highlight
+$ newt load rbnano2_blinky
+Loading app image into slot 1
+```
+
+You should see a blue LED on the board blink!
+
+Note: If the LED does not blink, try resetting your board.
+
+
+### Conclusion
+
+You have created, setup, compiled, loaded, and ran your first mynewt 
application for a RedBear Nano 2 board.
+
+We have more fun tutorials for you to get your hands dirty. Be bold and work 
on the OS with tutorials on [writing a test suite](unit_test.md) or try 
enabling additional functionality such as [remote 
comms](project-target-slinky.md) or [Bluetooth Low Energy](bletiny_project.md) 
on your 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.md).
+
+Keep on hacking and blinking!
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/extras/newtmgr/index.html
----------------------------------------------------------------------
diff --git a/extras/newtmgr/index.html b/extras/newtmgr/index.html
new file mode 100644
index 0000000..c58608a
--- /dev/null
+++ b/extras/newtmgr/index.html
@@ -0,0 +1,6 @@
+<html>
+  <head>
+      <meta name="go-import" content="mynewt.apache.org/newtmgr git 
https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr.git";>
+      <meta http-equiv="refresh" content="0; url=/">
+  </head>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/extras/newtmgr/newtmgr/index.html
----------------------------------------------------------------------
diff --git a/extras/newtmgr/newtmgr/index.html 
b/extras/newtmgr/newtmgr/index.html
new file mode 100644
index 0000000..c58608a
--- /dev/null
+++ b/extras/newtmgr/newtmgr/index.html
@@ -0,0 +1,6 @@
+<html>
+  <head>
+      <meta name="go-import" content="mynewt.apache.org/newtmgr git 
https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr.git";>
+      <meta http-equiv="refresh" content="0; url=/">
+  </head>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/extras/newtmgr/nmxact/index.html
----------------------------------------------------------------------
diff --git a/extras/newtmgr/nmxact/index.html b/extras/newtmgr/nmxact/index.html
new file mode 100644
index 0000000..c58608a
--- /dev/null
+++ b/extras/newtmgr/nmxact/index.html
@@ -0,0 +1,6 @@
+<html>
+  <head>
+      <meta name="go-import" content="mynewt.apache.org/newtmgr git 
https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr.git";>
+      <meta http-equiv="refresh" content="0; url=/">
+  </head>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/274e59de/mkdocs.yml
----------------------------------------------------------------------
diff --git a/mkdocs.yml b/mkdocs.yml
index 5e36ac2..0cde65b 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -402,20 +402,20 @@ extra:
         Chapter 6 - Packaging it: 'Packages for distribution delineates the 
process of creating complete packages to load on your embedded device to get it 
up, connected, and ready for remote management.'
     events:
         event 1:
+            title: 'Sensors Expo'
+            description: 'Check out the booth and talk by Runtime to learn 
about Mynewt OS and its sensor framework.'
+            location: "McEnery Convention Center, San Jose, CA, USA"
+            date: '27-29 June, 2017'
+        event 2:
             title: 'ApacheIoT, ApacheCon North America'
             description: 'A new conference track that lays the vision, 
framework, and components for an IoT system. See more at <a 
href="http://us.apacheiot.org";> http://us.apacheiot.org</a>. Multiple talks 
will feature Apache Mynewt.'
             location: "InterContinental Miami, Miami, FL, USA"
             date: '16-18 May, 2017'
-        event 2:
+        event 3:
             title: 'IoTFuse: Conference 2017'
-            description: 'Presentation on managing devices running open source 
Operating Systems including Apache Mynewt.'
+            description: 'Presentation on building and managing devices 
running open source Operating Systems including Apache Mynewt.'
             location: "Minneapolis Convention Center, Minneapolis, MN, USA"
             date: '21 April, 2017'
-        event 3:
-            title: 'Bluetooth World'
-            description: 'Get to the heart of BLE support from Apache Mynewt 
at Exhibit Booth #11A.'
-            location: "Santa Clara Convention Center, Santa Clara, CA, USA"
-            date: '28-29 March, 2017'
 
 copyright: 'Apache Mynewt (incubating) is available under Apache License, 
version 2.0.' 
 

Reply via email to