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 2015/12/23 22:59:46 UTC

incubator-mynewt-site git commit: added description for using shell commands

Repository: incubator-mynewt-site
Updated Branches:
  refs/heads/asf-site 2c9984654 -> 308e08eeb


added description for using shell commands


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/308e08ee
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/tree/308e08ee
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/diff/308e08ee

Branch: refs/heads/asf-site
Commit: 308e08eeb9a06b8c08458048d7cd41cf92311061
Parents: 2c99846
Author: aditihilbert <ad...@runtime.io>
Authored: Wed Dec 23 13:59:42 2015 -0800
Committer: aditihilbert <ad...@runtime.io>
Committed: Wed Dec 23 13:59:42 2015 -0800

----------------------------------------------------------------------
 index.html                 |  2 +-
 mkdocs/search_index.json   | 10 +++---
 modules/console/index.html |  2 +-
 modules/shell/index.html   | 74 +++++++++++++++++++++++++++++++++++++++--
 sitemap.xml                | 58 ++++++++++++++++----------------
 5 files changed, 108 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/308e08ee/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 0ebe994..8bc6c30 100644
--- a/index.html
+++ b/index.html
@@ -497,5 +497,5 @@
 
 <!--
 MkDocs version : 0.14.0
-Build Date UTC : 2015-12-18 19:41:18.331638
+Build Date UTC : 2015-12-23 21:55:35.686289
 -->

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/308e08ee/mkdocs/search_index.json
----------------------------------------------------------------------
diff --git a/mkdocs/search_index.json b/mkdocs/search_index.json
index 2118704..48b1ba9 100644
--- a/mkdocs/search_index.json
+++ b/mkdocs/search_index.json
@@ -497,12 +497,12 @@
         }, 
         {
             "location": "/modules/console/", 
-            "text": "Console\n\n\nThe 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. \n\n\nSupport is currently available for console access via the serial port on the hardware board.\n\n\nDescription\n\n\nIn the Mynewt OS, the console library comes in two versions:\n\n\n\n\nfull - containing the full implementation\n\n\nstub - containing stubs for the API\n\n\n\n\nIf 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:\n\n\negg.name: libs/shell \negg.vers: 0.1\negg.deps:\n    - libs/console/full\n    - libs/os\negg.identities:\n    - SHELL\n\n\
 n\nOn 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 \nlibs/os\n egg that can print out messages on a console (e.g. if there is a hard fault) and the \nlibs/util\n 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:\n\n\nproject.name: boot\nproject.identities: bootloader\nproject.eggs:\n    - libs/os\n    - libs/bootutil\n    - libs/nffs\n    - libs/console/stub\n    - libs/util\n\n\n\nData structures\n\n\nConsole interaction is intrinsically composed of two u
 nidirectional 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 \ncr_tail\n and the write location indicator the \ncr_head\n. The console ring length is variable and is specified as the \ncr_size\n member of the data structure. \ncr_buf\n is the pointer to the actual array of data contained.\n\n\nstruct console_ring {\n  32     uint8_t cr_head;\n  33     uint8_t cr_tail;\n  34     uint8_t cr_size;\n  35     uint8_t _pad;\n  36     uint8_t *cr_buf;\n  37 }\n\n\n\n\nstruct console_tty {\n  40     struct console_ring ct_tx;\n  41     uint8_t ct_tx_buf[CONSOLE_TX_BUF_SZ]; /* must be after console_ring */\n  42     struct console_ring ct_rx;\n  43     uint8_t ct_rx_buf[CONSOLE_RX_BUF_SZ]; /* must be after console_ring */\n  44     console_rx_cb ct_rx_cb;     /* callback that input is ready */\n  
 45     console_write_char ct_write_char;\n  46 } console_tty\n\n\n\n\nList of Functions\n\n\nThe functions available in console are:\n\n\n\n\nconsole_printf\n\n\nconsole_add_char\n\n\nconsole_pull_char\n\n\nconsole_pull_char_head\n\n\nconsole_queue_char\n\n\nconsole_blocking_tx\n\n\nconsole_blocking_mode\n\n\nconsole_write\n\n\nconsole_read\n\n\nconsole_tx_char\n\n\nconsole_rx_char\n\n\nconsole_init\n\n\n\n\nFunction Reference\n\n\n\n\nfunction console_printf\n\n\n    void \n    console_printf(const char *fmt, ...)\n\n\n\n\nWrites 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 \nconsole_write\n to output the formatted data (messages) on the console.\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nfmt\n\n\nPointer to C string 
 that contains a format string that follows the same specifications as format in printf. The string is printed to console.\n\n\n\n\n\n\n...\n\n\nDepending 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 \n in stdarg.h.\n\n\n\n\n\n\n\n\nReturned values\n\n\nNone\n\n\nNotes\n\n\nWhile \nconsole_printf\n, with its well understood formatting options in C, is more convenient and easy on the eyes than the raw output of \nconsole_write\n, the associated code size is considerably larger.\n\n\nExample\n\n\nExample #1:\n\n\nchar adv_data_buf[32];\n\nvoid\ntask()\n{ \n   char adv_data_buf[32];\n\n   console_printf(\n%s\n, adv_data_buf);\n}\n\n\n\n\nExample #2:\n\n\nstruct exception_frame {\n    uint32_t r0;\n    uint32_t r1;\n\nstruct trap_frame {\n    struct exception_frame *ef;\n    uint32_t r2;\n    uint32_t r3;\n};\n\nvoid\n
 task(struct trap_frame *tf)\n{\n     console_printf(\n r0:%8.8x  r1:%8.8x\n, tf-\nef-\nr0, tf-\nef-\nr1);\n     console_printf(\n r8:%8.8x  r9:%8.8x\n, tf-\nr2, tf-\nr3);\n}\n\n\n\n\n\n\n function console_add_char\n\n\n   static void\n   console_add_char(struct console_ring *cr, char ch)\n\n\n\n\nAdds 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.\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\n*cr\n\n\nPointer to a console ring data structure whose \ncr_head\nvariable is to be set to the second argument in this function call\n\n\n\n\n\n\nch\n\n\nCharacter to be inserted to the ring\n\n\n\n\n\n\n\n\nReturned values\n\n\nNone\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nAdd
  a new line character to the output (transmit) buffer.\n\n\nvoid\ntask()\n{\n     struct console_ring *tx = \nct-\nct_tx;\n\n     console_add_char(tx, '\\n');\n}\n\n\n\n\n\n\n function console_pull_char \n\n\n   static uint8_t\n   console_pull_char(struct console_ring *cr)\n\n\n\n\nReads (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. \n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\n*cr\n\n\nPointer to the console ring buffer from where a character is to be removed\n\n\n\n\n\n\n\n\nReturned values\n\n\nReturns the character pulled from the ring buffer.\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nRead the characters in the ring buffer into a string.\n\n\nvoid\ntask(st
 ruct console_ring *cr, char *str, int cnt)\n{    \n     for (i = 0; i \n cnt; i++) {\n          if (cr-\ncr_head == cr-\ncr_tail) {\n              i = -1;\n              break;\n          }\n     ch = console_pull_char(cr);\n     *str++ = ch;\n     }\n}\n\n\n\n\n\n\n function console_pull_char_head \n\n\n   static void\n   console_pull_char_head(struct console_ring *cr)\n\n\n\n\nRemoves the last character inserted into the ring buffer by moving back the head location and shrinking the ring size by 1. \n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\ncr\n\n\nPointer to the console ring buffer from which the last inserted character must be deleted\n\n\n\n\n\n\n\n\nReturned values\n\n\nNone\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nIn order to see a character getting deleted when 
 a user hits backspace while typying a command, the following needs to happen in sequence:\n\n\n\n\noutput a backspace (move cursor back one character)\n\n\noutput space (erasing whatever character there was before)\n\n\noutput backspace (move cursor back one character)\n\n\nremove the previous character from incoming RX queue\n\n\n\n\nThe example below shows console_pull_char_head being used for the last step.\n\n\nvoid\ntask(uint8_t data)\n{\n      struct console_tty *ct = (struct console_tty *)arg;\n      struct console_ring *tx = \nct-\nct_tx;\n      struct console_ring *rx = \nct-\nct_rx;\n\n      switch (data) {\n      case '\\b':\n          console_add_char(tx, '\\b');\n          console_add_char(tx, ' ');\n          console_add_char(tx, '\\b');\n          console_pull_char_head(rx);\n          break;\n      }\n}\n\n\n\n\n\n\n\n function console_queue_char \n\n\n   static void\n   console_queue_char(char ch)\n\n\n\n\nManage 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.\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nch\n\n\nCharacter to be inserted to the queue\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nThis function makes sure no interrupts are allowed while the transmit buffer is draining and the character is being added.\n\n\nExample\n\n\nInsert example\n\n\n\n\n\n\n function console_blocking_tx \n\n\n    static void\n    console_blocking_tx(char ch)\n\n\n\n\nCalls 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. \n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\
 n\n\n\n\nxx\n\n\n\n\n\n\nyy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nGive at least one example of usage.\n\n\n\n\n function console_blocking_mode \n\n\n   void\n   console_blocking_mode(void)\n\n\n\n\nCalls 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.\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\n\n\nxx\n\n\n\n\n\n\nyy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific fu
 nctions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nGive at least one example of usage.\n\n\nfunction console_write \n\n\n   void\n   console_write(char *str, int cnt)\n\n\n\n\nTransmit characters to console display over serial port. \n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\n\n\nxx\n\n\n\n\n\n\nyy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nGive at least one example of usage.\n\n\n function console_read \n\n\n  int\n  console_read(char *str, int cnt)\n\n\n\n\nCalls hal function hal_uart_start_rx to start receiving input from console terminal over serial port.\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\n\n\nxx\n\n\n\n\n\n\nyy\n\n\n\n\n\n\n\n\nReturned values\n\n
 \nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nGive at least one example of usage.\n\n\n function console_tx_char \n\n\nstatic int\n   console_tx_char(void *arg)\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\n\n\nxx\n\n\n\n\n\n\nyy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nGive at least one example of usage.\n\n\n function console_rx_char \n\n\n   static int\n   console_rx_char(void *arg, uint8_t data)\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\n\n\nxx\n\n\n\n\n\n\nyy\n\n\n\n\n\n\n\n\nRetur
 ned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nGive at least one example of usage.\n\n\n function console_init \n\n\n   int\n   console_init(console_rx_cb rx_cb)\n\n\n\n\nInitializes 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.)\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\n\n\nxx\n\n\n\n\n\n\nyy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nGive at least one example of us
 age.", 
+            "text": "Console\n\n\nThe 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 or monitor). 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. \n\n\nSupport is currently available for console access via the serial port on the hardware board.\n\n\nDescription\n\n\nIn the Mynewt OS, the console library comes in two versions:\n\n\n\n\nfull - containing the full implementation\n\n\nstub - containing stubs for the API\n\n\n\n\nIf 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:\n\n\negg.name: libs/shell \negg.vers: 0.1\negg.deps:\n    - libs/console/full\n    - libs/os\negg.identities:\n    -
  SHELL\n\n\n\nOn 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 \nlibs/os\n egg that can print out messages on a console (e.g. if there is a hard fault) and the \nlibs/util\n 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:\n\n\nproject.name: boot\nproject.identities: bootloader\nproject.eggs:\n    - libs/os\n    - libs/bootutil\n    - libs/nffs\n    - libs/console/stub\n    - libs/util\n\n\n\nData structures\n\n\nConsole interaction is intrinsically compos
 ed 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 \ncr_tail\n and the write location indicator the \ncr_head\n. The console ring length is variable and is specified as the \ncr_size\n member of the data structure. \ncr_buf\n is the pointer to the actual array of data contained.\n\n\nstruct console_ring {\n  32     uint8_t cr_head;\n  33     uint8_t cr_tail;\n  34     uint8_t cr_size;\n  35     uint8_t _pad;\n  36     uint8_t *cr_buf;\n  37 }\n\n\n\n\nstruct console_tty {\n  40     struct console_ring ct_tx;\n  41     uint8_t ct_tx_buf[CONSOLE_TX_BUF_SZ]; /* must be after console_ring */\n  42     struct console_ring ct_rx;\n  43     uint8_t ct_rx_buf[CONSOLE_RX_BUF_SZ]; /* must be after console_ring */\n  44     console_rx_cb ct_rx_cb;     /* callback that input is r
 eady */\n  45     console_write_char ct_write_char;\n  46 } console_tty\n\n\n\n\nList of Functions\n\n\nThe functions available in console are:\n\n\n\n\nconsole_printf\n\n\nconsole_add_char\n\n\nconsole_pull_char\n\n\nconsole_pull_char_head\n\n\nconsole_queue_char\n\n\nconsole_blocking_tx\n\n\nconsole_blocking_mode\n\n\nconsole_write\n\n\nconsole_read\n\n\nconsole_tx_char\n\n\nconsole_rx_char\n\n\nconsole_init\n\n\n\n\nFunction Reference\n\n\n\n\nfunction console_printf\n\n\n    void \n    console_printf(const char *fmt, ...)\n\n\n\n\nWrites 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 \nconsole_write\n to output the formatted data (messages) on the console.\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nfmt\n\n\nPointer t
 o C string that contains a format string that follows the same specifications as format in printf. The string is printed to console.\n\n\n\n\n\n\n...\n\n\nDepending 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 \n in stdarg.h.\n\n\n\n\n\n\n\n\nReturned values\n\n\nNone\n\n\nNotes\n\n\nWhile \nconsole_printf\n, with its well understood formatting options in C, is more convenient and easy on the eyes than the raw output of \nconsole_write\n, the associated code size is considerably larger.\n\n\nExample\n\n\nExample #1:\n\n\nchar adv_data_buf[32];\n\nvoid\ntask()\n{ \n   char adv_data_buf[32];\n\n   console_printf(\n%s\n, adv_data_buf);\n}\n\n\n\n\nExample #2:\n\n\nstruct exception_frame {\n    uint32_t r0;\n    uint32_t r1;\n\nstruct trap_frame {\n    struct exception_frame *ef;\n    uint32_t r2;\n    uint32_t r3;\n}
 ;\n\nvoid\ntask(struct trap_frame *tf)\n{\n     console_printf(\n r0:%8.8x  r1:%8.8x\n, tf-\nef-\nr0, tf-\nef-\nr1);\n     console_printf(\n r8:%8.8x  r9:%8.8x\n, tf-\nr2, tf-\nr3);\n}\n\n\n\n\n\n\n function console_add_char\n\n\n   static void\n   console_add_char(struct console_ring *cr, char ch)\n\n\n\n\nAdds 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.\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\n*cr\n\n\nPointer to a console ring data structure whose \ncr_head\nvariable is to be set to the second argument in this function call\n\n\n\n\n\n\nch\n\n\nCharacter to be inserted to the ring\n\n\n\n\n\n\n\n\nReturned values\n\n\nNone\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExamp
 le\n\n\nAdd a new line character to the output (transmit) buffer.\n\n\nvoid\ntask()\n{\n     struct console_ring *tx = \nct-\nct_tx;\n\n     console_add_char(tx, '\\n');\n}\n\n\n\n\n\n\n function console_pull_char \n\n\n   static uint8_t\n   console_pull_char(struct console_ring *cr)\n\n\n\n\nReads (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. \n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\n*cr\n\n\nPointer to the console ring buffer from where a character is to be removed\n\n\n\n\n\n\n\n\nReturned values\n\n\nReturns the character pulled from the ring buffer.\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nRead the characters in the ring buffer into a string.\n\n\nvo
 id\ntask(struct console_ring *cr, char *str, int cnt)\n{    \n     for (i = 0; i \n cnt; i++) {\n          if (cr-\ncr_head == cr-\ncr_tail) {\n              i = -1;\n              break;\n          }\n     ch = console_pull_char(cr);\n     *str++ = ch;\n     }\n}\n\n\n\n\n\n\n function console_pull_char_head \n\n\n   static void\n   console_pull_char_head(struct console_ring *cr)\n\n\n\n\nRemoves the last character inserted into the ring buffer by moving back the head location and shrinking the ring size by 1. \n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\ncr\n\n\nPointer to the console ring buffer from which the last inserted character must be deleted\n\n\n\n\n\n\n\n\nReturned values\n\n\nNone\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nIn order to see a character getting de
 leted when a user hits backspace while typying a command, the following needs to happen in sequence:\n\n\n\n\noutput a backspace (move cursor back one character)\n\n\noutput space (erasing whatever character there was before)\n\n\noutput backspace (move cursor back one character)\n\n\nremove the previous character from incoming RX queue\n\n\n\n\nThe example below shows console_pull_char_head being used for the last step.\n\n\nvoid\ntask(uint8_t data)\n{\n      struct console_tty *ct = (struct console_tty *)arg;\n      struct console_ring *tx = \nct-\nct_tx;\n      struct console_ring *rx = \nct-\nct_rx;\n\n      switch (data) {\n      case '\\b':\n          console_add_char(tx, '\\b');\n          console_add_char(tx, ' ');\n          console_add_char(tx, '\\b');\n          console_pull_char_head(rx);\n          break;\n      }\n}\n\n\n\n\n\n\n\n function console_queue_char \n\n\n   static void\n   console_queue_char(char ch)\n\n\n\n\nManage the buffer queue before inserting a charac
 ter 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.\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nch\n\n\nCharacter to be inserted to the queue\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nThis function makes sure no interrupts are allowed while the transmit buffer is draining and the character is being added.\n\n\nExample\n\n\nInsert example\n\n\n\n\n\n\n function console_blocking_tx \n\n\n    static void\n    console_blocking_tx(char ch)\n\n\n\n\nCalls 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. \n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n
 \n\n\n\n\n\n\n\n\n\nxx\n\n\n\n\n\n\nyy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nGive at least one example of usage.\n\n\n\n\n function console_blocking_mode \n\n\n   void\n   console_blocking_mode(void)\n\n\n\n\nCalls 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.\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\n\n\nxx\n\n\n\n\n\n\nyy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other 
 specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nGive at least one example of usage.\n\n\nfunction console_write \n\n\n   void\n   console_write(char *str, int cnt)\n\n\n\n\nTransmit characters to console display over serial port. \n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\n\n\nxx\n\n\n\n\n\n\nyy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nGive at least one example of usage.\n\n\n function console_read \n\n\n  int\n  console_read(char *str, int cnt)\n\n\n\n\nCalls hal function hal_uart_start_rx to start receiving input from console terminal over serial port.\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\n\n\nxx\n\n\n\n\n\n\nyy\n\n\n\n\n\n\n\n\nReturned
  values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nGive at least one example of usage.\n\n\n function console_tx_char \n\n\nstatic int\n   console_tx_char(void *arg)\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\n\n\nxx\n\n\n\n\n\n\nyy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nGive at least one example of usage.\n\n\n function console_rx_char \n\n\n   static int\n   console_rx_char(void *arg, uint8_t data)\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\n\n\nxx\n\n\n\n\n\n\nyy\n\n\n\n\n\n
 \n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nGive at least one example of usage.\n\n\n function console_init \n\n\n   int\n   console_init(console_rx_cb rx_cb)\n\n\n\n\nInitializes 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.)\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\n\n\nxx\n\n\n\n\n\n\nyy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\nGive at least one ex
 ample of usage.", 
             "title": "Console"
         }, 
         {
             "location": "/modules/console/#console", 
-            "text": "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.", 
+            "text": "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 or monitor). 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.", 
             "title": "Console"
         }, 
         {
@@ -527,17 +527,17 @@
         }, 
         {
             "location": "/modules/shell/", 
-            "text": "Shell\n\n\nInsert synopsis here\n\n\nDescription\n\n\nDescribe module here, special features, how pieces fit together etc.\n\n\nData structures\n\n\nReplace this with the list of data structures used, why, any neat features\n\n\nList of Functions\n\n\n\n\nThe functions available in this OS feature are:\n\n\n\n\nshell_cmd_list_lock\n\n\nshell_cmd_list_unlock\n\n\nadd the rest\n\n\n\n\nFunction Reference\n\n\n\n\nfunction shell_cmd_list_lock \n\n\n    static int \n    shell_cmd_list_lock(void)\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nxx\n\n\nexplain argument xx\n\n\n\n\n\n\nyy\n\n\nexplain argument yy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\n\n\n\n\nInsert the code 
 snippet here\n\n\n\n\n\n\n\n\n function shell_cmd_list_unlock \n\n\n   \nInsert function callout here \n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nxx\n\n\nexplain argument xx\n\n\n\n\n\n\nyy\n\n\nexplain argument yy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\n\n\n\n\nInsert the code snippet here\n\n\n\n\n\n\n\n\n function next_one \n\n\n   \nInsert function callout here \n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nxx\n\n\nexplain argument xx\n\n\n\n\n\n\nyy\n\n\nexplain argument yy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes i
 t need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\n\n\n\n\nInsert the code snippet here", 
+            "text": "Shell\n\n\nThe shell is the program which puts up a prompt for a command, processes commands, and returns output. Interacting with the console of a device is done using a shell program.\n\n\nDescription\n\n\nA few commands to the console interface are currently available in the shell - \ntasks\n, \nlog\n, and \nstat stat\n. A $ prompt sign will be coming soon!\n\n\nCreate a sim target to check out these commands available in shell.\n\n\nuser@~/dev/larva$ newt target create blinky_sim\nCreating target blinky_sim\nTarget blinky_sim successfully created!\nuser@~/dev/larva$ newt target set blinky_sim name=blinky_sim\nTarget blinky_sim successfully set name to blinky_sim\nuser@~/dev/larva$ newt target set blinky_sim arch=sim\nTarget blinky_sim successfully set arch to sim\nuser@~/dev/larva$ newt target set blinky_sim project=blinky\nTarget blinky_sim successfully set project to blinky\nuser@~/dev/larva$ newt target set blinky_sim bsp=hw/bsp/native\nTarget blinky_sim 
 successfully set bsp to hw/bsp/native\nuser@~/dev/larva$ newt target set blinky_sim compiler_def=sim\nTarget blinky_sim successfully set compiler_def to sim\nuser@~/dev/larva$ newt target set blinky_sim compiler_def=debug\nTarget blinky_sim successfully set compiler_def to debug\nuser@~/dev/larva$ newt target set blinky_sim compiler=sim\nTarget blinky_sim successfully set compiler to sim\nuser@~/dev/larva$ newt target show\nblinky_sim\n    arch: sim\n    bsp: hw/bsp/native\n    compiler: sim\n    compiler_def: debug\n    name: blinky_sim\n    project: blinky\nuser@~/dev/larva$ newt target build blinky_sim\nBuilding target blinky_sim (project = blinky)\nCompiling case.c\nCompiling suite.c\nCompiling testutil.c\n..\n..\nBuilding project blinky\nLinking blinky.elf\nSuccessfully run!\n\nuser@~/dev/larva$ ./project/blinky/bin/blinky_sim/blinky.elf\nuart0 at /dev/ttys005\n\n\n\n\n\nOpen up a new terminal to run minicom, a text-based serial port control and terminal emulation program. Set 
 device name to the serial port of the target. \n\n\nuser@~$ minicom -D /dev/ttys005\nWelcome to minicom 2.7\n\nOPTIONS: \nCompiled on Nov 24 2015, 16:14:21.\nPort /dev/ttys005, 11:32:17\n\nPress Meta-Z for help on special keys\n\nlog \n174578:[0] bla\n174578:[0] bab\n\ntasks\n217809:6 tasks: \n217809:  shell (prio: 3, nw: 0, flags: 0x0, ssize: 0, cswcnt: 59, tot_run_time: 0ms)\n217840:  idle (prio: 255, nw: 0, flags: 0x0, ssize: 0, cswcnt: 18763, tot_run_time: 217809ms)\n217878:  uart_poller (prio: 0, nw: 217819, flags: 0x0, ssize: 0, cswcnt: 18667, tot_run_time: 0ms)\n217923:  task1 (prio: 1, nw: 218710, flags: 0x0, ssize: 0, cswcnt: 218, tot_run_time: 0ms)\n217953:  os_sanity (prio: 254, nw: 218710, flags: 0x0, ssize: 0, cswcnt: 218, tot_run_time: 0ms)\n218010:  task2 (prio: 2, nw: 217709, flags: 0x3, ssize: 0, cswcnt: 218, tot_run_time: 0ms)\n\nstat stat\n229881:s0: 1\n\n\n\n\n\nData structures\n\n\nReplace this with the list of data structures used, why, any neat features\n\n\nL
 ist of Functions\n\n\n\n\nThe functions available in this OS feature are:\n\n\n\n\nshell_cmd_list_lock\n\n\nshell_cmd_list_unlock\n\n\nadd the rest\n\n\n\n\nFunction Reference\n\n\n\n\nfunction shell_cmd_list_lock \n\n\n    static int \n    shell_cmd_list_lock(void)\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nxx\n\n\nexplain argument xx\n\n\n\n\n\n\nyy\n\n\nexplain argument yy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\n\n\n\n\nInsert the code snippet here\n\n\n\n\n\n\n\n\n function shell_cmd_list_unlock \n\n\n   \nInsert function callout here \n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nxx\n\n\nexplain argument xx\n\n\n\n\n\n\nyy\n\n\nexplain
  argument yy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\n\n\n\n\nInsert the code snippet here\n\n\n\n\n\n\n\n\n function next_one \n\n\n   \nInsert function callout here \n\n\n\n\n\n\n\n\nArguments\n\n\n\n\n\n\n\n\nArguments\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nxx\n\n\nexplain argument xx\n\n\n\n\n\n\nyy\n\n\nexplain argument yy\n\n\n\n\n\n\n\n\nReturned values\n\n\nList any values returned.\nError codes?\n\n\nNotes\n\n\nAny special feature/special benefit that we want to tout. \nDoes it need to be used with some other specific functions?\nAny caveats to be careful about (e.g. high memory requirements).\n\n\nExample\n\n\n\n\n\n\nInsert the code snippet here", 
             "title": "Shell"
         }, 
         {
             "location": "/modules/shell/#shell", 
-            "text": "Insert synopsis here", 
+            "text": "The shell is the program which puts up a prompt for a command, processes commands, and returns output. Interacting with the console of a device is done using a shell program.", 
             "title": "Shell"
         }, 
         {
             "location": "/modules/shell/#description", 
-            "text": "Describe module here, special features, how pieces fit together etc.", 
+            "text": "A few commands to the console interface are currently available in the shell -  tasks ,  log , and  stat stat . A $ prompt sign will be coming soon!  Create a sim target to check out these commands available in shell.  user@~/dev/larva$ newt target create blinky_sim\nCreating target blinky_sim\nTarget blinky_sim successfully created!\nuser@~/dev/larva$ newt target set blinky_sim name=blinky_sim\nTarget blinky_sim successfully set name to blinky_sim\nuser@~/dev/larva$ newt target set blinky_sim arch=sim\nTarget blinky_sim successfully set arch to sim\nuser@~/dev/larva$ newt target set blinky_sim project=blinky\nTarget blinky_sim successfully set project to blinky\nuser@~/dev/larva$ newt target set blinky_sim bsp=hw/bsp/native\nTarget blinky_sim successfully set bsp to hw/bsp/native\nuser@~/dev/larva$ newt target set blinky_sim compiler_def=sim\nTarget blinky_sim successfully set compiler_def to sim\nuser@~/dev/larva$ newt target set blinky_sim compiler_def=debug\
 nTarget blinky_sim successfully set compiler_def to debug\nuser@~/dev/larva$ newt target set blinky_sim compiler=sim\nTarget blinky_sim successfully set compiler to sim\nuser@~/dev/larva$ newt target show\nblinky_sim\n    arch: sim\n    bsp: hw/bsp/native\n    compiler: sim\n    compiler_def: debug\n    name: blinky_sim\n    project: blinky\nuser@~/dev/larva$ newt target build blinky_sim\nBuilding target blinky_sim (project = blinky)\nCompiling case.c\nCompiling suite.c\nCompiling testutil.c\n..\n..\nBuilding project blinky\nLinking blinky.elf\nSuccessfully run!\n\nuser@~/dev/larva$ ./project/blinky/bin/blinky_sim/blinky.elf\nuart0 at /dev/ttys005  Open up a new terminal to run minicom, a text-based serial port control and terminal emulation program. Set device name to the serial port of the target.   user@~$ minicom -D /dev/ttys005\nWelcome to minicom 2.7\n\nOPTIONS: \nCompiled on Nov 24 2015, 16:14:21.\nPort /dev/ttys005, 11:32:17\n\nPress Meta-Z for help on special keys\n\nlog \n
 174578:[0] bla\n174578:[0] bab\n\ntasks\n217809:6 tasks: \n217809:  shell (prio: 3, nw: 0, flags: 0x0, ssize: 0, cswcnt: 59, tot_run_time: 0ms)\n217840:  idle (prio: 255, nw: 0, flags: 0x0, ssize: 0, cswcnt: 18763, tot_run_time: 217809ms)\n217878:  uart_poller (prio: 0, nw: 217819, flags: 0x0, ssize: 0, cswcnt: 18667, tot_run_time: 0ms)\n217923:  task1 (prio: 1, nw: 218710, flags: 0x0, ssize: 0, cswcnt: 218, tot_run_time: 0ms)\n217953:  os_sanity (prio: 254, nw: 218710, flags: 0x0, ssize: 0, cswcnt: 218, tot_run_time: 0ms)\n218010:  task2 (prio: 2, nw: 217709, flags: 0x3, ssize: 0, cswcnt: 218, tot_run_time: 0ms)\n\nstat stat\n229881:s0: 1", 
             "title": "Description"
         }, 
         {

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/308e08ee/modules/console/index.html
----------------------------------------------------------------------
diff --git a/modules/console/index.html b/modules/console/index.html
index a28b345..20274a6 100644
--- a/modules/console/index.html
+++ b/modules/console/index.html
@@ -353,7 +353,7 @@
             <div class="section">
               
                 <h1 id="console">Console<a class="headerlink" href="#console" title="Permanent link">&para;</a></h1>
-<p>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. </p>
+<p>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 or monitor). 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. </p>
 <p>Support is currently available for console access via the serial port on the hardware board.</p>
 <h2 id="description">Description<a class="headerlink" href="#description" title="Permanent link">&para;</a></h2>
 <p>In the Mynewt OS, the console library comes in two versions:</p>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/308e08ee/modules/shell/index.html
----------------------------------------------------------------------
diff --git a/modules/shell/index.html b/modules/shell/index.html
index bccd1b0..8dbb02a 100644
--- a/modules/shell/index.html
+++ b/modules/shell/index.html
@@ -353,9 +353,79 @@
             <div class="section">
               
                 <h1 id="shell">Shell<a class="headerlink" href="#shell" title="Permanent link">&para;</a></h1>
-<p>Insert synopsis here</p>
+<p>The shell is the program which puts up a prompt for a command, processes commands, and returns output. Interacting with the console of a device is done using a shell program.</p>
 <h2 id="description">Description<a class="headerlink" href="#description" title="Permanent link">&para;</a></h2>
-<p>Describe module here, special features, how pieces fit together etc.</p>
+<p>A few commands to the console interface are currently available in the shell - <code>tasks</code>, <code>log</code>, and <code>stat stat</code>. A $ prompt sign will be coming soon!</p>
+<p>Create a sim target to check out these commands available in shell.</p>
+<pre><code>user@~/dev/larva$ newt target create blinky_sim
+Creating target blinky_sim
+Target blinky_sim successfully created!
+user@~/dev/larva$ newt target set blinky_sim name=blinky_sim
+Target blinky_sim successfully set name to blinky_sim
+user@~/dev/larva$ newt target set blinky_sim arch=sim
+Target blinky_sim successfully set arch to sim
+user@~/dev/larva$ newt target set blinky_sim project=blinky
+Target blinky_sim successfully set project to blinky
+user@~/dev/larva$ newt target set blinky_sim bsp=hw/bsp/native
+Target blinky_sim successfully set bsp to hw/bsp/native
+user@~/dev/larva$ newt target set blinky_sim compiler_def=sim
+Target blinky_sim successfully set compiler_def to sim
+user@~/dev/larva$ newt target set blinky_sim compiler_def=debug
+Target blinky_sim successfully set compiler_def to debug
+user@~/dev/larva$ newt target set blinky_sim compiler=sim
+Target blinky_sim successfully set compiler to sim
+user@~/dev/larva$ newt target show
+blinky_sim
+    arch: sim
+    bsp: hw/bsp/native
+    compiler: sim
+    compiler_def: debug
+    name: blinky_sim
+    project: blinky
+user@~/dev/larva$ newt target build blinky_sim
+Building target blinky_sim (project = blinky)
+Compiling case.c
+Compiling suite.c
+Compiling testutil.c
+..
+..
+Building project blinky
+Linking blinky.elf
+Successfully run!
+
+user@~/dev/larva$ ./project/blinky/bin/blinky_sim/blinky.elf
+uart0 at /dev/ttys005
+
+</code></pre>
+
+<p>Open up a new terminal to run minicom, a text-based serial port control and terminal emulation program. Set device name to the serial port of the target. </p>
+<pre><code>user@~$ minicom -D /dev/ttys005
+Welcome to minicom 2.7
+
+OPTIONS: 
+Compiled on Nov 24 2015, 16:14:21.
+Port /dev/ttys005, 11:32:17
+
+Press Meta-Z for help on special keys
+
+log 
+174578:[0] bla
+174578:[0] bab
+
+tasks
+217809:6 tasks: 
+217809:  shell (prio: 3, nw: 0, flags: 0x0, ssize: 0, cswcnt: 59, tot_run_time: 0ms)
+217840:  idle (prio: 255, nw: 0, flags: 0x0, ssize: 0, cswcnt: 18763, tot_run_time: 217809ms)
+217878:  uart_poller (prio: 0, nw: 217819, flags: 0x0, ssize: 0, cswcnt: 18667, tot_run_time: 0ms)
+217923:  task1 (prio: 1, nw: 218710, flags: 0x0, ssize: 0, cswcnt: 218, tot_run_time: 0ms)
+217953:  os_sanity (prio: 254, nw: 218710, flags: 0x0, ssize: 0, cswcnt: 218, tot_run_time: 0ms)
+218010:  task2 (prio: 2, nw: 217709, flags: 0x3, ssize: 0, cswcnt: 218, tot_run_time: 0ms)
+
+stat stat
+229881:s0: 1
+
+</code></pre>
+
 <h2 id="data-structures">Data structures<a class="headerlink" href="#data-structures" title="Permanent link">&para;</a></h2>
 <p>Replace this with the list of data structures used, why, any neat features</p>
 <h2 id="list-of-functions">List of Functions<a class="headerlink" href="#list-of-functions" title="Permanent link">&para;</a></h2>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/308e08ee/sitemap.xml
----------------------------------------------------------------------
diff --git a/sitemap.xml b/sitemap.xml
index 08f9543..619c5bd 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -4,7 +4,7 @@
     
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
     
@@ -13,25 +13,25 @@
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/get_started/newt_concepts/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/get_started/project1/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/get_started/how_to_edit_docs/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/get_started/try_markdown/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -41,19 +41,19 @@
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/get_acclimated/vocabulary/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/get_acclimated/project2/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/get_acclimated/project3/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -63,13 +63,13 @@
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/newt/newt_ops/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/newt/newt_tool_reference/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -79,79 +79,79 @@
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/os/mynewt_os/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/os/context_switch/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/os/time/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/os/task/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/os/event_queue/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/os/semaphore/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/os/mutex/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/os/memory_pool/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/os/heap/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/os/mbufs/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/os/sanity/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/os/callout/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/os/port_os/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -161,31 +161,31 @@
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/modules/console/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/modules/shell/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/modules/bootloader/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/modules/filesystem/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/modules/testutil/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>
         
@@ -195,7 +195,7 @@
         
     <url>
      <loc>http://mynewt.incubator.apache.org/index.html/packaging/dist/</loc>
-     <lastmod>2015-12-18</lastmod>
+     <lastmod>2015-12-23</lastmod>
      <changefreq>daily</changefreq>
     </url>