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 2017/03/17 22:47:51 UTC
[8/9] incubator-mynewt-site git commit: Added newtmgr command
descriptions. Fixed BLE app tutorial errors
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/377e7092/develop/mkdocs/search_index.json
----------------------------------------------------------------------
diff --git a/develop/mkdocs/search_index.json b/develop/mkdocs/search_index.json
index c6dfaad..719ffa4 100644
--- a/develop/mkdocs/search_index.json
+++ b/develop/mkdocs/search_index.json
@@ -1492,7 +1492,7 @@
},
{
"location": "/os/tutorials/add_newtmgr/",
- "text": "Enabling Newt Manager in Your Application\n\n\n\nIn order for your application to communicate with the newtmgr tool and process Newt Manager commands, you must \nenable Newt Manager device management and the support to process Newt Manager commands \nin your application. This tutorial explains how to add the support to your application.\n\n\nThis tutorial assumes that you have read the \nDevice Management with Newt Manager\n\nguide and are familiar with the \nnewtmgr\n and \noicmgr\n frameworks and all the options that are available \nto customize your application.\n\n\nThis tutorial shows you how to configure your application to:\n\n\n\n\nUse the newtmgr framework.\n\n\nUse serial transport to communicate with the newtmgr tool.\n\n\nSupport all Newt Manager commands.\n\n\n\n\nSee \nOther Configuration Options\n on how to customize your application.\n\n\n\n\nPrerequisites\n\n\nEnsure that you have met the following prerequisites before continuing with this tuto
rial:\n\n\n\n\nInstall the \nnewt tool\n. \n\n\nInstall the \nnewtmgr tool\n.\n\n\nHave Internet connectivity to fetch remote Mynewt components.\n\n\nInstall the \ncompiler tools\n to \nsupport native compiling to build the project this tutorial creates. \n\n\nHave a cable to establish a serial USB connection between the board and the laptop.\n\n\n\n\n\n\nUse an Existing Project\n\n\nWe assume that you have worked through at least some of the other tutorials and have an existing project.\nIn this example, we modify the \nble_tiny\n project to enable Newt Manager support. \nWe call our application \nmyble\n. You can create the application using any name you choose. \n\n\nModify Package Dependencies and Configurations\n\n\nAdd the following packages to the \npkg.deps\n parameter in your target or application \npkg.yml\n file:\n\n\npkg.deps:\n - mgmt/newtmgr\n - mgmt/newtmgr/transport/nmgr_shell\n - mgmt/imgmgr\n - sys/log/full\n - sys/stats/full\n - sys/config\n
- test/crash_test\n - test/runtest\n\n\n\n\n\nEach package provides the following Newt Manager functionality:\n\n\n\n\nmgmt/newtmgr\n: Supports the newtmgr framework and the \nNewt Manager \necho\n, \ntaskstats\n \nmpstats\n, \ndatetime\n, and \nreset\n commands.\n\n\nmgmt/newtmgr/transport/nmgr_shell\n: Supports serial transport.\n\n\nmgmt/imgmgr\n: Supports the \nnewtmgr image\n command \n\n\nsys/log/full\n : Supports the \nnewtmgr log\n command.\n\n\nsys/stats/full\n: Supports the \nnewtmgr stat\n command. \n\n\nsys/config\n: Supports the \nnewtmgr config\n command. \n\n\ntest/crash_test\n: Supports the \nnewtmgr crash\n command. \n\n\ntest/runtest\n: Supports the \nnewt run\n command.\n\n\n\n\nAdd the following configuration setting values to the \nsyscfg.vals\n parameter in the target or \napplication \nsyscfg.yml\n file:\n\n\nsyscfg.vals:\n LOG_NEWTMGR: 1\n STATS_NEWTMGR: 1\n CONFIG_NEWTMGR: 1\n CRASH_TEST_NEWTMGR: 1\n RUNTEST_NEWTMGR: 1\n SHELL_TASK: 1\n
\n\n\n\n\nThe first five configuration settings enable support for the Newt Manager \nlog\n, \nstats\n, \nconfig\n, \ncrash\n, \nand \nrun\n commands. The \nSHELL_TASK\n setting enables the shell for serial transport.\n\n\nNote that you may need to override additional configuration settings that are specific to each package to customize the \npackage functionality.\n\n\n\n\nModify the Source\n\n\nBy default, the \nmgmt\n package uses the Mynewt default event queue to receive request events from the newtmgr tool. These events are processed in the context of the application main task. \n\n\nYou can specify a different event queue for the package to use. If you choose to use a dedicated event queue, you must create a task to process events from this event queue. The \nmgmt\n package executes and handles newtmgr request events in the context of this task. The \nmgmt\n package exports the \nmgmt_evq_set()\n function that allows you to specify an event queue. \n\n\nThis example uses th
e Mynewt default event queue and you do not need to modify your application source. \n\n\nIf you choose to use a different event queue, see \nEvents and Event Queues\n for details on how to initialize an event queue and create a task to process the events. You will also need to modify your \nmain.c\n to add the call to the \nmgmt_evq_set()\n function as follows:\n\n\nAdd the \nmgmt/mgmt.h\n header file: \n\n\n#include \nmgmt/mgmt.h\n\n\n\n\n\n\n\nAdd the call to specify the event queue. In the \nmain()\n function, scroll down to the \nwhile (1)\n loop and add the following statement above the loop: \n\n\nmgmt_evq_set(\nmy_eventq)\n\n\n\n\n\nwhere \nmy_eventq\n is an event queue that you have initialized.\n\n\nBuild the Targets\n\n\nBuild the two targets as follows:\n\n\n$ newt build nrf52_boot\n\nsnip\n\nApp successfully built: ./bin/nrf52_boot/apps/boot/boot.elf\n$ newt build myble\nCompiling hci_common.c\nCompiling util.c\nArchiving nimble.a\nCompiling os.c\n\nsnip\n\n\n\n\n\n\n
\n\nCreate the Application Image\n\n\nGenerate a signed application image for the \nmyble\n target. You can use any version number you choose.\n\n\n$ newt create-image myble 1.0.0\nApp image successfully generated: ./bin/makerbeacon/apps/bletiny/bletiny.img\nBuild manifest: ./bin/makerbeacon/apps/bletiny/manifest.json\n\n\n\n\n\n\n\nLoad the Image\n\n\nEnsure the USB connector is in place and the power LED on the board is lit. Turn the power switch on your board off, \nthen back on to reset the board after loading the image.\n\n\n$ newt load nrf52_boot\n$ newt load myble\n\n\n\n\n\nSet Up a Connection Profile\n\n\nThe newtmgr tool requires a connection profile in order to connect to your board. If you have not done so, \nfollow the \ninstructions\n for setting up your connection profile.\n\n\n\n\nConnecting with Your Application\n\n\nOnce you have a connection profile set up, you can connect to your device with \nnewtmgr -c myconn \ncommand\n to run commands in your application. \n\
n\nIssue the \necho\n command to ensure that your application is communicating with the newtmgr tool:\n\n\n# newtmgr -c myconn echo hello\nhello\n\n\n\n\n\nTest your application to ensure that it can process a Newt Manager command that is supported by a different package.\nIssue the \nstat\n command to see the BLE stats. \n\n\nnewtmgr -c myconn stat ble_att\nReturn Code = 0\nStats Name: ble_att\n prep_write_req_tx: 0\n indicate_req_tx: 0\n write_rsp_tx: 0\n find_info_req_tx: 0\n read_rsp_rx: 0\n read_group_type_rsp_tx: 0\n indicate_req_rx: 0\n find_type_value_rsp_tx: 0\n\n ...\n\n read_req_rx: 0\n read_type_req_rx: 0\n notify_req_tx: 0\n mtu_rsp_tx: 0\n find_type_value_req_rx: 0\n read_blob_rsp_rx: 0\n read_group_type_req_tx: 0\n exec_write_req_tx: 0\n\n\n\n\n\nYour application is now able to communicate with the newtmgr tool.\n\n\nOther Configuration Options\n\n\nThis section explains how to customize your application to use other Newt Manager protocol options
.\n\n\nNewtmgr Framework Transport Protocol Options\n\n\nThe newtmgr framework currently supports BLE and serial transport protocols. \nTo configure the transport protocols that are supported, modify the \npkg.yml\n \nand \nsyscfg.yml\n files as follows:\n\n\n\n\nAdd the \nmgmt/newtmgr/transport/ble\n package to \npkg.deps\n parameter to enable BLE transport.\n\n\nAdd the \nmgmt/newtmgr/transport/nmgr_shell\n package to \nthe \npkg.deps\n parameter, and add \nSHELL_TASK: 1\n to the \nsyscfg.vals\n parameter to enable serial transport.\n\n\n\n\n\n\nOicmgr Framework Options\n\n\nTo use the oicmgr framework instead of the newtmgr framework, modify the \npkg.yml\n and \nsyscfg.yml\n files \nas follows:\n\n\n\n\nAdd the \nmgmt/oicmgr\n package (instead of the \nmgmt/newtmgr\n and \nmgmt/newtmgr/transport\n packages \nas described previously) to the \npkg.deps\n parameter.\n\n\nAdd \nOC_SERVER: 1\n to the \nsyscfg.vals\n parameter.\n\n\n\n\nOicmgr supports the IP, serial, and BLE transpo
rt protocols. To configure the transport protocols that are supported, \nset the configuration setting values in the \nsyscfg.vals\n parameter as follows:\n\n\n\n\nAdd \nOC_TRANSPORT_IP: 1\n to enable IP transport. \n\n\nAdd \nOC_TRANSPORT_GATT: 1\n to enable BLE transport.\n\n\nAdd \nOC_TRANSPORT_SERIAL: 1\n and \nSHELL_TASK: 1\n to enable serial transport.\n\n\n\n\n\n\nCustomize the Newt Manager Commands that Your Application Supports\n\n\nWe recommend that you only enable support for the Newt Manager commands that your application uses \nto reduce your application code size. To configure the commands that are supported, set the configuration \nsetting values in the \nsyscfg.vals\n parameter as follows:\n\n\n\n\nAdd \nLOG_NEWTMGR: 1\n to enable support for the \nnewtmgr log\n command.\n\n\nAdd \nSTATS_NEWTMGR: 1\n to enable support for the \nnewtmgr stat\n command.\n\n\nAdd \nCONFIG_NEWTMGR: 1\n to enable support for the \nnewtmgr config\n command.\n\n\nAdd \nCRASH_TEST_NEWTMGR
: 1\n to enable support for the \nnewtmgr crash\n command.\n\n\nAdd \nRUNTEST_NEWTMGR: 1\n to enable support for the \nnewtmgr crash\n command.\n\n\n\n\nNotes: \n\n\n\n\nWhen you enable Newt Manager support, using either the newtmgr or oicmgr framework, your application automatically \nsupports the Newt Manager \necho\n, \ntaskstats\n, \nmpstats\n, \ndatetime\n, and \nreset\n commands. These \ncommands cannot be configured individually.\n\n\nThe \nmgmt/imgmgr\n package does not provide a configuration setting to enable or disable support \nfor the \nnewtmgr image\n command. Do not specify the package in the \npkg.deps\n parameter if \nyour device has limited flash memory and cannot support Over-The-Air (OTA) firmware upgrades.",
+ "text": "Enabling Newt Manager in Your Application\n\n\n\nIn order for your application to communicate with the newtmgr tool and process Newt Manager commands, you must \nenable Newt Manager device management and the support to process Newt Manager commands \nin your application. This tutorial explains how to add the support to your application.\n\n\nThis tutorial assumes that you have read the \nDevice Management with Newt Manager\n\nguide and are familiar with the \nnewtmgr\n and \noicmgr\n frameworks and all the options that are available \nto customize your application.\n\n\nThis tutorial shows you how to configure your application to:\n\n\n\n\nUse the newtmgr framework.\n\n\nUse serial transport to communicate with the newtmgr tool.\n\n\nSupport all Newt Manager commands.\n\n\n\n\nSee \nOther Configuration Options\n on how to customize your application.\n\n\n\n\nPrerequisites\n\n\nEnsure that you have met the following prerequisites before continuing with this tuto
rial:\n\n\n\n\nInstall the \nnewt tool\n. \n\n\nInstall the \nnewtmgr tool\n.\n\n\nHave Internet connectivity to fetch remote Mynewt components.\n\n\nInstall the \ncompiler tools\n to \nsupport native compiling to build the project this tutorial creates. \n\n\nHave a cable to establish a serial USB connection between the board and the laptop.\n\n\n\n\n\n\nUse an Existing Project\n\n\nWe assume that you have worked through at least some of the other tutorials and have an existing project.\nIn this example, we modify the \nble_tiny\n project to enable Newt Manager support. \nWe call our application \nmyble\n. You can create the application using any name you choose. \n\n\nModify Package Dependencies and Configurations\n\n\nAdd the following packages to the \npkg.deps\n parameter in your target or application \npkg.yml\n file:\n\n\npkg.deps:\n - mgmt/newtmgr\n - mgmt/newtmgr/transport/nmgr_shell\n - mgmt/imgmgr\n - sys/log/full\n - sys/stats/full\n - sys/config\n
- test/crash_test\n - test/runtest\n\n\n\n\n\nEach package provides the following Newt Manager functionality:\n\n\n\n\nmgmt/newtmgr\n: Supports the newtmgr framework and the \nNewt Manager \necho\n, \ntaskstats\n \nmpstats\n, \ndatetime\n, and \nreset\n commands.\n\n\nmgmt/newtmgr/transport/nmgr_shell\n: Supports serial transport.\n\n\nmgmt/imgmgr\n: Supports the \nnewtmgr image\n command \n\n\nsys/log/full\n : Supports the \nnewtmgr log\n command.\n\n\nsys/stats/full\n: Supports the \nnewtmgr stat\n command. \n\n\nsys/config\n: Supports the \nnewtmgr config\n command. \n\n\ntest/crash_test\n: Supports the \nnewtmgr crash\n command. \n\n\ntest/runtest\n: Supports the \nnewt run\n command.\n\n\n\n\nAdd the following configuration setting values to the \nsyscfg.vals\n parameter in the target or \napplication \nsyscfg.yml\n file:\n\n\nsyscfg.vals:\n LOG_NEWTMGR: 1\n STATS_NEWTMGR: 1\n CONFIG_NEWTMGR: 1\n CRASH_TEST_NEWTMGR: 1\n RUNTEST_NEWTMGR: 1\n SHELL_TASK: 1\n
\n\n\n\n\nThe first five configuration settings enable support for the Newt Manager \nlog\n, \nstat\n, \nconfig\n, \ncrash\n, \nand \nrun\n commands. The \nSHELL_TASK\n setting enables the shell for serial transport.\n\n\nNote that you may need to override additional configuration settings that are specific to each package to customize the \npackage functionality.\n\n\n\n\nModify the Source\n\n\nBy default, the \nmgmt\n package uses the Mynewt default event queue to receive request events from the newtmgr tool. These events are processed in the context of the application main task. \n\n\nYou can specify a different event queue for the package to use. If you choose to use a dedicated event queue, you must create a task to process events from this event queue. The \nmgmt\n package executes and handles newtmgr request events in the context of this task. The \nmgmt\n package exports the \nmgmt_evq_set()\n function that allows you to specify an event queue. \n\n\nThis example uses the
Mynewt default event queue and you do not need to modify your application source. \n\n\nIf you choose to use a different event queue, see \nEvents and Event Queues\n for details on how to initialize an event queue and create a task to process the events. You will also need to modify your \nmain.c\n to add the call to the \nmgmt_evq_set()\n function as follows:\n\n\nAdd the \nmgmt/mgmt.h\n header file: \n\n\n#include \nmgmt/mgmt.h\n\n\n\n\n\n\n\nAdd the call to specify the event queue. In the \nmain()\n function, scroll down to the \nwhile (1)\n loop and add the following statement above the loop: \n\n\nmgmt_evq_set(\nmy_eventq)\n\n\n\n\n\nwhere \nmy_eventq\n is an event queue that you have initialized.\n\n\nBuild the Targets\n\n\nBuild the two targets as follows:\n\n\n$ newt build nrf52_boot\n\nsnip\n\nApp successfully built: ./bin/nrf52_boot/apps/boot/boot.elf\n$ newt build myble\nCompiling hci_common.c\nCompiling util.c\nArchiving nimble.a\nCompiling os.c\n\nsnip\n\n\n\n\n\n\n\
n\nCreate the Application Image\n\n\nGenerate a signed application image for the \nmyble\n target. You can use any version number you choose.\n\n\n$ newt create-image myble 1.0.0\nApp image successfully generated: ./bin/makerbeacon/apps/bletiny/bletiny.img\nBuild manifest: ./bin/makerbeacon/apps/bletiny/manifest.json\n\n\n\n\n\n\n\nLoad the Image\n\n\nEnsure the USB connector is in place and the power LED on the board is lit. Turn the power switch on your board off, \nthen back on to reset the board after loading the image.\n\n\n$ newt load nrf52_boot\n$ newt load myble\n\n\n\n\n\nSet Up a Connection Profile\n\n\nThe newtmgr tool requires a connection profile in order to connect to your board. If you have not done so, \nfollow the \ninstructions\n for setting up your connection profile.\n\n\n\n\nConnecting with Your Application\n\n\nOnce you have a connection profile set up, you can connect to your device with \nnewtmgr -c myconn \ncommand\n to run commands in your application. \n\n
\nIssue the \necho\n command to ensure that your application is communicating with the newtmgr tool:\n\n\n# newtmgr -c myconn echo hello\nhello\n\n\n\n\n\nTest your application to ensure that it can process a Newt Manager command that is supported by a different package.\nIssue the \nstat\n command to see the BLE stats. \n\n\nnewtmgr -c myconn stat ble_att\nReturn Code = 0\nStats Name: ble_att\n prep_write_req_tx: 0\n indicate_req_tx: 0\n write_rsp_tx: 0\n find_info_req_tx: 0\n read_rsp_rx: 0\n read_group_type_rsp_tx: 0\n indicate_req_rx: 0\n find_type_value_rsp_tx: 0\n\n ...\n\n read_req_rx: 0\n read_type_req_rx: 0\n notify_req_tx: 0\n mtu_rsp_tx: 0\n find_type_value_req_rx: 0\n read_blob_rsp_rx: 0\n read_group_type_req_tx: 0\n exec_write_req_tx: 0\n\n\n\n\n\nYour application is now able to communicate with the newtmgr tool.\n\n\nOther Configuration Options\n\n\nThis section explains how to customize your application to use other Newt Manager protocol options.
\n\n\nNewtmgr Framework Transport Protocol Options\n\n\nThe newtmgr framework currently supports BLE and serial transport protocols. \nTo configure the transport protocols that are supported, modify the \npkg.yml\n \nand \nsyscfg.yml\n files as follows:\n\n\n\n\nAdd the \nmgmt/newtmgr/transport/ble\n package to \npkg.deps\n parameter to enable BLE transport.\n\n\nAdd the \nmgmt/newtmgr/transport/nmgr_shell\n package to \nthe \npkg.deps\n parameter, and add \nSHELL_TASK: 1\n to the \nsyscfg.vals\n parameter to enable serial transport.\n\n\nAdd the \nmgmt/newtmgr/transport/nmgr_uart\n package, and add \nSHELL_TASK: 1\n to enable serial communication over a UARTport.\n\n\n\n\n\n\nOicmgr Framework Options\n\n\nTo use the oicmgr framework instead of the newtmgr framework, modify the \npkg.yml\n and \nsyscfg.yml\n files \nas follows:\n\n\n\n\nAdd the \nmgmt/oicmgr\n package (instead of the \nmgmt/newtmgr\n and \nmgmt/newtmgr/transport\n packages \nas described previously) to the \npkg.de
ps\n parameter.\n\n\nAdd \nOC_SERVER: 1\n to the \nsyscfg.vals\n parameter.\n\n\n\n\nOicmgr supports the IP, serial, and BLE transport protocols. To configure the transport protocols that are supported, \nset the configuration setting values in the \nsyscfg.vals\n parameter as follows:\n\n\n\n\nAdd \nOC_TRANSPORT_IP: 1\n to enable IP transport. \n\n\nAdd \nOC_TRANSPORT_GATT: 1\n to enable BLE transport.\n\n\nAdd \nOC_TRANSPORT_SERIAL: 1\n and \nSHELL_TASK: 1\n to enable serial transport.\n\n\n\n\n\n\nCustomize the Newt Manager Commands that Your Application Supports\n\n\nWe recommend that you only enable support for the Newt Manager commands that your application uses \nto reduce your application code size. To configure the commands that are supported, set the configuration \nsetting values in the \nsyscfg.vals\n parameter as follows:\n\n\n\n\nAdd \nLOG_NEWTMGR: 1\n to enable support for the \nnewtmgr log\n command.\n\n\nAdd \nSTATS_NEWTMGR: 1\n to enable support for the \nnewtmg
r stat\n command.\n\n\nAdd \nCONFIG_NEWTMGR: 1\n to enable support for the \nnewtmgr config\n command.\n\n\nAdd \nCRASH_TEST_NEWTMGR: 1\n to enable support for the \nnewtmgr crash\n command.\n\n\nAdd \nRUNTEST_NEWTMGR: 1\n to enable support for the \nnewtmgr crash\n command.\n\n\n\n\nNotes: \n\n\n\n\nWhen you enable Newt Manager support, using either the newtmgr or oicmgr framework, your application automatically \nsupports the Newt Manager \necho\n, \ntaskstats\n, \nmpstats\n, \ndatetime\n, and \nreset\n commands. These \ncommands cannot be configured individually.\n\n\nThe \nmgmt/imgmgr\n package does not provide a configuration setting to enable or disable support \nfor the \nnewtmgr image\n command. Do not specify the package in the \npkg.deps\n parameter if \nyour device has limited flash memory and cannot support Over-The-Air (OTA) firmware upgrades.",
"title": "Enable Newt Manager in any app"
},
{
@@ -1512,7 +1512,7 @@
},
{
"location": "/os/tutorials/add_newtmgr/#modify-package-dependencies-and-configurations",
- "text": "Add the following packages to the pkg.deps parameter in your target or application pkg.yml file: pkg.deps:\n - mgmt/newtmgr\n - mgmt/newtmgr/transport/nmgr_shell\n - mgmt/imgmgr\n - sys/log/full\n - sys/stats/full\n - sys/config\n - test/crash_test\n - test/runtest Each package provides the following Newt Manager functionality: mgmt/newtmgr : Supports the newtmgr framework and the \nNewt Manager echo , taskstats mpstats , datetime , and reset commands. mgmt/newtmgr/transport/nmgr_shell : Supports serial transport. mgmt/imgmgr : Supports the newtmgr image command sys/log/full : Supports the newtmgr log command. sys/stats/full : Supports the newtmgr stat command. sys/config : Supports the newtmgr config command. test/crash_test : Supports the newtmgr crash command. test/runtest : Supports the newt run command. Add the following configuration setting values to the syscfg.vals parameter in the target
or \napplication syscfg.yml file: syscfg.vals:\n LOG_NEWTMGR: 1\n STATS_NEWTMGR: 1\n CONFIG_NEWTMGR: 1\n CRASH_TEST_NEWTMGR: 1\n RUNTEST_NEWTMGR: 1\n SHELL_TASK: 1 The first five configuration settings enable support for the Newt Manager log , stats , config , crash , \nand run commands. The SHELL_TASK setting enables the shell for serial transport. Note that you may need to override additional configuration settings that are specific to each package to customize the \npackage functionality.",
+ "text": "Add the following packages to the pkg.deps parameter in your target or application pkg.yml file: pkg.deps:\n - mgmt/newtmgr\n - mgmt/newtmgr/transport/nmgr_shell\n - mgmt/imgmgr\n - sys/log/full\n - sys/stats/full\n - sys/config\n - test/crash_test\n - test/runtest Each package provides the following Newt Manager functionality: mgmt/newtmgr : Supports the newtmgr framework and the \nNewt Manager echo , taskstats mpstats , datetime , and reset commands. mgmt/newtmgr/transport/nmgr_shell : Supports serial transport. mgmt/imgmgr : Supports the newtmgr image command sys/log/full : Supports the newtmgr log command. sys/stats/full : Supports the newtmgr stat command. sys/config : Supports the newtmgr config command. test/crash_test : Supports the newtmgr crash command. test/runtest : Supports the newt run command. Add the following configuration setting values to the syscfg.vals parameter in the target
or \napplication syscfg.yml file: syscfg.vals:\n LOG_NEWTMGR: 1\n STATS_NEWTMGR: 1\n CONFIG_NEWTMGR: 1\n CRASH_TEST_NEWTMGR: 1\n RUNTEST_NEWTMGR: 1\n SHELL_TASK: 1 The first five configuration settings enable support for the Newt Manager log , stat , config , crash , \nand run commands. The SHELL_TASK setting enables the shell for serial transport. Note that you may need to override additional configuration settings that are specific to each package to customize the \npackage functionality.",
"title": "Modify Package Dependencies and Configurations"
},
{
@@ -1552,7 +1552,7 @@
},
{
"location": "/os/tutorials/add_newtmgr/#newtmgr-framework-transport-protocol-options",
- "text": "The newtmgr framework currently supports BLE and serial transport protocols. \nTo configure the transport protocols that are supported, modify the pkg.yml \nand syscfg.yml files as follows: Add the mgmt/newtmgr/transport/ble package to pkg.deps parameter to enable BLE transport. Add the mgmt/newtmgr/transport/nmgr_shell package to \nthe pkg.deps parameter, and add SHELL_TASK: 1 to the syscfg.vals parameter to enable serial transport.",
+ "text": "The newtmgr framework currently supports BLE and serial transport protocols. \nTo configure the transport protocols that are supported, modify the pkg.yml \nand syscfg.yml files as follows: Add the mgmt/newtmgr/transport/ble package to pkg.deps parameter to enable BLE transport. Add the mgmt/newtmgr/transport/nmgr_shell package to \nthe pkg.deps parameter, and add SHELL_TASK: 1 to the syscfg.vals parameter to enable serial transport. Add the mgmt/newtmgr/transport/nmgr_uart package, and add SHELL_TASK: 1 to enable serial communication over a UARTport.",
"title": "Newtmgr Framework Transport Protocol Options"
},
{
@@ -8197,7 +8197,7 @@
},
{
"location": "/network/ble/nimble_setup/",
- "text": "Set up a NimBLE application\n\n\nThis tutorial explains how to set up an application using the NimBLE stack. The end result will be a framework that you can use to create your own BLE application using the nimble stack.\n\n\nThis tutorial assumes that you have already installed the newt tool and are familiar with its concepts.\n\n\nCreate the application directory\n\n\nYou start by creating a project space for your own application work using the Newt tool (\nmy_proj1\n in this example) and installing all the additional apps and libraries available by adding the repo \napache-mynewt-core\n. See the tutorial on \nadding a repo\n for more on working with repos.\n\n\n~/dev$ newt new my_proj1\nDownloading project skeleton from apache/incubator-mynewt-blinky...\nInstalling skeleton in my_proj1...\nProject my_proj1 successfully created.\n~/dev$ tree my_proj1\nmy_proj1\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2500\u2
500 README.md\n\u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 blinky\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 main.c\n\u251c\u2500\u2500 project.yml\n\u2514\u2500\u2500 targets\n \u251c\u2500\u2500 my_blinky_sim\n \u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 target.yml\n \u2514\u2500\u2500 unittest\n \u251c\u2500\u2500 pkg.yml\n \u2514\u2500\u2500 target.yml\n\n6 directories, 11 files\n\n~/dev$ cd my_proj1\n~/dev/my_proj1$ newt install\napache-mynewt-core\n~/dev/my_proj1$ tree\n.\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 blinky\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2514\u2500
\u2500 main.c\n\u251c\u2500\u2500 project.state\n\u251c\u2500\u2500 project.yml\n\u251c\u2500\u2500 repos\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 apache-mynewt-core\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 DISCLAIMER\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 LICENSE\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 NOTICE\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 README.md\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 RELEASE_NOTES.md\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bleprph\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bleprph.h\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 gatt_svr.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 main.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bletest\n\u2502\u
00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 main.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bletiny\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bletiny_priv.h\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 cmd.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 main.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 parse.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 periph.c\n\nsnip\n\n\n232 directori
es, 846 files\n\n\n\n\n\n\n\nIt's time to build your own app using one or more of the example apps available in the repo \napache-mynewt-core\n. \n\n\n~/dev/my_proj1$ ls repos/apache-mynewt-core/apps\nbleprph bletiny boot luatest test\nbletest blinky ffs2native slinky\n\n\n\n\n\n\n\nAt the very least your app must contain a \nmain()\n function and a \npkg.yml\n file. Use the following steps to create minimal ...\n\n\n1. Create the app directory structure.\n\n\n~/dev/my_proj1$ mkdir -p apps/ble_app/src\n\n\n\n\n\n\n\n2. Paste the following contents into \napps/ble_app/pkg.yml\n.\n\n\npkg.name: apps/ble_app\npkg.type: app\n\npkg.deps:\n - \n@apache-mynewt-core/libs/baselibc\n\n - \n@apache-mynewt-core/libs/console/full\n\n - \n@apache-mynewt-core/libs/os\n\n - \n@apache-mynewt-core/net/nimble/controller\n\n - \n@apache-mynewt-core/net/nimble/host\n\n\n\n\n\n\n\n\n3. Paste the following contents into \napps/ble_app/src/main.c\n.\n\n\n#includ
e \nassert.h\n\n\n#include \nos/os.h\n\n\n\nint\n\n\nmain\n(\nvoid\n)\n{\n \n/* Initialize OS */\n\n \nos_init\n();\n\n \n/* Start the OS */\n\n \nos_start\n();\n\n \n/* os_start should never return. If it does, this should be an error */\n\n \nassert\n(\n0\n);\n}\n\n\n\n\n\nIn this \nmain()\n all we are doing is initializing the Mynewt OS and starting it.\n\n\n\n\nCreate the target\n\n\nNow you have to create the target that you will use to build your application. We will call this target \"ble_tgt\". Type the \nnewt target create ble_tgt\n command. You should get this:\n\n\n~/dev/my_proj1$ newt target create ble_tgt\nTarget targets/ble_tgt successfully created\n\n\n\n\n\nWhat this command just did was to create a directory called \nble_tgt\n in the targets directory of your project. Two files are created in that directory: pkg.yml and target.yml.\n\n\nThe target is not yet complete though! We need to set some target variables for this project. Currently, the nimb
le stack has been ported to the Nordic nrf5x chipsets; specifically the nrf51 and nrf52. This application will use the nrf52 but we will also show the setup for the nrf51 in case your project uses that chip.\n\n\nHere is the command you will need to set up your target for the nrf52:\n\n\n~/dev/my_proj1$ newt target set ble_tgt \\\n app=apps/ble_app \\\n bsp=@apache-mynewt-core/hw/bsp/nrf52pdk \\\n build_profile=optimized\nTarget targets/ble_tgt successfully set target.app to apps/ble_app\nTarget targets/ble_tgt successfully set target.bsp to @apache-mynewt-core/hw/bsp/nrf52pdk\nTarget targets/ble_tgt successfully set target.build_profile to optimized\n\n\n\n\n\nHere is the command you will need to set up your target for the nrf51:\n\n\n~/dev/my_proj1$ newt target set ble_tgt \\\n app=apps/ble_app \\\n bsp=@apache-mynewt-core/hw/bsp/nrf51dk \\\n build_profile=optimized\nTarget targets/ble_tgt successfully set ta
rget.app to apps/ble_app\nTarget targets/ble_tgt successfully set target.bsp to @apache-mynewt-core/hw/bsp/nrf51dk\nTarget targets/ble_tgt successfully set target.build_profile to optimized\n\n\n\n\n\n\n\nNimble stack initialization\n\n\nThere are certain stack initialization steps that are required for a BLE application to be up and running. If you are running a canned example (e.g. bletiny), these steps are already done for you. When you are writing your own app, you may want to assign different initial values or initialize additional packages that you may have added to your project or written yourself. \n\n\nDetails of the initialization step requirements are covered in \nInitialize Stack\n step.\n\n\n\n\nBuilding the application\n\n\nNow that we have created the application and the target we can build it and test it out. The command you need to run is the \nnewt build\n command with the target we created (\nble_tgt\n). The output will show the files being compiled and linked. Yo
u should see this when all is done (except for the \n...\n of course):\n\n\n~/dev/my_proj1$ newt build ble_tgt\n...\nArchiving os.a\nCompiling cons_fmt.c\nCompiling cons_tty.c\nArchiving full.a\nLinking ble_app.elf\nApp successfully built: /Users/wes/dev/my_proj1/bin/ble_tgt/apps/ble_app/ble_app.elf\n\n\n\n\n\nConclusion\n\n\nYou now have a fully functional BLE app (never mind the fact that it doesn't\nactually do anything yet!). With all the necessary infrastructure in place,\nyou can now start turning this into a real application. Additional tutorials\nwith focus on adding application-layer functionality to your Nimble application\nwill be coming soon. In the meantime, you might get some inspiration from\napache-mynewt-core's example Nimble apps. These apps can be found at the below locations, relative to your project's base directory:\n\n\n\n\nrepos/apache-mynewt-core/apps/bleprph\n\n\nrepos/apache-mynewt-core/apps/bletiny",
+ "text": "Set up a NimBLE application\n\n\nThis tutorial explains how to set up an application using the NimBLE stack. The end result will be a framework that you can use to create your own BLE application using the nimble stack.\n\n\nThis tutorial assumes that you have already installed the newt tool and are familiar with its concepts.\n\n\nCreate the application directory\n\n\nYou start by creating a project space for your own application work using the Newt tool (\nmy_proj1\n in this example) and installing all the additional apps and libraries available by adding the repo \napache-mynewt-core\n. See the tutorial on \nadding a repo\n for more on working with repos.\n\n\n~/dev$ newt new my_proj1\nDownloading project skeleton from apache/incubator-mynewt-blinky...\nInstalling skeleton in my_proj1...\nProject my_proj1 successfully created.\n~/dev$ tree my_proj1\nmy_proj1\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2500\u2
500 README.md\n\u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 blinky\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 main.c\n\u251c\u2500\u2500 project.yml\n\u2514\u2500\u2500 targets\n \u251c\u2500\u2500 my_blinky_sim\n \u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 target.yml\n \u2514\u2500\u2500 unittest\n \u251c\u2500\u2500 pkg.yml\n \u2514\u2500\u2500 target.yml\n\n6 directories, 11 files\n\n~/dev$ cd my_proj1\n~/dev/my_proj1$ newt install\napache-mynewt-core\n~/dev/my_proj1$ tree\n.\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 blinky\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2514\u2500
\u2500 main.c\n\u251c\u2500\u2500 project.state\n\u251c\u2500\u2500 project.yml\n\u251c\u2500\u2500 repos\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 apache-mynewt-core\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 DISCLAIMER\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 LICENSE\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 NOTICE\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 README.md\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 RELEASE_NOTES.md\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bleprph\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bleprph.h\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 gatt_svr.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 main.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bletest\n\u2502\u
00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 main.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bletiny\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bletiny_priv.h\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 cmd.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 main.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 parse.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 periph.c\n\nsnip\n\n\n232 directori
es, 846 files\n\n\n\n\n\n\n\nIt's time to build your own app using one or more of the example apps available in the repo \napache-mynewt-core\n. \n\n\n~/dev/my_proj1$ ls repos/apache-mynewt-core/apps\nbleprph bletiny boot luatest test\nbletest blinky ffs2native slinky\n\n\n\n\n\n\n\nAt the very least your app must contain a \nmain()\n function and a \npkg.yml\n file. Use the following steps to create minimal ...\n\n\n1. Create the app directory structure.\n\n\n~/dev/my_proj1$ mkdir -p apps/ble_app/src\n\n\n\n\n\n\n\n2. Paste the following contents into \napps/ble_app/pkg.yml\n.\n\n\npkg.name: apps/ble_app\npkg.type: app\n\npkg.deps:\n - \n@apache-mynewt-core/kernel/os\n\n - \n@apache-mynewt-core/hw/hal\n\n - \n@apache-mynewt-core/sys/console/full\n\n - \n@apache-mynewt-core/sys/log/full\n\n - \n@apache-mynewt-core/sys/stats/full\n\n - \n@apache-mynewt-core/net/nimble/transport/ram\n\n - \n@apache-mynewt-core/net/nimble/controller\n\
n - \n@apache-mynewt-core/net/nimble/host\n\n\n\n\n\n\n\n\n3. Paste the following contents into \napps/ble_app/src/main.c\n.\n\n\n#include \nassert.h\n\n\n#include \nos/os.h\n\n\n\nint\n\n\nmain\n(\nvoid\n)\n{\n \n/* Initialize OS */\n\n \nos_init\n(\nNULL\n);\n\n \n/* Start the OS */\n\n \nos_start\n();\n\n \n/* os_start should never return. If it does, this should be an error */\n\n \nassert\n(\n0\n);\n}\n\n\n\n\n\nIn this \nmain()\n all we are doing is initializing the Mynewt OS and starting it.\n\n\n\n\nCreate the target\n\n\nNow you have to create the target that you will use to build your application. We will call this target \"ble_tgt\". Type the \nnewt target create ble_tgt\n command. You should get this:\n\n\n~/dev/my_proj1$ newt target create ble_tgt\nTarget targets/ble_tgt successfully created\n\n\n\n\n\nWhat this command just did was to create a directory called \nble_tgt\n in the targets directory of your project. Two files are created in that direc
tory: pkg.yml and target.yml.\n\n\nThe target is not yet complete though! We need to set some target variables for this project. Currently, the nimble stack has been ported to the Nordic nrf5x chipsets; specifically the nrf51 and nrf52. This application will use the nrf52 but we will also show the setup for the nrf51 in case your project uses that chip.\n\n\nHere is the command you will need to set up your target for the nrf52:\n\n\n~/dev/my_proj1$ newt target set ble_tgt \\\n app=apps/ble_app \\\n bsp=@apache-mynewt-core/hw/bsp/nrf52pdk \\\n build_profile=optimized\nTarget targets/ble_tgt successfully set target.app to apps/ble_app\nTarget targets/ble_tgt successfully set target.bsp to @apache-mynewt-core/hw/bsp/nrf52pdk\nTarget targets/ble_tgt successfully set target.build_profile to optimized\n\n\n\n\n\nHere is the command you will need to set up your target for the nrf51:\n\n\n~/dev/my_proj1$ newt target set ble_tgt \\\n app=apps/ble_ap
p \\\n bsp=@apache-mynewt-core/hw/bsp/nrf51dk \\\n build_profile=optimized\nTarget targets/ble_tgt successfully set target.app to apps/ble_app\nTarget targets/ble_tgt successfully set target.bsp to @apache-mynewt-core/hw/bsp/nrf51dk\nTarget targets/ble_tgt successfully set target.build_profile to optimized\n\n\n\n\n\n\n\nNimble stack initialization\n\n\nThere are certain stack initialization steps that are required for a BLE application to be up and running. If you are running a canned example (e.g. bletiny), these steps are already done for you. When you are writing your own app, you may want to assign different initial values or initialize additional packages that you may have added to your project or written yourself. \n\n\nDetails of the initialization step requirements are covered in \nInitialize Stack\n step.\n\n\n\n\nBuilding the application\n\n\nNow that we have created the application and the target we can build it and test it out. The command
you need to run is the \nnewt build\n command with the target we created (\nble_tgt\n). The output will show the files being compiled and linked. You should see this when all is done (except for the \n...\n of course):\n\n\n~/dev/my_proj1$ newt build ble_tgt\n...\nArchiving os.a\nCompiling cons_fmt.c\nCompiling cons_tty.c\nArchiving full.a\nLinking ble_app.elf\nApp successfully built: /Users/wes/dev/my_proj1/bin/ble_tgt/apps/ble_app/ble_app.elf\n\n\n\n\n\nConclusion\n\n\nYou now have a fully functional BLE app (never mind the fact that it doesn't\nactually do anything yet!). With all the necessary infrastructure in place,\nyou can now start turning this into a real application. Additional tutorials\nwith focus on adding application-layer functionality to your Nimble application\nwill be coming soon. In the meantime, you might get some inspiration from\napache-mynewt-core's example Nimble apps. These apps can be found at the below locations, relative to your project's base direct
ory:\n\n\n\n\nrepos/apache-mynewt-core/apps/bleprph\n\n\nrepos/apache-mynewt-core/apps/bletiny",
"title": "Set up application"
},
{
@@ -8207,7 +8207,7 @@
},
{
"location": "/network/ble/nimble_setup/#create-the-application-directory",
- "text": "You start by creating a project space for your own application work using the Newt tool ( my_proj1 in this example) and installing all the additional apps and libraries available by adding the repo apache-mynewt-core . See the tutorial on adding a repo for more on working with repos. ~/dev$ newt new my_proj1\nDownloading project skeleton from apache/incubator-mynewt-blinky...\nInstalling skeleton in my_proj1...\nProject my_proj1 successfully created.\n~/dev$ tree my_proj1\nmy_proj1\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 blinky\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 main.c\n\u251c\u2500\u2500 project.yml\n\u2514\u2500\u2500 targets\n \u251c\u2500\u2500 my_blinky_sim\n \u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.
yml\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 target.yml\n \u2514\u2500\u2500 unittest\n \u251c\u2500\u2500 pkg.yml\n \u2514\u2500\u2500 target.yml\n\n6 directories, 11 files\n\n~/dev$ cd my_proj1\n~/dev/my_proj1$ newt install\napache-mynewt-core\n~/dev/my_proj1$ tree\n.\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 blinky\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 main.c\n\u251c\u2500\u2500 project.state\n\u251c\u2500\u2500 project.yml\n\u251c\u2500\u2500 repos\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 apache-mynewt-core\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 DISCLAIMER\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 LICENSE\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 NOTICE\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 README.md\n\u2502\u0
0a0\u00a0 \u251c\u2500\u2500 RELEASE_NOTES.md\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bleprph\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bleprph.h\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 gatt_svr.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 main.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bletest\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 main.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bletiny\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0
\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bletiny_priv.h\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 cmd.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 main.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 parse.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 periph.c snip \n\n232 directories, 846 files It's time to build your own app using one or more of the example apps available in the repo apache-mynewt-core . ~/dev/my_proj1$ ls repos/apache-mynewt-core/apps\nbleprph bletiny boot luatest test\nbletest blinky ffs2native slinky At the very least your app must contain a main() function and a pkg.yml file. Use the following step
s to create minimal ... 1. Create the app directory structure. ~/dev/my_proj1$ mkdir -p apps/ble_app/src 2. Paste the following contents into apps/ble_app/pkg.yml . pkg.name: apps/ble_app\npkg.type: app\n\npkg.deps:\n - @apache-mynewt-core/libs/baselibc \n - @apache-mynewt-core/libs/console/full \n - @apache-mynewt-core/libs/os \n - @apache-mynewt-core/net/nimble/controller \n - @apache-mynewt-core/net/nimble/host 3. Paste the following contents into apps/ble_app/src/main.c . #include assert.h #include os/os.h int main ( void )\n{\n /* Initialize OS */ \n os_init ();\n\n /* Start the OS */ \n os_start ();\n\n /* os_start should never return. If it does, this should be an error */ \n assert ( 0 );\n} In this main() all we are doing is initializing the Mynewt OS and starting it.",
+ "text": "You start by creating a project space for your own application work using the Newt tool ( my_proj1 in this example) and installing all the additional apps and libraries available by adding the repo apache-mynewt-core . See the tutorial on adding a repo for more on working with repos. ~/dev$ newt new my_proj1\nDownloading project skeleton from apache/incubator-mynewt-blinky...\nInstalling skeleton in my_proj1...\nProject my_proj1 successfully created.\n~/dev$ tree my_proj1\nmy_proj1\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 blinky\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 main.c\n\u251c\u2500\u2500 project.yml\n\u2514\u2500\u2500 targets\n \u251c\u2500\u2500 my_blinky_sim\n \u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.
yml\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 target.yml\n \u2514\u2500\u2500 unittest\n \u251c\u2500\u2500 pkg.yml\n \u2514\u2500\u2500 target.yml\n\n6 directories, 11 files\n\n~/dev$ cd my_proj1\n~/dev/my_proj1$ newt install\napache-mynewt-core\n~/dev/my_proj1$ tree\n.\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 blinky\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 main.c\n\u251c\u2500\u2500 project.state\n\u251c\u2500\u2500 project.yml\n\u251c\u2500\u2500 repos\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 apache-mynewt-core\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 DISCLAIMER\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 LICENSE\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 NOTICE\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 README.md\n\u2502\u0
0a0\u00a0 \u251c\u2500\u2500 RELEASE_NOTES.md\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bleprph\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bleprph.h\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 gatt_svr.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 main.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bletest\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 main.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bletiny\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0
\u00a0 \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 src\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 bletiny_priv.h\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 cmd.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 main.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 parse.c\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 periph.c snip \n\n232 directories, 846 files It's time to build your own app using one or more of the example apps available in the repo apache-mynewt-core . ~/dev/my_proj1$ ls repos/apache-mynewt-core/apps\nbleprph bletiny boot luatest test\nbletest blinky ffs2native slinky At the very least your app must contain a main() function and a pkg.yml file. Use the following step
s to create minimal ... 1. Create the app directory structure. ~/dev/my_proj1$ mkdir -p apps/ble_app/src 2. Paste the following contents into apps/ble_app/pkg.yml . pkg.name: apps/ble_app\npkg.type: app\n\npkg.deps:\n - @apache-mynewt-core/kernel/os \n - @apache-mynewt-core/hw/hal \n - @apache-mynewt-core/sys/console/full \n - @apache-mynewt-core/sys/log/full \n - @apache-mynewt-core/sys/stats/full \n - @apache-mynewt-core/net/nimble/transport/ram \n - @apache-mynewt-core/net/nimble/controller \n - @apache-mynewt-core/net/nimble/host 3. Paste the following contents into apps/ble_app/src/main.c . #include assert.h #include os/os.h int main ( void )\n{\n /* Initialize OS */ \n os_init ( NULL );\n\n /* Start the OS */ \n os_start ();\n\n /* os_start should never return. If it does, this should be an error */ \n assert ( 0 );\n} In this main() all we are doing is initializing the Mynewt OS and starting it.",
"title": "Create the application directory"
},
{
@@ -10827,7 +10827,7 @@
},
{
"location": "/newt/command_list/newt_sync/",
- "text": "newt sync \n\n\nSynchronize and refresh the contents of the local copy of all the repositories used in the project with the latest updates maintained in the remote repositories. \n\n\nUsage:\n\n\n newt sync [flags]\n\n\n\n\n\nFlags:\n\n\n -f, --force Force overwrite of existing remote repository\n\n#### Global Flags:\n```no-highlight\n -h, --help Help for newt commands\n -j, --jobs int Number of concurrent build jobs (default 8)\n -l, --loglevel string Log level (default \nWARN\n)\n -o, --outfile string Filename to tee output to\n -q, --quiet Be quiet; only display error output\n -s, --silent Be silent; don\nt output anything\n -v, --verbose Enable verbose output when executing commands\n\n\n\n\n\nDescription\n\n\nSynchronize project dependencies and repositories. Prior to 1.0.0 release, the command deletes and resynchronizes each repository. Post 1.0.0, it will ab
ort the synchronization if there are any local changes to any repository. Using the -f to force overwrite of existing repository will stash and save the changes while pulling in all the latest changes from the remote repository.",
+ "text": "newt sync \n\n\nSynchronize and refresh the contents of the local copy of all the repositories used in the project with the latest updates maintained in the remote repositories. \n\n\nUsage:\n\n\n newt sync [flags]\n\n\n\n\n\nFlags:\n\n\n -f, --force Force overwrite of existing remote repository\n\n\n\n\n\nGlobal Flags:\n\n\n -h, --help Help for newt commands\n -j, --jobs int Number of concurrent build jobs (default 8)\n -l, --loglevel string Log level (default \nWARN\n)\n -o, --outfile string Filename to tee output to\n -q, --quiet Be quiet; only display error output\n -s, --silent Be silent; don\nt output anything\n -v, --verbose Enable verbose output when executing commands\n\n\n\n\n\nDescription\n\n\nSynchronize project dependencies and repositories. Prior to 1.0.0 release, the command deletes and resynchronizes each repository. Post 1.0.0, it will abort the sy
nchronization if there are any local changes to any repository. Using the -f to force overwrite of existing repository will stash and save the changes while pulling in all the latest changes from the remote repository.",
"title": "newt sync"
},
{
@@ -10842,10 +10842,15 @@
},
{
"location": "/newt/command_list/newt_sync/#flags",
- "text": "-f, --force Force overwrite of existing remote repository\n\n#### Global Flags:\n```no-highlight\n -h, --help Help for newt commands\n -j, --jobs int Number of concurrent build jobs (default 8)\n -l, --loglevel string Log level (default WARN )\n -o, --outfile string Filename to tee output to\n -q, --quiet Be quiet; only display error output\n -s, --silent Be silent; don t output anything\n -v, --verbose Enable verbose output when executing commands",
+ "text": "-f, --force Force overwrite of existing remote repository",
"title": "Flags:"
},
{
+ "location": "/newt/command_list/newt_sync/#global-flags",
+ "text": "-h, --help Help for newt commands\n -j, --jobs int Number of concurrent build jobs (default 8)\n -l, --loglevel string Log level (default WARN )\n -o, --outfile string Filename to tee output to\n -q, --quiet Be quiet; only display error output\n -s, --silent Be silent; don t output anything\n -v, --verbose Enable verbose output when executing commands",
+ "title": "Global Flags:"
+ },
+ {
"location": "/newt/command_list/newt_sync/#description",
"text": "Synchronize project dependencies and repositories. Prior to 1.0.0 release, the command deletes and resynchronizes each repository. Post 1.0.0, it will abort the synchronization if there are any local changes to any repository. Using the -f to force overwrite of existing repository will stash and save the changes while pulling in all the latest changes from the remote repository.",
"title": "Description"
@@ -11012,95 +11017,415 @@
},
{
"location": "/newtmgr/overview/",
- "text": "Newt Manager\n\n\nNewt Manager (newtmgr) is the application tool that enables a user to communicate with and manage remote instances of Mynewt OS. \n\n\nDescription\n\n\nCommand List\n\n\nAvailable high-level commands\n\n\n help Lists commands and flags available \n conn Manage newtmgr connection profiles\n echo Send data to remote endpoint using newtmgr, and receive data back\n image Manage images on remote instance\n stat Read statistics from a remote endpoint\n taskstats Read statistics from a remote endpoint\n mpstats Read statistics from a remote endpoint\n config Read or write config value on target\n\n\n\n\n\nAvailable Flags\n\n\n -c, --connection string connection profile to use.\n -l, --loglevel string log level to use (default WARN.)\n\n\n\n\n\nExamples\n\n\n\n\n\n\n\n\nSub-command\n\n\nUsage\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\nnewtmgr -caditi03 taskstats\n\n\n\n\n\n\n\n\n
\n\n\n\nhelp\n\n\nUsage:\n\n\n newtmgr help [input1]\n\n\n\n\n\nYou can also use \"newtmgr [command] --help\" to display the help text for a newtmgr command.\n\n\nFlags:\n\n\n -c, --connection string connection profile to use.\n -l, --loglevel string log level to use (default WARN.)\n\n\n\n\n\nExamples\n\n\n\n\n\n\n\n\nSub-command\n\n\nAvailable Flags\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\ntaskstats\n\n\nnewtmgr -cprofile1 taskstats\n\n\nRun the taskstats subcommand on the device connected via the 'profile1' connection\n\n\n\n\n\n\n\n\nconn\n\n\nUsage:\n\n\n newtmgr conn [flags]\n newtmgr conn [command]\n\n\n\n\n\nAvailable commands: \n\n\n add Add a newtmgr connection profile\n delete Delete a newtmgr connection profile\n show Show newtmgr connection profiles\n\n\n\n\n\nFlags:\n\n\n -c, --conn string connection profile to use.\n -l, --loglevel string log level to use (default WARN.)\n\n\n\n\n\nDescription\n\n\n\n\n\n\n\n\nSub-
command\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\nadd\n\n\nAdds a connection profile. A properly defined profile needs a name, a connection type, and the physical or virtual port to be used for communication.\n\n\n\n\n\n\ndelete\n\n\nDeletes a connection profile associated with the given name\n\n\n\n\n\n\nshow\n\n\nList the specified or all the connection profiles with the name, connection type, and the controlling terminal or port.\n\n\n\n\n\n\n\n\nExamples\n\n\n\n\n\n\n\n\nSub-command\n\n\nUsage\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\nadd\n\n\nnewtmgr conn add myserial02 type=serial connstring=/dev/ttys002\n\n\nAdds a newtmgr connection profile for the serial port /dev/ttys002 and names it 'myserial02'\n\n\n\n\n\n\ndelete\n\n\nnewtmgr conn delete myserial02\n\n\nDeletes the connection profile named 'myserial02'\n\n\n\n\n\n\nshow\n\n\nnewtmgr conn show myserial01\n\n\nShows the details of the profile named 'myserial01'\n\n\n\n\n\n\nshow\n\n\nnewtmgr conn show\n\n\nShows all the current p
rofiles defined\n\n\n\n\n\n\n\n\necho\n\n\nUsage:\n\n\n newtmgr echo [flags] [text]\n\n\n\n\n\nThis command sends the text to the remote device at the other end of the connection specified with the -c flag and outputs the text when it gets a response from the device. If the device is not responding or if the connection profile is invalid it displays errors. \n\n\nFlags:\n\n\n -c, --conn string connection profile to use.\n -l, --loglevel string log level to use (default WARN.)\n\n\n\n\n\nExamples\n\n\n\n\n\n\n\n\nSub-command\n\n\nUsage\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\necho\n\n\nnewtmgr echo -c profile01 hello\n\n\nSends the string 'hello' to the remote device over the connection profile 'profile01' and receives the string back and displays it.\n\n\n\n\n\n\n\n\nimage\n\n\nUsage:\n\n\n newtmgr image [flags]\n newtmgr image [command]\n\n\n\n\n\nAvailable commands: \n\n\n list Show target images\n upload Upload image to target\n boot Whi
ch image to boot\n fileupload Upload file to target\n filedownload Download file from target\n\n\n\n\n\nFlags:\n\n\n -c, --conn string connection profile to use.\n -l, --loglevel string log level to use (default WARN.)\n\n\n\n\n\nDescription\n\n\n\n\n\n\n\n\nSub-command\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\nlist\n\n\nAdds a connection profile. A properly defined profile needs a name, a connection type, and the physical or virtual port to be used for communication.\n\n\n\n\n\n\nupload\n\n\nDeletes a connection profile associated with the given name\n\n\n\n\n\n\nboot\n\n\nSpecify the image to boot\n\n\n\n\n\n\nfileupload\n\n\nupload file to the remote target\n\n\n\n\n\n\nfiledownload\n\n\ndownload/retrieve file from remote target\n\n\n\n\n\n\n\n\nExamples\n\n\n\n\n\n\n\n\nSub-command\n\n\nUsage\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\nlist\n\n\nnewtmgr list\n\n\n\n\n\n\n\n\nupload\n\n\nnewtmgr upload\n\n\n\n\n\n\n\n\nboot\n\n\nnewtmgr boot\n\n\n\n\n\n\n\n\nfileupload\n\
n\nnewtmgr fileupload\n\n\n\n\n\n\n\n\nfiledownload\n\n\nnewtmgr filedownload\n\n\n\n\n\n\n\n\n\n\nstat\n\n\nUsage:\n\n\n newtmgr stat [flags]\n newtmgr stat [command]\n\n\n\n\n\nFlags:\n\n\n -c, --conn string connection profile to use.\n -l, --loglevel string log level to use (default WARN.)\n\n\n\n\n\nExamples\n\n\n\n\n\n\n\n\nSub-command\n\n\nUsage\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\nstat\n\n\nnewtmgr stat\n\n\n\n\n\n\n\n\n\n\ntaskstats\n\n\nUsage:\n\n\n newtmgr taskstats [flags]\n newtmgr taskstats [command]\n\n\n\n\n\nLists all the tasks running on the remote endpoint at the end of the specified connection and for each task lists statistics such as priority, task id, runtime (how long the task has been running in ms), context switch count, stack size allocated, actual stack usage, last sanity checkin, next sanity check-in. \n\n\nFlags:\n\n\n -c, --conn string connection profile to use.\n -l, --loglevel string log level to use (default WARN.)\n\n\n\n\n\
nExamples\n\n\n\n\n\n\n\n\nSub-command\n\n\nUsage\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\nstat\n\n\nnewtmgr taskstats -c profile01\n\n\nLists all the tasks running on the remote device at the end of connection named 'profile01'\n\n\n\n\n\n\n\n\nExample output\n\n\n$ newtmgr -c profile01 taskstats\nReturn Code = 0\n idle (prio=255 tid=0 runtime=3299340 cswcnt=280342 stksize=1024 stkusage=1000 last_checkin=0 next_checkin=0)\n os_sanity (prio=254 tid=1 runtime=0 cswcnt=3287 stksize=1024 stkusage=1000 last_checkin=0 next_checkin=0)\n shell (prio=3 tid=2 runtime=0 cswcnt=165 stksize=1024 stkusage=1000 last_checkin=0 next_checkin=0)\n uart_poller (prio=0 tid=3 runtime=0 cswcnt=279368 stksize=1024 stkusage=1000 last_checkin=0 next_checkin=0)\n newtmgr (prio=4 tid=4 runtime=0 cswcnt=14 stksize=1024 stkusage=1000 last_checkin=0 next_checkin=0)\n task1 (prio=1 tid=5 runtime=0 cswcnt=3287 stksize=1024 stkusage=1000 last_checkin=0 next_checkin=0)\n task2 (prio=2 tid=6 runtime=0 cswcnt=328
7 stksize=1024 stkusage=1000 last_checkin=0 next_checkin=0)",
+ "text": "Newt Manager\n\n\nNewt Manager (newtmgr) is the application tool that enables a user to communicate with and manage remote devices running the Mynewt OS. It uses a connection profile to establish a connection with a device and sends command requests to the device. The tool follows the same command structure as the \nnewt tool\n. \n\n\nAvailable high-level commands\n\n\nThe following are the high-level newtmgr commands. Some of these commands have subcommands. You can use the -h flag to get help for each command. See the documentation for each command in this guide if you need more information and examples.\n\n\nAvailable Commands:\n\n config Read or write a config value on a device\n conn Manage newtmgr connection profiles\n crash Send a crash command to a device\n datetime Manage datetime on a device\n echo Send data to a device and display the echoed back data\n fs Access files on a device\n image Manage image
s on a device\n log Manage logs on a device\n mpstats Read memory pool statistics from a device\n reset Send reset request to a device\n run Run test procedures on a device\n stat Read statistics from a device\n taskstats Read task statistics from a device\n\nFlags:\n -c, --conn string connection profile to use.\n -h, --help Help for newtmgr commands\n -l, --loglevel string log level to use (default \ninfo\n)\n -t, --trace print all bytes transmitted and received",
"title": "toc"
},
{
"location": "/newtmgr/overview/#newt-manager",
- "text": "Newt Manager (newtmgr) is the application tool that enables a user to communicate with and manage remote instances of Mynewt OS.",
+ "text": "Newt Manager (newtmgr) is the application tool that enables a user to communicate with and manage remote devices running the Mynewt OS. It uses a connection profile to establish a connection with a device and sends command requests to the device. The tool follows the same command structure as the newt tool .",
"title": "Newt Manager"
},
{
- "location": "/newtmgr/overview/#description",
- "text": "",
+ "location": "/newtmgr/overview/#available-high-level-commands",
+ "text": "The following are the high-level newtmgr commands. Some of these commands have subcommands. You can use the -h flag to get help for each command. See the documentation for each command in this guide if you need more information and examples. Available Commands:\n\n config Read or write a config value on a device\n conn Manage newtmgr connection profiles\n crash Send a crash command to a device\n datetime Manage datetime on a device\n echo Send data to a device and display the echoed back data\n fs Access files on a device\n image Manage images on a device\n log Manage logs on a device\n mpstats Read memory pool statistics from a device\n reset Send reset request to a device\n run Run test procedures on a device\n stat Read statistics from a device\n taskstats Read task statistics from a device\n\nFlags:\n -c, --conn string connection profile to use.\n -h, --help
Help for newtmgr commands\n -l, --loglevel string log level to use (default info )\n -t, --trace print all bytes transmitted and received",
+ "title": "Available high-level commands"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_config/",
+ "text": "newtmgr config \n\n\nRead and write config values on a device.\n\n\nUsage:\n\n\n newtmgr config \nvar-name\n [var-value] -c \nconn_profile\n [flags] \n\n\n\n\n\nGlobal Flags:\n\n\n -c, --conn string connection profile to use.\n -h, --help Help for newtmgr commands\n -l, --loglevel string log level to use (default \ninfo\n)\n -t, --trace print all bytes transmitted and received\n\n\n\n\n\nDescription\n\n\nReads and sets the value for the \nvar-name\n config variable on a device. Specify a \nvar-value\n to set the value for the \nvar-name\n variable. Newtmgr uses the \nconn_profile\n connection profile to connect to the device.\n\n\nExamples\n\n\n\n\n\n\n\n\nSub-command\n\n\nUsage\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\n\n\nnewtmgr config myvar -c profile01\n\n\nReads the \nmyvar\n config variable value from a device. Newtmgr connects to the device over a connection specified in the \nprofile01\n connection profile.\
n\n\n\n\n\n\n\n\nnewtmgr config myvar 2 -c profile01\n\n\nSets the \nmyvar\n config variable to the value \n2\n on a device. Newtmgr connects to the device over a connection specified in the \nprofile01\n connection profile.",
+ "title": "newtmgr config"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_config/#newtmgr-config",
+ "text": "Read and write config values on a device.",
+ "title": "newtmgr config "
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_config/#usage",
+ "text": "newtmgr config var-name [var-value] -c conn_profile [flags]",
+ "title": "Usage:"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_config/#global-flags",
+ "text": "-c, --conn string connection profile to use.\n -h, --help Help for newtmgr commands\n -l, --loglevel string log level to use (default info )\n -t, --trace print all bytes transmitted and received",
+ "title": "Global Flags:"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_config/#description",
+ "text": "Reads and sets the value for the var-name config variable on a device. Specify a var-value to set the value for the var-name variable. Newtmgr uses the conn_profile connection profile to connect to the device.",
"title": "Description"
},
{
- "location": "/newtmgr/overview/#command-list",
- "text": "",
- "title": "Command List"
+ "location": "/newtmgr/command_list/newtmgr_config/#examples",
+ "text": "Sub-command Usage Explanation newtmgr config myvar -c profile01 Reads the myvar config variable value from a device. Newtmgr connects to the device over a connection specified in the profile01 connection profile. newtmgr config myvar 2 -c profile01 Sets the myvar config variable to the value 2 on a device. Newtmgr connects to the device over a connection specified in the profile01 connection profile.",
+ "title": "Examples"
},
{
- "location": "/newtmgr/overview/#available-high-level-commands",
- "text": "help Lists commands and flags available \n conn Manage newtmgr connection profiles\n echo Send data to remote endpoint using newtmgr, and receive data back\n image Manage images on remote instance\n stat Read statistics from a remote endpoint\n taskstats Read statistics from a remote endpoint\n mpstats Read statistics from a remote endpoint\n config Read or write config value on target",
- "title": "Available high-level commands"
+ "location": "/newtmgr/command_list/newtmgr_conn/",
+ "text": "newtmgr conn \n\n\nManage newtmgr connection profiles.\n\n\nUsage:\n\n\n newtmgr conn [command] [flags] \n\n\n\n\n\nGlobal Flags:\n\n\n -c, --conn string connection profile to use.\n -h, --help Help for newtmgr commands\n -l, --loglevel string log level to use (default \ninfo\n)\n -t, --trace print all bytes transmitted and received\n\n\n\n\n\nDescription\n\n\nThe conn command provides subcommands to add, delete, and view configuration profiles.\n\n\n\n\n\n\n\n\nSub-command\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\nadd\n\n\nThe newtmgr conn add \n \n command creates a connection profile named \nconn_profile\n. A profile consists of these variables: \nname\n: Connection name. Defaults to \nconn_profile\n when the variable is not set in the command. \ntype\n: Connection type. Valid types are: \nserial\n, \noic_serial\n, \nble\n, \noic_ble\n, \nudp\n, \noic_udp\n.\nconnstring\n: The physical or virtual port to use for the
connection.\naddrtype\n: Device address type. Use with type \nble\n.\naddr\n: Device address. Use with type \nble\n.\n\n\n\n\n\n\ndelete\n\n\nThe newtmgr conn delete \nconn_profile\n command deletes the \nconn_profile\n connection profile.\n\n\n\n\n\n\nshow\n\n\nThe newtmgr conn show [conn_profile] command shows the information for the \nconn_profile\n connection profile. It shows information for all the connection profiles if \nconn_profile\n is not specified.\n\n\n\n\n\n\n\n\nExamples\n\n\n\n\n\n\n\n\nSub-command\n\n\nUsage\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\nadd\n\n\nnewtmgr conn add myserial02 type=serial connstring=/dev/ttys002\n\n\nCreates a connection profile for the serial port /dev/ttys002 and names it \nmyserial02\n\n\n\n\n\n\ndelete\n\n\nnewtmgr conn delete myserial02\n\n\nDeletes the connection profile named \nmyserial02\n\n\n\n\n\n\nshow\n\n\nnewtmgr conn show myserial01\n\n\nDisplays the information for the \nmyserial01\n connection profile.\n\n\n\n\n\n\nshow\n\n\n
newtmgr conn show\n\n\nDisplays the information for all connection profiles.",
+ "title": "newtmgr conn"
},
{
- "location": "/newtmgr/overview/#available-flags",
- "text": "-c, --connection string connection profile to use.\n -l, --loglevel string log level to use (default WARN.) Examples Sub-command Usage Explanation newtmgr -caditi03 taskstats",
- "title": "Available Flags"
+ "location": "/newtmgr/command_list/newtmgr_conn/#newtmgr-conn",
+ "text": "Manage newtmgr connection profiles.",
+ "title": "newtmgr conn "
},
{
- "location": "/newtmgr/overview/#help",
- "text": "",
- "title": "help"
+ "location": "/newtmgr/command_list/newtmgr_conn/#usage",
+ "text": "newtmgr conn [command] [flags]",
+ "title": "Usage:"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_conn/#global-flags",
+ "text": "-c, --conn string connection profile to use.\n -h, --help Help for newtmgr commands\n -l, --loglevel string log level to use (default info )\n -t, --trace print all bytes transmitted and received",
+ "title": "Global Flags:"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_conn/#description",
+ "text": "The conn command provides subcommands to add, delete, and view configuration profiles. Sub-command Explanation add The newtmgr conn add command creates a connection profile named conn_profile . A profile consists of these variables: name : Connection name. Defaults to conn_profile when the variable is not set in the command. type : Connection type. Valid types are: serial , oic_serial , ble , oic_ble , udp , oic_udp . connstring : The physical or virtual port to use for the connection. addrtype : Device address type. Use with type ble . addr : Device address. Use with type ble . delete The newtmgr conn delete conn_profile command deletes the conn_profile connection profile. show The newtmgr conn show [conn_profile] command shows the information for the conn_profile connection profile. It shows information for all the connection profiles if conn_profile is not specified.",
+ "title": "Description"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_conn/#examples",
+ "text": "Sub-command Usage Explanation add newtmgr conn add myserial02 type=serial connstring=/dev/ttys002 Creates a connection profile for the serial port /dev/ttys002 and names it myserial02 delete newtmgr conn delete myserial02 Deletes the connection profile named myserial02 show newtmgr conn show myserial01 Displays the information for the myserial01 connection profile. show newtmgr conn show Displays the information for all connection profiles.",
+ "title": "Examples"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_crash/",
+ "text": "newtmgr crash \n\n\nSend a crash command to a device.\n\n\nUsage:\n\n\n newtmgr crash \ndiv0|jump0|ref0|assert|wdog\n -c \nconn_profile\n; [flags] \n\n\n\n\n\nGlobal Flags:\n\n\n -c, --conn string connection profile to use.\n -h, --help Help for newtmgr commands\n -l, --loglevel string log level to use (default \ninfo\n)\n -t, --trace print all bytes transmitted and received\n\n\n\n\n\nDescription\n\n\nSends a crash command to a device to run one of the following crash tests: \ndiv0\n, \njump0\n, \nref0\n, \nassert\n, \nwdog\n. Newtmgr uses the \nconn_profile\n connection profile to connect to the device.\n\n\nExamples\n\n\n\n\n\n\n\n\nSub-command\n\n\nUsage\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\n\n\nnewtmgr crash div0\n-c profile01\n\n\nSends a request to a device to execute a divide by 0 test. Newtmgr connects to the device over a connection specified in the \nprofile01\n connection profile.\n\n\n\n\n\n\n\n\nnewt
mgr crash ref0\n-c profile01\n\n\nSends a request to a device to execute a nil pointer reference test. Newtmgr connects to the device over a connection specified in the \nprofile01\n connection profile.",
+ "title": "newtmgr crash"
},
{
- "location": "/newtmgr/overview/#usage",
- "text": "newtmgr help [input1] You can also use \"newtmgr [command] --help\" to display the help text for a newtmgr command. Flags: -c, --connection string connection profile to use.\n -l, --loglevel string log level to use (default WARN.) Examples Sub-command Available Flags Explanation taskstats newtmgr -cprofile1 taskstats Run the taskstats subcommand on the device connected via the 'profile1' connection",
+ "location": "/newtmgr/command_list/newtmgr_crash/#newtmgr-crash",
+ "text": "Send a crash command to a device.",
+ "title": "newtmgr crash "
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_crash/#usage",
+ "text": "newtmgr crash div0|jump0|ref0|assert|wdog -c conn_profile ; [flags]",
"title": "Usage:"
},
{
- "location": "/newtmgr/overview/#conn",
- "text": "",
- "title": "conn"
+ "location": "/newtmgr/command_list/newtmgr_crash/#global-flags",
+ "text": "-c, --conn string connection profile to use.\n -h, --help Help for newtmgr commands\n -l, --loglevel string log level to use (default info )\n -t, --trace print all bytes transmitted and received",
+ "title": "Global Flags:"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_crash/#description",
+ "text": "Sends a crash command to a device to run one of the following crash tests: div0 , jump0 , ref0 , assert , wdog . Newtmgr uses the conn_profile connection profile to connect to the device.",
+ "title": "Description"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_crash/#examples",
+ "text": "Sub-command Usage Explanation newtmgr crash div0 -c profile01 Sends a request to a device to execute a divide by 0 test. Newtmgr connects to the device over a connection specified in the profile01 connection profile. newtmgr crash ref0 -c profile01 Sends a request to a device to execute a nil pointer reference test. Newtmgr connects to the device over a connection specified in the profile01 connection profile.",
+ "title": "Examples"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_datetime/",
+ "text": "newtmgr datetime \n\n\nManage datetime on a device.\n\n\nUsage:\n\n\n newtmgr datetime [datetime-value] -c \nconn_profile\n [flags] \n\n\n\n\n\nGlobal Flags:\n\n\n -c, --conn string connection profile to use.\n -h, --help Help for newtmgr commands\n -l, --loglevel string log level to use (default \ninfo\n)\n -t, --trace print all bytes transmitted and received\n\n\n\n\n\nDescription\n\n\nReads or sets the datetime on a device. Specify a \ndatetime-value\n in the command to set the datetime on the device. Newtmgr uses the \nconn_profile\n connection profile to connect to the device.\n\n\nNote\n: You must specify the \ndatetime-value\n in the RFC 3339 format. \n\n\nExamples\n\n\n\n\n\n\n\n\nSub-command\n\n\nUsage\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\n\n\nnewtmgr datetime\n-c profile01\n\n\nReads the datetime value from a device. Newtmgr connects to the device over a connection specified in the \nprofile01\n connect
ion profile.\n\n\n\n\n\n\n\n\nnewtmgr datetime 2017-03-01T22:44:00\n-c profile01\n\n\nSets the datetime on a device to March 1st 2017 22:44:00 UTC. Newtmgr connects to the device over a connection specified in the \nprofile01\n connection profile.\n\n\n\n\n\n\n\n\nnewtmgr datetime 2017-03-01T22:44:00-08:00\n-c profile01\n\n\nSets the datetime on a device to March 1st 2017 22:44:00 PST. Newtmgr connects to the device over a connection specified in the \nprofile01\n connection profile.",
+ "title": "newtmgr datetime"
},
{
- "location": "/newtmgr/overview/#usage_1",
- "text": "newtmgr conn [flags]\n newtmgr conn [command] Available commands: add Add a newtmgr connection profile\n delete Delete a newtmgr connection profile\n show Show newtmgr connection profiles Flags: -c, --conn string connection profile to use.\n -l, --loglevel string log level to use (default WARN.) Description Sub-command Explanation add Adds a connection profile. A properly defined profile needs a name, a connection type, and the physical or virtual port to be used for communication. delete Deletes a connection profile associated with the given name show List the specified or all the connection profiles with the name, connection type, and the controlling terminal or port. Examples Sub-command Usage Explanation add newtmgr conn add myserial02 type=serial connstring=/dev/ttys002 Adds a newtmgr connection profile for the serial port /dev/ttys002 and names it 'myserial02' delete
newtmgr conn delete myserial02 Deletes the connection profile named 'myserial02' show newtmgr conn show myserial01 Shows the details of the profile named 'myserial01' show newtmgr conn show Shows all the current profiles defined",
+ "location": "/newtmgr/command_list/newtmgr_datetime/#newtmgr-datetime",
+ "text": "Manage datetime on a device.",
+ "title": "newtmgr datetime "
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_datetime/#usage",
+ "text": "newtmgr datetime [datetime-value] -c conn_profile [flags]",
"title": "Usage:"
},
{
- "location": "/newtmgr/overview/#echo",
- "text": "",
- "title": "echo"
+ "location": "/newtmgr/command_list/newtmgr_datetime/#global-flags",
+ "text": "-c, --conn string connection profile to use.\n -h, --help Help for newtmgr commands\n -l, --loglevel string log level to use (default info )\n -t, --trace print all bytes transmitted and received",
+ "title": "Global Flags:"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_datetime/#description",
+ "text": "Reads or sets the datetime on a device. Specify a datetime-value in the command to set the datetime on the device. Newtmgr uses the conn_profile connection profile to connect to the device. Note : You must specify the datetime-value in the RFC 3339 format.",
+ "title": "Description"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_datetime/#examples",
+ "text": "Sub-command Usage Explanation newtmgr datetime -c profile01 Reads the datetime value from a device. Newtmgr connects to the device over a connection specified in the profile01 connection profile. newtmgr datetime 2017-03-01T22:44:00 -c profile01 Sets the datetime on a device to March 1st 2017 22:44:00 UTC. Newtmgr connects to the device over a connection specified in the profile01 connection profile. newtmgr datetime 2017-03-01T22:44:00-08:00 -c profile01 Sets the datetime on a device to March 1st 2017 22:44:00 PST. Newtmgr connects to the device over a connection specified in the profile01 connection profile.",
+ "title": "Examples"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_echo/",
+ "text": "newtmgr echo \n\n\nSend data to a device and display the echoed back data.\n\n\nUsage:\n\n\n newtmgr echo \ntext\n -c \nconn_profile\n [flags] \n\n\n\n\n\nGlobal Flags:\n\n\n -c, --conn string connection profile to use\n -h, --help Help for newtmgr commands\n -l, --loglevel string log level to use (default \ninfo\n)\n -t, --trace print all bytes transmitted and received\n\n\n\n\n\nDescription\n\n\nSends the \ntext\n to a device and outputs the text response from the device. Newtmgr uses the \nconn_profile\n connection profile to connect to the device. \n\n\nExamples\n\n\n\n\n\n\n\n\nSub-command\n\n\nUsage\n\n\nExplanation\n\n\n\n\n\n\n\n\n\n\n\n\nnewtmgr echo hello\n-c profile01\n\n\nSends the text 'hello' to a device and displays the echoed back data. Newtmgr connects to the device over a connection specified in the \nprofile01\n profile.",
+ "title": "newtmgr echo"
},
{
- "location": "/newtmgr/overview/#usage_2",
- "text": "newtmgr echo [flags] [text] This command sends the text to the remote device at the other end of the connection specified with the -c flag and outputs the text when it gets a response from the device. If the device is not responding or if the connection profile is invalid it displays errors. Flags: -c, --conn string connection profile to use.\n -l, --loglevel string log level to use (default WARN.) Examples Sub-command Usage Explanation echo newtmgr echo -c profile01 hello Sends the string 'hello' to the remote device over the connection profile 'profile01' and receives the string back and displays it.",
+ "location": "/newtmgr/command_list/newtmgr_echo/#newtmgr-echo",
+ "text": "Send data to a device and display the echoed back data.",
+ "title": "newtmgr echo "
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_echo/#usage",
+ "text": "newtmgr echo text -c conn_profile [flags]",
"title": "Usage:"
},
{
- "location": "/newtmgr/overview/#image",
- "text": "",
- "title": "image"
+ "location": "/newtmgr/command_list/newtmgr_echo/#global-flags",
+ "text": "-c, --conn string connection profile to use\n -h, --help Help for newtmgr commands\n -l, --loglevel string log level to use (default info )\n -t, --trace print all bytes transmitted and received",
+ "title": "Global Flags:"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_echo/#description",
+ "text": "Sends the text to a device and outputs the text response from the device. Newtmgr uses the conn_profile connection profile to connect to the device.",
+ "title": "Description"
+ },
+ {
+ "location": "/newtmgr/command_list/newtmgr_echo/#examples",
+ "text": "Sub-command Usage Explanation newtmgr echo hello -c profile01 Sends the text 'hello' to a device and displays the echoed back data. Newtmgr connects to the device over a connection specified in the profile01 profile.",
+
<TRUNCATED>