http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/mkdocs/search_index.json ---------------------------------------------------------------------- diff --git a/latest/mkdocs/search_index.json b/latest/mkdocs/search_index.json index f6eb0ec..e12bf10 100644 --- a/latest/mkdocs/search_index.json +++ b/latest/mkdocs/search_index.json @@ -4142,17 +4142,17 @@ }, { "location": "/os/core_os/mqueue/mqueue/", - "text": "Mqueue\n\n\nMqueue (Mbuf event queue) is a set of APIs built on top of the mbuf and event queue code. A typical networking stack operation is to put a packet on a queue and post an event to the task handling that queue. Mqueue was designed to provide a common API so that individual packages would not each have to create similar code.\n\n\nThe mqueue data structure consists of a queue head pointer (a \"stailq\" queue; a singly linked list with head structure having a pointer to the start and end of the list) and an os event structure. Packets (packet header mbufs) are added to the queue using the \nomp_next\n pointer in the \nos_mbuf_pkthdr\n structure of the mbuf. The event is used to post to the task an event of type \nOS_EVENT_T_MQUEUE_DATA\n. \n\n\n \n\n\nUsing Mqueue\n\n\nThe following code sample will demonstrate how to use an mqueue. This is a simple example where packets are put on a \"receive queue\" and a task processes that \"receive queue\" by increm enting the total number of packet received and then freeing the packet. Not shown in the code example is a call \nmy_task_rx_data_func\n. Presumably, some other code will call this API. \n\n\n\n\nuint32_t\n \npkts_rxd\n;\n\nstruct\n \nos_mqueue\n \nrxpkt_q\n;\n\nstruct\n \nos_eventq\n \nmy_task_evq\n;\n\n\nvoid\n\n\nprocess_rx_data_queue\n(\nvoid\n)\n{\n \nstruct\n \nos_mbuf\n \n*om\n;\n\n \n/* Drain all packets off queue and process them */\n\n \nwhile\n ((\nom\n \n=\n \nos_mqueue_get\n(\nrxpkt_q\n)) \n!=\n \nNULL\n) {\n \n++pkts_rxd\n;\n \nos_mbuf_free_chain\n(\nom\n);\n }\n}\n\n\nint\n\n\nmy_task_rx_data_func\n(\nstruct\n \nos_mbuf\n \n*om\n)\n{\n \nint\n \nrc\n;\n\n \nrc\n \n=\n \nos_mqueue_put\n(\nrxpkt_q\n, \nmy_task_evq\n, \nom\n);\n \nif\n (\nrc\n \n!=\n \n0\n) {\n \nreturn\n \n-\n1\n;\n }\n\n \nreturn\n \n0\n;\n}\n\n\nvoid\n\n\nmy_task_handler\n(\nvoid\n \n*arg\n)\n{\n \nstruct\n \nos_event\n \n*ev\n;\n \nstruct\n \nos_c allout_func\n \n*cf\n;\n \nint\n \nrc\n;\n\n \n/* Initialize eventq */\n\n \nos_eventq_init\n(\nmy_task_evq\n);\n\n \n/* Initialize mqueue */\n\n \nos_mqueue_init\n(\nrxpkt_q\n, \nNULL\n);\n\n \nwhile\n (\n1\n) {\n \nev\n \n=\n \nos_eventq_get\n(\nmy_task_evq\n);\n \nswitch\n (\nev-\nev_type\n) {\n\n \ncase\n \nOS_EVENT_T_MQUEUE_DATA\n:\n \nprocess_rx_data_queue\n();\n \nbreak\n;\n\n \ndefault\n:\n\n \nassert\n(\n0\n);\n \nbreak\n;\n }\n }\n}\n\n\n\n\n\nData Structures\n\n\nstruct\n \nos_mqueue\n {\n \nSTAILQ_HEAD\n(, \nos_mbuf_pkthdr\n) \nmq_head\n;\n \nstruct\n \nos_event\n \nmq_ev\n;\n};\n\n\n\n\n\n\n\nList of Functions\n\n\nThe functions available in Mqueue are:\n\n\n\n\n\n\n\n\nFunction\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nos_mqueue_init\n\n\nInitializes an mqueue.\n\n\n\n\n\n\nos_mqueue_get\n\n\nRetrieves a packet off an Mqueue.\n\n\n\n\n\n\nos_mqueue_put\n\n\nAdds a pack et (i.e. packet header mbuf) to an mqueue.", + "text": "Mqueue\n\n\nThe mqueue construct allows a task to wake up when it receives data. Typically, this data is in the form of packets received over a network. A common networking stack operation is to put a packet on a queue and post an event to the task monitoring that queue. When the task handles the event, it processes each packet on the packet queue.\n\n\n\n\nUsing Mqueue\n\n\nThe following code sample demonstrates how to use an mqueue. In this example:\n\n\n\n\npackets are put on a receive queue\n\n\na task processes each packet on the queue (increments a receive counter)\n\n\n\n\nNot shown in the code example is a call \nmy_task_rx_data_func\n. Presumably, some other code will call this API. \n\n\n\n\nuint32_t\n \npkts_rxd\n;\n\nstruct\n \nos_mqueue\n \nrxpkt_q\n;\n\nstruct\n \nos_eventq\n \nmy_task_evq\n;\n\n\n/**\n\n\n * Removes each packet from the receive queue and processes it.\n\n\n */\n\n\nvoid\n\n\nprocess_rx_data_queue\n(\nvoid\n)\n{\n \nstruct\n \nos_mbuf\n \n*om\n;\n\n \nwhile\n ((\nom\n \n=\n \nos_mqueue_get\n(\nrxpkt_q\n)) \n!=\n \nNULL\n) {\n \n++pkts_rxd\n;\n \nos_mbuf_free_chain\n(\nom\n);\n }\n}\n\n\n/**\n\n\n * Called when a packet is received.\n\n\n */\n\n\nint\n\n\nmy_task_rx_data_func\n(\nstruct\n \nos_mbuf\n \n*om\n)\n{\n \nint\n \nrc\n;\n\n \n/* Enqueue the received packet and wake up the listening task. */\n\n \nrc\n \n=\n \nos_mqueue_put\n(\nrxpkt_q\n, \nmy_task_evq\n, \nom\n);\n \nif\n (\nrc\n \n!=\n \n0\n) {\n \nreturn\n \n-\n1\n;\n }\n\n \nreturn\n \n0\n;\n}\n\n\nvoid\n\n\nmy_task_handler\n(\nvoid\n \n*arg\n)\n{\n \nstruct\n \nos_event\n \n*ev\n;\n \nstruct\n \nos_callout_func\n \n*cf\n;\n \nint\n \nrc\n;\n\n \n/* Initialize eventq */\n\n \nos_eventq_init\n(\nmy_task_evq\n);\n\n \n/* Initialize mqueue */\n\n \nos_mqueue_init\n(\nrxpkt_q\n, \nNULL\n);\n\n \n/* Process each event posted to our eventq. When there are no events to\n\n\n * process, sleep until one arrives.\n\n\n */\n\n \nwhile\n (\n1\n) {\n \nos_eventq_run\n(\nmy_task_evq\n);\n }\n}\n\n\n\n\n\nData Structures\n\n\nstruct\n \nos_mqueue\n {\n \nSTAILQ_HEAD\n(, \nos_mbuf_pkthdr\n) \nmq_head\n;\n \nstruct\n \nos_event\n \nmq_ev\n;\n};\n\n\n\n\n\n\n\nList of Functions\n\n\nThe functions available in Mqueue are:\n\n\n\n\n\n\n\n\nFunction\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nos_mqueue_init\n\n\nInitializes an mqueue.\n\n\n\n\n\n\nos_mqueue_get\n\n\nRetrieves a packet off an Mqueue.\n\n\n\n\n\n\nos_mqueue_put\n\n\nAdds a packet (i.e. packet header mbuf) to an mqueue.", "title": "toc" }, { "location": "/os/core_os/mqueue/mqueue/#mqueue", - "text": "Mqueue (Mbuf event queue) is a set of APIs built on top of the mbuf and event queue code. A typical networking stack operation is to put a packet on a queue and post an event to the task handling that queue. Mqueue was designed to provide a common API so that individual packages would not each have to create similar code. The mqueue data structure consists of a queue head pointer (a \"stailq\" queue; a singly linked list with head structure having a pointer to the start and end of the list) and an os event structure. Packets (packet header mbufs) are added to the queue using the omp_next pointer in the os_mbuf_pkthdr structure of the mbuf. The event is used to post to the task an event of type OS_EVENT_T_MQUEUE_DATA .", + "text": "The mqueue construct allows a task to wake up when it receives data. Typically, this data is in the form of packets received over a network. A common networking stack operation is to put a packet on a queue and post an event to the task monitoring that queue. When the task handles the event, it processes each packet on the packet queue.", "title": "Mqueue" }, { "location": "/os/core_os/mqueue/mqueue/#using-mqueue", - "text": "The following code sample will demonstrate how to use an mqueue. This is a simple example where packets are put on a \"receive queue\" and a task processes that \"receive queue\" by incrementing the total number of packet received and then freeing the packet. Not shown in the code example is a call my_task_rx_data_func . Presumably, some other code will call this API. uint32_t pkts_rxd ; struct os_mqueue rxpkt_q ; struct os_eventq my_task_evq ; void process_rx_data_queue ( void )\n{\n struct os_mbuf *om ;\n\n /* Drain all packets off queue and process them */ \n while (( om = os_mqueue_get ( rxpkt_q )) != NULL ) {\n ++pkts_rxd ;\n os_mbuf_free_chain ( om );\n }\n} int my_task_rx_data_func ( struct os_mbuf *om )\n{\n int rc ;\n\n rc = os_mqueue_put ( rxpkt_q , my_task_evq , om );\n if ( rc != 0 ) {\n return - 1 ;\n }\n\n return 0 ;\n} void my_task_handler ( void *arg )\n{\n struct os_event *ev ;\n struct os_callout_func *cf ;\n int rc ;\n\n /* Initialize eventq */ \n os_eventq_init ( my_task_evq );\n\n /* Initialize mqueue */ \n os_mqueue_init ( rxpkt_q , NULL );\n\n while ( 1 ) {\n ev = os_eventq_get ( my_task_evq );\n switch ( ev- ev_type ) {\n\n case OS_EVENT_T_MQUEUE_DATA :\n process_rx_data_queue ();\n break ;\n\n default : \n assert ( 0 );\n break ;\n }\n }\n}", + "text": "The following code sample demonstrates how to use an mqueue. In this example: packets are put on a receive queue a task processes each packet on the queue (increments a receive counter) Not shown in the code example is a call my_task_rx_data_func . Presumably, some other code will call this API. uint32_t pkts_rxd ; struct os_mqueue rxpkt_q ; struct os_eventq my_task_evq ; /** * Removes each packet from the receive queue and processes it. */ void process_rx_data_queue ( void )\n{\n struct os_mbuf *om ;\n\n while (( om = os_mqueue_get ( rxpkt_q )) != NULL ) {\n ++pkts_rxd ;\n os_mbuf_free_chain ( om );\n }\n} /** * Called when a packet is received. */ int my_task_rx_data_func ( struct os_mbuf *om )\n{\n int rc ;\n\n /* Enqueue the received packet and wake up the listening task. */ \n rc = os_mqueue_put ( rxpkt_q , my_task_evq , om );\n if ( rc != 0 ) {\n return - 1 ;\n }\n\n return 0 ;\n} void my_task_handler ( void *arg )\n{\n struct os_event *ev ;\n struct os_callout_func *cf ;\n int rc ;\n\n /* Initialize eventq */ \n os_eventq_init ( my_task_evq );\n\n /* Initialize mqueue */ \n os_mqueue_init ( rxpkt_q , NULL );\n\n /* Process each event posted to our eventq. When there are no events to * process, sleep until one arrives. */ \n while ( 1 ) {\n os_eventq_run ( my_task_evq );\n }\n}", "title": "Using Mqueue" }, { @@ -4167,16 +4167,21 @@ }, { "location": "/os/core_os/mqueue/os_mqueue_init/", - "text": "os_mqueue_init\n\n\nint\n \nos_mqueue_init\n(\nstruct\n \nos_mqueue\n \n*mq\n, \nvoid\n \n*arg\n)\n\n\n\n\n\nInitializes an queue. Sets the event argument in the os event of the mqueue to \narg\n. Sets type of event to \nOS_EVENT_T_MQUEUE_DATA\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\nmq\n\n\nPointer to a mqueue structure\n\n\n\n\n\n\narg\n\n\nEvent argument\n\n\n\n\n\n\n\n\n\n\nReturned values\n\n\n0: success. All other values indicate an error\n\n\n\n\nExample\n\n\n/* Declare mqueue */\n\n\nstruct\n \nos_mqueue\n \nrxpkt_q\n;\n\n\n/* Initialize mqueue */\n\n\nos_mqueue_init\n(\nrxpkt_q\n, \nNULL\n);", + "text": "os_mqueue_init\n\n\nint\n\n\nos_mqueue_init\n(\nstruct\n \nos_mqueue\n \n*mq\n, \nos_event_fn\n \n*ev_cb\n, \nvoid\n \n*arg\n)\n\n\n\n\n\nInitializes an mqueue. An mqueue is a queue of mbufs that ties to a particular task's event queue. Mqueues form a helper API around a common paradigm: wait on an event queue until at least one packet is available, then process a queue of packets.\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\nmq\n\n\nThe mqueue to initialize\n\n\n\n\n\n\nev_cb\n\n\nThe callback to associate with the mqeueue event. Typically, this callback pulls each packet off the mqueue and processes them.\n\n\n\n\n\n\narg\n\n\nThe argument to associate with the mqueue event.\n\n\n\n\n\n\n\n\n@return 0 on success, non-zero on failure.\n\n\nInitializes an mqueue. Sets the event argument in the os event of the mqueue to \narg\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\nmq\n\n\nPointe r to a mqueue structure\n\n\n\n\n\n\narg\n\n\nEvent argument\n\n\n\n\n\n\n\n\n\n\nReturned values\n\n\n0: success. All other values indicate an error\n\n\n\n\nExample\n\n\n/* Event callback to execute when a packet is received. */\n\n\nextern\n \nvoid\n \nprocess_rx_data_queue\n(\nvoid\n);\n\n\n/* Declare mqueue */\n\n\nstruct\n \nos_mqueue\n \nrxpkt_q\n;\n\n\n/* Initialize mqueue */\n\n\nos_mqueue_init\n(\nrxpkt_q\n, \nprocess_rx_data_queue\n, \nNULL\n);", "title": "os_mqueue_init" }, { "location": "/os/core_os/mqueue/os_mqueue_init/#os_mqueue_init", - "text": "int os_mqueue_init ( struct os_mqueue *mq , void *arg ) Initializes an queue. Sets the event argument in the os event of the mqueue to arg . Sets type of event to OS_EVENT_T_MQUEUE_DATA .", + "text": "int os_mqueue_init ( struct os_mqueue *mq , os_event_fn *ev_cb , void *arg ) Initializes an mqueue. An mqueue is a queue of mbufs that ties to a particular task's event queue. Mqueues form a helper API around a common paradigm: wait on an event queue until at least one packet is available, then process a queue of packets.", "title": "os_mqueue_init" }, { "location": "/os/core_os/mqueue/os_mqueue_init/#arguments", + "text": "Arguments Description mq The mqueue to initialize ev_cb The callback to associate with the mqeueue event. Typically, this callback pulls each packet off the mqueue and processes them. arg The argument to associate with the mqueue event. @return 0 on success, non-zero on failure. Initializes an mqueue. Sets the event argument in the os event of the mqueue to arg .", + "title": "Arguments" + }, + { + "location": "/os/core_os/mqueue/os_mqueue_init/#arguments_1", "text": "Arguments Description mq Pointer to a mqueue structure arg Event argument", "title": "Arguments" }, @@ -4187,22 +4192,22 @@ }, { "location": "/os/core_os/mqueue/os_mqueue_init/#example", - "text": "/* Declare mqueue */ struct os_mqueue rxpkt_q ; /* Initialize mqueue */ os_mqueue_init ( rxpkt_q , NULL );", + "text": "/* Event callback to execute when a packet is received. */ extern void process_rx_data_queue ( void ); /* Declare mqueue */ struct os_mqueue rxpkt_q ; /* Initialize mqueue */ os_mqueue_init ( rxpkt_q , process_rx_data_queue , NULL );", "title": "Example" }, { "location": "/os/core_os/mqueue/os_mqueue_get/", - "text": "os_mqueue_get\n\n\nstruct\n \nos_mbuf\n \n*os_mqueue_get\n(\nstruct\n \nos_mqueue\n \n*mq\n)\n\n\n\n\n\nRetrieves a packet off an Mqueue. Returns a pointer to the mbuf at the head of the mbuf chain. \nNULL\n if no packets are on the queue.\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\nmq\n\n\nPointer to Mqueue structure\n\n\n\n\n\n\n\n\n\n\nReturned values\n\n\nThe packet at the head of the queue or \nNULL\n if no packets are on the queue.\n\n\n\n\nExample\n\n\nuint32_t\n \npkts_rxd\n;\n\nstruct\n \nos_mqueue\n \nrxpkt_q\n;\n\n\nvoid\n\n\nprocess_rx_data_queue\n(\nvoid\n)\n{\n \nstruct\n \nos_mbuf\n \n*om\n;\n\n \n/* Drain all packets off queue and process them */\n\n \nwhile\n ((\nom\n \n=\n \nos_mqueue_get\n(\nrxpkt_q\n)) \n!=\n \nNULL\n) {\n \n++pkts_rxd\n;\n \nos_mbuf_free_chain\n(\nom\n);\n }\n}", + "text": "os_mqueue_get\n\n\nstruct\n \nos_mbuf\n \n*os_mqueue_get\n(\nstruct\n \nos_mqueue\n \n*mq\n)\n\n\n\n\n\nRetrieves a packet off an mqueue. Returns a pointer to the mbuf at the head of the mbuf chain or \nNULL\n if no packets are on the queue.\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\nmq\n\n\nThe mqueue to retrieve an mbuf from.\n\n\n\n\n\n\n\n\n\n\nReturned values\n\n\nThe packet at the head of the queue or \nNULL\n if no packets are on the queue.\n\n\n\n\nExample\n\n\nuint32_t\n \npkts_rxd\n;\n\nstruct\n \nos_mqueue\n \nrxpkt_q\n;\n\n\nvoid\n\n\nprocess_rx_data_queue\n(\nvoid\n)\n{\n \nstruct\n \nos_mbuf\n \n*om\n;\n\n \n/* Drain all packets off queue and process them */\n\n \nwhile\n ((\nom\n \n=\n \nos_mqueue_get\n(\nrxpkt_q\n)) \n!=\n \nNULL\n) {\n \n++pkts_rxd\n;\n \nos_mbuf_free_chain\n(\nom\n);\n }\n}", "title": "os_mqueue_get" }, { "location": "/os/core_os/mqueue/os_mqueue_get/#os_mqueue_get", - "text": "struct os_mbuf *os_mqueue_get ( struct os_mqueue *mq ) Retrieves a packet off an Mqueue. Returns a pointer to the mbuf at the head of the mbuf chain. NULL if no packets are on the queue.", + "text": "struct os_mbuf *os_mqueue_get ( struct os_mqueue *mq ) Retrieves a packet off an mqueue. Returns a pointer to the mbuf at the head of the mbuf chain or NULL if no packets are on the queue.", "title": "os_mqueue_get" }, { "location": "/os/core_os/mqueue/os_mqueue_get/#arguments", - "text": "Arguments Description mq Pointer to Mqueue structure", + "text": "Arguments Description mq The mqueue to retrieve an mbuf from.", "title": "Arguments" }, { @@ -4217,17 +4222,17 @@ }, { "location": "/os/core_os/mqueue/os_mqueue_put/", - "text": "os_mqueue_put\n\n\nint\n \nos_mqueue_put\n(\nstruct\n \nos_mqueue\n \n*mq\n, \nstruct\n \nos_eventq\n \n*evq\n, \nstruct\n \nos_mbuf\n \n*m\n)\n\n\n\n\n\nAdds a packet (i.e. packet header mbuf) to an mqueue. Post event to \nevq\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\nmq\n\n\nPointer to mqueue\n\n\n\n\n\n\nevq\n\n\nPointer to event queue where mqueue event should get posted\n\n\n\n\n\n\nm\n\n\nPointer to packet header mbuf\n\n\n\n\n\n\n\n\n\n\nReturned values\n\n\n0: success\n\n\nOS_EINVAL\n: the mbuf is not a packet header mbuf.\n\n\n\n\nExample\n\n\nint\n\n\nmy_task_rx_data_func\n(\nstruct\n \nos_mbuf\n \n*om\n)\n{\n \nint\n \nrc\n;\n\n \nrc\n \n=\n \nos_mqueue_put\n(\nrxpkt_q\n, \nmy_task_evq\n, \nom\n);\n \nif\n (\nrc\n \n!=\n \n0\n) {\n \nreturn\n \n-\n1\n;\n }\n\n \nreturn\n \n0\n;\n}", + "text": "os_mqueue_put\n\n\nint\n \nos_mqueue_put\n(\nstruct\n \nos_mqueue\n \n*mq\n, \nstruct\n \nos_eventq\n \n*evq\n, \nstruct\n \nos_mbuf\n \n*m\n)\n\n\n\n\n\nAdds a packet (i.e. packet header mbuf) to an mqueue. The event associated with the mqueue gets posted to the specified eventq.\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\nmq\n\n\nThe mbuf queue to append the mbuf to.\n\n\n\n\n\n\nevq\n\n\nThe event queue to post an event to.\n\n\n\n\n\n\nm\n\n\nThe mbuf to append to the mbuf queue.\n\n\n\n\n\n\n\n\n\n\nReturned values\n\n\n0: success\n\n\nOS_EINVAL\n: the mbuf is not a packet header mbuf.\n\n\n\n\nExample\n\n\nint\n\n\nmy_task_rx_data_func\n(\nstruct\n \nos_mbuf\n \n*om\n)\n{\n \nint\n \nrc\n;\n\n \nrc\n \n=\n \nos_mqueue_put\n(\nrxpkt_q\n, \nmy_task_evq\n, \nom\n);\n \nif\n (\nrc\n \n!=\n \n0\n) {\n \nreturn\n \n-\n1\n;\n }\n\n \nreturn\n \n0\n;\n}", "title": "os_mqueue_put" }, { "location": "/os/core_os/mqueue/os_mqueue_put/#os_mqueue_put", - "text": "int os_mqueue_put ( struct os_mqueue *mq , struct os_eventq *evq , struct os_mbuf *m ) Adds a packet (i.e. packet header mbuf) to an mqueue. Post event to evq .", + "text": "int os_mqueue_put ( struct os_mqueue *mq , struct os_eventq *evq , struct os_mbuf *m ) Adds a packet (i.e. packet header mbuf) to an mqueue. The event associated with the mqueue gets posted to the specified eventq.", "title": "os_mqueue_put" }, { "location": "/os/core_os/mqueue/os_mqueue_put/#arguments", - "text": "Arguments Description mq Pointer to mqueue evq Pointer to event queue where mqueue event should get posted m Pointer to packet header mbuf", + "text": "Arguments Description mq The mbuf queue to append the mbuf to. evq The event queue to post an event to. m The mbuf to append to the mbuf queue.", "title": "Arguments" }, { @@ -7771,6 +7776,61 @@ "title": "Typical use of Logging when writing a module" }, { + "location": "/os/modules/sysinitconfig/sysinitconfig/", + "text": "System Configuration and Initialization\n\n\nThis guide describes how Mynewt manages system configuration and initialization. It shows you how to \ntell Mynewt to use default or customized values to initialize packages that you develop or use to build a target. This guide:\n\n\n\n\nAssumes you have read the \nConcepts\n section that describes the Mynewt \npackage hierarchy and its use of the \npkg.yml\n and \nsyscfg.yml\n files. \n\n\nAssumes you have read the \nNewt Tool Theory of Operation\n and are familiar with how newt determines \npackage dependencies for your target build.\n\n\nCovers only the system initialization for hardware independent packages. It does not cover the Board Support Package (BSP) and other hardware dependent system initialization. \n\n\n\n\nMynewt defines several configuration parameters in the \npkg.yml\n and \nsyscfg.yml\n files. The newt tool uses this information to: \n\n\n\n\nGenerate a system initialization function that calls all the package-specific system initialization functions. \n\n\nGenerate a system configuration header file that contains all the package configuration settings and values.\n\n\nDisplay the system configuration settings and values in the \nnewt target config\n command.\n\n\n\n\nThe benefits with this approach include:\n\n\n\n\nAllows Mynewt developers to reuse other packages and easily change their configuration settings without updating source or header files when implementing new packages.\n\n\nAllows application developers to easily view the system configuration settings and values and determine the values to override for a target build.\n\n\n\n\n\n\nSystem Configuration Setting Definitions and Values\n\n\nA package can optionally:\n\n\n\n\nDefine and expose the system configuration settings to allow other packages to override \nthe default setting values. \n\n\nOverride the system configuration setting values defined by the packages that it depends on. \n\n\n\n\nYou use the \nde fs\n parameter in a \nsyscfg.yml\n file to define the system configuration settings \nfor a package. \ndefs\n is a mapping (or associative array) of system configuration setting definitions. It \nhas the following syntax: \n\n\nsyscfg.defs:\n PKGA_SYSCFG_NAME1:\n description:\n value:\n type:\n restrictions:\n PKGA_SYSCFG_NAME2:\n description:\n value:\n type:\n restrictions:\n\n\n\n\n\n\n\nEach setting definition consists of the following key-value mapping: \n\n\n\n\nA setting name for the key, such as \nPKGA_SYSCFG_NAME1\n in the syntax example above.\nNote: A system configuration setting name must be unique. The newt tool aborts the build \nwhen multiple packages define the same setting. \n\n\nA mapping of fields for the value. Each field itself is a key-value pair of attributes. The field keys are \ndescription\n, \nvalue\n, \ntype\n, and \nrestrictions\n. They are described in \nfollowing table:\n\n\n\n\n\n\n\n\nField\n \n\nDescription\n\n\n\n\n\n\ndescription\n\n\nDescribes the usage for the setting. \nThis field is optional.\n\n\n\n\nvalue\n\n\nSpecifies the default value for the setting. \nThis field is required.\n The value depends on the \ntype\n that you specify and can be an empty string. \n\n\n\ntype\n\n\nSpecifies the data type for the \nvalue\n field. \nThis field is optional.\n You can specify one of three types:\n\n\n\nraw\n - The \nvalue\n data is uninterpreted. This is the default \ntype\n.\n\n\ntask_priority\n - Specifies a Mynewt task priority number. The task priority number assigned to each setting must be unique and between 0 and 239. \nvalue\n can be one of the following: \n\n\n\nA number between 0 and 239 - The task priority number to use for the setting.\n\n\nany\n - Specify \nany\n to have newt automatically assign a priority for the setting. \nnewt alphabetically orders all system configuration settings of this type and assigns the next highest available \ntask priority n umber to each setting. \n\n\n\n\n\n\nflash_owner\n - Specifies a flash area. The \nvalue\n should be the name of a flash area \ndefined in the BSP flash map for your target board. \n\n\n\n\n\n\n\n\n\n\n\nrestrictions\n\n\nSpecifies a list of restrictions on the setting value. \nThis field is optional.\n You can specify two formats:\n\n\n\n$notnull\n - Specifies that the setting cannot have the empty string for a value. It essentially means that an empty string is not a sensible value and a package must override it with an appropriate value. \n\n\n\n\n\nexpression\n - Specifies a boolean expression of the form \n[!]\n>[if \n>]\n\n\nExamples:\n\n\n\nrestrictions: !LOG_FCB\n - Can only enable this setting when \nLOG_FCB\n is false.\n\nrestrictions: LOG_FCB if 0 \n - Can only disable this setting when \nLOG_FCB\n is true.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nExamples of configuration settings\n\n\nExample 1:\n The following example is an excerpt from the \nsys/log\n package \nsyscfg.yml\n f ile. It defines the \n\nLOG_LEVEL\n configuration setting to specify the log level and the \nLOG_NEWTMGR\n configuration setting to specify whether\nto enable or disable the newtmgr logging feature.\n\n\nsyscfg.defs:\n LOG_LEVEL:\n description: \nLog Level\n\n value: 0\n type: raw\n\n ... \n\n LOG_NEWTMGR: \n description: \nEnables or disables newtmgr command tool logging\n\n value: 0\n\n\n\n\n\n\n\nExample 2:\n The following example is an excerpt from the \nnet/nimble/controller\n package \nsyscfg.yml\n file. It defines the \nBLE_LL_PRIO\n \nconfiguration setting with a \ntask_priority\n type and assigns task priority 0 to the BLE link layer task.\n\n\nsyscfg.defs:\n BLE_LL_PRIO:\n description: \nBLE link layer task priority\n\n type: \ntask_priority\n\n value: 0\n\n\n\n\n\n\n\nExample 3:\n The following example is an excerpt from the \nfs/nffs\n package \nsyscfg.yml\n file. \n\n\nsyscfg.defs:\n NFFS_FL ASH_AREA:\n description: \nThe flash area to use for the Newtron Flash File System\n\n type: flash_owner\n value:\n restrictions:\n - $notnull\n\n\n\n\n\nIt defines the \nNFFS_FLASH_AREA\n configuration setting with a \nflash_owner\n type indicating that a flash area needs to be specified for the Newtron Flash File System. The flash areas are typically defined by the BSP in its \nbsp.yml\n file. For example, the \nbsp.yml\n for nrf52dk board (\nhw/bsp/nrf52dk/bsp.yml\n) defines an area named \nFLASH_AREA_NFFS\n:\n\n\n FLASH_AREA_NFFS:\n user_id: 1\n device: 0\n offset: 0x0007d000\n size: 12kB\n\n\n\n\n\nThe \nsyscfg.yml\n file for the same board (\nhw/bsp/nrf52dk/syscfg.yml\n) specifies that the above area be used for \nNFFS_FLASH_AREA\n.\n\n\nsyscfg.vals:\n CONFIG_FCB_FLASH_AREA: FLASH_AREA_NFFS\n REBOOT_LOG_FLASH_AREA: FLASH_AREA_REBOOT_LOG\n NFFS_FLASH_AREA: FLASH_AREA_NFFS\n COREDUMP_FLASH_AREA: F LASH_AREA_IMAGE_1\n\n\n\n\n\nNote that the \nfs/nffs/syscfg.yml\n file indicates that the \nNFFS_FLASH_AREA\n setting cannot be a null string; so a higher priority package must set a non-null value to it. That is exactly what the BSP package does. For more on priority of packages in setting values, see the next section.\n\n\n\n\nOverriding System Configuration Setting Values\n\n\nA package may use the \nvals\n parameter in its \nsyscfg.yml\n file to override the configuration values defined\nby other packages. This mechanism allows:\n\n\n\n\nMynewt developers to implement a package and easily override the system configuration setting values \n that are defined by the packages it depends on. \n\n\nApplication developers to easily and cleanly override default configuration settings in a single place and build a customized target. You can use the \nnewt target config \ntarget-name\n command to check all the system configuration setting definitions and\n values in your target to de termine the setting values to override. See \nnewt target\n. \n\n\n\n\nvals\n specifies the mappings of system configuration setting name-value pairs as follows: \n\n\nsyscfg.vals:\n PKGA_SYSCFG_NAME1: VALUE1\n PKGA_SYSCFG_NAME2: VALUE2\n ...\n PKGN_SYSCFG_NAME1: VALUEN\n\n\n\n\n\nNote: The newt tool ignores overrides of undefined system configuration settings. \n\n\n\n\nResolving Override Conflicts\n\n\nThe newt tool uses package priorities to determine whether a package can override a value and resolve conflicts when multiple packages override the same system configuration setting. The following rules apply:\n\n\n\n\nA package can only override the default values of system configuration settings that \n are defined by lower priority packages.\n\n\nWhen packages with different priorities override the same system configuration setting value, newt uses \n the value from the highest priority package.\n\n\nPackages of equal priority cannot override the same sy stem configuration setting with different values. \n newt aborts the build unless a higher priority package also overrides the value.\n\n\n\n\nThe following package types are listed from highest to lowest priority:\n\n\n\n\nTarget\n\n\nApp\n\n\nunittest - A target can include either an app or unit test package, but not both.\n\n\nBSP\n\n\nLib - Includes all other system level packages such as os, lib, sdk, and compiler.\n\n\n\n\nIt is recommended that you override defaults at the target level instead of updating individual \npackage \nsyscfg.yml\n files.\n\n\n\n\nExamples of Overrides\n\n\nExample 4:\n The following example is an excerpt from the \napps/slinky\n package \nsyscfg.yml\n file. The application package overrides, \nin addition to other packages, the \nsys/log\n package system configuration settings defined in \nExample 1\n. It changes the LOG_NEWTMGR system configuration setting value from \n0\n to \n1\n.\n\n\nsyscfg.vals:\n # Enable the shell task.\n SHELL_TASK : 1\n\n ...\n\n # Enable newtmgr commands.\n STATS_NEWTMGR: 1\n LOG_NEWTMGR: 1\n\n\n\n\n\nExample 5:\n The following example are excerpts from the \nhw/bsp/native\n package \nbsp.yml\n and \nsyscfg.yml\n files. \nThe package defines the flash areas for the BSP flash map in the \nbsp.yml\n file, and sets the \nNFFS_FLASH_AREA\n \nconfiguration setting value to use the flash area named \nFLASH_AREA_NFFS\n in the \nsyscfg.yml\n file.\n\n\nbsp.flash_map:\n areas:\n # System areas.\n FLASH_AREA_BOOTLOADER:\n device: 0\n offset: 0x00000000\n size: 16kB\n\n ...\n\n # User areas.\n FLASH_AREA_REBOOT_LOG:\n user_id: 0\n device: 0\n offset: 0x00004000\n size: 16kB\n FLASH_AREA_NFFS:\n user_id: 1\n device: 0\n offset: 0x00008000\n size: 32kB\n\n\nsyscfg.vals:\n NFFS_FLASH_AREA: FLASH_AREA_NFFS\n\n\n\n\n\n\n\ nGenerated syscfg.h\n\n\nThe newt tool processes all the package \nsyscfg.yml\n files and generates the\n\ntarget-path\n/generated/include/syscfg/syscfg.h\n include file with \n#define\n statements for each system configuration \nsetting defined. newt creates a \n#define\n for a setting name as follows: \n\n\n\n\nAdds the prefix \nMYNEWT_VAL_\n.\n\n\nReplaces all occurrences of \"/\", \"-\", and \" \" in the setting name with \"_\".\n\n\nConverts all characters to upper case.\n\n\n\n\nFor example, the #define for \nmy-config-name\n setting name is \nMYNEWT_VAL_MY_CONFIG_NAME\n.\n\n\nNewt groups the settings in \nsyscfg.h\n by the packages that defined them. It also indicates the \npackage that changed a system configuration setting value. \n\n\nNote:\n You only need to include \nsyscfg/syscfg.h\n in your source files to access the \nsyscfg.h\n file. The newt tool sets the correct include path to build your target. \n\n\nHere is an excerpt from a sample \nsyscfg.h\n file generate d for an app/slinky target. It lists \nthe \nsys/log\n package definitions and also indicates that \napp/slinky\n changed the value \nfor the \nLOG_NEWTMGR\n settings. \n\n\n#ifndef H_MYNEWT_SYSCFG_\n#define H_MYNEWT_SYSCFG_\n\n ...\n\n/*** kernel/os */\n#ifndef MYNEWT_VAL_MSYS_1_BLOCK_COUNT\n#define MYNEWT_VAL_MSYS_1_BLOCK_COUNT (12)\n#endif\n\n#ifndef MYNEWT_VAL_MSYS_1_BLOCK_SIZE\n#define MYNEWT_VAL_MSYS_1_BLOCK_SIZE (292)\n#endif\n\n ...\n\n/*** sys/log */\n\n#ifndef MYNEWT_VAL_LOG_LEVEL\n#define MYNEWT_VAL_LOG_LEVEL (0)\n#endif\n\n ...\n\n/* Overridden by apps/slinky (defined by sys/log) */\n#ifndef MYNEWT_VAL_LOG_NEWTMGR\n#define MYNEWT_VAL_LOG_NEWTMGR (1)\n#endif\n\n#endif\n\n\n\n\n\n\n\nSystem Initialization\n\n\nAn application's \nmain()\n function must first call the Mynewt \nsysinit()\n function to \ninitialize the software before it performs any other processing.\n\nsysinit()\n calls the \nsysinit_app()\n function to perform system \ninitialization for the p ackages in the target. You can, optionally, specify an \ninitialization function that \nsysinit_app()\n calls to initialize a package. \n\n\nA package init function must have the following prototype:\n\n\nvoid init_func_name(void)\n\n\n\n\n\nPackage init functions are called in stages to ensure that lower priority packages \nare initialized before higher priority packages.\n\n\nYou specify an init function in the \npkg.yml\n file for a package as follows:\n\n\n\n\n\n\nUse the \ninit_function\n parameter to specify an init function name. \n\n\n pkg.init_function: pkg_init_func_name\n\n\n\n\n\nwhere \npkg_init_func_name\n is the C function name of package init function. \n\n\n\n\n\n\nUse the \ninit_stage\n parameter to specify when to call the package init function.\n\n\n pkg.init_stage: stage_number\n\n\n\n\n\nwhere \nstage_number\n is a number that indicates when this init function is called relative to the other \n package init functions. Mynewt calls the package init funct ions in increasing stage number order\n and in alphabetic order of init function names for functions in the same stage.\n \nNote:\n The init function will be called at stage 0 if \npkg.init_stage\n is not specified.\n\n\n\n\n\n\nNote:\n You must include the \nsysinit/sysinit.h\n header file to access the \nsysinit()\n function.\n\n\n\n\nGenerated sysinit_app() Function\n\n\nThe newt tool processes the \ninit_function\n and \ninit_stage\n parameters in all the pkg.yml files for a target,\ngenerates the \nsysinit_app()\n function in the \ntarget-path\n/generated/src/\ntarget-name\n-sysinit_app.c\n file, and \nincludes the file in the build. Here is an example \nsysinit_app()\n function:\n\n\n/**\n * This file was generated by Apache Newt (incubating) version: 1.0.0-dev\n */\n\n#if !SPLIT_LOADER\n\nvoid os_init(void);\nvoid split_app_init(void);\nvoid os_pkg_init(void);\nvoid imgmgr_module_init(void);\nvoid nmgr_pkg_init(void);\n\n ...\n\nvoid console_pkg_init(void);\nvoid log _init(void);\n\n ...\n\nvoid\nsysinit_app(void)\n{\n os_init();\n\n /*** Stage 0 */\n /* 0.0: kernel/os */\n os_pkg_init();\n /* 0.1: sys/console/full */\n console_pkg_init();\n\n ...\n\n /*** Stage 1 */\n /* 1.0: sys/log */\n log_init();\n\n ...\n\n /*** Stage 5 */\n /* 5.0: boot/split */\n split_app_init();\n /* 5.1: mgmt/imgmgr */\n imgmgr_module_init();\n /* 5.2: mgmt/newtmgr */\n nmgr_pkg_init();\n ...\n}\n\n#endif\n\n\n\n\n\n\n\nConditional Configurations\n\n\nYou can use the system configuration setting values to conditionally specify parameter values\nin \npkg.yml\n and \nsyscfg.yml\n files. The syntax is:\n\n\nparameter_name.PKGA_SYSCFG_NAME:\n parameter_value\n\n\n\n\n\nThis specifies that \nparameter_value\n is only set for \nparameter_name\n if the \nPKGA_SYSCFG_NAME\n configuration setting value \nis non-zero. Here is an example from the \nlibs/os\n package \npkg.yml\n file:\n\n\npkg.deps:\n - sys/sysinit\n - util/mem\n\npkg.deps.OS_CLI\n - sys/shell\n\n\n\n\n\nThis example specifies that the \nos\n package depends on the \nsysinit\n and \nmem\n packages, and also depends on the \n\nshell\n package when \nOS_CLI\n is enabled. \n\n\nThe newt tool aborts the build when it detects circular conditional dependencies.", + "title": "toc" + }, + { + "location": "/os/modules/sysinitconfig/sysinitconfig/#system-configuration-and-initialization", + "text": "This guide describes how Mynewt manages system configuration and initialization. It shows you how to \ntell Mynewt to use default or customized values to initialize packages that you develop or use to build a target. This guide: Assumes you have read the Concepts section that describes the Mynewt \npackage hierarchy and its use of the pkg.yml and syscfg.yml files. Assumes you have read the Newt Tool Theory of Operation and are familiar with how newt determines \npackage dependencies for your target build. Covers only the system initialization for hardware independent packages. It does not cover the Board Support Package (BSP) and other hardware dependent system initialization. Mynewt defines several configuration parameters in the pkg.yml and syscfg.yml files. The newt tool uses this information to: Generate a system initialization function that calls all the package-specific system initialization functions. Generate a system configur ation header file that contains all the package configuration settings and values. Display the system configuration settings and values in the newt target config command. The benefits with this approach include: Allows Mynewt developers to reuse other packages and easily change their configuration settings without updating source or header files when implementing new packages. Allows application developers to easily view the system configuration settings and values and determine the values to override for a target build.", + "title": "System Configuration and Initialization" + }, + { + "location": "/os/modules/sysinitconfig/sysinitconfig/#system-configuration-setting-definitions-and-values", + "text": "A package can optionally: Define and expose the system configuration settings to allow other packages to override \nthe default setting values. Override the system configuration setting values defined by the packages that it depends on. You use the defs parameter in a syscfg.yml file to define the system configuration settings \nfor a package. defs is a mapping (or associative array) of system configuration setting definitions. It \nhas the following syntax: syscfg.defs:\n PKGA_SYSCFG_NAME1:\n description:\n value:\n type:\n restrictions:\n PKGA_SYSCFG_NAME2:\n description:\n value:\n type:\n restrictions: Each setting definition consists of the following key-value mapping: A setting name for the key, such as PKGA_SYSCFG_NAME1 in the syntax example above.\nNote: A system configuration setting name must be unique. The newt tool aborts the build \nwhen multiple packages define the same setting. A mapping of fields for the value. Each field itself is a key-value pair of attributes. The field keys are description , value , type , and restrictions . They are described in \nfollowing table: Field Description description Describes the usage for the setting. This field is optional. value Specifies the default value for the setting. This field is required. The value depends on the type that you specify and can be an empty string. type Specifies the data type for the value field. This field is optional. You can specify one of three types: raw - The value data is uninterpreted. This is the default type . task_priority - Specifies a Mynewt task priority number. The task priority number assigned to each setting must be unique and between 0 and 239. value can be one of the following: A number between 0 and 239 - The task priority number to use for the setting. any - Specify any to have newt automatically assign a priority for t he setting. \nnewt alphabetically orders all system configuration settings of this type and assigns the next highest available \ntask priority number to each setting. flash_owner - Specifies a flash area. The value should be the name of a flash area \ndefined in the BSP flash map for your target board. restrictions Specifies a list of restrictions on the setting value. This field is optional. You can specify two formats: $notnull - Specifies that the setting cannot have the empty string for a value. It essentially means that an empty string is not a sensible value and a package must override it with an appropriate value. expression - Specifies a boolean expression of the form [!] >[if >] Examples: restrictions: !LOG_FCB - Can only enable this setting when LOG_FCB is false. restrictions: LOG_FCB if 0 - Can only disable this setting when LOG_FCB is true.", + "title": "System Configuration Setting Definitions and Values" + }, + { + "location": "/os/modules/sysinitconfig/sysinitconfig/#examples-of-configuration-settings", + "text": "Example 1: The following example is an excerpt from the sys/log package syscfg.yml file. It defines the LOG_LEVEL configuration setting to specify the log level and the LOG_NEWTMGR configuration setting to specify whether\nto enable or disable the newtmgr logging feature. syscfg.defs:\n LOG_LEVEL:\n description: Log Level \n value: 0\n type: raw\n\n ... \n\n LOG_NEWTMGR: \n description: Enables or disables newtmgr command tool logging \n value: 0 Example 2: The following example is an excerpt from the net/nimble/controller package syscfg.yml file. It defines the BLE_LL_PRIO \nconfiguration setting with a task_priority type and assigns task priority 0 to the BLE link layer task. syscfg.defs:\n BLE_LL_PRIO:\n description: BLE link layer task priority \n type: task_priority \n value: 0 Example 3: The following example is an excerpt from the fs/nffs package s yscfg.yml file. syscfg.defs:\n NFFS_FLASH_AREA:\n description: The flash area to use for the Newtron Flash File System \n type: flash_owner\n value:\n restrictions:\n - $notnull It defines the NFFS_FLASH_AREA configuration setting with a flash_owner type indicating that a flash area needs to be specified for the Newtron Flash File System. The flash areas are typically defined by the BSP in its bsp.yml file. For example, the bsp.yml for nrf52dk board ( hw/bsp/nrf52dk/bsp.yml ) defines an area named FLASH_AREA_NFFS : FLASH_AREA_NFFS:\n user_id: 1\n device: 0\n offset: 0x0007d000\n size: 12kB The syscfg.yml file for the same board ( hw/bsp/nrf52dk/syscfg.yml ) specifies that the above area be used for NFFS_FLASH_AREA . syscfg.vals:\n CONFIG_FCB_FLASH_AREA: FLASH_AREA_NFFS\n REBOOT_LOG_FLASH_AREA: FLASH_AREA_REBOOT_LOG\n NFFS_FLASH_AREA: FLASH_AREA_NFFS\n COREDUMP_FLASH_AREA: FLASH _AREA_IMAGE_1 Note that the fs/nffs/syscfg.yml file indicates that the NFFS_FLASH_AREA setting cannot be a null string; so a higher priority package must set a non-null value to it. That is exactly what the BSP package does. For more on priority of packages in setting values, see the next section.", + "title": "Examples of configuration settings" + }, + { + "location": "/os/modules/sysinitconfig/sysinitconfig/#overriding-system-configuration-setting-values", + "text": "A package may use the vals parameter in its syscfg.yml file to override the configuration values defined\nby other packages. This mechanism allows: Mynewt developers to implement a package and easily override the system configuration setting values \n that are defined by the packages it depends on. Application developers to easily and cleanly override default configuration settings in a single place and build a customized target. You can use the newt target config target-name command to check all the system configuration setting definitions and\n values in your target to determine the setting values to override. See newt target . vals specifies the mappings of system configuration setting name-value pairs as follows: syscfg.vals:\n PKGA_SYSCFG_NAME1: VALUE1\n PKGA_SYSCFG_NAME2: VALUE2\n ...\n PKGN_SYSCFG_NAME1: VALUEN Note: The newt tool ignores overrides of undefined system configuration settings.", + "title": "Overriding System Configuration Setting Values" + }, + { + "location": "/os/modules/sysinitconfig/sysinitconfig/#resolving-override-conflicts", + "text": "The newt tool uses package priorities to determine whether a package can override a value and resolve conflicts when multiple packages override the same system configuration setting. The following rules apply: A package can only override the default values of system configuration settings that \n are defined by lower priority packages. When packages with different priorities override the same system configuration setting value, newt uses \n the value from the highest priority package. Packages of equal priority cannot override the same system configuration setting with different values. \n newt aborts the build unless a higher priority package also overrides the value. The following package types are listed from highest to lowest priority: Target App unittest - A target can include either an app or unit test package, but not both. BSP Lib - Includes all other system level packages such as os, lib, sdk, and compiler. It is recommended that you override defaults at the target level instead of updating individual \npackage syscfg.yml files.", + "title": "Resolving Override Conflicts" + }, + { + "location": "/os/modules/sysinitconfig/sysinitconfig/#examples-of-overrides", + "text": "Example 4: The following example is an excerpt from the apps/slinky package syscfg.yml file. The application package overrides, \nin addition to other packages, the sys/log package system configuration settings defined in Example 1 . It changes the LOG_NEWTMGR system configuration setting value from 0 to 1 . syscfg.vals:\n # Enable the shell task.\n SHELL_TASK: 1\n\n ...\n\n # Enable newtmgr commands.\n STATS_NEWTMGR: 1\n LOG_NEWTMGR: 1 Example 5: The following example are excerpts from the hw/bsp/native package bsp.yml and syscfg.yml files. \nThe package defines the flash areas for the BSP flash map in the bsp.yml file, and sets the NFFS_FLASH_AREA \nconfiguration setting value to use the flash area named FLASH_AREA_NFFS in the syscfg.yml file. bsp.flash_map:\n areas:\n # System areas.\n FLASH_AREA_BOOTLOADER:\n device: 0\n offset: 0x00000000\n size: 16kB\n\n ...\n\n # User areas.\n FLASH_AREA_REBOOT_LOG:\n user_id: 0\n device: 0\n offset: 0x00004000\n size: 16kB\n FLASH_AREA_NFFS:\n user_id: 1\n device: 0\n offset: 0x00008000\n size: 32kB\n\n\nsyscfg.vals:\n NFFS_FLASH_AREA: FLASH_AREA_NFFS", + "title": "Examples of Overrides" + }, + { + "location": "/os/modules/sysinitconfig/sysinitconfig/#generated-syscfgh", + "text": "The newt tool processes all the package syscfg.yml files and generates the target-path /generated/include/syscfg/syscfg.h include file with #define statements for each system configuration \nsetting defined. newt creates a #define for a setting name as follows: Adds the prefix MYNEWT_VAL_ . Replaces all occurrences of \"/\", \"-\", and \" \" in the setting name with \"_\". Converts all characters to upper case. For example, the #define for my-config-name setting name is MYNEWT_VAL_MY_CONFIG_NAME . Newt groups the settings in syscfg.h by the packages that defined them. It also indicates the \npackage that changed a system configuration setting value. Note: You only need to include syscfg/syscfg.h in your source files to access the syscfg.h file. The newt tool sets the correct include path to build your target. Here is an excerpt from a sample syscfg.h file generated for an app/slinky target. It lists \nthe sys/log package de finitions and also indicates that app/slinky changed the value \nfor the LOG_NEWTMGR settings. #ifndef H_MYNEWT_SYSCFG_\n#define H_MYNEWT_SYSCFG_\n\n ...\n\n/*** kernel/os */\n#ifndef MYNEWT_VAL_MSYS_1_BLOCK_COUNT\n#define MYNEWT_VAL_MSYS_1_BLOCK_COUNT (12)\n#endif\n\n#ifndef MYNEWT_VAL_MSYS_1_BLOCK_SIZE\n#define MYNEWT_VAL_MSYS_1_BLOCK_SIZE (292)\n#endif\n\n ...\n\n/*** sys/log */\n\n#ifndef MYNEWT_VAL_LOG_LEVEL\n#define MYNEWT_VAL_LOG_LEVEL (0)\n#endif\n\n ...\n\n/* Overridden by apps/slinky (defined by sys/log) */\n#ifndef MYNEWT_VAL_LOG_NEWTMGR\n#define MYNEWT_VAL_LOG_NEWTMGR (1)\n#endif\n\n#endif", + "title": "Generated syscfg.h" + }, + { + "location": "/os/modules/sysinitconfig/sysinitconfig/#system-initialization", + "text": "An application's main() function must first call the Mynewt sysinit() function to \ninitialize the software before it performs any other processing. sysinit() calls the sysinit_app() function to perform system \ninitialization for the packages in the target. You can, optionally, specify an \ninitialization function that sysinit_app() calls to initialize a package. A package init function must have the following prototype: void init_func_name(void) Package init functions are called in stages to ensure that lower priority packages \nare initialized before higher priority packages. You specify an init function in the pkg.yml file for a package as follows: Use the init_function parameter to specify an init function name. pkg.init_function: pkg_init_func_name where pkg_init_func_name is the C function name of package init function. Use the init_stage parameter to specify when to call the package init function. pkg.init_stage: s tage_number where stage_number is a number that indicates when this init function is called relative to the other \n package init functions. Mynewt calls the package init functions in increasing stage number order\n and in alphabetic order of init function names for functions in the same stage.\n Note: The init function will be called at stage 0 if pkg.init_stage is not specified. Note: You must include the sysinit/sysinit.h header file to access the sysinit() function.", + "title": "System Initialization" + }, + { + "location": "/os/modules/sysinitconfig/sysinitconfig/#generated-sysinit_app-function", + "text": "The newt tool processes the init_function and init_stage parameters in all the pkg.yml files for a target,\ngenerates the sysinit_app() function in the target-path /generated/src/ target-name -sysinit_app.c file, and \nincludes the file in the build. Here is an example sysinit_app() function: /**\n * This file was generated by Apache Newt (incubating) version: 1.0.0-dev\n */\n\n#if !SPLIT_LOADER\n\nvoid os_init(void);\nvoid split_app_init(void);\nvoid os_pkg_init(void);\nvoid imgmgr_module_init(void);\nvoid nmgr_pkg_init(void);\n\n ...\n\nvoid console_pkg_init(void);\nvoid log_init(void);\n\n ...\n\nvoid\nsysinit_app(void)\n{\n os_init();\n\n /*** Stage 0 */\n /* 0.0: kernel/os */\n os_pkg_init();\n /* 0.1: sys/console/full */\n console_pkg_init();\n\n ...\n\n /*** Stage 1 */\n /* 1.0: sys/log */\n log_init();\n\n ...\n\n /*** Stage 5 */\n /* 5.0: boot/split */\n split_app_init();\n /* 5.1 : mgmt/imgmgr */\n imgmgr_module_init();\n /* 5.2: mgmt/newtmgr */\n nmgr_pkg_init();\n ...\n}\n\n#endif", + "title": "Generated sysinit_app() Function" + }, + { + "location": "/os/modules/sysinitconfig/sysinitconfig/#conditional-configurations", + "text": "You can use the system configuration setting values to conditionally specify parameter values\nin pkg.yml and syscfg.yml files. The syntax is: parameter_name.PKGA_SYSCFG_NAME:\n parameter_value This specifies that parameter_value is only set for parameter_name if the PKGA_SYSCFG_NAME configuration setting value \nis non-zero. Here is an example from the libs/os package pkg.yml file: pkg.deps:\n - sys/sysinit\n - util/mem\n\npkg.deps.OS_CLI\n - sys/shell This example specifies that the os package depends on the sysinit and mem packages, and also depends on the shell package when OS_CLI is enabled. The newt tool aborts the build when it detects circular conditional dependencies.", + "title": "Conditional Configurations" + }, + { "location": "/network/ble/ble_intro/", "text": "BLE Introduction\n\n\nApache Mynewt offers the world's first fully open-source Bluetooth Low Energy (BLE) or Bluetooth Smart stack fully compliant with BLE 4.2 specifications. It is called NimBLE. \n\n\nBLE technology operates in the unlicensed industrial, scientific and medical (ISM) band at 2.4 to 2.485 GHz which is available in most countries. It uses a spread spectrum, frequency hopping, full-duplex signal. BLE FHSS employs 40 2-MHz-wide channels to ensure greater reliability over longer distances. It also features 0-dBm (1 mW) power output and a typical maximum range of 50 meters. Note that BLE is not compatible with standard Bluetooth.\n\n\n\n\nFeature Support\n\n\nNimBLE complies with Bluetooth Core Specification 4.2 which introduces several new features that make it an ideal wireless technology for the Internet of Things (IoT).\n\n\n\n\nLE Privacy 1.2 for frequent changes to the device address to make it difficult to track for outsiders\n\n\nLE Secure Co nnections featuring FIPS-compliant algorithms.\n\n\nLE Data Length Extension for higher throughput\n\n\nComing Soon\n: Assigning an Internet Protocol (IP) address (complaint with the IPv6 or 6LoWPAN standard) to a Bluetooth device through Internet Protocol Support Profile (IPSP)\n\n\n\n\nComponents\n\n\nA Bluetooth low energy stack (NimBLE included) consists of two components with several subcomponents:\n\n\n\n\n\n\nController\n\n\n\n\nPhysical Layer\n: adaptive frequency-hopping Gaussian Frequency Shift Keying (GFSK) radio using 40 RF channels (0-39), with 2 MHz spacing.\n\n\nLink Layer\n: with one of five states (Standby, Advertising, Scanning, Initiating, Connection states) active at any time\n\n\n\n\n\n\n\n\nHost\n\n\n\n\nLogical Link Control and Adaptation Protocol (L2CAP)\n: provides logical channels, named L2CAP channels, which are multiplexed over one or more logical links to provide packet segmentation and reassembly, flow control, error control, streaming, QoS etc. \n\n\nS ecurity Manager (SM)\n: uses Security Manager Protocol (SMP) for pairing and transport specific key distribution for securing radio communication \n\n\nAttribute protocol (ATT)\n: allows a device (\nServer\n) to expose certain pieces of data, known as \nAttributes\n, to another device (\nClient\n)\n\n\nGeneric Attribute Profile (GATT)\n: a framework for using the ATT protocol to exchange attributes encapsulated as \nCharacteristics\n or \nServices\n \n\n\nGeneric Access Profile (GAP)\n: a base profile which all Bluetooth devices implement, which in the case of LE, defines the Physical Layer, Link Layer, L2CAP, Security Manager, Attribute Protocol and Generic Attribute Profile. \n\n\nHost Controller Interface (HCI)\n: the interface between the host and controller either through software API or by a hardware interface such as SPI, UART or USB.\n\n\n\n\n\n\n\n\nSubsequent chapters in this manual will go into the details of the implementation of each component, APIs available, and thing s to consider while designing a NimBLE app.\n\n\n\n\nExample NimBLE projects\n\n\nMynewt comes with several built-in projects or applications using NimBLE. These allow users to try out NimBLE, understand how to use available services, and build their own applications using one or more of the examples as seed.\n\n\n\n\n\n\nbletiny\n : A simple shell application which provides a basic interface to the host-side of the BLE stack. Supported operations include GAP, GATT, and L2CAP.\n\n\n\n\n\n\nbleprph\n: A basic peripheral device with no user interface. It advertises automatically on startup, and resumes advertising whenever a connection is terminated. It supports a maximum of one connection.\n\n\n\n\n\n\nblecent\n: A basic central device with no user interface. This application scans for a peripheral that supports the alert notification service (ANS). Upon discovering such a peripheral, blecent connects and performs the following actions:\n\n\n\n\nReads the ANS Supported New Alert Ca tegory characteristic.\n\n\nWrites the ANS Alert Notification Control Point characteristic.\n\n\nSubscribes to notifications for the ANS Unread Alert Status characteristic.\n\n\n\n\n\n\n\n\nblehci\n: Implements a BLE controller-only application. A separate host-only implementation, such as Linux's BlueZ, can interface with this application via HCI over UART.\n\n\n\n\n\n\nbleuart\n: Implements a simple BLE peripheral that supports the Nordic\n\nUART / Serial Port Emulation service", "title": "NimBLE Introduction"
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/network/ble/ble_intro/index.html ---------------------------------------------------------------------- diff --git a/latest/network/ble/ble_intro/index.html b/latest/network/ble/ble_intro/index.html index 3253cd5..482f807 100644 --- a/latest/network/ble/ble_intro/index.html +++ b/latest/network/ble/ble_intro/index.html @@ -452,9 +452,9 @@ <ul class="nav nav-pills" style="margin-bottom: 10px"> <li> - <a href=../../../os/modules/logs/logs/> + <a href=../../../os/modules/sysinitconfig/sysinitconfig/> <span class="fa fa-arrow-left"></span> - Previous: Logs + Previous: System Configuration And Initialization </a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/callout/callout/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/callout/callout/index.html b/latest/os/core_os/callout/callout/index.html index 49d2c26..a8804e5 100644 --- a/latest/os/core_os/callout/callout/index.html +++ b/latest/os/core_os/callout/callout/index.html @@ -603,6 +603,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/callout/os_callout_func_init/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/callout/os_callout_func_init/index.html b/latest/os/core_os/callout/os_callout_func_init/index.html index cf8943d..0481cb0 100644 --- a/latest/os/core_os/callout/os_callout_func_init/index.html +++ b/latest/os/core_os/callout/os_callout_func_init/index.html @@ -647,6 +647,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/callout/os_callout_init/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/callout/os_callout_init/index.html b/latest/os/core_os/callout/os_callout_init/index.html index 97cb260..aa16d8a 100644 --- a/latest/os/core_os/callout/os_callout_init/index.html +++ b/latest/os/core_os/callout/os_callout_init/index.html @@ -647,6 +647,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/callout/os_callout_queued/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/callout/os_callout_queued/index.html b/latest/os/core_os/callout/os_callout_queued/index.html index 4ea82c3..c104633 100644 --- a/latest/os/core_os/callout/os_callout_queued/index.html +++ b/latest/os/core_os/callout/os_callout_queued/index.html @@ -647,6 +647,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/callout/os_callout_reset/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/callout/os_callout_reset/index.html b/latest/os/core_os/callout/os_callout_reset/index.html index 957952e..f58b7d0 100644 --- a/latest/os/core_os/callout/os_callout_reset/index.html +++ b/latest/os/core_os/callout/os_callout_reset/index.html @@ -647,6 +647,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/callout/os_callout_stop/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/callout/os_callout_stop/index.html b/latest/os/core_os/callout/os_callout_stop/index.html index 8e8b9ff..62303fb 100644 --- a/latest/os/core_os/callout/os_callout_stop/index.html +++ b/latest/os/core_os/callout/os_callout_stop/index.html @@ -647,6 +647,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/context_switch/context_switch/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/context_switch/context_switch/index.html b/latest/os/core_os/context_switch/context_switch/index.html index 67a564f..48a16ee 100644 --- a/latest/os/core_os/context_switch/context_switch/index.html +++ b/latest/os/core_os/context_switch/context_switch/index.html @@ -603,6 +603,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/context_switch/os_arch_ctx_sw/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/context_switch/os_arch_ctx_sw/index.html b/latest/os/core_os/context_switch/os_arch_ctx_sw/index.html index 807ffd7..c0a7f95 100644 --- a/latest/os/core_os/context_switch/os_arch_ctx_sw/index.html +++ b/latest/os/core_os/context_switch/os_arch_ctx_sw/index.html @@ -695,6 +695,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/context_switch/os_sched/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/context_switch/os_sched/index.html b/latest/os/core_os/context_switch/os_sched/index.html index 585d1fd..2624448 100644 --- a/latest/os/core_os/context_switch/os_sched/index.html +++ b/latest/os/core_os/context_switch/os_sched/index.html @@ -695,6 +695,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/context_switch/os_sched_ctx_sw_hook/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/context_switch/os_sched_ctx_sw_hook/index.html b/latest/os/core_os/context_switch/os_sched_ctx_sw_hook/index.html index a819ff3..2dd83fe 100644 --- a/latest/os/core_os/context_switch/os_sched_ctx_sw_hook/index.html +++ b/latest/os/core_os/context_switch/os_sched_ctx_sw_hook/index.html @@ -695,6 +695,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/context_switch/os_sched_get_current_task/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/context_switch/os_sched_get_current_task/index.html b/latest/os/core_os/context_switch/os_sched_get_current_task/index.html index 0176afb..7cd7492 100644 --- a/latest/os/core_os/context_switch/os_sched_get_current_task/index.html +++ b/latest/os/core_os/context_switch/os_sched_get_current_task/index.html @@ -695,6 +695,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/context_switch/os_sched_insert/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/context_switch/os_sched_insert/index.html b/latest/os/core_os/context_switch/os_sched_insert/index.html index 1b0acc7..93c42fd 100644 --- a/latest/os/core_os/context_switch/os_sched_insert/index.html +++ b/latest/os/core_os/context_switch/os_sched_insert/index.html @@ -695,6 +695,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/context_switch/os_sched_next_task/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/context_switch/os_sched_next_task/index.html b/latest/os/core_os/context_switch/os_sched_next_task/index.html index 69326ea..2225855 100644 --- a/latest/os/core_os/context_switch/os_sched_next_task/index.html +++ b/latest/os/core_os/context_switch/os_sched_next_task/index.html @@ -695,6 +695,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/context_switch/os_sched_os_timer_exp/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/context_switch/os_sched_os_timer_exp/index.html b/latest/os/core_os/context_switch/os_sched_os_timer_exp/index.html index 91513fa..f8e04b6 100644 --- a/latest/os/core_os/context_switch/os_sched_os_timer_exp/index.html +++ b/latest/os/core_os/context_switch/os_sched_os_timer_exp/index.html @@ -695,6 +695,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/context_switch/os_sched_resort/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/context_switch/os_sched_resort/index.html b/latest/os/core_os/context_switch/os_sched_resort/index.html index 44c0629..8cbc619 100644 --- a/latest/os/core_os/context_switch/os_sched_resort/index.html +++ b/latest/os/core_os/context_switch/os_sched_resort/index.html @@ -695,6 +695,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/context_switch/os_sched_set_current_task/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/context_switch/os_sched_set_current_task/index.html b/latest/os/core_os/context_switch/os_sched_set_current_task/index.html index 8ac37f7..9f434f4 100644 --- a/latest/os/core_os/context_switch/os_sched_set_current_task/index.html +++ b/latest/os/core_os/context_switch/os_sched_set_current_task/index.html @@ -695,6 +695,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/context_switch/os_sched_sleep/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/context_switch/os_sched_sleep/index.html b/latest/os/core_os/context_switch/os_sched_sleep/index.html index 9af9547..45af2ea 100644 --- a/latest/os/core_os/context_switch/os_sched_sleep/index.html +++ b/latest/os/core_os/context_switch/os_sched_sleep/index.html @@ -695,6 +695,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/context_switch/os_sched_wakeup/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/context_switch/os_sched_wakeup/index.html b/latest/os/core_os/context_switch/os_sched_wakeup/index.html index ab822d6..4e03c6b 100644 --- a/latest/os/core_os/context_switch/os_sched_wakeup/index.html +++ b/latest/os/core_os/context_switch/os_sched_wakeup/index.html @@ -695,6 +695,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/event_queue/event_queue/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/event_queue/event_queue/index.html b/latest/os/core_os/event_queue/event_queue/index.html index 0aaeec0..bdfdca8 100644 --- a/latest/os/core_os/event_queue/event_queue/index.html +++ b/latest/os/core_os/event_queue/event_queue/index.html @@ -603,6 +603,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/event_queue/os_eventq_dflt_get/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/event_queue/os_eventq_dflt_get/index.html b/latest/os/core_os/event_queue/os_eventq_dflt_get/index.html index 1b69e9e..b907a96 100644 --- a/latest/os/core_os/event_queue/os_eventq_dflt_get/index.html +++ b/latest/os/core_os/event_queue/os_eventq_dflt_get/index.html @@ -663,6 +663,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/event_queue/os_eventq_dflt_set/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/event_queue/os_eventq_dflt_set/index.html b/latest/os/core_os/event_queue/os_eventq_dflt_set/index.html index aa95edd..96f15bf 100644 --- a/latest/os/core_os/event_queue/os_eventq_dflt_set/index.html +++ b/latest/os/core_os/event_queue/os_eventq_dflt_set/index.html @@ -663,6 +663,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/event_queue/os_eventq_get/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/event_queue/os_eventq_get/index.html b/latest/os/core_os/event_queue/os_eventq_get/index.html index e153562..1d96efe 100644 --- a/latest/os/core_os/event_queue/os_eventq_get/index.html +++ b/latest/os/core_os/event_queue/os_eventq_get/index.html @@ -663,6 +663,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/event_queue/os_eventq_init/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/event_queue/os_eventq_init/index.html b/latest/os/core_os/event_queue/os_eventq_init/index.html index d80b379..6f4d07a 100644 --- a/latest/os/core_os/event_queue/os_eventq_init/index.html +++ b/latest/os/core_os/event_queue/os_eventq_init/index.html @@ -663,6 +663,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/event_queue/os_eventq_inited/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/event_queue/os_eventq_inited/index.html b/latest/os/core_os/event_queue/os_eventq_inited/index.html index 704bc58..7f5fabb 100644 --- a/latest/os/core_os/event_queue/os_eventq_inited/index.html +++ b/latest/os/core_os/event_queue/os_eventq_inited/index.html @@ -663,6 +663,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/event_queue/os_eventq_put/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/event_queue/os_eventq_put/index.html b/latest/os/core_os/event_queue/os_eventq_put/index.html index 0033122..7a5d21a 100644 --- a/latest/os/core_os/event_queue/os_eventq_put/index.html +++ b/latest/os/core_os/event_queue/os_eventq_put/index.html @@ -663,6 +663,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/event_queue/os_eventq_remove/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/event_queue/os_eventq_remove/index.html b/latest/os/core_os/event_queue/os_eventq_remove/index.html index 609264e..84c31d8 100644 --- a/latest/os/core_os/event_queue/os_eventq_remove/index.html +++ b/latest/os/core_os/event_queue/os_eventq_remove/index.html @@ -663,6 +663,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/heap/heap/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/heap/heap/index.html b/latest/os/core_os/heap/heap/index.html index 373ae0b..771dff4 100644 --- a/latest/os/core_os/heap/heap/index.html +++ b/latest/os/core_os/heap/heap/index.html @@ -603,6 +603,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/heap/os_free/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/heap/os_free/index.html b/latest/os/core_os/heap/os_free/index.html index 905f1d4..7090441 100644 --- a/latest/os/core_os/heap/os_free/index.html +++ b/latest/os/core_os/heap/os_free/index.html @@ -631,6 +631,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/heap/os_malloc/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/heap/os_malloc/index.html b/latest/os/core_os/heap/os_malloc/index.html index 2839fd2..50ebad2 100644 --- a/latest/os/core_os/heap/os_malloc/index.html +++ b/latest/os/core_os/heap/os_malloc/index.html @@ -631,6 +631,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/heap/os_realloc/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/heap/os_realloc/index.html b/latest/os/core_os/heap/os_realloc/index.html index 6e618d3..2bc9937 100644 --- a/latest/os/core_os/heap/os_realloc/index.html +++ b/latest/os/core_os/heap/os_realloc/index.html @@ -631,6 +631,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/mbuf/OS_MBUF_DATA/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/mbuf/OS_MBUF_DATA/index.html b/latest/os/core_os/mbuf/OS_MBUF_DATA/index.html index 54ae178..cae3a0a 100644 --- a/latest/os/core_os/mbuf/OS_MBUF_DATA/index.html +++ b/latest/os/core_os/mbuf/OS_MBUF_DATA/index.html @@ -828,6 +828,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/mbuf/OS_MBUF_LEADINGSPACE/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/mbuf/OS_MBUF_LEADINGSPACE/index.html b/latest/os/core_os/mbuf/OS_MBUF_LEADINGSPACE/index.html index e4b7211..bcba784 100644 --- a/latest/os/core_os/mbuf/OS_MBUF_LEADINGSPACE/index.html +++ b/latest/os/core_os/mbuf/OS_MBUF_LEADINGSPACE/index.html @@ -828,6 +828,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/mbuf/OS_MBUF_PKTHDR/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/mbuf/OS_MBUF_PKTHDR/index.html b/latest/os/core_os/mbuf/OS_MBUF_PKTHDR/index.html index 07bc635..0039922 100644 --- a/latest/os/core_os/mbuf/OS_MBUF_PKTHDR/index.html +++ b/latest/os/core_os/mbuf/OS_MBUF_PKTHDR/index.html @@ -828,6 +828,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/mbuf/OS_MBUF_PKTHDR_TO_MBUF/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/mbuf/OS_MBUF_PKTHDR_TO_MBUF/index.html b/latest/os/core_os/mbuf/OS_MBUF_PKTHDR_TO_MBUF/index.html index d12e92e..5ed62fc 100644 --- a/latest/os/core_os/mbuf/OS_MBUF_PKTHDR_TO_MBUF/index.html +++ b/latest/os/core_os/mbuf/OS_MBUF_PKTHDR_TO_MBUF/index.html @@ -828,6 +828,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/mbuf/OS_MBUF_PKTLEN/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/mbuf/OS_MBUF_PKTLEN/index.html b/latest/os/core_os/mbuf/OS_MBUF_PKTLEN/index.html index 42778de..30d2762 100644 --- a/latest/os/core_os/mbuf/OS_MBUF_PKTLEN/index.html +++ b/latest/os/core_os/mbuf/OS_MBUF_PKTLEN/index.html @@ -828,6 +828,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/mbuf/OS_MBUF_TRAILINGSPACE/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/mbuf/OS_MBUF_TRAILINGSPACE/index.html b/latest/os/core_os/mbuf/OS_MBUF_TRAILINGSPACE/index.html index 66c0d13..cb47e86 100644 --- a/latest/os/core_os/mbuf/OS_MBUF_TRAILINGSPACE/index.html +++ b/latest/os/core_os/mbuf/OS_MBUF_TRAILINGSPACE/index.html @@ -828,6 +828,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/mbuf/OS_MBUF_USRHDR/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/mbuf/OS_MBUF_USRHDR/index.html b/latest/os/core_os/mbuf/OS_MBUF_USRHDR/index.html index 8fa7ca2..0907944 100644 --- a/latest/os/core_os/mbuf/OS_MBUF_USRHDR/index.html +++ b/latest/os/core_os/mbuf/OS_MBUF_USRHDR/index.html @@ -828,6 +828,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/mbuf/OS_MBUF_USRHDR_LEN/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/mbuf/OS_MBUF_USRHDR_LEN/index.html b/latest/os/core_os/mbuf/OS_MBUF_USRHDR_LEN/index.html index ac6741a..c33a90f 100644 --- a/latest/os/core_os/mbuf/OS_MBUF_USRHDR_LEN/index.html +++ b/latest/os/core_os/mbuf/OS_MBUF_USRHDR_LEN/index.html @@ -828,6 +828,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/90eef887/latest/os/core_os/mbuf/mbuf/index.html ---------------------------------------------------------------------- diff --git a/latest/os/core_os/mbuf/mbuf/index.html b/latest/os/core_os/mbuf/mbuf/index.html index 917a7f4..8dfa002 100644 --- a/latest/os/core_os/mbuf/mbuf/index.html +++ b/latest/os/core_os/mbuf/mbuf/index.html @@ -640,6 +640,17 @@ + + + + + <li ><a href="../../../modules/sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + </ul> </li>
