You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ad...@apache.org on 2016/01/06 22:56:08 UTC

[05/45] incubator-mynewt-site git commit: adding stubs for doc contributers

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter5/console.md
----------------------------------------------------------------------
diff --git a/docs/chapter5/console.md b/docs/chapter5/console.md
index e69de29..4e0bd73 100644
--- a/docs/chapter5/console.md
+++ b/docs/chapter5/console.md
@@ -0,0 +1,546 @@
+# Console
+
+
+The console is an operating system window where users interact with system programs of the operating system or a console application by entering text input (typically from a keyboard) and reading text output (typically on the computer terminal). The text written on the console brings some information and is a sequence of characters sent by the OS or programs running on the OS. 
+
+Support is currently available for console access via the serial port on the hardware board.
+
+
+## Description
+
+In the Mynewt OS, the console library comes in two versions:
+
+* full - containing the full implementation
+* stub - containing stubs for the API
+
+If an egg or project requires the full console capability it lists that dependency in its egg.yml file. For example, the shell egg is defined by the following egg.yml file:
+
+    egg.name: libs/shell 
+    egg.vers: 0.1
+    egg.deps:
+        - libs/console/full
+        - libs/os
+    egg.identities:
+        - SHELL 
+
+On the other hand, a project may not have a physical console (e.g. a UART port to connect a terminal to) but may have a dependency on an egg that has console capability. In that case you would use a console stub. Another example would be the bootloader project where we want to keep the size of the image small. It includes the `libs/os` egg that can print out messages on a console (e.g. if there is a hard fault) and the `libs/util` egg that uses full console (but only if SHELL is present to provide a CLI). However, we do not want to use any console I/O capability in this particular bootloader project to keep the size small. We simply use the console stub instead and the egg.yml file for the project boot egg looks like the following:
+
+    project.name: boot
+    project.identities: bootloader
+    project.eggs:
+        - libs/os
+        - libs/bootutil
+        - libs/nffs
+        - libs/console/stub
+        - libs/util 
+
+## Data structures
+
+
+Console interaction is intrinsically composed of two unidirectional systems. The console implementation uses two ring buffers containing input (receive) and output (transmit) characters, respectively. Read and write operations on the console_ring structure are managed by labeling the read location indicator the `cr_tail` and the write location indicator the `cr_head`. The console ring length is variable and is specified as the `cr_size` member of the data structure. `cr_buf` is the pointer to the actual array of data contained.
+
+
+```
+struct console_ring {
+  32     uint8_t cr_head;
+  33     uint8_t cr_tail;
+  34     uint8_t cr_size;
+  35     uint8_t _pad;
+  36     uint8_t *cr_buf;
+  37 }
+```
+
+
+```
+struct console_tty {
+  40     struct console_ring ct_tx;
+  41     uint8_t ct_tx_buf[CONSOLE_TX_BUF_SZ]; /* must be after console_ring */
+  42     struct console_ring ct_rx;
+  43     uint8_t ct_rx_buf[CONSOLE_RX_BUF_SZ]; /* must be after console_ring */
+  44     console_rx_cb ct_rx_cb;     /* callback that input is ready */
+  45     console_write_char ct_write_char;
+  46 } console_tty
+```
+
+## List of Functions
+
+The functions available in console are:
+
+* [console_printf](#function-console_printf)
+* [console_add_char](#function-console_add_char)
+* [console_pull_char](#function-console_pull_char)
+* [console_pull_char_head](#function-console_pull_char_head)
+* [console_queue_char](#function-console_queue_char)
+* [console_blocking_tx](#function-console_blocking_tx)
+* [console_blocking_mode](#function-console_blocking_mode)
+* [console_write](#function-console_write)
+* [console_read](#function-console_read)
+* [console_tx_char](#function-console_tx_char)
+* [console_rx_char](#function-console_rx_char)
+* [console_init](#function-console_init)
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function console_printf</font>
+
+```
+    void 
+    console_printf(const char *fmt, ...)
+```
+
+Writes a formatted message instead of raw output to the console. It first composes a C string containing text specified as arguments to the function or containing the elements in the variable argument list passed to it using snprintf or vsnprintf, respectively. It then uses function `console_write` to output the formatted data (messages) on the console.
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| fmt |  Pointer to C string that contains a format string that follows the same specifications as format in printf. The string is printed to console.          |
+| ... | 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 <cstdarg> 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:
+
+```
+char adv_data_buf[32];
+    
+void
+task()
+{ 
+   char adv_data_buf[32];
+   
+   console_printf("%s", adv_data_buf);
+}
+```   
+
+Example #2:
+
+```
+struct exception_frame {
+    uint32_t r0;
+    uint32_t r1;
+
+struct trap_frame {
+    struct exception_frame *ef;
+    uint32_t r2;
+    uint32_t r3;
+};
+
+void
+task(struct trap_frame *tf)
+{
+     console_printf(" r0:%8.8x  r1:%8.8x", tf->ef->r0, tf->ef->r1);
+     console_printf(" r8:%8.8x  r9:%8.8x", tf->r2, tf->r3);
+}
+```
+  
+---------------------
+   
+### <font color="#2980b9"> function console_add_char</font>
+
+```
+   static void
+   console_add_char(struct console_ring *cr, char ch)
+```
+
+Adds a character to the console ring buffer. When you store an item in the buffer you store it at the head location, and the head advances to the next location.
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| *cr |  Pointer to a console ring data structure whose `cr_head` variable is to be set to the second argument in this function call|
+| ch |  Character to be inserted to the ring |
+
+#### Returned values
+
+None
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Add a new line character to the output (transmit) buffer.
+
+```
+void
+task()
+{
+     struct console_ring *tx = &ct->ct_tx;
+     
+     console_add_char(tx, '\n');
+}
+```
+
+-------------------
+
+### <font color="#2980b9"> function console_pull_char </font>
+
+```
+   static uint8_t
+   console_pull_char(struct console_ring *cr)
+```
+
+Reads (remove) a byte from the console ring buffer. When you read (pull) an item, you read it at the current tail location, and the tail advances to the next position. 
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| *cr | Pointer to the console ring buffer from where a character is to be removed  |
+
+
+#### Returned values
+
+Returns the character pulled from the ring buffer.
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Read the characters in the ring buffer into a string.
+
+```
+void
+task(struct console_ring *cr, char *str, int cnt)
+{    
+     for (i = 0; i < cnt; i++) {
+          if (cr->cr_head == cr->cr_tail) {
+              i = -1;
+              break;
+          }
+     ch = console_pull_char(cr);
+     *str++ = ch;
+     }
+}
+```
+
+---------------
+      
+### <font color="#2980b9"> function console_pull_char_head </font>
+
+```
+   static void
+   console_pull_char_head(struct console_ring *cr)
+```
+
+Removes the last character inserted into the ring buffer by moving back the head location and shrinking the ring size by 1. 
+  
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| cr |  Pointer to the console ring buffer from which the last inserted character must be deleted |
+
+
+#### Returned values
+
+None
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+In order to see a character getting deleted when a user hits backspace while typying a command, the following needs to happen in sequence:
+
+* output a backspace (move cursor back one character)
+* output space (erasing whatever character there was before)
+* output backspace (move cursor back one character)
+* remove the previous character from incoming RX queue
+
+The example below shows console_pull_char_head being used for the last step.
+
+```
+void
+task(uint8_t data)
+{
+      struct console_tty *ct = (struct console_tty *)arg;
+      struct console_ring *tx = &ct->ct_tx;
+      struct console_ring *rx = &ct->ct_rx;
+      
+      switch (data) {
+      case '\b':
+          console_add_char(tx, '\b');
+          console_add_char(tx, ' ');
+          console_add_char(tx, '\b');
+          console_pull_char_head(rx);
+          break;
+      }
+}
+
+```
+
+-------------
+
+### <font color="#2980b9"> function console_queue_char </font>
+
+``` 
+   static void
+   console_queue_char(char ch)
+```
+   
+Manage the buffer queue before inserting a character into it. If the head of the output (transmit) console ring is right up to its tail, the queue needs to be drained first before any data can be added. Then it uses console_add_char function to add the character.
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| ch |  Character to be inserted to the queue  |
+
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+This function makes sure no interrupts are allowed while the transmit buffer is draining and the character is being added.
+
+#### Example
+
+```
+Insert example
+``` 
+------------------
+ 
+### <font color="#2980b9"> function console_blocking_tx </font>
+
+```
+    static void
+    console_blocking_tx(char ch)
+```
+    
+  Calls the hal function hal_uart_blocking_tx to transmit a byte to the console over UART in a blocking mode until the character has been sent. Hence it must be called with interrupts disabled. It is used when printing diagnostic output from system crash. 
+
+#### Arguments
+
+| Arguments | Description |
+|-------------------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Give at least one example of usage.
+
+-----------
+
+### <font color="#2980b9"> function console_blocking_mode </font>
+
+```
+   void
+   console_blocking_mode(void)
+```
+   Calls the console_blocking_tx function to flush the buffered console output (transmit) queue. The function OS_ENTER_CRITICAL() is called to disable interrupts and OS_EXIT_CRITICAL() is called to enable interrupts back again once the buffer is flushed.
+
+#### Arguments
+
+| Arguments | Description |
+|-------------------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Give at least one example of usage.
+
+
+### <font color="#2980b9">function console_write </font>
+ 
+```
+   void
+   console_write(char *str, int cnt)
+```
+Transmit characters to console display over serial port. 
+
+#### Arguments
+
+| Arguments | Description |
+|-------------------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Give at least one example of usage.
+
+
+### <font color="#2980b9"> function console_read </font>
+
+```   
+  int
+  console_read(char *str, int cnt)
+```
+  Calls hal function hal_uart_start_rx to start receiving input from console terminal over serial port.
+
+#### Arguments
+
+| Arguments | Description |
+|-------------------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Give at least one example of usage.
+
+
+### <font color="#2980b9"> function console_tx_char </font>
+
+   ```   
+   static int
+   console_tx_char(void *arg)
+   ```
+
+#### Arguments
+
+| Arguments | Description |
+|-------------------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Give at least one example of usage.
+
+  
+### <font color="#2980b9"> function console_rx_char </font>
+
+```
+   static int
+   console_rx_char(void *arg, uint8_t data)
+```
+
+#### Arguments
+
+| Arguments | Description |
+|-------------------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Give at least one example of usage.
+
+
+### <font color="#2980b9"> function console_init </font>
+
+```
+   int
+   console_init(console_rx_cb rx_cb)
+```
+   
+  Initializes console receive buffer and calls hal funtions hal_uart_init_cbs and hal_uart_config to initialize serial port connection and configure it (e.g. baud rate, flow control etc.)
+   
+#### Arguments
+
+| Arguments | Description |
+|-------------------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Give at least one example of usage.

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter5/filesystem.md
----------------------------------------------------------------------
diff --git a/docs/chapter5/filesystem.md b/docs/chapter5/filesystem.md
new file mode 100644
index 0000000..dc1ad43
--- /dev/null
+++ b/docs/chapter5/filesystem.md
@@ -0,0 +1,149 @@
+# Filesystem
+
+
+Insert synopsis here
+
+
+## Description
+
+Describe module here, special features, how pieces fit together etc.
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [nffs_lock](#function-nffs_lock)
+* [nffs_unlock](#function-nffs_unlock)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function nffs_lock </font>
+
+```
+    static void
+    nffs_lock(void)
+
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function nffs_unlock </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter5/mods.md
----------------------------------------------------------------------
diff --git a/docs/chapter5/mods.md b/docs/chapter5/mods.md
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter5/shell.md
----------------------------------------------------------------------
diff --git a/docs/chapter5/shell.md b/docs/chapter5/shell.md
new file mode 100644
index 0000000..1b2928a
--- /dev/null
+++ b/docs/chapter5/shell.md
@@ -0,0 +1,147 @@
+# Shell
+
+Insert synopsis here
+
+
+## Description
+
+Describe module here, special features, how pieces fit together etc.
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [shell_cmd_list_lock](#function-shell_cmd_list_lock)
+* [shell_cmd_list_unlock](#function-shell_cmd_list_unlock)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function shell_cmd_list_lock </font>
+
+```
+    static int 
+    shell_cmd_list_lock(void)
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function shell_cmd_list_unlock </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter5/testutil.md
----------------------------------------------------------------------
diff --git a/docs/chapter5/testutil.md b/docs/chapter5/testutil.md
new file mode 100644
index 0000000..601ed02
--- /dev/null
+++ b/docs/chapter5/testutil.md
@@ -0,0 +1,149 @@
+# testutil
+
+
+Insert synopsis here
+
+
+## Description
+
+Describe module here, special features, how pieces fit together etc.
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [tu_init](#function-tu_init)
+* [tu_restart](#function-tu_restart)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function tu_init </font>
+
+```
+    int
+    tu_init(void)
+
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function tu_restart </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/extra.css
----------------------------------------------------------------------
diff --git a/docs/extra.css b/docs/extra.css
index 0369daa..de4dfc6 100644
--- a/docs/extra.css
+++ b/docs/extra.css
@@ -1,9 +1,44 @@
-* {
-        margin: 0;
-        padding: 0;
+/*
+ * Tweak the overal size to better match RTD.
+ */
+ 
+body {
+    font-size: 100%;
 }
 
-<!h1 { font-size: 4.0em; }
-<!p, li { font-size: 100%; }
+h3 {
+    color: black;
+    font-weight: 900;
+}
+
+h4, h5, h6 {
+    color: black;
+    font-weight: 300;
+    text-decoration: underline;
+}
+
+hr {
+    height: 2px;
+    border: #2980b9;
+    background: #2980b9;
+}
+
+/*
+ * Fix wrapping in the code highlighting
+ *
+ * https://github.com/mkdocs/mkdocs/issues/233
+ */
+code {
+    white-space: pre;
+}
 
+/*
+ * Wrap inline code samples otherwise they shoot off the side and
+ * can't be read at all.
+ *
+ * https://github.com/mkdocs/mkdocs/issues/313
+ */
+p code {
+    word-wrap: break-word;
+}
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/index.md
----------------------------------------------------------------------
diff --git a/docs/index.md b/docs/index.md
index 9175ab1..592f9f0 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,7 +1,10 @@
+#![ASF Incubator Project](images/egg-logo.png)
+---
+
 ## Objective of Mynewt 
 
 
-Mynewt is an open source initiative to build a stack of modularized control, networking, and monitoring software for embedded devices. The modular implementation allows the user the flexibility to mix and match hardware components and software stack depending on the feature and performance requirements of the particular application he or she has in mind.
+Mynewt is an open source initiative to build a stack of modularized control, networking, and monitoring software for embedded devices like wearables, lightbulbs, locks, and doorbells. At the core is a real-time operating system that is designed to work on a variety of microcontrollers. The project includes the Newt tool to help you build and distribute embedded projects using Mynewt OS. The modular implementation allows the user the flexibility to mix and match hardware components and software stack depending on the feature and performance requirements of the particular application he or she has in mind.
 
 The world of Mynewt, therefore, has three primary collaborative goals:
 
@@ -9,10 +12,69 @@ The world of Mynewt, therefore, has three primary collaborative goals:
 * Offer a suite of open-source software for efficient and secure two-way communications with an embedded device
 * Develop method and tools necessary to build an optimized executable image on the desired hardware
 
-The chapter organization is outlined below. Each Chapter has one or more tutorials for hands-on experience with the material in each chapter. 
+### Project Information Links
+
+  * [Project Proposal](https://wiki.apache.org/incubator/MynewtProposal)
+
+  * [Issue Tracking](https://issues.apache.org/jira/browse/MYNEWT/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel)
+
+  * [Project Status](http://incubator.apache.org/projects/mynewt.html)
+
+
+### Project GIT Repository
+
+* [Documentation repository](https://git-wip-us.apache.org/repos/asf/incubator-mynewt-site.git) containing the markdown docs that generate the html pages you see here.
+
+* [Mynewt OS development repository (larva)](https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git) containing all code packages for newt operating system and middleware software being worked on.
+
+* [Newt tool development repository (newt)](https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git) containing source code for the newt tool.
+
+
+### Mailing Lists
+
+* dev@mynewt.incubator.apache.org 
+
+    This is for both contributors and users. In order to subscribe to the dev list, send an email to dev-subscribe@mynewt.incubator.apache.org.
+    
+* commits@mynewt.incubator.apache.org
+
+    This is mainly for contributors to code or documentation. In order to subscribe to the commits list, send an email to commits-subscribe@mynewt.incubator.apache.org.
+    
+* notifications@mynewt.incubator.apache.org
+
+    This is for all autogenerated mail except commits e.g. JIRA notifications. In order to subscribe to the notifications list, send an email to notifications-subscribe@mynewt.incubator.apache.org. 
+
+To subscribe to a mailing list, you simply send an email to a special subscription address. To subscribe to the dev list, send an email to dev-subscribe@mynewt.incubator.apache.org. For the issues list, the address would be issues-subscribe@mynewt.incubator.apache.org. You should then get an automated email which details how to confirm your subscription.
+
+### Documentation Organization
+
+The chapter organization is outlined below. Each chapter will include one or more tutorials for hands-on experience with the material in each chapter. 
 
 * [Chapter 1: Getting Started](chapter1/newt_concepts.md) introduces some key terms in this initiative and includes a tutorial for a quick project to show how to work with some of the products.
 
 * [Chapter 2: Getting Acclimated](chapter2/vocabulary.md) delves deeper into the concepts crucial to the software development effort. 
 
 * [Chapter 3: Newt Tool Reference](chapter3/newt_ops.md) describes the command structure and details all the available commands to help you with your project. 
+
+* [Chapter 4: Newt OS](chapter4/mynewt_os.md) provides an overview of the features available and how to customize for your hardware and software application.
+
+* [Chapter 5: Modules](chapter5/console.md) lays out all the available modules such as HAL (Hardware Abstraction Layer), console, file system, networking stacks, and other middleware components.
+
+* [Chapter 6: Creating packages for distribution](chapter6/dist.md) delineates the process of creating complete packages to load on your embedded device to get it up, connected, and ready for remote management.
+
+### Contributing to Documentation
+
+All content on this site is statically generated using [MkDocs](http://www.mkdocs.org) from documents written in Markdown and stored in the `docs` directory on the master branch in the [Documentation repository](https://git-wip-us.apache.org/repos/asf/incubator-mynewt-site.git). As a documentation contributor you will modify in the desired markdown file or create new ones in the appropriate chapter subdirectory under `docs`. 
+
+To edit content in a Markdown file and be able to see how the changes look you may use desktop apps such as:
+
+* [Mou](http://25.io/mou/) for Mac
+* [Something like Mou](http://alternativeto.net/software/mou/?platform=windows) for Windows
+
+Click on [How to edit docs](chapter1/how_to_edit_docs.md) under "Get Started" to learn how to edit a sample file [try_markdown.md](chapter1/try_markdown.md) on Mynewt's documentation git repository.
+
+The static html content is generated and maintained in the asf-site branch in the documentation repository. Currently, the static html files are generated manually once a day. This will be automated in the future.
+
+You can preview the changes you have made on your desktop by installing MkDocs and starting up its built-in webserver as described in [MkDocs](http://www.mkdocs.org).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/images/content-bg.png
----------------------------------------------------------------------
diff --git a/images/content-bg.png b/images/content-bg.png
new file mode 100644
index 0000000..8829c20
Binary files /dev/null and b/images/content-bg.png differ

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/mkdocs.yml
----------------------------------------------------------------------
diff --git a/mkdocs.yml b/mkdocs.yml
index 720f846..2ba3299 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -2,21 +2,46 @@ site_name: Mynewt
 site_url: http://mynewt.incubator.apache.org/index.html
 
 pages:
-- Doc Home: index.md
-- Getting Started:
+- Home: 'index.md'
+- Get Started:
     - 'Newt Concepts': 'chapter1/newt_concepts.md'
     - 'Blinky, The First Project': 'chapter1/project1.md'
-- Getting Acclimated:
+    - 'How to edit docs': 'chapter1/how_to_edit_docs.md'
+    - 'Sample doc to edit': 'chapter1/try_markdown.md'
+- Get Acclimated:
     - 'Understanding Newt Terms': 'chapter2/vocabulary.md'
+    - 'Modules Overview': 'chapter2/mod.md'
     - 'Project 2': 'chapter2/project2.md'
     - 'Project 3': 'chapter2/project3.md'
-- Newt tool Reference:
+- Newt Tool:
     - 'Command structure': 'chapter3/newt_ops.md'
     - 'Command list': 'chapter3/newt_tool_reference.md'
+- Newt OS:
+    - 'Overview': 'chapter4/mynewt_os.md'
+    - 'Scheduler/Context Switching': 'chapter4/context_switch.md'
+    - 'Time': 'chapter4/time.md'
+    - 'Tasks': 'chapter4/task.md'
+    - 'Event Queues': 'chapter4/event_queue.md'
+    - 'Semaphores': 'chapter4/semaphore.md'
+    - 'Mutexes': 'chapter4/mutex.md'
+    - 'Memory Pools': 'chapter4/memory_pool.md'
+    - 'Heap': 'chapter4/heap.md'
+    - 'Mbufs': 'chapter4/mbufs.md'
+    - 'Sanity': 'chapter4/sanity.md'
+    - 'Porting to other Platforms': 'chapter4/port_os.md'
+- Modules:
+    - 'Console': 'chapter5/console.md'
+    - 'Shell': 'chapter5/shell.md'
+    - 'Bootloader': 'chapter5/bootloader.md'
+    - 'File System': 'chapter5/filesystem.md'
+    - 'Test Utilities': 'chapter5/testutil.md'
+- Packaging it:
+    - 'Creating Packages': 'chapter6/dist.md'
 
 markdown_extensions:
     - toc:
         permalink: true
-    - admonition:
+    - sane_lists
     
-theme: mkdocs
+theme: readthedocs
+extra_css: [extra.css]

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/site/extra.css
----------------------------------------------------------------------
diff --git a/site/extra.css b/site/extra.css
new file mode 100644
index 0000000..de4dfc6
--- /dev/null
+++ b/site/extra.css
@@ -0,0 +1,44 @@
+/*
+ * Tweak the overal size to better match RTD.
+ */
+ 
+body {
+    font-size: 100%;
+}
+
+h3 {
+    color: black;
+    font-weight: 900;
+}
+
+h4, h5, h6 {
+    color: black;
+    font-weight: 300;
+    text-decoration: underline;
+}
+
+hr {
+    height: 2px;
+    border: #2980b9;
+    background: #2980b9;
+}
+
+/*
+ * Fix wrapping in the code highlighting
+ *
+ * https://github.com/mkdocs/mkdocs/issues/233
+ */
+code {
+    white-space: pre;
+}
+
+/*
+ * Wrap inline code samples otherwise they shoot off the side and
+ * can't be read at all.
+ *
+ * https://github.com/mkdocs/mkdocs/issues/313
+ */
+p code {
+    word-wrap: break-word;
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/site/index.html
----------------------------------------------------------------------
diff --git a/site/index.html b/site/index.html
new file mode 100644
index 0000000..1663bb9
--- /dev/null
+++ b/site/index.html
@@ -0,0 +1,481 @@
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>Mynewt</title>
+  
+
+  <link rel="shortcut icon" href="./img/favicon.ico">
+
+  
+  <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
+
+  <link rel="stylesheet" href="./css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="./css/theme_extra.css" type="text/css" />
+  <link rel="stylesheet" href="./css/highlight.css">
+  <link href="./extra.css" rel="stylesheet">
+
+  
+  <script>
+    // Current page data
+    var mkdocs_page_name = "None";
+  </script>
+  
+  <script src="./js/jquery-2.1.1.min.js"></script>
+  <script src="./js/modernizr-2.8.3.min.js"></script>
+  <script type="text/javascript" src="./js/highlight.pack.js"></script>
+  <script src="./js/theme.js"></script> 
+
+  
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+      <div class="wy-side-nav-search">
+        <a href="." class="icon icon-home"> Mynewt</a>
+        <div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="./search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+        <ul class="current">
+          
+            <li>
+    <li class="toctree-l1 current">
+        <a class="current" href=".">Home</a>
+        
+            <ul>
+            
+                <li class="toctree-l3"><a href="#objective-of-mynewt">Objective of Mynewt</a></li>
+                
+                    <li><a class="toctree-l4" href="#project-information-links">Project Information Links</a></li>
+                
+                    <li><a class="toctree-l4" href="#project-git-repository">Project GIT Repository</a></li>
+                
+                    <li><a class="toctree-l4" href="#mailing-lists">Mailing Lists</a></li>
+                
+                    <li><a class="toctree-l4" href="#documentation-organization">Documentation Organization</a></li>
+                
+                    <li><a class="toctree-l4" href="#contributing-to-documentation">Contributing to Documentation</a></li>
+                
+            
+            </ul>
+        
+    </li>
+<li>
+          
+            <li>
+    <ul class="subnav">
+    <li><span>Get Started</span></li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter1/newt_concepts/">Newt Concepts</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter1/project1/">Blinky, The First Project</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter1/how_to_edit_docs/">How to edit docs</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter1/try_markdown/">Sample doc to edit</a>
+        
+    </li>
+
+        
+    </ul>
+<li>
+          
+            <li>
+    <ul class="subnav">
+    <li><span>Get Acclimated</span></li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter2/vocabulary/">Understanding Newt Terms</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter2/mod/">Modules Overview</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter2/project2/">Project 2</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter2/project3/">Project 3</a>
+        
+    </li>
+
+        
+    </ul>
+<li>
+          
+            <li>
+    <ul class="subnav">
+    <li><span>Newt Tool</span></li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter3/newt_ops/">Command structure</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter3/newt_tool_reference/">Command list</a>
+        
+    </li>
+
+        
+    </ul>
+<li>
+          
+            <li>
+    <ul class="subnav">
+    <li><span>Newt OS</span></li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/mynewt_os/">Overview</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/context_switch/">Scheduler/Context Switching</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/time/">Time</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/task/">Tasks</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/event_queue/">Event Queues</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/semaphore/">Semaphores</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/mutex/">Mutexes</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/memory_pool/">Memory Pools</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/heap/">Heap</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/mbufs/">Mbufs</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/sanity/">Sanity</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/port_os/">Porting to other Platforms</a>
+        
+    </li>
+
+        
+    </ul>
+<li>
+          
+            <li>
+    <ul class="subnav">
+    <li><span>Modules</span></li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter5/console/">Console</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter5/shell/">Shell</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter5/bootloader/">Bootloader</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter5/filesystem/">File System</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter5/testutil/">Test Utilities</a>
+        
+    </li>
+
+        
+    </ul>
+<li>
+          
+            <li>
+    <ul class="subnav">
+    <li><span>Packaging it</span></li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter6/dist/">Creating Packages</a>
+        
+    </li>
+
+        
+    </ul>
+<li>
+          
+        </ul>
+      </div>
+      &nbsp;
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href=".">Mynewt</a>
+      </nav>
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href=".">Docs</a> &raquo;</li>
+    
+      
+    
+    <li>Home</li>
+    <li class="wy-breadcrumbs-aside">
+      
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main">
+            <div class="section">
+              
+                <h1 id="_1"><img alt="ASF Incubator Project" src="./images/egg-logo.png" /><a class="headerlink" href="#_1" title="Permanent link">&para;</a></h1>
+<hr />
+<h2 id="objective-of-mynewt">Objective of Mynewt<a class="headerlink" href="#objective-of-mynewt" title="Permanent link">&para;</a></h2>
+<p>Mynewt is an open source initiative to build a stack of modularized control, networking, and monitoring software for embedded devices like wearables, lightbulbs, locks, and doorbells. At the core is a real-time operating system that is designed to work on a variety of microcontrollers. The project includes the Newt tool to help you build and distribute embedded projects using Mynewt OS. The modular implementation allows the user the flexibility to mix and match hardware components and software stack depending on the feature and performance requirements of the particular application he or she has in mind.</p>
+<p>The world of Mynewt, therefore, has three primary collaborative goals:</p>
+<ul>
+<li>Build a modularized real-time operating system for a rich set of hardware components</li>
+<li>Offer a suite of open-source software for efficient and secure two-way communications with an embedded device</li>
+<li>Develop method and tools necessary to build an optimized executable image on the desired hardware</li>
+</ul>
+<h3 id="project-information-links">Project Information Links<a class="headerlink" href="#project-information-links" title="Permanent link">&para;</a></h3>
+<ul>
+<li>
+<p><a href="https://wiki.apache.org/incubator/MynewtProposal">Project Proposal</a></p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/MYNEWT/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel">Issue Tracking</a></p>
+</li>
+<li>
+<p><a href="http://incubator.apache.org/projects/mynewt.html">Project Status</a></p>
+</li>
+</ul>
+<h3 id="project-git-repository">Project GIT Repository<a class="headerlink" href="#project-git-repository" title="Permanent link">&para;</a></h3>
+<ul>
+<li>
+<p><a href="https://git-wip-us.apache.org/repos/asf/incubator-mynewt-site.git">Documentation repository</a> containing the markdown docs that generate the html pages you see here.</p>
+</li>
+<li>
+<p><a href="https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git">Mynewt OS development repository (larva)</a> containing all code packages for newt operating system and middleware software being worked on.</p>
+</li>
+<li>
+<p><a href="https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git">Newt tool development repository (newt)</a> containing source code for the newt tool.</p>
+</li>
+</ul>
+<h3 id="mailing-lists">Mailing Lists<a class="headerlink" href="#mailing-lists" title="Permanent link">&para;</a></h3>
+<ul>
+<li>
+<p>dev@mynewt.incubator.apache.org </p>
+<p>This is for both contributors and users. In order to subscribe to the dev list, send an email to dev-subscribe@mynewt.incubator.apache.org.</p>
+</li>
+<li>
+<p>commits@mynewt.incubator.apache.org</p>
+<p>This is mainly for contributors to code or documentation. In order to subscribe to the commits list, send an email to commits-subscribe@mynewt.incubator.apache.org.</p>
+</li>
+<li>
+<p>notifications@mynewt.incubator.apache.org</p>
+<p>This is for all autogenerated mail except commits e.g. JIRA notifications. In order to subscribe to the notifications list, send an email to notifications-subscribe@mynewt.incubator.apache.org. </p>
+</li>
+</ul>
+<p>To subscribe to a mailing list, you simply send an email to a special subscription address. To subscribe to the dev list, send an email to dev-subscribe@mynewt.incubator.apache.org. For the issues list, the address would be issues-subscribe@mynewt.incubator.apache.org. You should then get an automated email which details how to confirm your subscription.</p>
+<h3 id="documentation-organization">Documentation Organization<a class="headerlink" href="#documentation-organization" title="Permanent link">&para;</a></h3>
+<p>The chapter organization is outlined below. Each chapter will include one or more tutorials for hands-on experience with the material in each chapter. </p>
+<ul>
+<li>
+<p><a href="chapter1/newt_concepts/">Chapter 1: Getting Started</a> introduces some key terms in this initiative and includes a tutorial for a quick project to show how to work with some of the products.</p>
+</li>
+<li>
+<p><a href="chapter2/vocabulary/">Chapter 2: Getting Acclimated</a> delves deeper into the concepts crucial to the software development effort. </p>
+</li>
+<li>
+<p><a href="chapter3/newt_ops/">Chapter 3: Newt Tool Reference</a> describes the command structure and details all the available commands to help you with your project. </p>
+</li>
+<li>
+<p><a href="chapter4/mynewt_os/">Chapter 4: Newt OS</a> provides an overview of the features available and how to customize for your hardware and software application.</p>
+</li>
+<li>
+<p><a href="chapter5/console/">Chapter 5: Modules</a> lays out all the available modules such as HAL (Hardware Abstraction Layer), console, file system, networking stacks, and other middleware components.</p>
+</li>
+<li>
+<p><a href="chapter6/dist/">Chapter 6: Creating packages for distribution</a> delineates the process of creating complete packages to load on your embedded device to get it up, connected, and ready for remote management.</p>
+</li>
+</ul>
+<h3 id="contributing-to-documentation">Contributing to Documentation<a class="headerlink" href="#contributing-to-documentation" title="Permanent link">&para;</a></h3>
+<p>All content on this site is statically generated using <a href="http://www.mkdocs.org">MkDocs</a> from documents written in Markdown and stored in the <code>docs</code> directory on the master branch in the <a href="https://git-wip-us.apache.org/repos/asf/incubator-mynewt-site.git">Documentation repository</a>. As a documentation contributor you will modify in the desired markdown file or create new ones in the appropriate chapter subdirectory under <code>docs</code>. </p>
+<p>To edit content in a Markdown file and be able to see how the changes look you may use desktop apps such as:</p>
+<ul>
+<li><a href="http://25.io/mou/">Mou</a> for Mac</li>
+<li><a href="http://alternativeto.net/software/mou/?platform=windows">Something like Mou</a> for Windows</li>
+</ul>
+<p>Click on <a href="chapter1/how_to_edit_docs/">How to edit docs</a> under "Get Started" to learn how to edit a sample file <a href="chapter1/try_markdown/">try_markdown.md</a> on Mynewt's documentation git repository.</p>
+<p>The static html content is generated and maintained in the asf-site branch in the documentation repository. Currently, the static html files are generated manually once a day. This will be automated in the future.</p>
+<p>You can preview the changes you have made on your desktop by installing MkDocs and starting up its built-in webserver as described in <a href="http://www.mkdocs.org">MkDocs</a>.</p>
+              
+            </div>
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="chapter1/newt_concepts/" class="btn btn-neutral float-right" title="Newt Concepts"/>Next <span class="icon icon-circle-arrow-right"></span></a>
+      
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+    
+  </div>
+
+  Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+	  
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+<div class="rst-versions" role="note" style="cursor: pointer">
+    <span class="rst-current-version" data-toggle="rst-current-version">
+      
+      
+      
+        <span style="margin-left: 15px"><a href="chapter1/newt_concepts/" style="color: #fcfcfc">Next &raquo;</a></span>
+      
+    </span>
+</div>
+
+</body>
+</html>
+
+<!--
+MkDocs version : 0.14.0
+Build Date UTC : 2015-11-18 23:04:39.341623
+-->

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/site/sitemap.xml
----------------------------------------------------------------------
diff --git a/site/sitemap.xml b/site/sitemap.xml
new file mode 100644
index 0000000..197513b
--- /dev/null
+++ b/site/sitemap.xml
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
+
+    
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+    
+
+    
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter1/newt_concepts/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter1/project1/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter1/how_to_edit_docs/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter1/try_markdown/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    
+
+    
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter2/vocabulary/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter2/mod/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter2/project2/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter2/project3/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    
+
+    
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter3/newt_ops/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter3/newt_tool_reference/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    
+
+    
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/mynewt_os/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/context_switch/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/time/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/task/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/event_queue/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/semaphore/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/mutex/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/memory_pool/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/heap/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/mbufs/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/sanity/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/port_os/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    
+
+    
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter5/console/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter5/shell/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter5/bootloader/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter5/filesystem/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter5/testutil/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    
+
+    
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter6/dist/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    
+
+</urlset>
\ No newline at end of file