You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by GitBox <gi...@apache.org> on 2018/04/24 22:43:16 UTC

[GitHub] aditihilbert closed pull request #418: automated asf-site build

aditihilbert closed pull request #418: automated asf-site build
URL: https://github.com/apache/mynewt-site/pull/418
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/develop/_images/K30labeled.JPG b/develop/_images/K30labeled.JPG
new file mode 100644
index 000000000..69ddbc2e9
Binary files /dev/null and b/develop/_images/K30labeled.JPG differ
diff --git a/develop/_images/MyNewtSensorReader.jpg b/develop/_images/MyNewtSensorReader.jpg
deleted file mode 100644
index 997a35919..000000000
Binary files a/develop/_images/MyNewtSensorReader.jpg and /dev/null differ
diff --git a/develop/_images/Senseair1.png b/develop/_images/Senseair1.png
deleted file mode 100644
index 9b469b332..000000000
Binary files a/develop/_images/Senseair1.png and /dev/null differ
diff --git a/develop/_images/Senseair2.png b/develop/_images/Senseair2.png
deleted file mode 100644
index 38be67263..000000000
Binary files a/develop/_images/Senseair2.png and /dev/null differ
diff --git a/develop/_images/airquality_lightblue.png b/develop/_images/airquality_lightblue.png
new file mode 100644
index 000000000..9fc1e50d3
Binary files /dev/null and b/develop/_images/airquality_lightblue.png differ
diff --git a/develop/_images/nrf52labeled.JPG b/develop/_images/nrf52labeled.JPG
new file mode 100644
index 000000000..b6264e790
Binary files /dev/null and b/develop/_images/nrf52labeled.JPG differ
diff --git a/develop/_sources/tutorials/sensors/air_quality_ble.rst.txt b/develop/_sources/tutorials/sensors/air_quality_ble.rst.txt
index c0c22ec35..e0234d2d1 100644
--- a/develop/_sources/tutorials/sensors/air_quality_ble.rst.txt
+++ b/develop/_sources/tutorials/sensors/air_quality_ble.rst.txt
@@ -4,24 +4,22 @@ Air quality sensor project via Bluetooth
 This is a follow-on project to the :doc:`Basic Air Quality
 Sensor <air_quality_sensor>` project; so it is assumed that you
 have worked through that project and have your CO2 sensor working
-properly with your Arduino Primo board.
+properly with your nRF52DK board.
 
 So let's get started making this thing Bluetooth enabled!
 
 Add Bluetooth GATT Services
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Since we already built the previous demo on the :doc:`bluetooth
-peripheral <../ble/bleprph/bleprph-app>` basic app most of the bluetooth
-plumbing has already been taken care of for us. What's left is for us to
-add the required GATT services for advertising the Carbon Dioxide sensor
-so that other devices can get those values.
+Since we already built the previous demo on the :doc:`bluetooth peripheral <../ble/bleprph/bleprph-app>` basic app most of the bluetooth plumbing has already been taken care of for us. What's left is for us to add the required GATT services for advertising the Carbon Dioxide sensor so that other devices can get those values.
 
-First, we'll define the GATT Services in
-``apps/air_quality/src/bleprph.h``.
+First, we'll define the GATT Services in ``apps/air_quality/src/bleprph.h``. Be sure to include the header files as well. 
 
 .. code-block:: c
-
+    ....
+    #include "host/ble_hs.h"
+    #include "host/ble_uuid.h"
+    ....
     /* Sensor Data */
     /* e761d2af-1c15-4fa7-af80-b5729002b340 */
     static const ble_uuid128_t gatt_svr_svc_co2_uuid =
@@ -33,10 +31,7 @@ First, we'll define the GATT Services in
 
     uint16_t gatt_co2_val; 
 
-You can use any hex values you choose for the sensor type and sensor
-values, and you can even forget the sensor type and sensor string
-definitions altogether but they make the results look nice in our
-Bluetooth App for Mac OS X and iOS.
+You can use any hex values you choose for the sensor type and sensor values, and you can even forget the sensor type and sensor string definitions altogether but they make the results look nice in our Bluetooth App for Mac OS X and iOS.
 
 Next we'll add those services to ``apps/air_quality/src/gatt_svr.c``.
 
@@ -96,8 +91,7 @@ Make sure it is added as *primary* service.
         };
                 
 
-Next we need to tell the GATT Server how to handle requests for CO2
-readings :
+Next we need to tell the GATT Server how to handle requests for CO2 readings :
 
 .. code-block:: c
 
@@ -137,25 +131,20 @@ readings :
         }
     }
 
-Now it's time to go into our ``apps/air_quality/src/main.c`` and change
-how we read CO2 readings and respond to requests.
+Now it's time to go into our ``apps/air_quality/src/main.c`` and change how we read CO2 readings and respond to requests.
 
-We'll need a task handler with an event queue for the CO2 readings --
-they were handled by the shell task in the previous tutorial but now it
-needs to be replaced by a different handler as shown below.
+We'll need a task handler with an event queue for the CO2 readings.
 
 .. code-block:: c
 
     /* CO2 Task settings */
-    #define CO2_TASK_PRIO           5
+    #define CO2_TASK_PRIO           128
     #define CO2_STACK_SIZE          (OS_STACK_ALIGN(336))
     struct os_eventq co2_evq;
     struct os_task co2_task;
     bssnz_t os_stack_t co2_stack[CO2_STACK_SIZE];
 
-And of course we'll need to go to our ``main()`` and do all the standard
-task and event setup we normally do by adding the following. Again,
-remember to delete all the shell event queues and tasks.
+And of course we'll need to go to our ``main()`` and do all the standard task and event setup we normally do by adding the following:
 
 .. code-block:: c
 
@@ -215,21 +204,12 @@ And finally, we'll take care of that ``co2_read_event()`` function:
     err:
         return (rc);
     }
+This one simply reads and updates the CO2 value and sends that over BLE to any connected clients instead.
 
-You'll notice that it looks eeirily similar to a portion of the shell
-event we created earlier. This one simply reads and updates the CO2
-value and sends that over BLE to any connected clients instead.
-
-We can now build, create-image and load the app onto our Arduino Primo
-board, and then connect and see the updated values! The image below
-shows the results using MyNewt Sensor Reader, a Mac OS X app developed
-for connecting to MyNewt devices over Bluetooth but you can also use
-LightBlue or any other application that can connect to, and read,
-Bluetooth data.
+We can now build, create-image and load the app onto our nRF52DK board, and then connect and see the updated values! To view the results over Bluetooth, you can use LightBlue or any other application that can connect to, and read, Bluetooth data. By default, the device will show up as nimble-bleprph, since we used the ``bleprph`` app as our template. I've changed mine to something a bit more applicable: BLE CO2 Sensor.
 
-.. figure:: ../pics/MyNewtSensorReader.jpg
-   :alt: MyNewt Sensor Reader
+.. figure:: ../pics/airquality_lightblue.png
 
-   MyNewt Sensor Reader
+   LightBlue app connected to BLE CO2 Sensor
 
 Congratulations!!
diff --git a/develop/_sources/tutorials/sensors/air_quality_sensor.rst.txt b/develop/_sources/tutorials/sensors/air_quality_sensor.rst.txt
index d461d3cb4..a491d92e9 100644
--- a/develop/_sources/tutorials/sensors/air_quality_sensor.rst.txt
+++ b/develop/_sources/tutorials/sensors/air_quality_sensor.rst.txt
@@ -1,11 +1,21 @@
-Air quality sensor project
+Air Quality Sensor Project
 --------------------------
+This tutorial will show you how to set up and use the Senseair K30 air quality sensor with the nRF52 Development Kit. Afterwards, you can set it up via Bluetooth so you can read values remotely. 
 
-Setting up source tree for stuff you need
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.. contents::
+   :local:
+   :depth: 2
 
-To start with, you need to create a new project under which you will do
-this development. So you type in:
+Prerequisites
+~~~~~~~~~~~~~
+- Complete one of the other tutorials (e.g. :doc:`Project Blinky <blinky>`) to famliarize yourself with Mynewt
+- Nordic nRF52 Development - PCA 10040
+- Senseair K30 CO2 Sensor
+
+Setting Up the Source Tree
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To start, create a new project under which you will do development for this application:
 
 .. code-block:: console
 
@@ -13,12 +23,7 @@ this development. So you type in:
         $ cd $HOME/src
         $ newt new air_quality
 
-Let's say you are using Arduino Primo -- which is based on the Nordic
-Semi NRF52 chip -- as the platform. You know you need the board support
-package for that hardware. You can look up its location, add it your
-project, and fetch that along with the core OS components. Luckily, the
-Arduino Primo is supported in the Mynewt Core, so there's nothing much
-to do here.
+If you are using a different development board, you will need to know the board support package for that hardware. You can look up its location, add it your project, and fetch that along with the core OS components. Since the nRF52DK is supported in the Mynewt Core, we don't need to do much here.
 
 Your project.yml file should look like this:
 
@@ -45,126 +50,47 @@ Your project.yml file should look like this:
         [user@IsMyLaptop:~/src/air_quality]$ ls repos/
         apache-mynewt-core
 
-Good. You want to make sure you have all the needed bits for supporting
-your board; so you decide to build the blinky project for the platform
-first.
-
-Now create a target for it and build it. Easiest way to proceed is to
-copy the existing target for blinky, and modify it to build for Arduino
-Primo board.
-
-.. code-block:: console
-
-    [user@IsMyLaptop:~/src/air_quality]$ newt target copy my_blinky_sim blink_primo
-    Target successfully copied; targets/my_blinky_sim --> targets/blink_primo
-    [user@IsMyLaptop:~/src/air_quality]$ newt target set blink_primo bsp=@apache-mynewt-core/hw/bsp/arduino_primo_nrf52
-    Target targets/blink_nrf successfully set target.bsp to @apache-mynewt-core/hw/bsp/arduino_primo_nrf52
-    [user@IsMyLaptop:~/src/air_quality]$ newt build blink_primo
-    Compiling hal_bsp.c
-    ...
-    Linking blinky.elf
-    App successfully built: /Users/user/src/air_quality/bin/blink_primo/apps/blinky/blinky.elf
-
-Good.
-
-You know that this platform uses bootloader, which means you have to
-create a target for that too.
+Next, create a target for the nRF52DK bootloader: 
 
 .. code-block:: console
 
-    [user@IsMyLaptop:~/src/air_quality]$ newt target create boot_primo
-    Target targets/boot_nrf successfully created
+    [user@IsMyLaptop:~/src/air_quality]$ newt target create boot_nrf52dk
+    Target targets/boot_nrf52dk successfully created
+    [user@IsMyLaptop:~/src/air_quality]$ newt target set boot_nrf52dk bsp=@apache-mynewt-core/hw/bsp/nrf52dk
+    Target targets/boot_nrf52dk successfully set target.bsp to @apache-mynewt-core/hw/bsp/nrf52dk
+    [user@IsMyLaptop:~/src/air_quality]$ newt target set boot_nrf52dk app=@apache-mynewt-core/apps/boot
+    Target targets/boot_nrf52dk successfully set target.app to @apache-mynewt-core/apps/boot
+    [user@IsMyLaptop:~/src/air_quality]$ newt target set boot_nrf52dk build_profile=optimized
+    Target targets/boot_nrf52dk successfully set target.build_profile to optimized
     [user@IsMyLaptop:~/src/air_quality]$ newt target show
     @apache-mynewt-core/targets/unittest
         bsp=hw/bsp/native
         build_profile=debug
         compiler=compiler/sim
-    targets/blink_primo
-        app=apps/blinky
-        bsp=@apache-mynewt-core/hw/bsp/arduino_primo_nrf52
-        build_profile=debug
-    targets/boot_primo
+    targets/boot_nrf52dk
+        app=@apache-mynewt-core/apps/boot
+        bsp=@apache-mynewt-core/hw/bsp/nrf52dk
+        build_profile=optimized
     targets/my_blinky_sim
         app=apps/blinky
         bsp=@apache-mynewt-core/hw/bsp/native
         build_profile=debug
-    [user@IsMyLaptop:~/src/air_quality]$ newt target set boot_nrf bsp=@apache-mynewt-core/hw/bsp/arduino_primo_nrf52
-    Target targets/boot_nrf successfully set target.bsp to @apache-mynewt-core/hw/bsp/arduino_primo_nrf52
-    [user@IsMyLaptop:~/src/air_quality]$ newt target set boot_nrf app=@apache-mynewt-core/apps/boot
-    Target targets/boot_nrf successfully set target.app to @apache-mynewt-core/apps/boot
-    [user@IsMyLaptop:~/src/air_quality]$ newt target set boot_nrf build_profile=optimized
-    Target targets/boot_nrf successfully set target.build_profile to optimized
 
-And then build it, and load it onto the board.
+Build the bootloader target and load it onto the board:
 
 .. code-block:: console
 
-    newt build boot_primo
+    newt build boot_nrf52dk
     ....
     Linking boot.elf
-    App successfully built: /Users/user/src/air_quality/bin/boot_primo/apps/boot/boot.elf
+    App successfully built: /Users/user/src/air_quality/bin/boot_nrf52dk/apps/boot/boot.elf
     [user@IsMyLaptop:~/src/air_quality]
-    $ newt load boot_primo
-
-At this point, you may (or may not) see a bunch of error messages about
-not being able to connect to your board, not being able to load the
-image, etc. If that's the case, and you haven't already, you should most
-definitely go worth through the :doc:`blinky_primo <../blinky/blinky_primo>`
-tutorial so that you can properly communicate with your board.
-
-Next you must download the targets to board, and see that the LED
-actually blinks. You plug in the Arduino Primo board to your laptop, and
-say:
+    $ newt load boot_nrf52dk
 
-.. code-block:: console
-
-    [user@IsMyLaptop:~/src/air_quality]$ newt load blink_primo
-    Loading app image into slot 1
-    Error: couldn't open /Users/user/src/air_quality/bin/blink_primo/apps/blinky/blinky.img
-
-    Error: exit status 1
-
-    load - Load app image to target for <target-name>.
-
-    Usage:
-      newt load [flags]
+Create a Test Project
+~~~~~~~~~~~~~~~~~~~~~
 
-    Examples:
-      newt load <target-name>
-
-
-    Global Flags:
-      -l, --loglevel string   Log level, defaults to WARN. (default "WARN")
-      -o, --outfile string    Filename to tee log output to
-      -q, --quiet             Be quiet; only display error output.
-      -s, --silent            Be silent; don't output anything.
-      -v, --verbose           Enable verbose output when executing commands.
-    exit status 1
-
-Ah. Forgot to create an image out of the blinky binary. Note that every
-time you want to build and load a new firmware image to a target board,
-you need to run 'create-image' on it.
-
-.. code-block:: console
-
-    [user@IsMyLaptop:~/src/air_quality]$ newt create-image blink_primo 0.0.1
-    App image successfully generated: /Users/user/src/air_quality/bin/blink_primo/apps/blinky/blinky.img
-    Build manifest: /Users/user/src/air_quality/bin/blink_nrf/apps/blinky/manifest.json
-    [user@IsMyLaptop:~/src/air_quality]$ newt load blink_primo
-
-And it's blinking.
-
-Shortcut for doing build/create-image/load/debug steps all in one is
-'newt run' command. Check out the usage from command line help.
-
-Create test project
-~~~~~~~~~~~~~~~~~~~
-
-Now that you have your system setup, you can start creating your own
-stuff. First you want to create a project for yourself - you could start
-by using blinky as a project template, but since we're going to want to
-be able to access the data via Bluetooth, let's use the ``bleprph``
-Bluetooth Peripheral project instead.
+Now that you have your system setup, you can start building the application. First you want to create a project for yourself - since we're eventually going to want to be able to access the data via Bluetooth, let's use the ``bleprph`` Bluetooth Peripheral project as the project template.
 
 .. code-block:: console
 
@@ -172,10 +98,7 @@ Bluetooth Peripheral project instead.
         [user@IsMyLaptop:~/src/air_quality]$ cp repos/apache-mynewt-core/apps/bleprph/pkg.yml apps/air_quality/
         [user@IsMyLaptop:~/src/air_quality]$ cp -Rp repos/apache-mynewt-core/apps/bleprph/src apps/air_quality/
 
-Then you modify the apps/air\_quality/pkg.yml for air\_quality in order
-to change the *pkg.name* to be *apps/air\_quality*. You'll need to add
-the ``@apache-mynewt-core/`` path to all the package dependencies, since
-the app no longer resides within the apache-mynewt-core repository.
+Modify the apps/air\_quality/pkg.yml for air_quality in order to change the *pkg.name* to be *apps/air\_quality*. You'll need to add the ``@apache-mynewt-core/`` path to all the package dependencies, since the app no longer resides within the apache-mynewt-core repository.
 
 .. code-block:: console
 
@@ -188,10 +111,10 @@ the app no longer resides within the apache-mynewt-core repository.
     pkg.keywords:
 
     pkg.deps: 
+        - "@apache-mynewt-core/boot/split"
+        - "@apache-mynewt-core/boot/bootutil"
         - "@apache-mynewt-core/kernel/os"
-        - "@apache-mynewt-core/sys/shell"
-        - "@apache-mynewt-core/sys/stats/full"
-        - "@apache-mynewt-core/sys/log/full"
+        - "@apache-mynewt-core/mgmt/imgmgr"
         - "@apache-mynewt-core/mgmt/newtmgr"
         - "@apache-mynewt-core/mgmt/newtmgr/transport/ble"
         - "@apache-mynewt-core/net/nimble/controller"
@@ -199,36 +122,37 @@ the app no longer resides within the apache-mynewt-core repository.
         - "@apache-mynewt-core/net/nimble/host/services/ans"
         - "@apache-mynewt-core/net/nimble/host/services/gap"
         - "@apache-mynewt-core/net/nimble/host/services/gatt"
-        - "@apache-mynewt-core/net/nimble/host/store/ram"
-        - "@apache-mynewt-core/net/nimble/transport/ram"
+        - "@apache-mynewt-core/net/nimble/host/store/config"
         - "@apache-mynewt-core/sys/console/full"
+        - "@apache-mynewt-core/sys/log/full"
+        - "@apache-mynewt-core/sys/stats/full"
         - "@apache-mynewt-core/sys/sysinit"
         - "@apache-mynewt-core/sys/id"
+        - "@apache-mynewt-core/net/nimble/transport/ram"
+        - "@apache-mynewt-core/sys/shell"
 
-And create a target for it:
+Next create a target for it:
 
 .. code-block:: console
 
     [user@IsMyLaptop:~/src/air_quality]$ newt target create air_q
     Target targets/air_q successfully created
-    [user@IsMyLaptop:~/src/air_quality]$ newt target set air_q bsp=@apache-mynewt-core/hw/bsp/arduino_primo_nrf52
-    Target targets/air_q successfully set target.bsp to @apache-mynewt-core/hw/bsp/arduino_primo_nrf52
+    [user@IsMyLaptop:~/src/air_quality]$ newt target set air_q bsp=@apache-mynewt-core/hw/bsp/nrf52dk
+    Target targets/air_q successfully set target.bsp to @apache-mynewt-core/hw/bsp/nrf52dk
     [user@IsMyLaptop:~/src/air_quality]$ newt target set air_q app=apps/air_quality 
     Target targets/air_q successfully set target.app to apps/air_quality
     [user@IsMyLaptop:~/src/air_quality]$ newt target set air_q build_profile=debug
     Target targets/air_q successfully set target.build_profile to debug
     [user@IsMyLaptop:~/src/air_quality]$ newt build air_q
      ....
-    Linking /Users/dsimmons/dev/myproj/bin/targets/air_q/app/apps/air_quality/air_quality.elf
+    Linking /Users/users/dev/myproj/bin/targets/air_q/app/apps/air_quality/air_quality.elf
     Target successfully built: targets/air_q
 
-Create packages for drivers
+Create Packages For Drivers
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-One of the sensors you want to enable is SenseAir K30, which will
-connect to the board over a serial port. To start development of the
-driver, you first need to create a package description for it, and add
-stubs for sources.
+We need to enable the SenseAir K30 CO2 sensor, which will connect to the board over a serial port. To start development of the
+driver, you first need to create a package description for it, and add stubs for sources.
 
 The first thing to do is to create the directory structure for your
 driver:
@@ -238,8 +162,7 @@ driver:
     [user@IsMyLaptop:~/src/air_quality]$ mkdir -p libs/my_drivers/senseair/include/senseair
     [user@IsMyLaptop:~/src/air_quality]$ mkdir -p libs/my_drivers/senseair/src
 
-Now you can add the files you need. You'll need a pkg.yml to describe
-the driver, and then header stub followed by source stub.
+Now you can add the files you need. You'll need a ``pkg.yml`` to describe the driver, and then header stub followed by source stub.
 
 .. code-block:: console
 
@@ -337,9 +260,9 @@ the driver, and then header stub followed by source stub.
     {
     }
 
-And add dependency to this package in your project yml file.
+And add a dependency to this package in your project.yml file.
 
-Here's the listing from apps/air\_quality/pkg.yml
+Here's the listing from apps/air\_quality/pkg.yml:
 
 .. code-block:: console
 
@@ -349,16 +272,16 @@ Here's the listing from apps/air\_quality/pkg.yml
     pkg.keywords:
 
     pkg.deps:
-        - "@apache-mynewt-core/libs/console/full"
-        - "@apache-mynewt-core/libs/newtmgr"
-        - "@apache-mynewt-core/libs/os"
-        - "@apache-mynewt-core/libs/shell"
-        - "@apache-mynewt-core/sys/config"
-        - "@apache-mynewt-core/sys/log/full"
-        - "@apache-mynewt-core/sys/stats/full"
+        - "@apache-mynewt-core/boot/split"
+        - "@apache-mynewt-core/boot/bootutil"
+        - "@apache-mynewt-core/kernel/os"
+        ....
+        - "@apache-mynewt-core/sys/id"
+        - "@apache-mynewt-core/net/nimble/transport/ram"
+        - "@apache-mynewt-core/sys/shell"
         - libs/my_drivers/senseair
 
-And add a call to your main() to initialize this driver.
+Add a call to your ``main()`` to initialize this driver:
 
 .. code-block:: console
 
@@ -369,94 +292,26 @@ And add a call to your main() to initialize this driver.
         > senseair_init();
         [user@IsMyLaptop:~/src/air_quality
 
-The ble\_prph app runs everything in one task handler. For this project,
-we're going to add a second task handler to respond to the shell, and
-then handle communicating with the senseair sensor for us.
-
-.. code-block:: c
-
-    /** shell task settings. */
-    #define SHELL_TASK_PRIO           2
-    #define SHELL_STACK_SIZE          (OS_STACK_ALIGN(336))
-
-    struct os_eventq shell_evq;
-    struct os_task shell_task;
-    bssnz_t os_stack_t shell_stack[SHELL_STACK_SIZE];
-
-That defines the task, now we need to initialize it, add a task handler,
-and we're going to use this task as our default task handler.
-
-.. code-block:: c
-
-    /**
-     * Event loop for the main shell task.
-     */
-    static void
-    shell_task_handler(void *unused)
-    {
-        while (1) {
-            os_eventq_run(&shell_evq);
-        }
-    }
-
-And in your ``main()`` add:
-
-.. code-block:: c
-
-        /* Initialize shell eventq */
-        os_eventq_init(&shell_evq);
-
-        /* Create the shell task.  
-         * All shell operations are performed in this task.
-         */
-        os_task_init(&shell_task, "shell", shell_task_handler,
-                                  NULL, SHELL_TASK_PRIO, OS_WAIT_FOREVER,
-                                  shell_stack, SHELL_STACK_SIZE);
-
-Don't forget to change your default task handler!
-
-.. code-block:: c
-
-        os_eventq_dflt_set(&shell_evq);
-
-And then build it to make sure all goes well.
-
-.. code-block:: console
-
-    [user@IsMyLaptop:~/src/air_quality]$ newt build air_q
-    Compiling senseair.c
-    Archiving senseair.a
-    Linking air_quality.elf
-    App successfully built: /Users/user/src/air_quality/bin/air_q/apps/air_quality/air_quality.elf
-
-All looks good.
-
-Add CLI commands for testing drivers
+Add CLI Commands For Testing Drivers
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-While developing the driver, you want to issue operations from console
-asking it to do stuff. We'll assume that you've already worked through
-the tutorial on how to :doc:`enable the CLI <../blinky/blinky_console>`, so all
-we'll need to do is add the propper values to the project's
-``syscfg.yml`` file:
+While developing the driver, it would be helpful to issue operations from the console to verify the driver is responding correctly. Since the nRF52DK only has one UART, which will be used to connect to the CO2 sensor, the console we'll use instead is the :doc:`Segger RTT Console <segger_rtt>`. To configure this, make the following changes in your project's ``syscfg.yml`` file:
 
 .. code-block:: console
 
     [user@IsMyLaptop:~/src/air_quality]$ cat targets/air_q/syscfg.yml
     syscfg.vals:
-        # Set as per blinky_primo
-        OPENOCD_DEBUG: 1
         # Enable the shell task.
         SHELL_TASK: 1
-        STATS_CLI: 1
-        CONSOLE_TICKS: 1
-        CONSOLE_PROMPT: 1
+        # Use the RTT Console
+        CONSOLE_UART: 0
+        CONSOLE_RTT: 1
 
-Then register your senseair command with the shell by adding the
-following to ``libs/my_drivers/senseair/src/senseair.c``
+Then register your senseair command with the shell by adding the following to ``libs/my_drivers/senseair/src/senseair.c``
 
 .. code-block:: c
-
+    
+    #include <syscfg/syscfg.h>
     #include <shell/shell.h>
     #include <console/console.h>
     #include <assert.h>
@@ -485,77 +340,51 @@ following to ``libs/my_drivers/senseair/src/senseair.c``
 
     }
 
-Now you can you build this, download to target, and start minicom on
-your console port. If you haven't already, familiarize yourself with the
-tutorial on how to connect a serial port to your board
-:doc:`here <../../get_started/serial_access>`.
-
-You'll need to wire up your Board to a Serial converter first. On the
-Arduino Primo Board pin 1 is TX and pin 0 is RX so wire 1 to RX on your
-serial board, and 0 to TX on your serial board.
+Build the target, create an image, and load it onto your board. Then run ``telnet localhost 19021`` to start the RTT Console. 
 
 .. code-block:: console
 
-        [user@IsMyLaptop:~]$ minicom -D /dev/tty.usbserial-AH02MIE2
-        
-        
-        Welcome to minicom 2.7
-        
-        OPTIONS: 
-        Compiled on Oct 12 2015, 07:48:30.
-        Port /dev/tty.usbserial-AH02MIE2, 13:44:40
-        
-        Press CTRL-X Z for help on special keys
-        
-        ?
-        419: > ?
-        Commands:
-        641:     stat      echo         ?    prompt     ticks     tasks
-        643: mempools      date  senseair
-        644: > senseair
-        Yay! Somebody called!
-        1125: >
-        53611: > tasks
-        Tasks:
-        54047:    task pri tid  runtime      csw    stksz   stkuse   lcheck   ncheck flg
-        54057:    idle 255   0    54048    66890       64       30        0        0   0
-        54068:  ble_ll   0   1        9    64986       80       58        0        0   0
-        54079: bleprph   1   2        0        1      336       32        0        0   0
-        54090:   shell   2   3        0     2077      336      262        0        0   0
-        54101: >
-
-That's great. Your shell task is running, and is responding
-appropriately! You can connect the hardware to your board and start
+        [user@IsMyLaptop:~]$ telnet localhost 19021
+        Trying 127.0.0.1...
+        Connected to localhost.
+        Escape character is '^]'.
+        SEGGER J-Link V6.30j - Real time terminal output
+        J-Link OB-SAM3U128-V2-NordicSemi compiled Jan 12 2018 16:05:20 V1.0, SN=682771074
+        Process: JLinkGDBServerCLExe
+        x03 0x03 0x11 0x18 0x0f 0x09 0x6e 0x69 0x6d 0x62 0x6c 0x65 0x2d 0x62 0x6c 0x65 0x70 0x72 0x70 0x68 0x02 0x0a 0x00 0x00         0x00 0x00 0x00 0x00 
+        000006 [ts=46872ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8 ocf=0x8 status=0 
+        000006 [ts=46872ssb, mod=4 level=1] GAP procedure initiated: advertise; disc_mode=2 adv_channel_map=0 own_addr_type=0         adv_filter_policy=0 adv_itvl_min=0 adv_itvl_max=0
+        000006 [ts=46872ssb, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08 ocf=0x0006 len=15
+        000006 [ts=46872ssb, mod=4 level=0] 0x06 0x20 0x0f 0x30 0x00 0x60 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00           0x07 0x00 
+        000006 [ts=46872ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8 ocf=0x6 status=0 
+        000006 [ts=46872ssb, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08 ocf=0x000a len=1
+        000006 [ts=46872ssb, mod=4 level=0] 0x0a 0x20 0x01 0x01 
+        000006 [ts=46872ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8 ocf=0xa status=0 
+        000006 [ts=46872ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x0 ocf=0x0
+
+        001215 compat> 
+
+        001957 compat> help
+        help
+        002162 help
+        002162 tasks                         
+        002162 mpool                         
+        002162 date                          
+        002162 senseair                      
+        002162 compat> senseair
+        senseair
+        002514 Yay! Somebody called!
+        002514 compat> 
+
+If you can see the ``senseair`` command, and get the proper response, you can connect the hardware to your board and start
 developing code for the driver itself.
 
-Use of HAL for drivers
-~~~~~~~~~~~~~~~~~~~~~~
+Using HAL for Drivers
+~~~~~~~~~~~~~~~~~~~~~
 
-The sensor has a serial port connection, and that's how you are going to
-connect to it. Your original BSP, hw/bsp/arduino\_primo\_nrf52, has two
-UARTs set up. We're using one for our shell/console. It also has a
-second UART set up as a 'bit-bang' UART but since the SenseAir only
-needs to communicate at 9600 baud, this bit-banged uart is plenty fast
-enough.
-
-You'll have to make a small change to the ``syscfg.yml`` file in your
-project's target directory to change the pin definitions for this second
-UART. Those changes are as follows:
-
-.. code-block:: console
+We will connect the CO2 sensor using a serial port connection to the UART. We'll also use the HAL UART abstraction to do the UART port setup and data transfer. That way you don't need to have any platform dependent pieces within your little driver. Moreover, this also gives you the option to connect this sensor to another board, like Olimex or the Arduino Primo.
 
-        UART_0_PIN_TX: 23
-        UART_0_PIN_RX: 24
-
-With this in place, you can refer to serial port where your SenseAir
-sensor by a logical number. This makes the code more platform
-independent - you could connect this sensor to another board, like
-Olimex. You will also use the HAL UART abstraction to do the UART port
-setup and data transfer. That way you don't need to have any platform
-dependent pieces within your little driver.
-
-You will now see what the driver code ends up looking like. Here's the
-header file, filled in from the stub you created earlier.
+You will now see what the driver code ends up looking like. Here's the header file, filled in from the stub you created earlier:
 
 .. code-block:: c
 
@@ -590,12 +419,9 @@ header file, filled in from the stub you created earlier.
 
     #endif /* _SENSEAIR_H_ */
 
-As you can see, logical UART number has been added to the init routine.
-A 'read' function has been added, which is a blocking read. If you were
-making a commercial product, you would probably have a callback for
-reporting the results.
+As you can see, logical UART number has been added to the init routine. A 'read' function has also been added, which is a blocking read. If you were making a commercial product, you would probably have a callback for reporting the results.
 
-And here is the source for the driver.
+And here is the source for the driver:
 
 .. code-block:: c
 
@@ -618,7 +444,7 @@ And here is the source for the driver.
      * under the License.
      */
     #include <string.h>
-        
+    #include <syscfg/syscfg.h>  
     #include <shell/shell.h>
     #include <console/console.h>
     #include <os/os.h>
@@ -837,42 +663,25 @@ And your modified main() for senseair driver init.
         ....
         }
 
-You can see from the code that you are using the HAL interface to open a
-UART port, and using OS semaphore as a way of blocking the task when
-waiting for read response to come back from the sensor.
+You can see from the code that you are using the HAL interface to open a UART port, and using OS semaphore as a way of blocking the task when waiting for read response to come back from the sensor.
 
-Now comes the fun part: Hooking up the sensor! It's fun because a)
-hooking up a sensor is always fun and b) the SenseAir sensor's PCB is
-entirely unlabeled, so you'll have to trust us on how to hook it up.
+Now comes the fun part: Hooking up the sensor! It's fun because a) hooking up a sensor is always fun and b) the SenseAir sensor's PCB is entirely unlabeled, so you'll have to trust us on how to hook it up.
 
-So here we go.
-
-You'll have to do a little soldering. I soldered some header pins to the
-SenseAir K30 board to make connecting wires easier using standard jumper
-wires, but you can also just solder wires straight to the board if you
-prefer.
+You'll have to do a little soldering. I soldered some header pins to the SenseAir K30 board to make connecting wires easier using standard jumper wires, but you can also just solder wires straight to the board if you prefer.
 
 Here's what your SenseAir board should look like once it's wired up:
 
-.. figure:: ../pics/Senseair1.png
+.. figure:: ../pics/K30labeled.JPG
    :alt: SenseAir Wiring
 
    SenseAir Wiring
 
-Now that you have that wired up, let's get the Arduino Primo wired up. A
-couple of things to note:
-
--  The Arduino Primo's 'console' UART is actually UART1.
--  The secondary (bit-banged) UART is UART0, so that's where we'll have
-   to hook up the SenseAir.
-
-Here's what your Arduino Primo should now look like with everything
-wired in:
+Now that you have that wired up, let's connect it to the nRF52DK board. Since we will be using the built-in UART, we can simply connect it to the pre-configured pins for TX (P.06) and RX (P.08). Here's what your board should look like once everything is connected: 
 
-.. figure:: ../pics/Senseair2.png
-   :alt: SenseAir and Arduino Primo Wiring
+.. figure:: ../pics/nrf52labeled.JPG
+   :alt: SenseAir and nRF52DK Wiring
 
-   SenseAir and Arduino Primo Wiring
+   SenseAir and nRF52DK Wiring
 
 Everything is wired and you're ready to go! Build and load your new app:
 
@@ -893,25 +702,43 @@ Now, you should be able to connect to your serial port and read values:
 
 .. code-block:: console
 
-    user@IsMyLaptop:~]$ minicom -D /dev/tty.usbserial-AH02MIE2
-        
-        
-        Welcome to minicom 2.7
-        
-        OPTIONS: 
-        Compiled on Oct 12 2015, 07:48:30.
-        Port /dev/tty.usbserial-AH02MIE2, 13:44:40
-        
-        Press CTRL-X Z for help on special keys
-        
-        1185: > ?
-        Commands:
-        1382:     stat      echo         ?    prompt     ticks     tasks
-        1390: mempools      date  senseair
-        1395: > senseair
-        senseair co2
-        2143: > senseair co2
-        Got 973
+    user@IsMyLaptop:~]$ telnet localhost 19021
+    Trying 127.0.0.1...
+    Connected to localhost.
+    Escape character is '^]'.
+    SEGGER J-Link V6.30j - Real time terminal output
+    J-Link OB-SAM3U128-V2-NordicSemi compiled Jan 12 2018 16:05:20 V1.0, SN=682771074
+    Process: JLinkGDBServerCLExe
+    x03 0x03 0x11 0x18 0x0f 0x09 0x6e 0x69 0x6d 0x62 0x6c 0x65 0x2d 0x62 0x6c 0x65 0x70 0x72 0x70 0x68 0x02 0x0a 0x00 0x00         0x00 0x00 0x00 0x00 
+    000006 [ts=46872ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8 ocf=0x8 status=0 
+    000006 [ts=46872ssb, mod=4 level=1] GAP procedure initiated: advertise; disc_mode=2 adv_channel_map=0 own_addr_type=0         adv_filter_policy=0 adv_itvl_min=0 adv_itvl_max=0
+    000006 [ts=46872ssb, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08 ocf=0x0006 len=15
+    000006 [ts=46872ssb, mod=4 level=0] 0x06 0x20 0x0f 0x30 0x00 0x60 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x07       0x00 
+    000006 [ts=46872ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8 ocf=0x6 status=0 
+    000006 [ts=46872ssb, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08 ocf=0x000a len=1
+    000006 [ts=46872ssb, mod=4 level=0] 0x0a 0x20 0x01 0x01 
+    000007 [ts=54684ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8 ocf=0xa status=0 
+    000007 [ts=54684ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x0 ocf=0x0
+
+
+    000895 compat> 
+
+    000998 compat> help
+    help
+    001414 help
+    001414 tasks                         
+    001414 mpool                         
+    001414 date                          
+    001414 senseair                      
+    001414 compat> senseair
+    senseair
+    001714 senseair co2
+    001714 compat> senseair co2
+    senseair co2
+    002098 Got 0
+    002098 compat> senseair co2
+    senseair co2
+    002719 Got 1168
         
 
 And you're getting valid readings! Congratulations!
diff --git a/develop/objects.inv b/develop/objects.inv
index 7b1050129..d5732828a 100644
Binary files a/develop/objects.inv and b/develop/objects.inv differ
diff --git a/develop/searchindex.js b/develop/searchindex.js
index d2264fce5..b709afe55 100644
--- a/develop/searchindex.js
+++ b/develop/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["_static/common","concepts","get_started/docker","get_started/index","get_started/native_install/cross_tools","get_started/native_install/index","get_started/native_install/native_tools","get_started/project_create","get_started/serial_access","index","misc/faq","misc/go_env","misc/ide","misc/index","mynewt_faq","network/ble/ble_hs/ble_att","network/ble/ble_hs/ble_gap","network/ble/ble_hs/ble_gattc","network/ble/ble_hs/ble_gatts","network/ble/ble_hs/ble_hs","network/ble/ble_hs/ble_hs_id","network/ble/ble_hs/ble_hs_return_codes","network/ble/ble_intro","network/ble/ble_sec","network/ble/ble_setup/ble_addr","network/ble/ble_setup/ble_lp_clock","network/ble/ble_setup/ble_setup_intro","network/ble/ble_setup/ble_sync_cb","network/ble/btshell/btshell_GAP","network/ble/btshell/btshell_GATT","network/ble/btshell/btshell_advdata","network/ble/btshell/btshell_api","network/ble/mesh/index","network/ble/mesh/sample","newt/README","newt/command_list/newt_build","newt/command_list/newt_clean","newt/command_list/newt_complete","newt/command_list/newt_create_image","newt/command_list/newt_debug","newt/command_list/newt_help","newt/command_list/newt_info","newt/command_list/newt_install","newt/command_list/newt_load","newt/command_list/newt_mfg","newt/command_list/newt_new","newt/command_list/newt_pkg","newt/command_list/newt_resign_image","newt/command_list/newt_run","newt/command_list/newt_size","newt/command_list/newt_sync","newt/command_list/newt_target","newt/command_list/newt_test","newt/command_list/newt_upgrade","newt/command_list/newt_vals","newt/command_list/newt_version","newt/index","newt/install/index","newt/install/newt_linux","newt/install/newt_mac","newt/install/newt_windows","newt/install/prev_releases","newt/newt_operation","newt/newt_ops","newtmgr/README","newtmgr/command_list/index","newtmgr/command_list/newtmgr_config","newtmgr/command_list/newtmgr_conn","newtmgr/command_list/newtmgr_crash","newtmgr/command_list/newtmgr_datetime","newtmgr/command_list/newtmgr_echo","newtmgr/command_list/newtmgr_fs","newtmgr/command_list/newtmgr_image","newtmgr/command_list/newtmgr_logs","newtmgr/command_list/newtmgr_mpstats","newtmgr/command_list/newtmgr_reset","newtmgr/command_list/newtmgr_run","newtmgr/command_list/newtmgr_stat","newtmgr/command_list/newtmgr_taskstats","newtmgr/index","newtmgr/install/index","newtmgr/install/install_linux","newtmgr/install/install_mac","newtmgr/install/install_windows","newtmgr/install/prev_releases","os/core_os/callout/callout","os/core_os/context_switch/context_switch","os/core_os/cputime/os_cputime","os/core_os/event_queue/event_queue","os/core_os/heap/heap","os/core_os/mbuf/mbuf","os/core_os/memory_pool/memory_pool","os/core_os/mutex/mutex","os/core_os/mynewt_os","os/core_os/porting/port_bsp","os/core_os/porting/port_cpu","os/core_os/porting/port_mcu","os/core_os/porting/port_os","os/core_os/sanity/sanity","os/core_os/semaphore/semaphore","os/core_os/task/task","os/core_os/time/os_time","os/modules/baselibc","os/modules/bootloader/boot_build_status","os/modules/bootloader/boot_build_status_one","os/modules/bootloader/boot_clear_status","os/modules/bootloader/boot_copy_area","os/modules/bootloader/boot_copy_image","os/modules/bootloader/boot_erase_area","os/modules/bootloader/boot_fill_slot","os/modules/bootloader/boot_find_image_area_idx","os/modules/bootloader/boot_find_image_part","os/modules/bootloader/boot_find_image_slot","os/modules/bootloader/boot_go","os/modules/bootloader/boot_init_flash","os/modules/bootloader/boot_move_area","os/modules/bootloader/boot_read_image_header","os/modules/bootloader/boot_read_image_headers","os/modules/bootloader/boot_read_status","os/modules/bootloader/boot_select_image_slot","os/modules/bootloader/boot_slot_addr","os/modules/bootloader/boot_slot_to_area_idx","os/modules/bootloader/boot_swap_areas","os/modules/bootloader/boot_vect_delete_main","os/modules/bootloader/boot_vect_delete_test","os/modules/bootloader/boot_vect_read_main","os/modules/bootloader/boot_vect_read_one","os/modules/bootloader/boot_vect_read_test","os/modules/bootloader/boot_write_status","os/modules/bootloader/bootloader","os/modules/config/config","os/modules/console/console","os/modules/devmgmt/customize_newtmgr","os/modules/devmgmt/newtmgr","os/modules/devmgmt/oicmgr","os/modules/drivers/driver","os/modules/drivers/flash","os/modules/drivers/mmc","os/modules/elua/elua","os/modules/elua/lua_init","os/modules/elua/lua_main","os/modules/fcb/fcb","os/modules/fcb/fcb_append","os/modules/fcb/fcb_append_finish","os/modules/fcb/fcb_append_to_scratch","os/modules/fcb/fcb_clear","os/modules/fcb/fcb_getnext","os/modules/fcb/fcb_init","os/modules/fcb/fcb_is_empty","os/modules/fcb/fcb_offset_last_n","os/modules/fcb/fcb_rotate","os/modules/fcb/fcb_walk","os/modules/fs/fatfs","os/modules/fs/fs/fs","os/modules/fs/fs/fs_close","os/modules/fs/fs/fs_closedir","os/modules/fs/fs/fs_dirent_is_dir","os/modules/fs/fs/fs_dirent_name","os/modules/fs/fs/fs_filelen","os/modules/fs/fs/fs_getpos","os/modules/fs/fs/fs_mkdir","os/modules/fs/fs/fs_open","os/modules/fs/fs/fs_opendir","os/modules/fs/fs/fs_ops","os/modules/fs/fs/fs_read","os/modules/fs/fs/fs_readdir","os/modules/fs/fs/fs_register","os/modules/fs/fs/fs_rename","os/modules/fs/fs/fs_return_codes","os/modules/fs/fs/fs_seek","os/modules/fs/fs/fs_unlink","os/modules/fs/fs/fs_write","os/modules/fs/fs/fsutil_read_file","os/modules/fs/fs/fsutil_write_file","os/modules/fs/nffs/nffs","os/modules/fs/nffs/nffs_area_desc","os/modules/fs/nffs/nffs_config","os/modules/fs/nffs/nffs_detect","os/modules/fs/nffs/nffs_format","os/modules/fs/nffs/nffs_init","os/modules/fs/nffs/nffs_internals","os/modules/fs/otherfs","os/modules/hal/hal","os/modules/hal/hal_bsp/hal_bsp","os/modules/hal/hal_creation","os/modules/hal/hal_flash/hal_flash","os/modules/hal/hal_flash/hal_flash_int","os/modules/hal/hal_gpio/hal_gpio","os/modules/hal/hal_i2c/hal_i2c","os/modules/hal/hal_in_libraries","os/modules/hal/hal_os_tick/hal_os_tick","os/modules/hal/hal_spi/hal_spi","os/modules/hal/hal_system/hal_sys","os/modules/hal/hal_timer/hal_timer","os/modules/hal/hal_uart/hal_uart","os/modules/hal/hal_watchdog/hal_watchdog","os/modules/imgmgr/imgmgr","os/modules/imgmgr/imgmgr_module_init","os/modules/imgmgr/imgr_ver_parse","os/modules/imgmgr/imgr_ver_str","os/modules/json/json","os/modules/json/json_encode_object_entry","os/modules/json/json_encode_object_finish","os/modules/json/json_encode_object_key","os/modules/json/json_encode_object_start","os/modules/json/json_read_object","os/modules/logs/logs","os/modules/sensor_framework/sensor_api","os/modules/sensor_framework/sensor_create","os/modules/sensor_framework/sensor_driver","os/modules/sensor_framework/sensor_framework_overview","os/modules/sensor_framework/sensor_listener_api","os/modules/sensor_framework/sensor_mgr_api","os/modules/sensor_framework/sensor_oic","os/modules/sensor_framework/sensor_shell","os/modules/shell/shell","os/modules/shell/shell_cmd_register","os/modules/shell/shell_evq_set","os/modules/shell/shell_nlip_input_register","os/modules/shell/shell_nlip_output","os/modules/shell/shell_register","os/modules/shell/shell_register_app_cmd_handler","os/modules/shell/shell_register_default_module","os/modules/split/split","os/modules/stats/stats","os/modules/sysinitconfig/sysconfig_error","os/modules/sysinitconfig/sysinitconfig","os/modules/system_modules","os/modules/testutil/test_assert","os/modules/testutil/test_case","os/modules/testutil/test_decl","os/modules/testutil/test_pass","os/modules/testutil/test_suite","os/modules/testutil/testutil","os/modules/testutil/tu_init","os/modules/testutil/tu_restart","os/os_user_guide","os/tutorials/STM32F303","os/tutorials/add_newtmgr","os/tutorials/define_target","os/tutorials/event_queue","os/tutorials/ota_upgrade_nrf52","os/tutorials/pin-wheel-mods","os/tutorials/tasks_lesson","os/tutorials/try_markdown","tutorials/ble/ble","tutorials/ble/ble_bare_bones","tutorials/ble/blehci_project","tutorials/ble/bleprph/bleprph","tutorials/ble/bleprph/bleprph-sections/bleprph-adv","tutorials/ble/bleprph/bleprph-sections/bleprph-app","tutorials/ble/bleprph/bleprph-sections/bleprph-chr-access","tutorials/ble/bleprph/bleprph-sections/bleprph-gap-event","tutorials/ble/bleprph/bleprph-sections/bleprph-svc-reg","tutorials/ble/eddystone","tutorials/ble/ibeacon","tutorials/blinky/arduino_zero","tutorials/blinky/blinky","tutorials/blinky/blinky_console","tutorials/blinky/blinky_primo","tutorials/blinky/blinky_stm32f4disc","tutorials/blinky/nRF52","tutorials/blinky/olimex","tutorials/blinky/rbnano2","tutorials/lora/lorawanapp","tutorials/other/codesize","tutorials/other/other","tutorials/other/unit_test","tutorials/other/wi-fi_on_arduino","tutorials/repo/add_repos","tutorials/repo/create_repo","tutorials/repo/private_repo","tutorials/repo/upgrade_repo","tutorials/sensors/air_quality","tutorials/sensors/air_quality_ble","tutorials/sensors/air_quality_sensor","tutorials/sensors/nrf52_adc","tutorials/sensors/sensor_bleprph_oic","tutorials/sensors/sensor_nrf52_bno055","tutorials/sensors/sensor_nrf52_bno055_oic","tutorials/sensors/sensor_offboard_config","tutorials/sensors/sensor_oic_overview","tutorials/sensors/sensor_thingy_lis2dh12_onb","tutorials/sensors/sensors","tutorials/sensors/sensors_framework","tutorials/slinky/project-nrf52-slinky","tutorials/slinky/project-sim-slinky","tutorials/slinky/project-slinky","tutorials/slinky/project-stm32-slinky","tutorials/tooling/segger_rtt","tutorials/tooling/segger_sysview","tutorials/tooling/tooling","tutorials/tutorials"],envversion:52,filenames:["_static/common.rst","concepts.rst","get_started/docker.rst","get_started/index.rst","get_started/native_install/cross_tools.rst","get_started/native_install/index.rst","get_started/native_install/native_tools.rst","get_started/project_create.rst","get_started/serial_access.rst","index.rst","misc/faq.rst","misc/go_env.rst","misc/ide.rst","misc/index.rst","mynewt_faq.rst","network/ble/ble_hs/ble_att.rst","network/ble/ble_hs/ble_gap.rst","network/ble/ble_hs/ble_gattc.rst","network/ble/ble_hs/ble_gatts.rst","network/ble/ble_hs/ble_hs.rst","network/ble/ble_hs/ble_hs_id.rst","network/ble/ble_hs/ble_hs_return_codes.rst","network/ble/ble_intro.rst","network/ble/ble_sec.rst","network/ble/ble_setup/ble_addr.rst","network/ble/ble_setup/ble_lp_clock.rst","network/ble/ble_setup/ble_setup_intro.rst","network/ble/ble_setup/ble_sync_cb.rst","network/ble/btshell/btshell_GAP.rst","network/ble/btshell/btshell_GATT.rst","network/ble/btshell/btshell_advdata.rst","network/ble/btshell/btshell_api.rst","network/ble/mesh/index.rst","network/ble/mesh/sample.rst","newt/README.rst","newt/command_list/newt_build.rst","newt/command_list/newt_clean.rst","newt/command_list/newt_complete.rst","newt/command_list/newt_create_image.rst","newt/command_list/newt_debug.rst","newt/command_list/newt_help.rst","newt/command_list/newt_info.rst","newt/command_list/newt_install.rst","newt/command_list/newt_load.rst","newt/command_list/newt_mfg.rst","newt/command_list/newt_new.rst","newt/command_list/newt_pkg.rst","newt/command_list/newt_resign_image.rst","newt/command_list/newt_run.rst","newt/command_list/newt_size.rst","newt/command_list/newt_sync.rst","newt/command_list/newt_target.rst","newt/command_list/newt_test.rst","newt/command_list/newt_upgrade.rst","newt/command_list/newt_vals.rst","newt/command_list/newt_version.rst","newt/index.rst","newt/install/index.rst","newt/install/newt_linux.rst","newt/install/newt_mac.rst","newt/install/newt_windows.rst","newt/install/prev_releases.rst","newt/newt_operation.rst","newt/newt_ops.rst","newtmgr/README.rst","newtmgr/command_list/index.rst","newtmgr/command_list/newtmgr_config.rst","newtmgr/command_list/newtmgr_conn.rst","newtmgr/command_list/newtmgr_crash.rst","newtmgr/command_list/newtmgr_datetime.rst","newtmgr/command_list/newtmgr_echo.rst","newtmgr/command_list/newtmgr_fs.rst","newtmgr/command_list/newtmgr_image.rst","newtmgr/command_list/newtmgr_logs.rst","newtmgr/command_list/newtmgr_mpstats.rst","newtmgr/command_list/newtmgr_reset.rst","newtmgr/command_list/newtmgr_run.rst","newtmgr/command_list/newtmgr_stat.rst","newtmgr/command_list/newtmgr_taskstats.rst","newtmgr/index.rst","newtmgr/install/index.rst","newtmgr/install/install_linux.rst","newtmgr/install/install_mac.rst","newtmgr/install/install_windows.rst","newtmgr/install/prev_releases.rst","os/core_os/callout/callout.rst","os/core_os/context_switch/context_switch.rst","os/core_os/cputime/os_cputime.rst","os/core_os/event_queue/event_queue.rst","os/core_os/heap/heap.rst","os/core_os/mbuf/mbuf.rst","os/core_os/memory_pool/memory_pool.rst","os/core_os/mutex/mutex.rst","os/core_os/mynewt_os.rst","os/core_os/porting/port_bsp.rst","os/core_os/porting/port_cpu.rst","os/core_os/porting/port_mcu.rst","os/core_os/porting/port_os.rst","os/core_os/sanity/sanity.rst","os/core_os/semaphore/semaphore.rst","os/core_os/task/task.rst","os/core_os/time/os_time.rst","os/modules/baselibc.rst","os/modules/bootloader/boot_build_status.rst","os/modules/bootloader/boot_build_status_one.rst","os/modules/bootloader/boot_clear_status.rst","os/modules/bootloader/boot_copy_area.rst","os/modules/bootloader/boot_copy_image.rst","os/modules/bootloader/boot_erase_area.rst","os/modules/bootloader/boot_fill_slot.rst","os/modules/bootloader/boot_find_image_area_idx.rst","os/modules/bootloader/boot_find_image_part.rst","os/modules/bootloader/boot_find_image_slot.rst","os/modules/bootloader/boot_go.rst","os/modules/bootloader/boot_init_flash.rst","os/modules/bootloader/boot_move_area.rst","os/modules/bootloader/boot_read_image_header.rst","os/modules/bootloader/boot_read_image_headers.rst","os/modules/bootloader/boot_read_status.rst","os/modules/bootloader/boot_select_image_slot.rst","os/modules/bootloader/boot_slot_addr.rst","os/modules/bootloader/boot_slot_to_area_idx.rst","os/modules/bootloader/boot_swap_areas.rst","os/modules/bootloader/boot_vect_delete_main.rst","os/modules/bootloader/boot_vect_delete_test.rst","os/modules/bootloader/boot_vect_read_main.rst","os/modules/bootloader/boot_vect_read_one.rst","os/modules/bootloader/boot_vect_read_test.rst","os/modules/bootloader/boot_write_status.rst","os/modules/bootloader/bootloader.rst","os/modules/config/config.rst","os/modules/console/console.rst","os/modules/devmgmt/customize_newtmgr.rst","os/modules/devmgmt/newtmgr.rst","os/modules/devmgmt/oicmgr.rst","os/modules/drivers/driver.rst","os/modules/drivers/flash.rst","os/modules/drivers/mmc.rst","os/modules/elua/elua.rst","os/modules/elua/lua_init.rst","os/modules/elua/lua_main.rst","os/modules/fcb/fcb.rst","os/modules/fcb/fcb_append.rst","os/modules/fcb/fcb_append_finish.rst","os/modules/fcb/fcb_append_to_scratch.rst","os/modules/fcb/fcb_clear.rst","os/modules/fcb/fcb_getnext.rst","os/modules/fcb/fcb_init.rst","os/modules/fcb/fcb_is_empty.rst","os/modules/fcb/fcb_offset_last_n.rst","os/modules/fcb/fcb_rotate.rst","os/modules/fcb/fcb_walk.rst","os/modules/fs/fatfs.rst","os/modules/fs/fs/fs.rst","os/modules/fs/fs/fs_close.rst","os/modules/fs/fs/fs_closedir.rst","os/modules/fs/fs/fs_dirent_is_dir.rst","os/modules/fs/fs/fs_dirent_name.rst","os/modules/fs/fs/fs_filelen.rst","os/modules/fs/fs/fs_getpos.rst","os/modules/fs/fs/fs_mkdir.rst","os/modules/fs/fs/fs_open.rst","os/modules/fs/fs/fs_opendir.rst","os/modules/fs/fs/fs_ops.rst","os/modules/fs/fs/fs_read.rst","os/modules/fs/fs/fs_readdir.rst","os/modules/fs/fs/fs_register.rst","os/modules/fs/fs/fs_rename.rst","os/modules/fs/fs/fs_return_codes.rst","os/modules/fs/fs/fs_seek.rst","os/modules/fs/fs/fs_unlink.rst","os/modules/fs/fs/fs_write.rst","os/modules/fs/fs/fsutil_read_file.rst","os/modules/fs/fs/fsutil_write_file.rst","os/modules/fs/nffs/nffs.rst","os/modules/fs/nffs/nffs_area_desc.rst","os/modules/fs/nffs/nffs_config.rst","os/modules/fs/nffs/nffs_detect.rst","os/modules/fs/nffs/nffs_format.rst","os/modules/fs/nffs/nffs_init.rst","os/modules/fs/nffs/nffs_internals.rst","os/modules/fs/otherfs.rst","os/modules/hal/hal.rst","os/modules/hal/hal_bsp/hal_bsp.rst","os/modules/hal/hal_creation.rst","os/modules/hal/hal_flash/hal_flash.rst","os/modules/hal/hal_flash/hal_flash_int.rst","os/modules/hal/hal_gpio/hal_gpio.rst","os/modules/hal/hal_i2c/hal_i2c.rst","os/modules/hal/hal_in_libraries.rst","os/modules/hal/hal_os_tick/hal_os_tick.rst","os/modules/hal/hal_spi/hal_spi.rst","os/modules/hal/hal_system/hal_sys.rst","os/modules/hal/hal_timer/hal_timer.rst","os/modules/hal/hal_uart/hal_uart.rst","os/modules/hal/hal_watchdog/hal_watchdog.rst","os/modules/imgmgr/imgmgr.rst","os/modules/imgmgr/imgmgr_module_init.rst","os/modules/imgmgr/imgr_ver_parse.rst","os/modules/imgmgr/imgr_ver_str.rst","os/modules/json/json.rst","os/modules/json/json_encode_object_entry.rst","os/modules/json/json_encode_object_finish.rst","os/modules/json/json_encode_object_key.rst","os/modules/json/json_encode_object_start.rst","os/modules/json/json_read_object.rst","os/modules/logs/logs.rst","os/modules/sensor_framework/sensor_api.rst","os/modules/sensor_framework/sensor_create.rst","os/modules/sensor_framework/sensor_driver.rst","os/modules/sensor_framework/sensor_framework_overview.rst","os/modules/sensor_framework/sensor_listener_api.rst","os/modules/sensor_framework/sensor_mgr_api.rst","os/modules/sensor_framework/sensor_oic.rst","os/modules/sensor_framework/sensor_shell.rst","os/modules/shell/shell.rst","os/modules/shell/shell_cmd_register.rst","os/modules/shell/shell_evq_set.rst","os/modules/shell/shell_nlip_input_register.rst","os/modules/shell/shell_nlip_output.rst","os/modules/shell/shell_register.rst","os/modules/shell/shell_register_app_cmd_handler.rst","os/modules/shell/shell_register_default_module.rst","os/modules/split/split.rst","os/modules/stats/stats.rst","os/modules/sysinitconfig/sysconfig_error.rst","os/modules/sysinitconfig/sysinitconfig.rst","os/modules/system_modules.rst","os/modules/testutil/test_assert.rst","os/modules/testutil/test_case.rst","os/modules/testutil/test_decl.rst","os/modules/testutil/test_pass.rst","os/modules/testutil/test_suite.rst","os/modules/testutil/testutil.rst","os/modules/testutil/tu_init.rst","os/modules/testutil/tu_restart.rst","os/os_user_guide.rst","os/tutorials/STM32F303.rst","os/tutorials/add_newtmgr.rst","os/tutorials/define_target.rst","os/tutorials/event_queue.rst","os/tutorials/ota_upgrade_nrf52.rst","os/tutorials/pin-wheel-mods.rst","os/tutorials/tasks_lesson.rst","os/tutorials/try_markdown.rst","tutorials/ble/ble.rst","tutorials/ble/ble_bare_bones.rst","tutorials/ble/blehci_project.rst","tutorials/ble/bleprph/bleprph.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-adv.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-app.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-chr-access.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-gap-event.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-svc-reg.rst","tutorials/ble/eddystone.rst","tutorials/ble/ibeacon.rst","tutorials/blinky/arduino_zero.rst","tutorials/blinky/blinky.rst","tutorials/blinky/blinky_console.rst","tutorials/blinky/blinky_primo.rst","tutorials/blinky/blinky_stm32f4disc.rst","tutorials/blinky/nRF52.rst","tutorials/blinky/olimex.rst","tutorials/blinky/rbnano2.rst","tutorials/lora/lorawanapp.rst","tutorials/other/codesize.rst","tutorials/other/other.rst","tutorials/other/unit_test.rst","tutorials/other/wi-fi_on_arduino.rst","tutorials/repo/add_repos.rst","tutorials/repo/create_repo.rst","tutorials/repo/private_repo.rst","tutorials/repo/upgrade_repo.rst","tutorials/sensors/air_quality.rst","tutorials/sensors/air_quality_ble.rst","tutorials/sensors/air_quality_sensor.rst","tutorials/sensors/nrf52_adc.rst","tutorials/sensors/sensor_bleprph_oic.rst","tutorials/sensors/sensor_nrf52_bno055.rst","tutorials/sensors/sensor_nrf52_bno055_oic.rst","tutorials/sensors/sensor_offboard_config.rst","tutorials/sensors/sensor_oic_overview.rst","tutorials/sensors/sensor_thingy_lis2dh12_onb.rst","tutorials/sensors/sensors.rst","tutorials/sensors/sensors_framework.rst","tutorials/slinky/project-nrf52-slinky.rst","tutorials/slinky/project-sim-slinky.rst","tutorials/slinky/project-slinky.rst","tutorials/slinky/project-stm32-slinky.rst","tutorials/tooling/segger_rtt.rst","tutorials/tooling/segger_sysview.rst","tutorials/tooling/tooling.rst","tutorials/tutorials.rst"],objects:{"":{"HALGpio::HAL_GPIO_MODE_IN":[187,1,1,"c.HALGpio::HAL_GPIO_MODE_IN"],"HALGpio::HAL_GPIO_MODE_NC":[187,1,1,"c.HALGpio::HAL_GPIO_MODE_NC"],"HALGpio::HAL_GPIO_MODE_OUT":[187,1,1,"c.HALGpio::HAL_GPIO_MODE_OUT"],"HALGpio::HAL_GPIO_PULL_DOWN":[187,1,1,"c.HALGpio::HAL_GPIO_PULL_DOWN"],"HALGpio::HAL_GPIO_PULL_NONE":[187,1,1,"c.HALGpio::HAL_GPIO_PULL_NONE"],"HALGpio::HAL_GPIO_PULL_UP":[187,1,1,"c.HALGpio::HAL_GPIO_PULL_UP"],"HALGpio::HAL_GPIO_TRIG_BOTH":[187,1,1,"c.HALGpio::HAL_GPIO_TRIG_BOTH"],"HALGpio::HAL_GPIO_TRIG_FALLING":[187,1,1,"c.HALGpio::HAL_GPIO_TRIG_FALLING"],"HALGpio::HAL_GPIO_TRIG_HIGH":[187,1,1,"c.HALGpio::HAL_GPIO_TRIG_HIGH"],"HALGpio::HAL_GPIO_TRIG_LOW":[187,1,1,"c.HALGpio::HAL_GPIO_TRIG_LOW"],"HALGpio::HAL_GPIO_TRIG_NONE":[187,1,1,"c.HALGpio::HAL_GPIO_TRIG_NONE"],"HALGpio::HAL_GPIO_TRIG_RISING":[187,1,1,"c.HALGpio::HAL_GPIO_TRIG_RISING"],"HALGpio::hal_gpio_irq_trigger":[187,2,1,"c.HALGpio::hal_gpio_irq_trigger"],"HALGpio::hal_gpio_mode_e":[187,2,1,"c.HALGpio::hal_gpio_mode_e"],"HALGpio::hal_gpio_pull":[187,2,1,"c.HALGpio::hal_gpio_pull"],"HALSystem::HAL_RESET_BROWNOUT":[192,1,1,"c.HALSystem::HAL_RESET_BROWNOUT"],"HALSystem::HAL_RESET_PIN":[192,1,1,"c.HALSystem::HAL_RESET_PIN"],"HALSystem::HAL_RESET_POR":[192,1,1,"c.HALSystem::HAL_RESET_POR"],"HALSystem::HAL_RESET_REQUESTED":[192,1,1,"c.HALSystem::HAL_RESET_REQUESTED"],"HALSystem::HAL_RESET_SOFT":[192,1,1,"c.HALSystem::HAL_RESET_SOFT"],"HALSystem::HAL_RESET_WATCHDOG":[192,1,1,"c.HALSystem::HAL_RESET_WATCHDOG"],"HALSystem::hal_reset_reason":[192,2,1,"c.HALSystem::hal_reset_reason"],"HALUart::HAL_UART_FLOW_CTL_NONE":[194,1,1,"c.HALUart::HAL_UART_FLOW_CTL_NONE"],"HALUart::HAL_UART_FLOW_CTL_RTS_CTS":[194,1,1,"c.HALUart::HAL_UART_FLOW_CTL_RTS_CTS"],"HALUart::HAL_UART_PARITY_EVEN":[194,1,1,"c.HALUart::HAL_UART_PARITY_EVEN"],"HALUart::HAL_UART_PARITY_NONE":[194,1,1,"c.HALUart::HAL_UART_PARITY_NONE"],"HALUart::HAL_UART_PARITY_ODD":[194,1,1,"c.HALUart::HAL_UART_PARITY_ODD"],"HALUart::hal_uart_flow_ctl":[194,2,1,"c.HALUart::hal_uart_flow_ctl"],"HALUart::hal_uart_parity":[194,2,1,"c.HALUart::hal_uart_parity"],"OSTask::OS_TASK_READY":[100,1,1,"c.OSTask::OS_TASK_READY"],"OSTask::OS_TASK_SLEEP":[100,1,1,"c.OSTask::OS_TASK_SLEEP"],"OSTask::os_task_state":[100,2,1,"c.OSTask::os_task_state"],"SysConfig::CONF_EXPORT_PERSIST":[130,1,1,"c.SysConfig::CONF_EXPORT_PERSIST"],"SysConfig::CONF_EXPORT_SHOW":[130,1,1,"c.SysConfig::CONF_EXPORT_SHOW"],"SysConfig::conf_export_tgt":[130,2,1,"c.SysConfig::conf_export_tgt"],"SysConfig::conf_type":[130,2,1,"c.SysConfig::conf_type"],"conf_handler::ch_commit":[130,5,1,"c.conf_handler::ch_commit"],"conf_handler::ch_export":[130,5,1,"c.conf_handler::ch_export"],"conf_handler::ch_get":[130,5,1,"c.conf_handler::ch_get"],"conf_handler::ch_name":[130,5,1,"c.conf_handler::ch_name"],"conf_handler::ch_set":[130,5,1,"c.conf_handler::ch_set"],"console_input::line":[131,5,1,"c.console_input::line"],"hal_i2c_master_data::address":[188,5,1,"c.hal_i2c_master_data::address"],"hal_i2c_master_data::buffer":[188,5,1,"c.hal_i2c_master_data::buffer"],"hal_spi_settings::baudrate":[191,5,1,"c.hal_spi_settings::baudrate"],"hal_spi_settings::data_mode":[191,5,1,"c.hal_spi_settings::data_mode"],"hal_spi_settings::data_order":[191,5,1,"c.hal_spi_settings::data_order"],"hal_spi_settings::word_size":[191,5,1,"c.hal_spi_settings::word_size"],"hal_timer::bsp_timer":[193,5,1,"c.hal_timer::bsp_timer"],"hal_timer::cb_arg":[193,5,1,"c.hal_timer::cb_arg"],"hal_timer::cb_func":[193,5,1,"c.hal_timer::cb_func"],"hal_timer::expiry":[193,5,1,"c.hal_timer::expiry"],"os_callout::c_ev":[85,5,1,"c.os_callout::c_ev"],"os_callout::c_evq":[85,5,1,"c.os_callout::c_evq"],"os_callout::c_ticks":[85,5,1,"c.os_callout::c_ticks"],"os_event::ev_arg":[88,5,1,"c.os_event::ev_arg"],"os_event::ev_cb":[88,5,1,"c.os_event::ev_cb"],"os_event::ev_queued":[88,5,1,"c.os_event::ev_queued"],"os_eventq::evq_owner":[88,5,1,"c.os_eventq::evq_owner"],"os_eventq::evq_task":[88,5,1,"c.os_eventq::evq_task"],"os_mbuf::om_data":[90,5,1,"c.os_mbuf::om_data"],"os_mbuf::om_flags":[90,5,1,"c.os_mbuf::om_flags"],"os_mbuf::om_len":[90,5,1,"c.os_mbuf::om_len"],"os_mbuf::om_omp":[90,5,1,"c.os_mbuf::om_omp"],"os_mbuf::om_pkthdr_len":[90,5,1,"c.os_mbuf::om_pkthdr_len"],"os_mbuf_pkthdr::omp_flags":[90,5,1,"c.os_mbuf_pkthdr::omp_flags"],"os_mbuf_pkthdr::omp_len":[90,5,1,"c.os_mbuf_pkthdr::omp_len"],"os_mbuf_pool::omp_databuf_len":[90,5,1,"c.os_mbuf_pool::omp_databuf_len"],"os_mbuf_pool::omp_pool":[90,5,1,"c.os_mbuf_pool::omp_pool"],"os_mempool::mp_block_size":[91,5,1,"c.os_mempool::mp_block_size"],"os_mempool::mp_flags":[91,5,1,"c.os_mempool::mp_flags"],"os_mempool::mp_membuf_addr":[91,5,1,"c.os_mempool::mp_membuf_addr"],"os_mempool::mp_min_free":[91,5,1,"c.os_mempool::mp_min_free"],"os_mempool::mp_num_blocks":[91,5,1,"c.os_mempool::mp_num_blocks"],"os_mempool::mp_num_free":[91,5,1,"c.os_mempool::mp_num_free"],"os_mempool::name":[91,5,1,"c.os_mempool::name"],"os_mempool_info::omi_block_size":[91,5,1,"c.os_mempool_info::omi_block_size"],"os_mempool_info::omi_min_free":[91,5,1,"c.os_mempool_info::omi_min_free"],"os_mempool_info::omi_num_blocks":[91,5,1,"c.os_mempool_info::omi_num_blocks"],"os_mempool_info::omi_num_free":[91,5,1,"c.os_mempool_info::omi_num_free"],"os_mqueue::mq_ev":[90,5,1,"c.os_mqueue::mq_ev"],"os_mutex::SLIST_HEAD":[92,3,1,"c.os_mutex::SLIST_HEAD"],"os_mutex::_pad":[92,5,1,"c.os_mutex::_pad"],"os_mutex::mu_level":[92,5,1,"c.os_mutex::mu_level"],"os_mutex::mu_owner":[92,5,1,"c.os_mutex::mu_owner"],"os_mutex::mu_prio":[92,5,1,"c.os_mutex::mu_prio"],"os_sanity_check::sc_arg":[98,5,1,"c.os_sanity_check::sc_arg"],"os_sanity_check::sc_checkin_itvl":[98,5,1,"c.os_sanity_check::sc_checkin_itvl"],"os_sanity_check::sc_checkin_last":[98,5,1,"c.os_sanity_check::sc_checkin_last"],"os_sanity_check::sc_func":[98,5,1,"c.os_sanity_check::sc_func"],"os_sem::sem_tokens":[99,5,1,"c.os_sem::sem_tokens"],"os_task::t_arg":[100,5,1,"c.os_task::t_arg"],"os_task::t_ctx_sw_cnt":[100,5,1,"c.os_task::t_ctx_sw_cnt"],"os_task::t_flags":[100,5,1,"c.os_task::t_flags"],"os_task::t_func":[100,5,1,"c.os_task::t_func"],"os_task::t_name":[100,5,1,"c.os_task::t_name"],"os_task::t_next_wakeup":[100,5,1,"c.os_task::t_next_wakeup"],"os_task::t_obj":[100,5,1,"c.os_task::t_obj"],"os_task::t_prio":[100,5,1,"c.os_task::t_prio"],"os_task::t_run_time":[100,5,1,"c.os_task::t_run_time"],"os_task::t_sanity_check":[100,5,1,"c.os_task::t_sanity_check"],"os_task::t_stackptr":[100,5,1,"c.os_task::t_stackptr"],"os_task::t_stacksize":[100,5,1,"c.os_task::t_stacksize"],"os_task::t_stacktop":[100,5,1,"c.os_task::t_stacktop"],"os_task::t_taskid":[100,5,1,"c.os_task::t_taskid"],"os_task_info::oti_cswcnt":[100,5,1,"c.os_task_info::oti_cswcnt"],"os_task_info::oti_last_checkin":[100,5,1,"c.os_task_info::oti_last_checkin"],"os_task_info::oti_next_checkin":[100,5,1,"c.os_task_info::oti_next_checkin"],"os_task_info::oti_prio":[100,5,1,"c.os_task_info::oti_prio"],"os_task_info::oti_runtime":[100,5,1,"c.os_task_info::oti_runtime"],"os_task_info::oti_state":[100,5,1,"c.os_task_info::oti_state"],"os_task_info::oti_stksize":[100,5,1,"c.os_task_info::oti_stksize"],"os_task_info::oti_stkusage":[100,5,1,"c.os_task_info::oti_stkusage"],"os_task_info::oti_taskid":[100,5,1,"c.os_task_info::oti_taskid"],"os_timezone::tz_dsttime":[101,5,1,"c.os_timezone::tz_dsttime"],"os_timezone::tz_minuteswest":[101,5,1,"c.os_timezone::tz_minuteswest"],CONF_STR_FROM_BYTES_LEN:[130,0,1,"c.CONF_STR_FROM_BYTES_LEN"],CONF_VALUE_SET:[130,0,1,"c.CONF_VALUE_SET"],CPUTIME_GEQ:[87,0,1,"c.CPUTIME_GEQ"],CPUTIME_GT:[87,0,1,"c.CPUTIME_GT"],CPUTIME_LEQ:[87,0,1,"c.CPUTIME_LEQ"],CPUTIME_LT:[87,0,1,"c.CPUTIME_LT"],HAL_BSP_MAX_ID_LEN:[183,0,1,"c.HAL_BSP_MAX_ID_LEN"],HAL_BSP_POWER_DEEP_SLEEP:[183,0,1,"c.HAL_BSP_POWER_DEEP_SLEEP"],HAL_BSP_POWER_OFF:[183,0,1,"c.HAL_BSP_POWER_OFF"],HAL_BSP_POWER_ON:[183,0,1,"c.HAL_BSP_POWER_ON"],HAL_BSP_POWER_PERUSER:[183,0,1,"c.HAL_BSP_POWER_PERUSER"],HAL_BSP_POWER_SLEEP:[183,0,1,"c.HAL_BSP_POWER_SLEEP"],HAL_BSP_POWER_WFI:[183,0,1,"c.HAL_BSP_POWER_WFI"],HAL_SPI_LSB_FIRST:[191,0,1,"c.HAL_SPI_LSB_FIRST"],HAL_SPI_MODE0:[191,0,1,"c.HAL_SPI_MODE0"],HAL_SPI_MODE1:[191,0,1,"c.HAL_SPI_MODE1"],HAL_SPI_MODE2:[191,0,1,"c.HAL_SPI_MODE2"],HAL_SPI_MODE3:[191,0,1,"c.HAL_SPI_MODE3"],HAL_SPI_MSB_FIRST:[191,0,1,"c.HAL_SPI_MSB_FIRST"],HAL_SPI_TYPE_MASTER:[191,0,1,"c.HAL_SPI_TYPE_MASTER"],HAL_SPI_TYPE_SLAVE:[191,0,1,"c.HAL_SPI_TYPE_SLAVE"],HAL_SPI_WORD_SIZE_8BIT:[191,0,1,"c.HAL_SPI_WORD_SIZE_8BIT"],HAL_SPI_WORD_SIZE_9BIT:[191,0,1,"c.HAL_SPI_WORD_SIZE_9BIT"],OS_CALLOUT_F_QUEUED:[85,0,1,"c.OS_CALLOUT_F_QUEUED"],OS_EVENT_QUEUED:[88,0,1,"c.OS_EVENT_QUEUED"],OS_MBUF_DATA:[90,0,1,"c.OS_MBUF_DATA"],OS_MBUF_F_MASK:[90,0,1,"c.OS_MBUF_F_MASK"],OS_MBUF_IS_PKTHDR:[90,0,1,"c.OS_MBUF_IS_PKTHDR"],OS_MBUF_LEADINGSPACE:[90,0,1,"c.OS_MBUF_LEADINGSPACE"],OS_MBUF_PKTHDR:[90,0,1,"c.OS_MBUF_PKTHDR"],OS_MBUF_PKTHDR_TO_MBUF:[90,0,1,"c.OS_MBUF_PKTHDR_TO_MBUF"],OS_MBUF_PKTLEN:[90,0,1,"c.OS_MBUF_PKTLEN"],OS_MBUF_TRAILINGSPACE:[90,0,1,"c.OS_MBUF_TRAILINGSPACE"],OS_MBUF_USRHDR:[90,0,1,"c.OS_MBUF_USRHDR"],OS_MBUF_USRHDR_LEN:[90,0,1,"c.OS_MBUF_USRHDR_LEN"],OS_MEMPOOL_BYTES:[91,0,1,"c.OS_MEMPOOL_BYTES"],OS_MEMPOOL_F_EXT:[91,0,1,"c.OS_MEMPOOL_F_EXT"],OS_MEMPOOL_INFO_NAME_LEN:[91,0,1,"c.OS_MEMPOOL_INFO_NAME_LEN"],OS_MEMPOOL_SIZE:[91,0,1,"c.OS_MEMPOOL_SIZE"],OS_SANITY_CHECK_SETFUNC:[98,0,1,"c.OS_SANITY_CHECK_SETFUNC"],OS_TASK_FLAG_EVQ_WAIT:[100,0,1,"c.OS_TASK_FLAG_EVQ_WAIT"],OS_TASK_FLAG_MUTEX_WAIT:[100,0,1,"c.OS_TASK_FLAG_MUTEX_WAIT"],OS_TASK_FLAG_NO_TIMEOUT:[100,0,1,"c.OS_TASK_FLAG_NO_TIMEOUT"],OS_TASK_FLAG_SEM_WAIT:[100,0,1,"c.OS_TASK_FLAG_SEM_WAIT"],OS_TASK_MAX_NAME_LEN:[100,0,1,"c.OS_TASK_MAX_NAME_LEN"],OS_TASK_PRI_HIGHEST:[100,0,1,"c.OS_TASK_PRI_HIGHEST"],OS_TASK_PRI_LOWEST:[100,0,1,"c.OS_TASK_PRI_LOWEST"],OS_TASK_STACK_DEFINE:[100,0,1,"c.OS_TASK_STACK_DEFINE"],OS_TIMEOUT_NEVER:[101,0,1,"c.OS_TIMEOUT_NEVER"],OS_TIME_MAX:[101,0,1,"c.OS_TIME_MAX"],OS_TIME_TICK_GEQ:[101,0,1,"c.OS_TIME_TICK_GEQ"],OS_TIME_TICK_GT:[101,0,1,"c.OS_TIME_TICK_GT"],OS_TIME_TICK_LT:[101,0,1,"c.OS_TIME_TICK_LT"],_sbrk:[183,3,1,"c._sbrk"],completion_cb:[131,4,1,"c.completion_cb"],conf_bytes_from_str:[130,3,1,"c.conf_bytes_from_str"],conf_commit:[130,3,1,"c.conf_commit"],conf_commit_handler_t:[130,4,1,"c.conf_commit_handler_t"],conf_export_func_t:[130,4,1,"c.conf_export_func_t"],conf_export_handler_t:[130,4,1,"c.conf_export_handler_t"],conf_export_tgt_t:[130,4,1,"c.conf_export_tgt_t"],conf_get_handler_t:[130,4,1,"c.conf_get_handler_t"],conf_get_value:[130,3,1,"c.conf_get_value"],conf_handler:[130,7,1,"_CPPv312conf_handler"],conf_init:[130,3,1,"c.conf_init"],conf_load:[130,3,1,"c.conf_load"],conf_register:[130,3,1,"c.conf_register"],conf_save:[130,3,1,"c.conf_save"],conf_save_one:[130,3,1,"c.conf_save_one"],conf_save_tree:[130,3,1,"c.conf_save_tree"],conf_set_handler_t:[130,4,1,"c.conf_set_handler_t"],conf_set_value:[130,3,1,"c.conf_set_value"],conf_store_init:[130,3,1,"c.conf_store_init"],conf_str_from_bytes:[130,3,1,"c.conf_str_from_bytes"],conf_str_from_value:[130,3,1,"c.conf_str_from_value"],conf_value_from_str:[130,3,1,"c.conf_value_from_str"],console_append_char_cb:[131,4,1,"c.console_append_char_cb"],console_blocking_mode:[131,3,1,"c.console_blocking_mode"],console_echo:[131,3,1,"c.console_echo"],console_handle_char:[131,3,1,"c.console_handle_char"],console_init:[131,3,1,"c.console_init"],console_input:[131,6,1,"c.console_input"],console_is_init:[131,3,1,"c.console_is_init"],console_is_midline:[131,5,1,"c.console_is_midline"],console_non_blocking_mode:[131,3,1,"c.console_non_blocking_mode"],console_out:[131,3,1,"c.console_out"],console_printf:[131,3,1,"c.console_printf"],console_read:[131,3,1,"c.console_read"],console_rx_cb:[131,4,1,"c.console_rx_cb"],console_set_completion_cb:[131,3,1,"c.console_set_completion_cb"],console_set_queues:[131,3,1,"c.console_set_queues"],console_write:[131,3,1,"c.console_write"],hal_bsp_core_dump:[183,3,1,"c.hal_bsp_core_dump"],hal_bsp_flash_dev:[183,3,1,"c.hal_bsp_flash_dev"],hal_bsp_get_nvic_priority:[183,3,1,"c.hal_bsp_get_nvic_priority"],hal_bsp_hw_id:[183,3,1,"c.hal_bsp_hw_id"],hal_bsp_init:[183,3,1,"c.hal_bsp_init"],hal_bsp_power_state:[183,3,1,"c.hal_bsp_power_state"],hal_debugger_connected:[192,3,1,"c.hal_debugger_connected"],hal_flash_align:[185,3,1,"c.hal_flash_align"],hal_flash_erase:[185,3,1,"c.hal_flash_erase"],hal_flash_erase_sector:[185,3,1,"c.hal_flash_erase_sector"],hal_flash_init:[185,3,1,"c.hal_flash_init"],hal_flash_ioctl:[185,3,1,"c.hal_flash_ioctl"],hal_flash_read:[185,3,1,"c.hal_flash_read"],hal_flash_write:[185,3,1,"c.hal_flash_write"],hal_gpio_init_in:[187,3,1,"c.hal_gpio_init_in"],hal_gpio_init_out:[187,3,1,"c.hal_gpio_init_out"],hal_gpio_irq_disable:[187,3,1,"c.hal_gpio_irq_disable"],hal_gpio_irq_enable:[187,3,1,"c.hal_gpio_irq_enable"],hal_gpio_irq_handler_t:[187,4,1,"c.hal_gpio_irq_handler_t"],hal_gpio_irq_init:[187,3,1,"c.hal_gpio_irq_init"],hal_gpio_irq_release:[187,3,1,"c.hal_gpio_irq_release"],hal_gpio_irq_trig_t:[187,4,1,"c.hal_gpio_irq_trig_t"],hal_gpio_mode_t:[187,4,1,"c.hal_gpio_mode_t"],hal_gpio_pull_t:[187,4,1,"c.hal_gpio_pull_t"],hal_gpio_read:[187,3,1,"c.hal_gpio_read"],hal_gpio_toggle:[187,3,1,"c.hal_gpio_toggle"],hal_gpio_write:[187,3,1,"c.hal_gpio_write"],hal_i2c_init:[188,3,1,"c.hal_i2c_init"],hal_i2c_master_data:[188,7,1,"_CPPv319hal_i2c_master_data"],hal_i2c_master_probe:[188,3,1,"c.hal_i2c_master_probe"],hal_i2c_master_read:[188,3,1,"c.hal_i2c_master_read"],hal_i2c_master_write:[188,3,1,"c.hal_i2c_master_write"],hal_reset_cause:[192,3,1,"c.hal_reset_cause"],hal_spi_abort:[191,3,1,"c.hal_spi_abort"],hal_spi_config:[191,3,1,"c.hal_spi_config"],hal_spi_data_mode_breakout:[191,3,1,"c.hal_spi_data_mode_breakout"],hal_spi_disable:[191,3,1,"c.hal_spi_disable"],hal_spi_enable:[191,3,1,"c.hal_spi_enable"],hal_spi_init:[191,3,1,"c.hal_spi_init"],hal_spi_set_txrx_cb:[191,3,1,"c.hal_spi_set_txrx_cb"],hal_spi_settings:[191,7,1,"_CPPv316hal_spi_settings"],hal_spi_slave_set_def_tx_val:[191,3,1,"c.hal_spi_slave_set_def_tx_val"],hal_spi_tx_val:[191,3,1,"c.hal_spi_tx_val"],hal_spi_txrx:[191,3,1,"c.hal_spi_txrx"],hal_spi_txrx_cb:[191,4,1,"c.hal_spi_txrx_cb"],hal_spi_txrx_noblock:[191,3,1,"c.hal_spi_txrx_noblock"],hal_system_clock_start:[192,3,1,"c.hal_system_clock_start"],hal_system_reset:[192,3,1,"c.hal_system_reset"],hal_system_restart:[192,3,1,"c.hal_system_restart"],hal_system_start:[192,3,1,"c.hal_system_start"],hal_timer:[193,7,1,"_CPPv39hal_timer"],hal_timer_cb:[193,4,1,"c.hal_timer_cb"],hal_timer_config:[193,3,1,"c.hal_timer_config"],hal_timer_deinit:[193,3,1,"c.hal_timer_deinit"],hal_timer_delay:[193,3,1,"c.hal_timer_delay"],hal_timer_get_resolution:[193,3,1,"c.hal_timer_get_resolution"],hal_timer_init:[193,3,1,"c.hal_timer_init"],hal_timer_read:[193,3,1,"c.hal_timer_read"],hal_timer_set_cb:[193,3,1,"c.hal_timer_set_cb"],hal_timer_start:[193,3,1,"c.hal_timer_start"],hal_timer_start_at:[193,3,1,"c.hal_timer_start_at"],hal_timer_stop:[193,3,1,"c.hal_timer_stop"],hal_uart_blocking_tx:[194,3,1,"c.hal_uart_blocking_tx"],hal_uart_close:[194,3,1,"c.hal_uart_close"],hal_uart_config:[194,3,1,"c.hal_uart_config"],hal_uart_init:[194,3,1,"c.hal_uart_init"],hal_uart_init_cbs:[194,3,1,"c.hal_uart_init_cbs"],hal_uart_rx_char:[194,4,1,"c.hal_uart_rx_char"],hal_uart_start_rx:[194,3,1,"c.hal_uart_start_rx"],hal_uart_start_tx:[194,3,1,"c.hal_uart_start_tx"],hal_uart_tx_char:[194,4,1,"c.hal_uart_tx_char"],hal_uart_tx_done:[194,4,1,"c.hal_uart_tx_done"],hal_watchdog_enable:[195,3,1,"c.hal_watchdog_enable"],hal_watchdog_init:[195,3,1,"c.hal_watchdog_init"],hal_watchdog_tickle:[195,3,1,"c.hal_watchdog_tickle"],os_callout:[85,7,1,"_CPPv310os_callout"],os_callout_init:[85,3,1,"c.os_callout_init"],os_callout_queued:[85,3,1,"c.os_callout_queued"],os_callout_remaining_ticks:[85,3,1,"c.os_callout_remaining_ticks"],os_callout_reset:[85,3,1,"c.os_callout_reset"],os_callout_stop:[85,3,1,"c.os_callout_stop"],os_cputime_delay_nsecs:[87,3,1,"c.os_cputime_delay_nsecs"],os_cputime_delay_ticks:[87,3,1,"c.os_cputime_delay_ticks"],os_cputime_delay_usecs:[87,3,1,"c.os_cputime_delay_usecs"],os_cputime_get32:[87,3,1,"c.os_cputime_get32"],os_cputime_init:[87,3,1,"c.os_cputime_init"],os_cputime_nsecs_to_ticks:[87,3,1,"c.os_cputime_nsecs_to_ticks"],os_cputime_ticks_to_nsecs:[87,3,1,"c.os_cputime_ticks_to_nsecs"],os_cputime_ticks_to_usecs:[87,3,1,"c.os_cputime_ticks_to_usecs"],os_cputime_timer_init:[87,3,1,"c.os_cputime_timer_init"],os_cputime_timer_relative:[87,3,1,"c.os_cputime_timer_relative"],os_cputime_timer_start:[87,3,1,"c.os_cputime_timer_start"],os_cputime_timer_stop:[87,3,1,"c.os_cputime_timer_stop"],os_cputime_usecs_to_ticks:[87,3,1,"c.os_cputime_usecs_to_ticks"],os_event:[88,7,1,"_CPPv38os_event"],os_event_fn:[88,4,1,"c.os_event_fn"],os_eventq:[88,7,1,"_CPPv39os_eventq"],os_eventq_dflt_get:[88,3,1,"c.os_eventq_dflt_get"],os_eventq_get:[88,3,1,"c.os_eventq_get"],os_eventq_get_no_wait:[88,3,1,"c.os_eventq_get_no_wait"],os_eventq_init:[88,3,1,"c.os_eventq_init"],os_eventq_inited:[88,3,1,"c.os_eventq_inited"],os_eventq_poll:[88,3,1,"c.os_eventq_poll"],os_eventq_put:[88,3,1,"c.os_eventq_put"],os_eventq_remove:[88,3,1,"c.os_eventq_remove"],os_eventq_run:[88,3,1,"c.os_eventq_run"],os_get_uptime:[101,3,1,"c.os_get_uptime"],os_get_uptime_usec:[101,3,1,"c.os_get_uptime_usec"],os_gettimeofday:[101,3,1,"c.os_gettimeofday"],os_mbuf:[90,7,1,"_CPPv37os_mbuf"],os_mbuf_adj:[90,3,1,"c.os_mbuf_adj"],os_mbuf_append:[90,3,1,"c.os_mbuf_append"],os_mbuf_appendfrom:[90,3,1,"c.os_mbuf_appendfrom"],os_mbuf_cmpf:[90,3,1,"c.os_mbuf_cmpf"],os_mbuf_cmpm:[90,3,1,"c.os_mbuf_cmpm"],os_mbuf_concat:[90,3,1,"c.os_mbuf_concat"],os_mbuf_copydata:[90,3,1,"c.os_mbuf_copydata"],os_mbuf_copyinto:[90,3,1,"c.os_mbuf_copyinto"],os_mbuf_dup:[90,3,1,"c.os_mbuf_dup"],os_mbuf_extend:[90,3,1,"c.os_mbuf_extend"],os_mbuf_free:[90,3,1,"c.os_mbuf_free"],os_mbuf_free_chain:[90,3,1,"c.os_mbuf_free_chain"],os_mbuf_get:[90,3,1,"c.os_mbuf_get"],os_mbuf_get_pkthdr:[90,3,1,"c.os_mbuf_get_pkthdr"],os_mbuf_off:[90,3,1,"c.os_mbuf_off"],os_mbuf_pkthdr:[90,7,1,"_CPPv314os_mbuf_pkthdr"],os_mbuf_pool:[90,7,1,"_CPPv312os_mbuf_pool"],os_mbuf_pool_init:[90,3,1,"c.os_mbuf_pool_init"],os_mbuf_prepend:[90,3,1,"c.os_mbuf_prepend"],os_mbuf_prepend_pullup:[90,3,1,"c.os_mbuf_prepend_pullup"],os_mbuf_pullup:[90,3,1,"c.os_mbuf_pullup"],os_mbuf_trim_front:[90,3,1,"c.os_mbuf_trim_front"],os_memblock:[91,7,1,"_CPPv311os_memblock"],os_memblock_from:[91,3,1,"c.os_memblock_from"],os_memblock_get:[91,3,1,"c.os_memblock_get"],os_memblock_put:[91,3,1,"c.os_memblock_put"],os_memblock_put_from_cb:[91,3,1,"c.os_memblock_put_from_cb"],os_membuf_t:[91,4,1,"c.os_membuf_t"],os_mempool:[91,7,1,"_CPPv310os_mempool"],os_mempool_clear:[91,3,1,"c.os_mempool_clear"],os_mempool_ext_init:[91,3,1,"c.os_mempool_ext_init"],os_mempool_info:[91,7,1,"_CPPv315os_mempool_info"],os_mempool_info_get_next:[91,3,1,"c.os_mempool_info_get_next"],os_mempool_init:[91,3,1,"c.os_mempool_init"],os_mempool_is_sane:[91,3,1,"c.os_mempool_is_sane"],os_mempool_put_fn:[91,4,1,"c.os_mempool_put_fn"],os_mqueue:[90,7,1,"_CPPv39os_mqueue"],os_mqueue_get:[90,3,1,"c.os_mqueue_get"],os_mqueue_init:[90,3,1,"c.os_mqueue_init"],os_mqueue_put:[90,3,1,"c.os_mqueue_put"],os_msys_count:[90,3,1,"c.os_msys_count"],os_msys_get:[90,3,1,"c.os_msys_get"],os_msys_get_pkthdr:[90,3,1,"c.os_msys_get_pkthdr"],os_msys_num_free:[90,3,1,"c.os_msys_num_free"],os_msys_register:[90,3,1,"c.os_msys_register"],os_msys_reset:[90,3,1,"c.os_msys_reset"],os_mutex:[92,7,1,"_CPPv38os_mutex"],os_mutex_init:[92,3,1,"c.os_mutex_init"],os_mutex_pend:[92,3,1,"c.os_mutex_pend"],os_mutex_release:[92,3,1,"c.os_mutex_release"],os_sanity_check:[98,7,1,"_CPPv315os_sanity_check"],os_sanity_check_func_t:[98,4,1,"c.os_sanity_check_func_t"],os_sanity_check_init:[98,3,1,"c.os_sanity_check_init"],os_sanity_check_register:[98,3,1,"c.os_sanity_check_register"],os_sanity_check_reset:[98,3,1,"c.os_sanity_check_reset"],os_sanity_task_checkin:[98,3,1,"c.os_sanity_task_checkin"],os_sched_get_current_task:[86,3,1,"c.os_sched_get_current_task"],os_sem:[99,7,1,"_CPPv36os_sem"],os_sem_get_count:[99,3,1,"c.os_sem_get_count"],os_sem_init:[99,3,1,"c.os_sem_init"],os_sem_pend:[99,3,1,"c.os_sem_pend"],os_sem_release:[99,3,1,"c.os_sem_release"],os_settimeofday:[101,3,1,"c.os_settimeofday"],os_stime_t:[101,4,1,"c.os_stime_t"],os_task:[100,7,1,"_CPPv37os_task"],os_task_count:[100,3,1,"c.os_task_count"],os_task_func_t:[100,4,1,"c.os_task_func_t"],os_task_info:[100,7,1,"_CPPv312os_task_info"],os_task_info_get_next:[100,3,1,"c.os_task_info_get_next"],os_task_init:[100,3,1,"c.os_task_init"],os_task_remove:[100,3,1,"c.os_task_remove"],os_task_state_t:[100,4,1,"c.os_task_state_t"],os_tick_idle:[190,3,1,"c.os_tick_idle"],os_tick_init:[190,3,1,"c.os_tick_init"],os_time_advance:[101,3,1,"c.os_time_advance"],os_time_delay:[101,3,1,"c.os_time_delay"],os_time_get:[101,3,1,"c.os_time_get"],os_time_ms_to_ticks:[101,3,1,"c.os_time_ms_to_ticks"],os_time_t:[101,4,1,"c.os_time_t"],os_time_ticks_to_ms:[101,3,1,"c.os_time_ticks_to_ms"],os_timeradd:[101,0,1,"c.os_timeradd"],os_timersub:[101,0,1,"c.os_timersub"],os_timeval:[101,7,1,"_CPPv310os_timeval"],os_timezone:[101,7,1,"_CPPv311os_timezone"]}},objnames:{"0":["c","define","define"],"1":["c","enumvalue","enumvalue"],"2":["c","enum","enum"],"3":["c","function","C function"],"4":["c","typedef","typedef"],"5":["c","variable","variable"],"6":["c","struct","struct"],"7":["cpp","class","C++ class"]},objtypes:{"0":"c:define","1":"c:enumvalue","2":"c:enum","3":"c:function","4":"c:typedef","5":"c:variable","6":"c:struct","7":"cpp:class"},terms:{"000s":[259,261,264,276],"008s":[259,261,264,276],"00z":267,"01t22":69,"02d":14,"02t22":267,"04x":21,"05t02":267,"093s":[259,261,264,276],"0b1000110":188,"0mb":11,"0ubuntu5":6,"0x0":[256,263,276],"0x00":[21,263,264,275],"0x0000":[247,275],"0x00000000":[180,223,225,226],"0x00000001":129,"0x00000002":[129,263],"0x00000004":129,"0x00000008":129,"0x00000010":129,"0x000000b8":256,"0x000000d8":[289,290],"0x000000dc":[246,282,289,290],"0x00004000":[223,225,226],"0x00008000":[94,223,225,226],"0x00009ef4":263,"0x0000fca6":256,"0x00023800":223,"0x0003f000":223,"0x0003f800":223,"0x0006":30,"0x0007d000":[14,226],"0x000e0000":225,"0x0010":28,"0x01":[21,28,31,129,264],"0x0100":28,"0x01000000":262,"0x0101":21,"0x0102":21,"0x0103":21,"0x0104":21,"0x0105":21,"0x0106":21,"0x0107":21,"0x0108":21,"0x0109":21,"0x010a":21,"0x010b":21,"0x010c":21,"0x010d":21,"0x010e":21,"0x010f":21,"0x0110":21,"0x0111":21,"0x02":[21,28,31,129,264,275],"0x0201":21,"0x0202":21,"0x0203":21,"0x0204":21,"0x0205":21,"0x0206":21,"0x0207":21,"0x0208":21,"0x0209":21,"0x020a":21,"0x020b":21,"0x020c":21,"0x020d":21,"0x020e":21,"0x020f":21,"0x0210":21,"0x0211":21,"0x0212":21,"0x0213":21,"0x0214":21,"0x0215":21,"0x0216":21,"0x0217":21,"0x0218":21,"0x0219":21,"0x021a":21,"0x021b":21,"0x021c":21,"0x021d":21,"0x021e":21,"0x021f":21,"0x0220":21,"0x0221":21,"0x0222":21,"0x0223":21,"0x0224":21,"0x0225":21,"0x0226":21,"0x0227":21,"0x0228":21,"0x0229":21,"0x022a":21,"0x022c":21,"0x022d":21,"0x022e":21,"0x022f":21,"0x0230":21,"0x0232":21,"0x0234":21,"0x0235":21,"0x0236":21,"0x0237":21,"0x0238":21,"0x0239":21,"0x023a":21,"0x023b":21,"0x023c":21,"0x023d":21,"0x023e":21,"0x023f":21,"0x0240":21,"0x03":[21,31,129],"0x0300":[21,28],"0x0301":21,"0x0302":21,"0x04":[21,28],"0x0401":21,"0x0402":21,"0x0403":21,"0x0404":21,"0x0405":21,"0x0406":21,"0x0407":21,"0x0408":21,"0x0409":21,"0x040a":21,"0x040b":21,"0x040c":21,"0x040d":21,"0x040e":21,"0x0483":260,"0x05":21,"0x0501":21,"0x0502":21,"0x0503":21,"0x0504":21,"0x0505":21,"0x0506":21,"0x0507":21,"0x0508":21,"0x0509":21,"0x050a":21,"0x050b":21,"0x050c":21,"0x050d":21,"0x050e":21,"0x06":[21,247],"0x07":21,"0x08":[21,28,275],"0x08000000":262,"0x08000020":262,"0x08000250":262,"0x08021e90":260,"0x09":21,"0x0a":21,"0x0b":21,"0x0bc11477":256,"0x0c":21,"0x0c80":30,"0x0d":21,"0x0e":21,"0x0f":[21,278],"0x0f505235":129,"0x0fffffff":180,"0x1":[276,278,280,282],"0x10":[21,256,263,264,278],"0x100":21,"0x1000":[90,278,280],"0x10000":94,"0x10000000":180,"0x10010000":262,"0x10036413":262,"0x10076413":260,"0x1010":90,"0x103":21,"0x11":[21,24,255,264],"0x12":21,"0x13":21,"0x14":21,"0x1400":275,"0x15":[21,274,276,278],"0x16":21,"0x17":21,"0x18":21,"0x1800":31,"0x1808":31,"0x180a":31,"0x19":[21,208],"0x1a":21,"0x1b":21,"0x1c":[21,274,276],"0x1d":21,"0x1e":21,"0x1f":21,"0x2":[278,280],"0x20":[21,33,94,256,263,274,276],"0x200":[21,278,280],"0x2000":[278,280],"0x20000":276,"0x20000000":94,"0x20002290":260,"0x20002408":256,"0x20008000":256,"0x21":[21,33],"0x21000000":256,"0x22":[21,24,33,264],"0x23":[21,33],"0x24":21,"0x25":[21,275],"0x26":21,"0x27":21,"0x28":21,"0x2800":275,"0x29":21,"0x2a":21,"0x2ba01477":263,"0x2c":21,"0x2d":21,"0x2e":21,"0x2f":21,"0x30":[21,256,263],"0x300":21,"0x311":278,"0x32":[21,278],"0x33":24,"0x34":21,"0x35":21,"0x36":21,"0x37":21,"0x374b":260,"0x38":21,"0x39":21,"0x3a":21,"0x3a000":94,"0x3b":21,"0x3c":21,"0x3c00":275,"0x3d":21,"0x3e":21,"0x3f":21,"0x4":[278,280],"0x40":[21,256,263,274,276],"0x400":21,"0x4000":[278,280],"0x40007000":276,"0x4001e504":263,"0x4001e50c":263,"0x40number":188,"0x41000000":260,"0x42000":62,"0x44":[24,275],"0x4400":275,"0x46":188,"0x4f":[274,276],"0x50":[256,263],"0x500":21,"0x5000":275,"0x55":24,"0x60":[256,263],"0x61":[274,276],"0x66":24,"0x6c00":275,"0x70":[256,263],"0x72":[274,276],"0x7800":275,"0x7fefd260":129,"0x7fff8000":276,"0x7fffffff":180,"0x80":[274,276],"0x8000":62,"0x8000000":262,"0x80000000":180,"0x8079b62c":129,"0x81":188,"0x8801":275,"0x8c":188,"0x8d":188,"0x90":[274,276],"0x96f3b83c":129,"0x9c01":275,"0x9f":275,"0xa0":278,"0xa001":275,"0xa7":[274,276],"0xaf":[274,276],"0xb3":[274,276],"0xb401":275,"0xb5":[274,276],"0xbead":[274,276],"0xcc01":275,"0xd2":[274,276],"0xd801":275,"0xdead":[274,276],"0xe401":275,"0xe7":[274,276],"0xf":275,"0xf001":275,"0xf395c277":129,"0xfb":278,"0xfe":275,"0xff":[129,180],"0xffff":[30,191,275],"0xfffffffe":180,"0xffffffff":[92,99,129,180,207,256],"0xffffffff0xffffffff0xffffffff0xffffffff":263,"100kb":102,"1024kbyte":[260,262],"103kb":223,"10m":28,"110kb":223,"128hz":14,"128kb":[9,225],"12c":[259,261,264,276],"12kb":[14,226],"12mhz":9,"132425ssb":31,"132428ssb":31,"132433ssb":31,"132437ssb":31,"132441ssb":31,"14e":289,"14h":[282,289],"1503a0":268,"16kb":[9,225,226],"16kbram":54,"16mb":9,"190a192":275,"1_amd64":[58,61,81,84],"1c15":[274,276],"1d11":285,"1d13":[268,288],"1d560":223,"1eec4":223,"1kb":223,"1mhz":14,"1ms":14,"1st":[14,69],"1ubuntu1":6,"1wx":263,"200mhz":9,"2015q2":[4,12],"2022609336ssb":250,"2022687456ssb":250,"2022789012ssb":250,"2022851508ssb":250,"2042859320ssb":250,"2042937440ssb":250,"248m":6,"250m":240,"256kb":256,"262s":[259,261,264,276],"28a29":275,"28t22":267,"291ebc02a8c345911c96fdf4e7b9015a843697658fd6b5faa0eb257a23e93682":241,"296712s":262,"2a24":49,"2d5217f":82,"2m_interval_max":28,"2m_interval_min":28,"2m_latenc":28,"2m_max_conn_event_len":28,"2m_min_conn_event_len":28,"2m_scan_interv":28,"2m_scan_window":28,"2m_timeout":28,"2msym":22,"300v":[259,261,264,276],"32kb":[226,256],"32mb":9,"32wx":[256,263],"363s":[259,261,264,276],"3_1":37,"3mb":82,"4_9":4,"4fa7":[274,276],"500m":240,"512kb":94,"575c":223,"5kb":102,"5ms":14,"6lowpan":22,"73d77f":72,"78e4d263eeb5af5635705b7cae026cc184f14aa6c6c59c6e80616035cd2efc8f":223,"7b3w9m4n2mg3sqmgw2q1b9p80000gn":56,"7kb":223,"8ab6433f8971b05c2a9c3341533e8ddb754e404":271,"948f118966f7989628f8f3be28840fd23a200fc219bb72acdfe9096f06c4b39b":223,"9cf8af22b1b573909a8290a90c066d4e190407e97680b7a32243960ec2bf3a7f":288,"9mb":59,"abstract":[9,21,96,97,135,152,163,166,174,181,207,209,210,240,275,292],"boolean":[200,226],"break":[21,90,137,235,251,275],"byte":[14,20,24,28,47,67,72,74,90,91,100,129,130,131,133,141,142,154,158,159,161,164,169,170,171,172,173,174,175,180,183,188,191,194,200,223,228,241,243,254,255,264],"case":[2,6,7,14,21,22,31,56,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,90,93,94,98,99,100,129,135,174,180,184,223,224,226,228,229,230,231,232,233,235,237,243,247,251,252,254,255,256,267,268,274,275,276,290],"catch":21,"char":[91,93,98,100,130,131,135,139,140,153,155,156,157,160,161,162,163,165,167,170,172,173,177,178,180,194,198,199,200,201,203,206,215,216,220,221,222,224,226,234,240,243,251,254,255,258,267,275,280,282],"class":[135,264],"const":[88,90,91,94,100,129,130,131,136,153,155,156,157,158,159,160,161,162,163,165,166,167,170,171,172,173,177,178,181,183,185,186,200,205,206,209,215,220,222,224,251,253,254,255,267,274,275,276],"default":[1,2,4,6,7,12,14,21,25,27,28,29,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,62,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,88,90,92,93,94,95,97,98,100,131,132,134,135,136,152,176,191,200,206,207,208,209,210,212,213,214,215,217,222,223,224,225,226,237,238,240,241,247,249,251,254,255,256,257,264,269,274,275,276,278,279,281,282,284,289],"enum":[100,130,187,192,194,200,207,274,275],"export":[1,11,24,61,62,81,83,84,88,130,131,135,137,206,207,208,209,210,238,277,278,280],"final":[8,56,90,92,94,129,143,180,182,202,223,242,243,246,249,274,276],"float":[65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,102,200,207,277],"function":[1,7,9,15,21,24,32,62,85,87,88,89,90,91,93,95,96,97,98,100,129,130,131,135,136,137,139,147,151,152,153,154,155,156,157,159,161,162,163,165,167,168,169,170,172,174,175,177,180,181,182,184,187,188,189,190,191,192,193,194,197,199,201,202,203,204,205,206,208,210,213,215,216,217,218,220,221,223,227,228,229,230,231,232,234,235,237,238,240,241,246,249,250,252,254,255,257,258,264,267,269,274,275,276,278,282,287,289,290,292],"goto":[98,160,205,209,218,219,274,275,276],"i\u00b2c":188,"import":[11,56,58,81,90,94,101,102,188,243,246,249,252,276],"int":[1,14,21,27,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,85,87,88,90,91,93,98,100,101,130,131,135,136,137,139,140,142,143,144,145,146,147,148,149,150,151,153,154,155,156,157,158,160,161,162,163,164,165,166,167,169,170,171,172,173,177,178,179,181,183,184,185,187,188,190,191,192,193,194,195,198,199,200,201,202,203,204,205,208,209,215,216,218,219,220,221,222,224,226,228,229,230,232,233,234,240,242,243,249,251,252,253,254,255,258,267,274,275,276,280,282],"long":[3,14,22,25,29,90,93,99,102,152,170,180,188,223,263,282],"new":[2,3,4,6,10,11,14,22,24,25,28,31,32,35,40,42,46,47,51,54,58,59,60,62,86,90,94,97,100,129,131,141,142,143,152,153,162,167,174,177,178,182,188,196,215,223,224,226,237,241,243,245,246,247,252,253,254,255,256,259,260,261,262,263,264,267,268,269,275,276,277,279,292],"null":[85,87,88,90,91,92,93,94,98,99,100,130,131,136,153,157,161,164,172,174,180,186,191,205,206,208,209,215,220,222,225,226,240,243,249,252,253,254,255,258,274,275,276,277,280,282],"public":[20,26,28,30,31,33,58,67,81,85,88,90,91,92,98,99,100,101,129,130,131,188,191,193,254,255],"return":[19,27,85,86,87,88,90,91,92,93,94,98,99,100,101,130,131,136,141,153,183,186,187,188,191,192,193,194,195,200,208,209,212,226,240,243,249,251,252,253,256,258,264,267,274,275,276,278,280,282,286],"short":[90,92,215,243],"static":[20,27,67,85,88,91,93,94,98,99,130,131,136,140,181,199,201,202,204,205,206,208,209,216,218,219,220,221,222,228,237,240,247,249,251,252,253,254,255,258,274,275,276,277,280,282],"switch":[10,12,21,59,72,78,82,86,93,94,100,129,182,196,215,238,246,247,251,252,274,275,276,282,289],"transient":252,"true":[8,12,14,87,91,98,101,205,223,228,241,267,276,285,288],"try":[2,14,21,22,24,90,153,180,188,237,242,246,247,250,256,257,258,259,260,261,263,268,270,276,278,282,284,289],"var":[51,56,66,67,98,130,167],"void":[21,27,85,86,87,88,90,91,93,98,100,101,130,131,135,136,137,139,151,153,154,158,160,161,163,164,167,169,170,171,172,173,179,181,183,184,185,187,188,190,191,192,193,194,195,197,199,200,206,208,209,211,216,217,218,220,221,222,226,228,229,230,232,233,234,235,240,243,249,251,252,253,254,255,258,274,275,276,277,280,282],"while":[4,6,7,8,22,24,27,50,56,62,90,91,93,94,98,100,102,131,137,139,153,155,156,157,162,165,180,194,200,205,209,223,226,228,233,238,240,243,254,255,258,265,267,274,275,276,280,282,289,290],AES:23,ANS:248,Adding:[57,80,292],And:[62,129,141,223,225,242,243,245,250,274,275,276],Are:14,But:276,CTS:[194,247],FOR:4,For:[2,3,5,6,7,8,11,12,14,21,23,24,25,30,31,35,38,40,51,54,56,58,59,60,61,62,63,67,84,85,90,93,94,97,101,102,129,135,136,153,171,174,175,180,181,184,187,188,191,200,206,207,208,209,210,211,221,223,224,225,226,233,235,237,240,241,246,251,252,253,254,255,256,258,260,261,262,264,267,268,269,270,275,276,278,280,282,285,288,289,290,292],IDE:[5,12],IDs:129,Its:[95,101,102,237,270],NOT:[157,188,193,276],Not:[7,21,30,87,90,180,182,187,191,223,276],One:[6,21,93,102,180,223,237,249,268,275],PCs:8,QoS:[21,22],RTS:[194,247],Such:[180,254,255,270],TMS:256,That:[2,14,21,62,141,180,226,254,255,256,264,268,269,275,276],The:[1,2,3,4,5,6,7,8,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,27,28,30,31,32,34,35,38,44,46,47,48,51,56,58,59,60,62,64,65,67,71,72,73,74,76,77,78,79,81,82,83,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,129,130,131,132,133,134,135,136,137,141,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,169,170,171,173,174,175,176,177,178,180,181,182,183,184,185,186,187,188,190,191,192,193,194,195,196,198,199,200,206,207,208,209,210,211,212,213,214,215,216,218,219,220,221,223,224,225,226,228,231,233,235,236,237,238,240,241,242,243,244,245,246,247,249,251,252,253,254,255,256,257,259,260,261,262,263,264,265,267,268,269,270,274,275,276,277,278,279,280,281,282,284,285,286,287,288,289,290,292],Then:[10,14,34,64,129,141,180,223,237,247,267,275,276,289],There:[4,8,14,23,24,29,58,62,81,85,90,92,94,95,99,100,101,102,130,131,135,161,180,182,187,206,207,212,215,223,224,251,256,264,267,271,276,282,289,290],These:[5,21,28,51,62,90,94,95,97,99,129,130,135,180,188,207,210,211,212,215,225,238,245,249,253,254,255,256,257,262,269,270,277,278],Use:[1,7,8,11,28,29,51,58,59,60,63,72,81,82,83,94,133,141,143,223,237,251,254,255,256,259,264,268,269,276,277,279,287],Used:[94,191,194,229,230,232],Uses:[32,43,134,225],Using:[21,50,92,258,287,292],Was:264,Will:21,With:[9,14,21,22,31,90,93,97,129,223,225,242,243,246,275,289,290,292],Yes:[10,14,20,90,129,134,244],__arg:98,__asm:260,__builtin_offsetof:224,__etext:262,__ev:88,__f:98,__hdr:90,__itvl:98,__n:90,__name:100,__om:90,__omp:90,__sc:98,__size:100,__t1:[87,101],__t2:[87,101],__type:90,__wfi:260,_access:251,_adc:276,_addr:254,_addr_:[254,255],_app:254,_build:[34,64],_cfg:[208,209],_cli:[209,210,278],_cnt:141,_config:[207,208,209,280],_file:153,_gatt_ac:251,_imghdr_siz:94,_init:[207,208,209],_log:209,_name:226,_nrf52_adc_h_:276,_object:200,_ofb:[208,210,278],_onb:[208,210,282],_pad1:129,_pad2:129,_pad3:129,_pad:[92,129],_param:215,_rea:200,_reserv:207,_resource_t:277,_sbrk:183,_senseair_h_:275,_sensor:208,_set:254,_shell_init:[209,278],_stage:226,_stat:209,a600anj1:223,abbrevi:249,abc:267,abil:[6,23,32,56,90,243],abl:[2,14,90,94,135,136,238,244,250,254,255,256,269,275,276],abort:[50,191,216,220,225,226,228,267,280],about:[1,3,10,14,24,30,41,58,59,60,63,65,81,82,83,91,93,94,98,100,101,141,142,146,180,200,211,223,224,236,237,240,243,249,252,253,254,255,259,263,264,270,275,276],abov:[9,14,15,20,90,93,98,101,129,153,161,180,188,191,215,223,224,225,226,238,246,249,251,254,255,258,264,267,269,274,276],absent:[129,180],absolut:[90,193],abstrat:141,acc:278,accel:[278,282],accel_rev:278,acceleromet:[207,209,277,278,279,282],accept:[21,28,137,161,180,188,194,196,237,256,260,262,264,269],access:[16,21,22,28,60,62,65,71,81,82,83,87,89,90,92,93,94,99,135,136,137,141,153,161,168,170,174,181,182,188,196,206,207,209,210,223,226,233,240,246,253,256,267,275],access_:253,access_cb:[251,253,274],access_fla:161,access_flag:[161,163],accgyro:278,accommod:[25,90,97,129,180,254],accompani:14,accomplish:[9,14,56,174,180,251],accord:[14,94,129,233,234],accordingli:[25,94,100],account:[10,62,90,129],accur:262,achiev:[27,180,254,255],ack_rxd:264,acknowledg:264,acl:21,acquir:[27,92,99,180,188],acquisit:188,across:[31,32,56,62,63,135,180,182],act:[23,31,196,223],action:[9,14,28,63,237,243,249,253,264,276],activ:[12,17,18,22,48,72,94,100,130,191,196,223,237,241,249,264,285,288,289,290],actual:[2,7,14,35,78,90,94,100,129,157,164,172,180,184,195,223,225,228,236,243,246,254,255,256,269,270,271,275,276],ad_fil:153,adafruit:[8,276,278],adapt:[22,97,256,259,260,268,282],adapter_nsrst_delai:[256,260],adaptor:262,adc0:276,adc:[9,14,54,135],adc_0:276,adc_0_interrupt_prior:276,adc_0_oversampl:276,adc_0_resolut:276,adc_buf_read:276,adc_buf_releas:276,adc_buf_s:276,adc_buf_set:276,adc_chan_config:276,adc_config:276,adc_dev:276,adc_event_handler_set:276,adc_evq:276,adc_hw_impl:54,adc_init:276,adc_nrf52:276,adc_number_channel:276,adc_number_sampl:276,adc_read:276,adc_read_ev:276,adc_result:276,adc_result_mv:276,adc_sampl:276,adc_sns_str:276,adc_sns_typ:276,adc_sns_val:276,adc_stack:276,adc_stack_s:276,adc_stm32f4:135,adc_task:276,adc_task_handl:276,adc_task_prio:276,add:[1,2,4,6,7,11,12,14,28,38,40,51,56,58,59,60,62,63,81,88,90,93,97,99,101,102,131,132,141,153,182,188,208,209,216,224,226,237,238,240,241,242,243,246,247,250,256,257,258,265,267,268,269,278,279,280,281,283,285,286,287,288,292],added:[10,12,33,54,56,82,90,94,99,100,129,131,136,138,153,188,215,240,241,256,258,268,270,274,275,285,286,288,292],adding:[2,14,32,38,56,90,94,95,101,141,224,246,258,267,269,270,274,275,276],addit:[1,12,14,22,30,44,56,62,63,90,94,95,97,129,135,153,180,188,206,223,226,228,231,237,238,243,246,249,256,257,259,260,262,263,264,275,286],addition:63,addr:[28,31,136,200,205,247,254,255,278],addr_typ:[28,31],address:[14,21,22,23,26,28,30,32,33,56,67,90,91,93,129,135,136,137,152,180,185,188,191,200,207,209,223,241,247,251,264,268,282,289],aditihilbert:4,adjust:[14,21,90,94,240,242],admin:[4,247],administr:[11,13],adress:28,adsertis:28,adv:[14,22,28,31,32],adv_data:28,adv_field:[249,254],adv_param:[249,252,254,255],advanc:[60,169,180,289,290],advantag:252,advantang:249,adverb:63,adverti:[254,255],advertis:[16,21,22,25,27,32,33,67,241,248,250,252,274,276,277],advertise_128bit_uuid:277,advertise_16bit_uuid:277,advertising_interv:[28,30],advic:[95,96],advinterv:30,aes:[256,259,261,263,268,285,286,288],aesni:[285,286],af80:[274,276],affect:[129,169,174,175,181,206,223,246,265],aflag:[1,51,62],after:[4,8,11,14,23,27,31,42,51,56,58,59,62,81,82,87,90,91,95,100,101,129,130,135,139,143,147,153,174,180,188,191,194,209,223,225,231,237,238,241,243,244,247,249,251,252,253,256,257,268,269,278,282],again:[8,14,21,27,58,60,81,94,100,129,141,223,224,243,249,256,259,260,261,262,263,264,274,276,288],against:[14,23,90,93,101],agnost:153,agre:[275,276],agreement:[275,276],ah02mie2:275,ahead:101,aid:[62,209],aim:[21,136,153,248,292],ain0:276,ain1:276,air:[21,90,223,238,264,283,292],air_q:275,air_qual:[274,275,276],albeit:245,alert:248,algorithm:[22,86],align:[90,91,141,243],all201612161220:76,all:[1,2,3,6,7,8,9,10,12,15,16,17,18,19,21,22,23,25,27,28,29,30,31,32,36,41,42,44,50,51,52,53,54,56,62,67,73,76,90,92,93,94,95,97,98,100,101,129,130,131,135,141,145,151,153,160,161,164,166,167,170,172,174,176,178,180,181,182,184,191,200,206,207,208,209,210,211,212,213,215,220,223,224,225,226,231,233,236,237,238,242,244,246,247,248,249,250,251,252,253,254,255,258,260,262,264,265,267,269,270,271,272,274,275,276,278,280,282,285,288],alloc:[74,78,88,89,90,91,152,180,220,249,251],allow:[2,3,4,6,8,9,12,14,21,22,28,32,40,51,56,58,59,60,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,88,90,92,93,97,99,129,131,135,153,174,180,183,188,191,192,206,210,211,212,214,215,223,224,226,230,234,237,238,240,243,247,249,252,254,258,259,264,268,276,278,282,284],almost:[8,243],alon:234,along:[14,62,90,91,100,218,275],alongsid:[243,254],alphabet:[180,226],alreadi:[6,7,8,11,14,21,25,32,44,59,60,82,83,87,96,97,129,136,147,154,160,161,166,167,168,173,180,187,193,237,242,245,246,256,258,259,260,261,262,263,264,268,274,275,276,277,285,288,289,290],also:[1,3,5,6,7,8,11,12,14,22,24,25,28,35,38,41,56,58,59,60,61,62,67,81,84,90,91,93,94,97,99,100,101,129,130,131,132,135,136,141,153,174,180,191,194,196,206,207,208,209,211,213,215,223,224,225,226,237,238,240,243,246,249,252,253,257,258,264,265,267,268,269,270,274,275,276,278,279,280,281,282,285,286,288],alt:288,altern:[6,129,141,223,251],although:269,altogeth:[85,274],alwai:[8,14,62,94,101,129,157,159,161,162,169,171,180,184,245,251,254,255,262,267,269,270,275,292],ambigu:21,ambiti:246,amd64:[58,81],amend:[1,33,51,63,241,265,289,290],amg:278,among:[86,94,129,177,223],amongst:90,amount:[25,90,91,96,153,172,206,223,243,249],analog:[135,283],analyz:[12,290],android:[277,279,281,284],ani:[1,4,8,10,14,15,22,23,28,34,50,51,60,62,64,65,67,74,77,78,81,82,83,85,87,88,90,91,92,93,94,96,98,99,100,101,129,131,136,137,153,160,170,174,175,176,177,179,180,191,194,206,209,210,215,223,224,226,234,237,238,241,247,249,258,259,264,270,274,275,276,282,287,292],announc:[249,254,255],annoy:[251,271],anonym:28,anoth:[10,14,22,27,28,31,62,90,92,93,94,95,96,99,100,101,131,187,196,223,225,237,243,249,251,264,275,276,286,289,290],ans:[275,276],answer:93,anymor:[90,243],anyon:14,anyth:[1,8,24,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,223,237,242,246,254,255,257,270,275,276],apach:[1,2,6,7,10,11,12,14,22,33,34,38,39,40,44,45,51,52,54,56,58,59,60,62,63,64,81,82,83,85,94,129,131,134,135,153,184,223,224,226,227,237,244,246,247,248,250,254,256,257,258,259,260,261,262,263,264,267,268,269,270,275,276,277,278,279,282,284,285,286,287,288,289,290,292],apart:101,api:[1,14,17,18,19,20,21,22,54,56,62,93,97,135,136,163,182,186,209,210,215,224,255,260,277,281],app:[1,7,8,12,14,22,27,30,33,35,38,39,43,44,46,47,48,49,51,54,56,63,74,77,78,94,129,131,135,153,182,192,224,225,226,237,238,240,241,242,243,246,248,249,252,253,254,255,256,258,259,260,261,262,263,267,268,274,275,276,277,278,279,280,281,285,286,287,288,289,292],app_error:276,app_log_init:206,app_util_platform:276,appear:[14,28,30,97,188,243,251,253],append:[90,141,159,169,171,180,267],append_loc:[142,143],append_test:267,appl:[256,282,284,289,290],appli:[12,14,25,101,129,130,131,174,175,180,194,206,223,226,264,267],applic:[1,2,4,5,6,8,9,11,13,14,15,19,21,22,24,25,26,27,29,31,35,40,43,48,51,56,58,59,60,61,62,74,77,78,79,83,84,88,90,94,98,100,129,131,132,133,134,135,153,174,180,185,191,209,210,211,212,213,214,215,221,224,225,226,236,241,245,248,251,252,257,266,267,274,275,281,284,286,287,290,292],applicaton:1,applict:12,approach:[32,94,226],appropri:[63,90,94,97,100,133,135,180,188,191,226,237,242,246,249,252,254,255,257,275,276,281],approv:10,apps_air_qu:275,apps_bleprph:223,apps_blinki:[56,62],apps_my_sensor_app:282,apr:[259,261,264,276],apropo:[256,282,289,290],apt:[4,6,7,57,61,80,84,247],arbitrari:[129,237,247,256,259,260,261,262,263,264,268,276,278,285,286,288],arbitrarili:[129,180,255],arc4:256,arch:[62,94,97,233,259,260,261,262,263,264,282],arch_sim:[258,282],architectur:[58,81,86,91,94,96,97,101,129,135,152,182,187,243],archiv:[4,7,58,60,62,167,237,238,246,256,258,259,260,261,262,263,264,268,275,276,278,282,285,286,288],arduino:[12,243,257,266,269,274,275,292],arduino_101:54,arduino_blinki:[12,243,256],arduino_boot:[12,256],arduino_mkr1000:268,arduino_primo_nrf52:[54,259,275],arduino_zero:256,arduino_zero_debug:256,arduinowifi:268,area:[14,90,94,129,130,141,151,175,177,178,183,226],area_cnt:183,area_desc:[177,178],aren:[14,102],arg:[12,87,90,91,93,98,100,135,151,185,187,191,193,194,206,209,218,228,240,243,251,252,274,275,276,282],argc:[93,100,130,139,140,177,178,198,215,216,220,221,222,226,234,240,243,254,255,258,267,275,280,282],argument:[11,12,14,21,46,51,56,63,85,88,90,91,98,100,101,131,168,184,187,188,191,193,200,206,209,211,215,221,243,249,252,253,254,255,259,261,269,270,282],argv:[100,130,139,140,177,178,198,215,216,220,221,222,226,234,240,243,254,255,258,267,275,280,282],arm:[5,6,7,12,85,94,102,256,262,282,288,289,290],around:[31,90,129,276,277,279],arrai:[24,88,130,140,141,151,174,175,177,178,191,200,201,202,204,205,215,220,226,242,243,249,253],arrang:[94,223],arriv:90,articl:271,artifact:[36,40,51,56,58,59,60,269],ascii:180,asf:[1,269,275,276],ask:[10,14,93,130,194,207,243,262,269,270,275],aspect:[28,90,129,243],assembl:[1,62,94,97,259,260,261,262,263,264,282],assert:[14,68,90,98,131,158,171,177,178,191,208,224,228,240,243,251,252,253,254,255,258,274,275,276,280,282],assign:[10,14,20,22,24,30,38,51,54,67,91,93,94,100,141,180,181,226,237,251,256,259,260,261,262,263,264,268,276,278,285,288],associ:[23,25,88,90,98,100,129,193,226,228,249,252],assum:[7,12,14,31,44,60,61,83,84,88,90,94,100,129,136,191,196,226,237,238,240,242,245,246,258,264,274,275,276,277,279,281,282,289,290],assumpt:14,asynchron:194,at45db:[14,136],at45db_default_config:136,at45db_dev:136,at45db_erase_sector:136,at45db_init:136,at45db_read:136,at45db_sector_info:136,at45db_writ:136,at45dbxxx:136,at91samd21g18:256,at91samd:256,ate_m:207,atmel:[2,256,268],atop:[135,182],att:[19,22,29,251],attach:[8,12,90,94,187,192,246,259,264,276,282,289,290],attempt:[21,24,28,90,91,92,100,129,164,172,177,178,179,180,188,226,251,252,253,264],attempt_stat:224,attent:3,attr:[29,31,205],attr_handl:[250,251,252,274,276],attribit:200,attribut:[15,17,18,21,22,29,51,54,63,67,91,95,97,200,205,226,248,251],auth:[14,28,271],authent:[21,23,31,129,250],author:[1,21,44,62,131,267,275,276],auto:[30,136],autocomplet:56,autoconf:56,autom:32,automat:[1,10,22,25,26,43,56,62,95,197,215,224,226,231,238,246,248,249,256,259,260,262,263,267,269,275,276,277,292],autoselect:256,avaial:264,avail:[1,2,3,4,7,9,14,21,22,24,25,30,31,32,33,48,58,59,60,63,65,74,81,82,83,88,90,91,92,98,99,102,129,131,133,135,141,153,164,174,194,196,207,215,223,226,233,236,238,254,258,264,270,276,281,289,290],avail_queu:131,avoid:[62,90,92,93,98,243,277],awai:[21,94,130,251,276],await:3,awar:[249,254,255],b0_0:262,b0_1:262,b1_0:262,b1_1:262,b5729002b340:[274,276],b8d17c77a03b37603cd9f89fdcfe0ba726f8ddff6eac63011dee2e959cc316c2:241,bab:206,back:[8,59,65,70,81,82,83,90,91,101,102,129,130,131,188,213,238,253,262,263,275,281,285,286,288],backend:130,backward:[22,129,131,180,215],bad:[129,223,270],badli:93,bake:14,band:[22,23,28],bang:275,bank:262,bar:[12,130,292],bare:[85,248,254,255,292],base64:[7,130,131,264,282],base:[1,2,4,6,7,12,14,21,22,25,32,35,40,56,58,59,60,62,90,102,133,135,137,169,182,183,188,225,243,247,253,256,259,260,262,263,268,275,277,278,282],baselibc:[7,14,49,94],baselin:134,bash:[2,12,56,60,94],bash_complet:37,bash_profil:[11,59,61,82,84],bashrc:56,basi:[9,20,23,100,270,275,276],basic:[1,14,15,22,30,31,32,62,90,94,100,102,135,153,183,185,187,194,223,238,241,246,247,264,269,271,273,274,284,286,287],batch:94,batteri:[9,25,32,97,254],baud:[67,131,247,275],baudrat:[136,191,194],bbno055_cli:278,bc_acc_bw:[209,280],bc_acc_rang:[209,280],bc_mask:[209,280],bc_opr_mod:[209,280],bc_placement:209,bc_pwr_mode:[209,280],bc_unit:[209,280],bc_use_ext_xt:280,bcfg:280,bd_addr:21,be9699809a049:72,beacon:[15,245,246,257],bearer:[14,22,33],becaus:[8,12,14,21,23,27,31,51,88,129,170,180,181,188,191,207,209,212,216,223,225,243,267,269,271,275,277,278,279,282],becom:[23,32,129,249,252],been:[4,10,14,21,27,37,44,56,59,60,62,78,82,83,85,89,90,91,100,129,130,139,141,153,154,166,174,180,191,194,223,226,244,247,252,256,259,264,268,274,275],befor:[2,4,7,8,12,14,21,42,51,58,62,81,85,87,89,90,92,93,94,98,100,101,102,129,130,131,141,147,174,175,179,191,193,194,195,200,211,212,215,217,223,224,226,233,234,238,240,243,246,247,248,249,251,254,255,257,258,260,264,267,268,276,281,284,287],begin:[14,27,90,100,130,141,149,194,247,250,252,254,255,267,269],beginn:292,behav:[21,31,93,254,255,267],behavior:[60,93,97,162,163,174,243,251,253,267,268,290],behaviour:90,behind:[90,101],being:[14,21,90,91,93,98,100,101,129,130,136,153,180,187,188,189,198,199,223,228,243,250,252,267,275,292],bell:99,belong:[15,91,129,180,253],below:[1,2,4,6,12,14,19,21,23,24,25,31,44,63,90,93,94,95,99,100,129,131,133,136,154,161,164,180,181,193,209,223,237,243,246,251,253,256,259,260,262,263,264,265,267,269,270,271,274,276,277,278,280,284,292],benefit:[10,93,180,226,236,240],best:[14,90,94,161,200,270],beta:[135,276],better:[14,129,224],between:[7,12,22,27,28,32,38,47,56,99,101,131,180,187,188,198,200,210,223,225,226,238,240,247,259,264,270,276,278,282],beyond:[90,180],bhd:67,big:[24,62,90,264,270],bigger:223,bin:[2,4,7,11,12,14,35,36,38,39,44,47,49,51,56,58,59,60,61,62,81,82,83,84,94,169,170,223,226,237,238,241,242,246,247,250,256,258,259,260,261,262,263,264,267,268,275,276,278,282,285,286,288,289,290],bin_basenam:62,binari:[4,7,11,14,35,38,40,56,59,61,62,80,82,84,102,133,188,258,275],binutil:4,bit:[7,15,24,26,28,30,58,59,60,67,82,83,87,90,91,100,101,102,129,180,188,189,191,194,207,209,211,212,223,224,243,246,251,252,253,254,255,268,270,275,276,277,282,289,290],bitbang:189,bitmap:91,bitmask:100,bits0x00:28,bl_rev:278,bla:206,blank:14,ble:[15,19,20,24,27,31,32,62,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,88,90,129,133,134,223,226,238,241,245,247,249,251,252,253,257,273,274,275,279,281,284,292],ble_:251,ble_addr_t:[254,255],ble_addr_type_publ:252,ble_app:[246,254,255],ble_app_advertis:[254,255],ble_app_on_sync:[254,255],ble_app_set_addr:[254,255],ble_att:[77,238,251],ble_att_err_attr_not_found:21,ble_att_err_attr_not_long:21,ble_att_err_insufficient_authen:21,ble_att_err_insufficient_author:21,ble_att_err_insufficient_enc:21,ble_att_err_insufficient_key_sz:21,ble_att_err_insufficient_r:[21,274,276],ble_att_err_invalid_attr_value_len:[21,251],ble_att_err_invalid_handl:21,ble_att_err_invalid_offset:21,ble_att_err_invalid_pdu:21,ble_att_err_prepare_queue_ful:21,ble_att_err_read_not_permit:21,ble_att_err_req_not_support:21,ble_att_err_unlik:[21,274,276],ble_att_err_unsupported_group:21,ble_att_err_write_not_permit:21,ble_att_svr_entry_pool:74,ble_att_svr_prep_entry_pool:74,ble_eddystone_set_adv_data_uid:254,ble_eddystone_set_adv_data_url:254,ble_eddystone_url_scheme_http:254,ble_eddystone_url_suffix_org:254,ble_err_acl_conn_exist:21,ble_err_auth_fail:21,ble_err_chan_class:21,ble_err_cmd_disallow:21,ble_err_coarse_clk_adj:21,ble_err_conn_accept_tmo:21,ble_err_conn_establish:21,ble_err_conn_limit:21,ble_err_conn_parm:21,ble_err_conn_rej_bd_addr:21,ble_err_conn_rej_channel:21,ble_err_conn_rej_resourc:21,ble_err_conn_rej_secur:21,ble_err_conn_spvn_tmo:21,ble_err_conn_term_loc:21,ble_err_conn_term_m:21,ble_err_ctlr_busi:21,ble_err_diff_trans_col:21,ble_err_dir_adv_tmo:21,ble_err_encryption_mod:21,ble_err_host_busy_pair:21,ble_err_hw_fail:21,ble_err_inq_rsp_too_big:21,ble_err_instant_pass:21,ble_err_insufficient_sec:21,ble_err_inv_hci_cmd_parm:21,ble_err_inv_lmp_ll_parm:21,ble_err_link_key_chang:21,ble_err_lmp_collis:21,ble_err_lmp_ll_rsp_tmo:21,ble_err_lmp_pdu:21,ble_err_mac_conn_fail:21,ble_err_mem_capac:21,ble_err_no_pair:21,ble_err_no_role_chang:21,ble_err_page_tmo:21,ble_err_parm_out_of_rang:21,ble_err_pending_role_sw:21,ble_err_pinkey_miss:21,ble_err_qos_parm:21,ble_err_qos_reject:21,ble_err_rd_conn_term_pwroff:21,ble_err_rd_conn_term_resrc:21,ble_err_rem_user_conn_term:21,ble_err_repeated_attempt:21,ble_err_reserved_slot:21,ble_err_role_sw_fail:21,ble_err_sco_air_mod:21,ble_err_sco_itvl:21,ble_err_sco_offset:21,ble_err_sec_simple_pair:21,ble_err_synch_conn_limit:21,ble_err_unit_key_pair:21,ble_err_unk_conn_id:21,ble_err_unk_lmp:21,ble_err_unknown_hci_cmd:21,ble_err_unspecifi:21,ble_err_unsupp_lmp_ll_parm:21,ble_err_unsupp_qo:21,ble_err_unsupp_rem_featur:21,ble_err_unsupport:21,ble_ga:253,ble_gap:[14,77],ble_gap_adv_param:[254,255],ble_gap_adv_set_field:249,ble_gap_adv_start:[249,252,254,255],ble_gap_chr_uuid16_appear:[251,253],ble_gap_chr_uuid16_device_nam:[251,253],ble_gap_chr_uuid16_periph_pref_conn_param:251,ble_gap_chr_uuid16_periph_priv_flag:251,ble_gap_chr_uuid16_reconnect_addr:251,ble_gap_conn_desc:252,ble_gap_conn_find:252,ble_gap_conn_fn:249,ble_gap_conn_mode_und:[249,252],ble_gap_disc_mode_gen:[249,252],ble_gap_ev:252,ble_gap_event_conn_upd:252,ble_gap_event_connect:252,ble_gap_event_disconnect:252,ble_gap_event_enc_chang:252,ble_gap_event_fn:[254,255],ble_gap_event_subscrib:252,ble_gap_svc_uuid16:[251,253],ble_gap_upd:74,ble_gap_update_param:14,ble_gatt:77,ble_gatt_access_ctxt:[251,274,276],ble_gatt_access_op_read_chr:[251,274,276],ble_gatt_access_op_write_chr:[251,274,276],ble_gatt_chr_def:[251,253,274],ble_gatt_chr_f_notifi:274,ble_gatt_chr_f_read:[251,253,274],ble_gatt_chr_f_read_enc:274,ble_gatt_chr_f_writ:274,ble_gatt_chr_f_write_enc:274,ble_gatt_register_fn:253,ble_gatt_svc_def:[251,253,274],ble_gatt_svc_type_primari:[251,253,274],ble_gattc:77,ble_gattc_proc_pool:74,ble_gatts_chr_upd:[274,276],ble_gatts_clt_cfg_pool:74,ble_gatts_find_chr:[274,276],ble_gatts_register_svc:253,ble_h:[14,15,16,17,18,20,21,24,27,77,254,255,276],ble_hci_ram_evt_hi_pool:74,ble_hci_ram_evt_lo_pool:74,ble_hci_uart_baud:247,ble_hs_:253,ble_hs_adv_field:[249,254],ble_hs_att_err:21,ble_hs_cfg:[27,254,255],ble_hs_conn_pool:74,ble_hs_eagain:21,ble_hs_ealreadi:21,ble_hs_eapp:21,ble_hs_eauthen:21,ble_hs_eauthor:21,ble_hs_ebaddata:21,ble_hs_ebusi:21,ble_hs_econtrol:21,ble_hs_edon:21,ble_hs_eencrypt:21,ble_hs_eencrypt_key_sz:21,ble_hs_einv:[14,21],ble_hs_emsgs:21,ble_hs_eno:21,ble_hs_enoaddr:21,ble_hs_enomem:21,ble_hs_enomem_evt:21,ble_hs_enotconn:21,ble_hs_enotsup:21,ble_hs_enotsync:21,ble_hs_eo:21,ble_hs_ereject:21,ble_hs_erol:21,ble_hs_err_sm_peer_bas:21,ble_hs_err_sm_us_bas:21,ble_hs_estore_cap:21,ble_hs_estore_fail:21,ble_hs_etimeout:21,ble_hs_etimeout_hci:21,ble_hs_eunknown:21,ble_hs_ev_tx_notif:88,ble_hs_event_tx_notifi:88,ble_hs_forev:[252,254,255],ble_hs_hci_err:21,ble_hs_hci_ev_pool:74,ble_hs_id:24,ble_hs_id_gen_rnd:[24,254,255],ble_hs_id_set_rnd:[20,24,254,255],ble_hs_l2c_err:21,ble_hs_reset_fn:27,ble_hs_sm_peer_err:21,ble_hs_sm_us_err:21,ble_hs_sync_fn:27,ble_ibeacon_set_adv_data:255,ble_l2cap:77,ble_l2cap_chan_pool:74,ble_l2cap_sig_err_cmd_not_understood:21,ble_l2cap_sig_err_invalid_cid:21,ble_l2cap_sig_err_mtu_exceed:21,ble_l2cap_sig_proc_pool:74,ble_ll:[77,78,275],ble_ll_cfg_feat_le_encrypt:223,ble_ll_conn:77,ble_ll_prio:226,ble_lp_clock:25,ble_max_connect:[277,279],ble_mesh_dev_uuid:33,ble_mesh_pb_gatt:33,ble_own:[254,255],ble_own_addr_random:[254,255],ble_phi:77,ble_prph:275,ble_public_dev_addr:24,ble_rigado:48,ble_role_broadcast:279,ble_role_peripher:279,ble_sm_err_alreadi:21,ble_sm_err_authreq:21,ble_sm_err_cmd_not_supp:21,ble_sm_err_confirm_mismatch:21,ble_sm_err_cross_tran:21,ble_sm_err_dhkei:21,ble_sm_err_enc_key_sz:21,ble_sm_err_inv:21,ble_sm_err_numcmp:21,ble_sm_err_oob:21,ble_sm_err_pair_not_supp:21,ble_sm_err_passkei:21,ble_sm_err_rep:21,ble_sm_err_unspecifi:21,ble_sm_legaci:223,ble_store_config:14,ble_tgt:[246,254,255],ble_uu:253,ble_uuid128_init:[274,276],ble_uuid128_t:[274,276],ble_uuid16:[251,253],ble_uuid16_declar:[274,276],ble_uuid:276,ble_uuid_128_to_16:251,ble_uuid_u16:[274,276],ble_xtal_settle_tim:25,bleadc:276,blecent:[7,62],blehci:[7,62],blehciproj:247,blehostd:67,blemesh:[22,33],blenano:54,bleprph:[7,14,22,62,67,223,241,248,249,250,251,252,253,274,275,276,277,290],bleprph_advertis:[249,252],bleprph_appear:251,bleprph_device_nam:[249,251],bleprph_log:[249,252,274,276],bleprph_oic:[7,62,281],bleprph_oic_sensor:277,bleprph_on_connect:249,bleprph_pref_conn_param:251,bleprph_print_conn_desc:252,bleprph_privacy_flag:251,bleprph_reconnect_addr:251,blesplit:[7,62],bletest:[7,62],bletini:[7,22,38,39,46,47,51,62,72,238,247,250],bletiny_chr_pool:74,bletiny_dsc_pool:74,bletiny_svc_pool:74,bletoh:90,bleuart:[7,62],bleuartx000:14,blink:[1,7,62,94,100,240,242,243,256,257,259,260,261,262,263,275,276,292],blink_nord:290,blink_nrf:275,blink_primo:275,blink_rigado:48,blinki:[1,12,14,35,44,45,49,56,62,94,243,246,247,264,268,275,276,284,285,286,288,289,290,292],blinky_callout:258,blinky_primo:275,blinky_sim:62,blksize:91,blksz:[74,286],blob:[21,184],block:[21,30,74,87,88,90,91,99,135,141,144,174,175,176,177,178,188,191,193,194,240,275,286],block_addr:91,block_siz:91,blocks_siz:91,blue:263,bluetooth:[1,9,21,23,24,25,28,30,33,90,223,241,248,249,254,255,257,275,276,292],bmd300eval:[49,54,261,276],bmd:[261,276],bno055:[208,209,277,279,280],bno055_0:[208,278,280],bno055_acc_cfg_bw_125hz:280,bno055_acc_cfg_rng_16g:280,bno055_acc_unit_ms2:280,bno055_angrate_unit_dp:280,bno055_cfg:[209,280],bno055_cli:[278,279],bno055_config:[209,280],bno055_default_cfg:209,bno055_do_format_android:280,bno055_err:209,bno055_euler_unit_deg:280,bno055_get_chip_id:209,bno055_id:209,bno055_info:209,bno055_init:[208,209],bno055_ofb:[208,277,278,279],bno055_opr_mode_ndof:280,bno055_pwr_mode_norm:280,bno055_sensor_get_config:209,bno055_sensor_read:209,bno055_shel:278,bno055_shell_init:278,bno055_stat_sect:209,bno055_temp_unit_degc:280,board:[1,2,4,5,7,8,12,14,24,25,31,40,43,48,54,56,58,59,60,62,93,94,135,182,183,188,209,210,214,223,225,226,237,238,240,241,242,243,247,250,254,255,257,258,274,275,280,281,282,284,287,289,290,292],bodi:[129,280],bold:[237,244],bond:[23,28,30,31,250],bondabl:28,bone:[85,248,254,255,292],bookkeep:141,bool:[91,200],boot:[7,44,62,94,101,102,131,196,237,238,241,247,256,259,260,261,262,263,264,268,275,276,278,282,285,286,288],boot_boot_serial_test:7,boot_bootutil:223,boot_build_statu:129,boot_build_status_on:129,boot_clear_statu:129,boot_copy_area:129,boot_copy_imag:129,boot_erase_area:129,boot_fill_slot:129,boot_find_image_area_idx:129,boot_find_image_part:129,boot_find_image_slot:129,boot_go:129,boot_img_mag:129,boot_init_flash:129,boot_load:94,boot_mag:129,boot_move_area:129,boot_nrf:275,boot_olimex:262,boot_primo:275,boot_read_image_head:129,boot_read_statu:129,boot_select_image_slot:129,boot_seri:[7,14,131],boot_serial_setup:7,boot_slot_addr:129,boot_slot_to_area_idx:129,boot_swap_area:129,boot_test:7,boot_vect_delete_main:129,boot_vect_delete_test:129,boot_vect_read_main:129,boot_vect_read_on:129,boot_vect_read_test:129,boot_write_statu:129,bootabl:[223,241,285,288],bootload:[1,12,44,48,94,97,102,131,192,196,237,241,243,257,258,275,276,277,279,287],bootutil:[7,14,102,129,131,256,259,260,261,262,263,264,268,278,285,286,288],bootutil_misc:[7,256,259,260,261,263,278,285,286,288],both:[6,9,11,15,21,23,28,30,40,56,58,59,60,63,90,92,94,99,129,130,132,135,174,180,188,191,200,206,223,225,226,236,256,258,264,267,268,271,276],bottl:[59,82],bottom:[12,94,98,100,250],bound:[90,94,153],boundari:[90,91,94],box:[12,290],bps:194,branch:[1,4,7,10,11,14,56,57,58,60,61,80,81,83,84,129,244,256,268,269,270],branchnam:10,brand:263,bread:276,breadboard:276,breakdown:223,breakout:8,breakpoint:[256,260],breviti:[223,237,286],brew:[3,4,7,11,37,56,59,61,82,84],brick:129,bridg:180,brief:[14,20,187,254,255,264],briefli:94,bring:[12,94,182,278,281,284],broad:292,broadca:[254,255],broadcast:[14,15,28,32,249,254,255],brows:[250,259,269],browser:244,bsd:102,bsp:[1,7,14,25,33,35,38,39,43,44,46,48,51,56,62,63,93,130,135,174,175,177,178,182,186,187,193,194,207,208,209,210,212,223,226,237,240,246,247,250,256,258,259,260,261,262,263,264,268,275,276,277,278,279,280,282,285,286,288,289,290,292],bsp_arduino_zero:256,bsp_arduino_zero_pro:[256,268],bsp_flash_dev:175,bsp_timer:193,bsppackag:94,bss:[14,49,94,223],bssnz_t:[274,275,276],bt_mesh_provis:14,btattach:247,btmesh_shel:14,btshell:[14,30],buad:67,buf:[130,136,154,155,156,157,161,162,164,165,169,172,200],buf_len:[90,130],buffer:[14,21,90,91,93,97,98,130,131,135,157,164,170,172,180,188,191,200,206,225,255,276],buffer_len:276,buffer_size_down:289,bug:[4,7,11,161,162,256,260,282,289,290],bui:276,build:[1,2,3,4,5,6,11,32,33,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,81,83,93,94,95,97,129,135,182,188,199,206,210,223,224,225,226,233,240,241,248,249,250,257,267,274,275,284,287,292],build_arduino_blinki:12,build_arduino_boot:12,build_numb:198,build_profil:[1,33,38,39,44,51,54,62,94,223,237,246,247,250,256,259,260,261,262,263,264,268,275,276,277,278,279,282,285,286,288],buildabl:7,builder:244,built:[1,4,7,8,9,14,22,34,35,39,40,43,44,56,58,59,60,61,62,64,82,83,84,90,129,191,206,223,233,237,238,244,246,247,250,254,255,256,257,258,259,260,261,262,263,264,267,268,274,275,276,277,278,282,285,286,288],bunch:275,bundl:[14,56,102,153],burn:[14,254,255],bus:[2,188],buse:[135,182],busi:[21,91,92,243,275],button1_pin:240,button:[2,4,10,12,14,99,240,256,259],bytes_read:[154,161,164,169,172],bytyp:212,c_ev:85,c_evq:85,c_tick:85,cabl:[238,240,241,243,247,256,257,259,260,261,262,264,268,276,282,284,285,287,288],cach:[59,82,135,174,176,182],cache_large_file_test:267,calcul:[21,30,49,91,101,129,141],calendar:9,call:[6,7,9,11,20,22,24,27,37,62,85,86,87,88,89,90,91,92,93,94,98,99,100,101,102,129,130,131,132,133,135,136,139,141,142,143,144,146,147,151,159,162,166,169,172,173,176,177,179,180,181,184,187,188,190,191,192,193,194,195,197,200,206,207,208,209,211,212,213,215,217,218,221,224,226,229,230,231,232,233,234,235,238,240,243,245,246,249,250,251,252,253,254,255,256,258,264,267,269,275,276,277,278,282,287],callback:[21,27,87,88,90,91,131,141,146,151,187,191,193,194,207,208,209,211,213,226,240,249,251,253,254,255,258,275,282],caller:[90,91,131,141,193,199,200,216,220],callout:[88,93,98,212,258,282],callout_l:240,callout_reset:130,came:247,can:[1,2,3,4,5,6,7,8,9,11,12,14,20,21,22,23,24,25,28,31,32,34,35,36,43,46,51,56,58,59,60,61,62,63,64,65,67,73,77,81,82,83,84,85,86,87,88,90,91,92,93,94,95,97,98,99,100,102,129,130,131,132,135,136,137,138,141,142,144,146,147,151,152,153,162,166,167,170,172,174,175,177,180,181,182,187,189,190,191,193,194,195,196,200,206,207,208,209,210,211,212,215,216,220,221,222,223,224,225,226,229,230,232,233,236,237,238,240,241,242,243,244,246,247,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,267,268,269,270,274,275,276,277,278,279,280,282,284,285,286,288,289,290,292],cancel:[21,28,85],candid:269,cannot:[4,20,21,72,87,89,92,93,99,129,152,170,180,183,191,193,226,238,256,268,269,270,271],cap:14,capabl:[14,21,23,28,30,96,131,135,206,223,243,258,289],capac:21,captian:82,captur:180,carbon:274,card:[137,152],care:[14,90,93,100,164,172,254,255,269,270,274],carri:90,cascad:[1,62],cast:[90,91,251],cat:[81,275,276],catastroph:27,categor:94,categori:[14,97],caus:[91,93,99,154,161,162,167,170,180,188,192,225,228,241,243,276,289],caveat:[14,129],cb_arg:[151,193,249,253,254,255],cb_func:193,cbmem:[7,206,228],cbmem_buf:206,cbmem_entry_hdr:228,cbmem_init:206,cbmem_read:228,cbmem_test_case_1_walk:228,cbor:[133,134],cborattr:7,cccd:28,ccm:23,cdc:259,cell:23,cellar:[4,6,11,37,59,61,82,84],central:[14,21,31,248,249,250,252],certain:[1,22,90,91,93,94,135,247,270],certainli:[14,276],cess_op_:251,cfg:[71,172,173,188,191,193,194,208,209,260],cflag:[1,51,62,94],cgi:102,ch_commit:130,ch_export:130,ch_get:130,ch_get_handler_t:130,ch_name:130,ch_set:130,chain:[90,91,200],challeng:265,chanc:[93,100],chang:[1,4,6,7,10,11,14,20,21,22,23,25,29,31,47,50,51,53,58,62,63,81,90,94,95,129,130,180,187,191,207,208,215,223,225,226,237,238,240,242,243,244,247,250,252,254,255,256,260,274,275,276,277,278,279,282,284,289,290],channel:[14,21,22,30,135,276],channel_map:28,chapter:[2,22,97,133],charact:[131,140,157,160,174,180,194,198,199,200,201,202,203,204,215,220,226,253,268,282,289],character:25,characteri:[251,253],characterist:[9,17,18,22,28,29,129,250,253,274,276],check:[4,6,8,11,14,21,23,56,57,80,85,88,91,100,130,180,200,209,223,225,226,237,241,246,247,248,259,262,264,267,270,275,278,280,287],checkbox:60,checkin:[78,98,100],checkout:[10,81,83,257],checksum:[141,143],child:[91,155,156,157,162,165,180],children:180,chip:[4,97,135,136,182,187,191,192,207,209,256,257,259,260,263,268,269,275,278],chip_id:278,chipset:[135,182,256,268],choic:[2,10,174,247,278],choos:[6,7,10,14,90,100,102,223,224,238,243,246,249,258,259,261,274,276],chose:224,chosen:[90,94,129,152,180,276],chr:[251,274,276],chr_access:251,chr_val_handl:[274,276],chunk:[14,90],ci40:54,cid:250,circuit:188,circular:[14,206,225,226],circularli:270,clang:6,clarif:10,clarifi:135,clariti:137,classif:21,clean:[1,11,34,40,51,58,59,60,64,82,160,178,243,264],cleanli:226,clear:[73,85,90,91,100,129,180],clearli:[8,21],cli:131,click:[2,4,10,12,244,250,254,255,256,259,260,262,288],client:[12,14,18,19,21,22,28,32,153,181,210,254,274],clk:191,clobber:167,clock:[21,26,87,192,256,260,278],clock_freq:87,clone:[10,11,46,51,56,59,82],close:[2,60,135,153,154,155,156,157,158,161,162,164,165,169,170,171,172,173,194,208,256,259,260,262,263,280],closest:193,clue:14,cmake:1,cmd:[56,62,94,185,275,278],cmd_len:275,cmd_queue:131,cmd_read_co2:275,cmp:275,cmsi:[2,7,14,49,256,259,260,261,262,263,282],cmsis_nvic:[259,260,261,262,263,282],cn4:237,cnt:[74,131,177,178,191,286],co2:[274,275],co2_evq:274,co2_read_ev:274,co2_sns_str:274,co2_sns_typ:274,co2_sns_val:274,co2_stack:274,co2_stack_s:274,co2_task:274,co2_task_handl:274,co2_task_prio:274,coap:[134,210,213,277,281],coars:21,coc:28,code:[1,5,7,9,10,11,13,19,22,25,27,28,30,56,86,90,91,93,96,97,98,101,102,129,130,131,133,135,137,140,153,154,155,156,157,158,160,161,162,164,165,167,169,170,171,172,173,177,178,179,180,181,182,183,187,188,191,193,194,196,206,208,209,210,223,226,228,229,230,232,233,234,238,240,243,248,249,251,252,253,256,257,258,264,266,268,269,275,276,277,280,281,282,284,286,287,292],codebas:[256,268],coded_interval_max:28,coded_interval_min:28,coded_lat:28,coded_max_conn_event_len:28,coded_min_conn_event_len:28,coded_scan_interv:28,coded_scan_window:28,coded_timeout:28,codepag:152,coding_standard:7,coexist:129,collect:[1,7,44,56,62,90,91,133,141,181,200,223,237,269],collis:21,colon:67,color:242,column:20,com11:8,com1:67,com3:[8,258,268,278,285,288],com6:8,com:[8,10,11,12,34,56,58,59,60,64,81,82,83,102,184,237,247,258,268,269,271,278,285,286,288],combin:[1,21,23,27,44,62,93,94,188,246,254,255,269,270],combo:223,come:[3,22,31,56,62,94,102,131,135,206,256,262,263,268,275,276,288],comm:[237,257],comma:[52,67],comman:221,command:[1,2,4,7,8,11,21,31,35,36,37,38,39,41,42,43,45,46,47,48,49,50,52,53,54,55,58,59,60,61,62,68,69,71,72,73,76,77,79,81,82,83,84,94,97,129,132,134,137,139,188,196,197,206,210,216,220,221,222,223,224,225,226,233,237,239,241,242,243,246,254,255,256,258,259,260,261,262,263,264,265,267,268,269,271,272,276,277,278,279,280,282,285,288,289,290],comment:[3,10,14,94,236,292],commerci:275,commit:[10,11,130],common:[56,62,88,90,97,99,100,135,136,182,187,209,210,223,253,260],commonli:[99,191,254],commun:[9,14,22,27,28,32,67,79,131,133,137,188,191,207,208,209,237,240,241,242,243,247,249,252,257,264,268,269,275,276,278,282,285,286,287,288,292],compani:30,compar:[10,21,90,161,243,259,260,261,264,272,276],comparison:[21,23,90,101],compat:[4,14,22,56,129,131,136,215,216,223,256,264,268,278,280,282,289],compens:101,compil:[1,4,5,6,7,8,11,21,35,48,54,56,59,62,82,90,93,94,97,102,135,215,224,233,236,237,238,240,246,256,259,260,261,262,263,264,268,275,276,277,278,282,285,286,288],complaint:22,complementari:32,complet:[9,12,21,23,28,30,31,34,56,60,64,94,96,97,100,129,131,141,155,156,157,162,165,180,182,188,191,194,206,223,231,235,236,240,243,247,249,254,255,260,269,276,277,280,281,282,285,286,288],completion_cb:131,complex:[9,32,93,94,135,182,243,245],compli:22,complianc:[275,276],compliant:22,complic:[56,93,223],compon:[1,7,12,19,40,49,56,58,59,60,62,86,94,97,130,135,182,188,191,223,224,238,240,241,247,254,255,257,268,275,284,287],compos:[40,58,59,60,236],composit:200,comprehens:236,compress:[56,82,174,254],compris:[7,129,174,175],comput:[3,4,6,8,12,14,32,57,59,60,80,82,131,143,152,241,243,246,247,256,257,259,260,261,262,263,277,279,284,285,287,288],concept:[12,23,90,93,161,215,226,241,243,245,246,248,256,257,268,284,287],conceptu:14,concern:[3,90,180],concis:133,conclud:[254,255,276],concurr:[1,14,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,85,89,248,249],condit:[4,21,129,180,188,208,215,225,228,267,275,276],condition:[56,208,225,226,278],conduct:[129,133],conf:264,conf_bytes_from_str:130,conf_commit:130,conf_commit_handler_t:130,conf_export_func_t:130,conf_export_handler_t:130,conf_export_persist:130,conf_export_show:130,conf_export_tgt:130,conf_export_tgt_t:130,conf_fcb_dst:130,conf_fcb_src:130,conf_file_dst:130,conf_file_src:130,conf_get_handler_t:130,conf_get_valu:130,conf_handl:130,conf_init:[130,234],conf_int8:130,conf_load:130,conf_regist:[130,228],conf_sav:130,conf_save_on:130,conf_save_tre:130,conf_set_handler_t:130,conf_set_valu:130,conf_store_init:130,conf_str_from_byt:130,conf_str_from_bytes_len:130,conf_str_from_valu:130,conf_typ:130,conf_value_from_str:130,conf_value_set:130,confidenti:23,config:[1,7,14,33,51,62,63,65,79,81,82,83,132,136,152,154,158,161,164,171,193,225,226,234,238,246,275,276,278],config_:208,config__sensor:208,config_bno055_sensor:[208,280],config_cli:130,config_fcb:[130,225],config_fcb_flash_area:[225,226],config_lis2dh12_sensor:208,config_newtmgr:[51,238],config_nff:[130,153,225],config_pkg_init:226,config_test_al:234,config_test_handl:228,config_test_insert:[228,229],configur:[6,7,9,14,20,21,26,27,32,33,51,56,58,59,60,62,63,87,91,93,94,95,97,129,131,133,135,153,174,176,180,182,183,187,188,191,193,194,195,210,211,213,223,227,240,243,246,249,253,256,259,262,263,264,265,271,276,278,281,282,284,286,289,290],configuraton:152,confirm:[8,14,21,28,72,129,223,241,264,285,288],confirmbe9699809a049:72,conflict:[62,225,270],confluenc:10,confus:[269,276],congratul:[7,237,250,274,275,276],conifgur:130,conjunct:[32,211],conn:[14,28,29,31,65,66,68,69,70,71,72,73,74,75,76,77,78,79,81,82,83,241,252,254,255,285,286,288],conn_handl:[21,250,251,252,274,276],conn_interval_max:30,conn_interval_min:30,conn_itvl:[31,250],conn_lat:[31,250],conn_mod:252,conn_profil:[66,67,68,69,70,71,72,73,74,75,76,77,78],conn_upd:252,connect:[4,7,8,9,12,16,21,22,23,25,27,29,30,32,39,43,44,56,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,81,82,83,97,131,133,134,135,182,187,188,191,192,223,237,240,248,249,250,251,252,254,255,257,274,275,284,287],connect_don:268,connectable_mod:249,connection_profil:72,connectionless:28,connector:[4,238,247,259,262,264,288],connextra:14,connintervalmax:30,connintervalmin:30,connstr:[14,67,241,285,286,288],conntyp:14,consecut:98,consequ:[21,129,223],conserv:[9,90,97],consid:[22,63,90,93,99,143,188,228,253,269],consider:228,consist:[1,22,32,62,99,100,129,130,133,135,163,180,191,223,225,226,233,253],consol:[1,7,8,12,14,27,56,62,97,102,130,138,155,156,157,162,165,172,194,206,219,226,240,246,247,250,254,255,257,267,275,276,286],console_append_char_cb:131,console_blocking_mod:131,console_compat:131,console_echo:131,console_handle_char:131,console_init:131,console_input:131,console_is_init:131,console_is_midlin:131,console_max_input_len:131,console_non_blocking_mod:131,console_out:131,console_pkg_init:226,console_printf:[14,21,27,131,154,155,156,157,161,162,164,165,169,172,228,274,275,276,282],console_prompt:275,console_read:131,console_rtt:[131,282,289],console_rx_cb:131,console_set_completion_cb:131,console_set_queu:131,console_tick:[131,275],console_uart:[131,282,289],console_uart_baud:131,console_uart_dev:131,console_uart_flow_control:131,console_uart_tx_buf_s:131,console_writ:[131,228],consolid:180,consortium:133,constant:[14,191],constantli:[249,268,276,292],constitu:[44,180],constrain:[9,56,134,265],constraint:256,construct:[11,14,90,99],consult:[153,182],consum:[88,99,194],consumpt:23,contact:[95,96,237],contain:[1,3,7,11,14,30,32,35,51,56,62,85,90,91,94,96,97,99,100,101,129,130,131,133,135,138,141,154,157,158,161,164,167,168,169,171,177,180,183,187,194,196,198,199,200,211,219,223,224,226,228,231,233,236,246,247,249,251,253,254,255,264,267,269,270,278,292],content:[12,14,50,62,81,90,94,129,141,142,143,155,156,157,162,165,172,180,193,200,223,234,237,243,249,253,254,255,262,264,267,270,271,278,280],context:[14,56,78,86,87,88,93,100,131,135,140,191,193,215,217,226,238,240,252,258],contigu:[90,129,141,180],continu:[6,14,94,99,130,180,215,223,238,240,242,243,244,247,256,257,262,268,276,279,280,281,282,284,286,287,289],contrast:226,contribut:[13,23,58,59,60,81,82,83,245,267,284],contributor:[182,275,276],control:[8,9,14,19,20,21,22,23,24,26,27,30,32,56,67,97,131,135,141,161,174,182,184,191,194,206,209,215,226,246,260,262,269,270,275,276,281],contruct:250,convei:90,conveni:[12,21,90,130,172,180,199,228],convent:[264,267,278,282],convers:[102,135,251],convert:[1,8,21,72,85,87,90,101,130,135,175,177,178,180,191,200,226,251,253,275,276],cooper:14,coordin:[277,279],copi:[1,4,46,50,51,63,81,83,90,95,96,129,130,141,180,200,208,223,224,241,249,252,256,275,276,280,282,289,290],copy_don:129,copyright:[4,256,262,275,276,282,289,290],core:[1,6,7,12,22,30,33,38,39,44,49,51,52,54,56,62,63,72,89,94,96,98,133,135,153,182,184,223,224,227,237,243,246,247,248,249,250,256,257,258,259,260,261,262,263,264,267,268,269,270,275,276,277,278,279,282,284,285,286,287,288,289,290,292],core_cminstr:260,core_cmx:14,core_o:[14,131],core_path:62,coreconvert:72,coredownload:72,coredump:[7,183],coredump_flash_area:226,coreeras:72,corelist:72,corner:262,corp:[2,256],correct:[1,2,4,42,91,94,101,129,174,223,226,243,247,260,261,262,264,267,276,278],correctli:[2,14,90,242,247,256,260,267,276,277],correspo:253,correspond:[12,21,87,90,91,94,129,163,176,180,181,206,207,249,251,254,255,270,276],corrupt:[91,168,180],corrupt_block_test:267,corrupt_scratch_test:267,cortex:[4,102,259,261,264,268,276,282],cortex_m0:62,cortex_m4:[62,94,259,260,261,262,263,264,282],cortex_m:256,cost:9,could:[14,21,90,99,180,198,251,275],couldn:[228,249,275],count:[14,56,82,90,99,100,129,130,180,227],counter:[86,90,224,264],countri:22,coupl:[1,14,262,275,276],cours:[14,274],cover:[8,62,135,180,226,227,236,243,253],cpha:191,cpol:191,cpptool:12,cpu:[14,86,94,96,135,182,183,190,243,256,260],cputim:[14,25,87,278,282],cputime_geq:87,cputime_gt:87,cputime_leq:87,cputime_lt:87,crank:276,crash:[65,79,81,82,83,98,129,132,192,194,238],crash_test:[7,132,238],crash_test_newtmgr:238,crc16:180,crc:[7,131,137,275],creat:[1,2,3,4,5,6,8,10,11,12,14,23,28,33,35,40,42,44,45,46,47,48,51,56,58,59,60,62,63,67,72,81,82,83,88,91,92,93,96,98,99,100,102,131,135,144,158,160,161,162,167,170,171,173,174,177,180,206,207,209,210,212,213,217,223,224,225,226,233,235,240,242,243,248,253,257,258,269,271,274,280,281,284,287,292],create_arduino_blinki:12,create_mbuf_pool:90,create_path:160,creation:[48,135,237,264,276],creator:[207,208,209,210,212,277,278,280,282],credenti:271,criteria:21,critic:3,cross:[5,6,7,9,97],crt0:49,crti:49,crtn:49,crw:8,crypto:[7,14,256,259,261,263,268,285,286,288],crypto_mbedtl:223,cryptograph:[23,129],cryptographi:23,crystal:26,csrk:28,css:244,cssv6:30,csw:[78,275,285,288],ctlr_name:67,ctlr_path:67,ctrl:[12,246,275,278,289],ctxt:[251,252,274,276],cur_ind:252,cur_notifi:252,curi:[250,252],curiou:[3,244],curl:[11,59],curn:[250,252],curr:268,currantlab:[82,83],current:[11,14,25,28,32,40,41,42,45,46,47,51,52,58,59,60,61,72,82,83,84,86,87,90,91,92,93,94,98,99,100,101,129,130,131,135,136,137,138,140,141,152,153,158,159,160,161,171,173,180,187,188,191,193,196,207,215,224,225,228,231,235,237,238,241,243,254,256,257,260,262,264,265,269,270,272,278,282],custom:[14,24,72,91,163,181,183,206,226],cvs:[256,262,282,289,290],cwd:12,cycl:[20,22,32,180],cylind:276,daemon:[2,247],dai:[101,215],dap:[2,256,259,263],darwin10:[256,282,289,290],darwin:6,data:[9,14,15,21,22,28,29,31,32,44,49,65,70,81,82,83,85,87,90,91,93,94,97,100,129,130,131,133,134,142,143,144,145,146,147,151,154,158,160,161,163,164,169,170,171,172,173,176,179,189,191,194,205,208,210,213,214,218,220,223,226,227,243,251,252,254,255,274,275,276,284,290,292],data_len:275,data_mod:191,data_ord:191,databas:29,databit:194,databuf:[90,282],datagram:218,datalen:28,datasheet:94,date:[11,69,152,264,267,275],datetim:[7,65,79,81,82,83,131,132,134,238,267],datetime_pars:267,daunt:249,daylight:101,dbm:[22,28,30],deactiv:223,deal:[90,93,94,135],deb:[58,61,81,84],debian:[4,6],debug:[1,2,4,5,6,7,14,40,44,48,51,56,58,59,60,63,95,209,210,225,237,241,246,247,256,258,259,260,261,262,263,268,275,276,277,278,279,282,285,286,288,289,290],debug_arduino_blinki:12,debug_arduinoblinki:12,debugg:[5,14,39,40,56,58,59,60,62,192,256,259,260,262,263,264,288,289,290],dec:[49,223],decemb:23,decid:[56,86,97,243,275],decim:[23,188],decis:188,declar:[12,92,100,130,184,193,208,220,230,232,240,267,269,280,282],decod:[130,215,218],decompress:254,dedic:[88,94,97,215,223,238,240,251,289,290],deep:183,deeper:[90,237,264,276],def:[7,208,225,226,276,282],defaultdevic:83,defin:[1,6,14,20,21,22,25,28,29,30,32,35,43,44,48,51,54,62,85,87,88,90,91,93,98,100,129,130,132,134,135,177,178,183,184,186,187,191,206,207,208,210,211,212,213,214,215,221,223,225,226,228,229,231,233,237,240,243,245,247,249,251,257,264,267,269,270,274,275,276,277,278,281,282,285,287,288,289],defininig:32,defininit:199,definit:[1,12,30,36,38,43,51,62,85,90,91,94,129,215,224,233,247,251,253,269,274,275,276],defint:[90,225],del:28,delai:[27,87,101,193,242,243,264],deleg:223,delet:[1,6,10,12,28,36,40,46,50,51,56,58,59,60,62,63,154,170,174,180,242,265,274,280,282],delimit:[51,130],deliv:[85,152],delta:[56,82,237],demo:274,demonstr:[21,27,90,160,167,172,264,278,282],denot:90,dep:[1,51,56,62,63,94,131,136,137,152,153,181,182,206,208,215,224,226,238,240,246,258,267,275,276,277,282],depend:[1,4,6,8,14,21,23,25,28,40,42,50,51,53,56,58,59,60,63,67,85,90,96,102,129,131,152,153,161,180,187,188,191,201,206,208,215,224,226,228,231,233,235,243,246,256,267,268,269,272,275,276,278,285,287,288],depict:182,deploi:[44,223,258],deploy:32,deprec:226,depth:[4,96],dequeu:[88,240],deriv:[21,180],desc:[177,178,252],descend:[129,170],describ:[1,2,7,10,11,12,25,29,34,64,91,93,94,95,97,100,129,130,133,141,147,152,174,180,187,189,191,200,205,207,208,209,215,223,225,226,233,237,238,244,246,248,253,254,260,263,264,269,275,276,277,278,280,284],descript:[1,7,10,14,20,28,29,31,56,62,90,94,95,96,130,137,140,142,143,144,145,146,147,148,149,150,151,154,155,156,157,158,159,160,161,162,164,165,167,168,169,170,171,172,173,177,178,198,199,201,202,203,204,205,206,207,208,211,212,216,217,218,219,220,221,222,224,225,226,228,229,230,231,232,237,264,265,267,269,270,275,276,290],descriptor:[17,18,28,29,62,161,162,175,177,178,180,251],design:[22,23,24,56,97,98,101,129,174,180,215,223,235,243,253,267],desir:[87,90,99,193,208,267,272],desktop:10,destin:[4,14,32,90,157,164,167,172,180,188,199,206],detail:[1,10,12,14,22,23,30,56,93,100,129,130,153,174,188,191,207,208,209,211,212,223,237,238,246,249,251,253,254,255,256,264,269,282,289,290],detect:[21,56,91,141,153,174,177,178,192,218,225,226,247],determin:[21,88,90,91,100,129,141,180,193,215,223,226,236,249,252,269,280],determinist:14,dev:[1,2,3,4,7,8,10,11,12,14,49,62,67,83,131,135,136,208,209,226,236,237,241,242,246,247,250,256,258,259,260,261,262,263,264,268,269,270,271,275,276,277,278,280,282,285,286,288,292],dev_found:247,develop:[3,5,6,7,8,9,13,14,21,56,60,62,83,90,91,93,95,96,97,100,133,135,210,213,215,226,236,241,243,247,248,251,254,256,257,259,262,263,269,270,274,275,276,281,284,288,289,290,292],devic:[3,4,8,9,15,20,21,22,23,26,29,30,32,33,44,56,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,81,82,83,97,129,131,133,134,135,136,137,153,175,182,184,187,188,191,210,211,212,213,223,224,225,226,227,238,245,246,248,249,250,251,253,254,255,256,258,259,260,261,262,263,264,268,274,276,281,282,285,286,287,288,289,290,292],device_id:184,deviceaddr:24,deviceaddrtyp:24,dflt:200,dhcp:268,dhkei:21,diag:194,diagram:[133,243,260,262],dialog:[12,60,290],dictat:[11,63],did:[14,223],diff:275,differ:[4,6,7,8,11,12,21,25,28,31,46,56,58,81,85,90,92,93,94,95,96,97,100,130,135,174,182,187,194,208,223,224,225,226,230,238,240,241,243,246,247,258,259,260,262,265,267,268,269,270,272,274,278,280,282,288,290],differenti:[90,269],difficult:[22,96,129,225],dig:[7,248],digit:[23,135,187,276],dioxid:274,dir:[28,137,153,155,156,157,162,163,165],direct:[10,21,28,188,215,224,270],direct_addr:[254,255],directli:[7,11,15,19,37,153,193,194,206,223,226,254,256,265,267,268,277,280],directori:[1,4,6,7,8,10,11,12,35,36,38,42,44,46,51,56,58,60,61,81,83,84,89,94,95,96,135,137,155,156,157,160,161,162,165,166,167,168,170,172,173,190,192,233,237,242,246,247,256,257,259,260,261,262,263,267,268,269,270,275,276,277,278,282,284,285,287,288,290,292],dirent:[137,155,156,157,162,163,165],dirnam:[155,156,157,162,165],dirti:237,disabl:[6,14,21,23,25,31,87,131,152,180,187,191,194,206,208,209,215,223,225,226,238,252,265,268,277,278,279,282,289],disable_auto_eras:136,disallow:[21,174],disbl:215,disc_mod:252,discard:[180,268],disciplin:247,disclaim:[7,11,56,246],disconnec:28,disconnect:[28,252],discontigu:129,discov:[14,23,28,29,247],discover:[14,28,30,134,213,249,281],discoverable_mod:249,discoveri:[14,29,133,135,137,247,252,257],discret:[174,175],discuss:[10,90,95,208,223,249,278],disjoint:21,disk:[7,129,141,153,154,168,170,174,175],disk_nam:153,disk_op:137,disk_regist:[137,153],dispatch:[93,226,240],displai:[1,6,14,23,28,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,62,63,65,67,70,72,73,74,77,78,81,82,83,130,135,182,226,247,262,264,275,277,279,284,285,288],displayonli:28,displayyesno:28,dist:[58,81],distanc:[22,224],distinct:23,distinguish:14,distribut:[1,4,6,21,22,28,56,102,129,269,275,276],distro:6,div0:68,dive:90,divid:[19,21,68,130,132,174,175,223],dle:28,dll:[259,261,264,276],dm00063382:237,dma:135,dndebug:51,dnrf52:94,do_task:224,doc:[4,6,7,10,24,34,64,244,256,257,260],docker:[3,7,256,292],dockertest:2,document:[1,4,8,12,15,19,21,24,26,60,63,65,94,98,102,138,152,153,163,181,182,184,223,233,237,241,243,248,251,253,254,255,256,259,261,267,268,269,278,282,285,286,289,290],doe:[7,14,21,23,36,51,62,67,72,88,90,91,93,94,95,100,101,129,130,131,133,135,141,158,162,170,171,174,175,177,180,188,191,196,206,208,209,211,221,224,225,226,238,240,241,243,246,249,256,259,260,261,263,264,265,271,282,287],doesn:[8,14,21,33,98,129,137,158,170,171,223,228,242,243,246,247,249],doing:[14,89,101,135,243,251,258,275],domain:2,don:[1,10,14,32,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,88,90,130,138,141,164,172,237,251,253,254,255,269,275,276],done:[6,7,8,14,24,26,56,82,92,93,94,101,129,131,141,142,161,162,176,195,196,212,229,230,232,237,238,241,243,247,253,254,255,256,259,260,261,264,268,276,282,289,290],dont:289,doorbel:56,dop:153,doubl:[2,200,262],doubli:180,doubt:[14,253],down:[1,12,62,81,83,187,223,238,260,262,288],downgrad:[6,7],download:[1,2,4,7,10,12,14,30,40,42,43,56,59,60,61,71,72,82,83,84,153,196,244,246,247,256,259,260,261,262,263,267,268,271,275,282,284,285,286,288,289,290],doxygen:[4,7,89,256,260],doxygengroup:89,dpidr:263,dpkg:[58,61,81,84],drag:21,drain:25,draw:25,drive:[9,14,62,101,135,188],driver:[7,56,136,137,153,182,186,187,189,191,193,194,208,210,212,224,246,256,259,260,261,262,263,268,278,282,288,289],drop:[12,14,27,180,194,260,262,288],dsc:251,dsimmon:275,dsize:90,dst:[14,46,51,71,90,172,185,199],dsym:[56,62],dtest:51,due:[14,21,91,129,136,141,152,192,256,260,262],dummi:180,dump:[14,130,289],dumpreg:278,duplex:22,duplic:[28,90],durat:[14,20,28,31,101,251,278],duration_m:[254,255],dure:[14,21,23,72,86,94,98,100,129,131,162,180,197,208,223,226,233,243,246,251,258,277,280],duti:[22,32],dwarf:62,dylib:4,dynam:[89,91],e407:[262,288],e407_:262,e407_devboard:[54,262,288],e407_devboard_download:262,e407_sch:288,e761d2af:[274,276],e_gatt:253,eabi:[4,7,12,94,102,256,282,289,290],each:[1,2,10,11,12,14,20,21,22,23,24,29,33,44,49,50,51,62,63,65,67,74,78,88,90,91,93,94,99,101,129,131,135,155,156,157,162,163,165,167,174,175,176,180,182,187,206,207,209,210,211,212,213,215,219,220,223,224,226,238,240,243,251,252,253,254,255,256,267,269,278,280,281,282,292],ead:153,eager:3,earlier:[10,31,58,59,60,81,82,83,130,170,251,254,255,274,275,276,289],eas:136,easi:[1,2,3,8,9,135,182,188,224,225,228,244,259,276,277],easier:[14,25,94,275],easiest:275,easili:[9,172,210,226,282],east:101,eavesdropp:20,ecdsa256:129,ecdsa:129,echo:[12,14,61,65,79,81,82,83,84,131,132,134,238,268,275,285,286,288],echocommand:12,eclips:12,ectabl:[254,255],edbg:[2,256],eddyston:[28,257],eddystone_url:[28,30],edg:187,edit:[7,95,152,237,242,264,265,269,280],editign:244,editor:[60,62,237,242,260],ediv:28,edr:[21,30,247],edu:[259,289],ee02:264,eeirili:274,eeprom:136,effect:[99,101,130,153,174,175],effici:[14,22,32,90,91,180,256],eid:254,eight:[133,169],einval:87,eir:30,eir_len:247,either:[1,4,6,11,14,22,28,30,31,58,60,62,81,85,86,88,90,91,100,130,131,132,138,141,167,187,188,191,192,223,226,228,231,232,238,254,255,264,275,276,284],elaps:[21,87,101],electron:292,element:[40,54,56,58,59,60,90,91,100,129,130,140,141,142,143,146,148,149,180,200,215,243],elev:92,elf:[7,12,35,39,49,56,62,72,223,237,238,246,247,250,256,258,259,260,261,262,263,264,267,268,275,276,278,282,285,286,288,289,290],elfifi:72,elicit:223,els:[24,86,98,129,155,156,157,162,165,180,209,223,274,275,276,289],elsewher:[248,251,269],emac:275,email:[3,236,292],emb:136,embed:[1,3,4,12,14,40,56,58,59,60,102,129,174,191,236,237,256,262,282,289,290],emit:[56,62],emploi:22,empti:[51,90,100,141,168,180,226,231,245,253,267],emptiv:9,emul:[264,268,280],enabl:[1,8,9,14,25,31,32,33,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,59,60,63,74,77,78,79,88,94,130,131,132,133,135,136,152,182,187,191,195,206,208,209,210,212,213,214,220,225,226,237,240,241,246,249,252,257,266,273,274,275,276,280,284,287,289,290,292],enc:[199,201,202,204],enc_chang:252,encapsul:22,encod:[7,52,130,131,133,134,201,202,203,204,213,215,219,264,267,277,281,282],encoding_cborattr:223,encoding_tinycbor:223,encompass:[15,21],encount:[7,14,21,58,90,130,151,180,243],encourag:135,encrypt:[21,23,28,31,174,250,252],encrypt_connect:21,end:[9,21,29,31,56,90,129,141,159,169,171,180,188,205,226,235,245,246,264,275],endian:[24,62,90,129,191,264],endif:[220,224,226,234,235,258,267,275,276,282],energi:[9,22,23,90,257,292],english:129,enjoi:276,enough:[56,90,97,129,157,196,199,275],enqueu:[90,193],ensur:[11,12,22,60,90,94,98,101,102,157,182,188,223,224,225,226,238,240,241,243,247,251,257,268,269,270,278,281,284,287],entail:223,enter:[12,23,48,94,215,221,222,224,243,256,258,260,278,282],entir:[2,14,90,91,94,129,174,175,180,243,253,275],entireti:172,entiti:[44,248],entri:[14,21,23,73,130,141,142,143,146,149,151,155,156,157,162,165,172,174,175,180,205,209,215,220,223,253,279],enumer:[129,184,192,207],environ:[3,4,9,12,14,56,59,60,62,83,97,102,135,191,235,247,286],eof:[58,81],ephemer:254,epoch:101,equal:[14,30,73,90,180,206,225,226,228],equat:30,equival:[47,62,136,161,182,276,292],eras:[14,72,129,136,137,141,150,174,175,178,180,185,256,260,261,262,264,276],erase_sector:262,err:[98,160,205,209,218,219,224,274,276],error:[1,2,4,6,7,21,22,27,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,81,83,87,90,92,93,94,98,99,130,136,137,154,155,156,157,158,160,161,162,164,165,167,168,169,170,171,172,173,174,177,178,179,183,187,188,191,193,194,209,223,226,249,251,252,253,256,259,260,262,263,264,267,268,270,274,275,276,277,280,282,288],error_rsp_rx:[77,238],error_rsp_tx:[77,238],error_stat:224,escap:[268,282,289],especi:[14,101],essenti:[44,62,226,243],establish:[21,28,79,238,240,249,250,252,259,261,264,276],estim:90,etc:[1,14,22,25,27,37,44,58,81,90,91,93,96,97,129,133,135,182,183,194,198,243,245,252,275,276],ethernet:[135,182],etyp:276,eui:264,eul:278,euler:278,ev_arg:[85,88,98,131],ev_cb:[85,88,90,131,240],ev_queu:88,eval:[261,276],evalu:[12,87,101,225,226,261,264,269,276],evalut:101,even:[4,10,14,87,90,97,129,152,180,194,200,212,223,274,276,280],event:[14,21,25,26,28,85,90,93,98,100,131,135,206,212,215,217,224,226,238,243,247,249,250,254,255,274,275,276,280,282,292],event_q:276,event_queu:131,eventq:[90,274,275],eventq_exampl:240,eventu:[4,100,101,180],ever:[90,91,129,141],everi:[1,33,62,98,99,100,135,151,180,191,252,254,256,258,270,275,282],everyon:[10,243],everyth:[1,94,98,130,223,243,267,268,275],evq:[85,88,90,217],evq_own:88,evq_task:88,exact:[97,129,187,193,224],exactli:[90,94,99,158,171,226],examin:[193,249,251,286],exampl:[1,2,3,6,7,9,12,14,23,24,25,26,31,32,56,58,59,60,61,62,63,65,81,83,84,90,91,92,94,95,97,98,99,100,101,102,129,131,134,153,174,175,181,184,187,188,189,206,208,209,210,211,215,220,223,224,236,237,238,243,245,247,248,252,256,258,260,264,267,268,269,270,271,275,277,278,279,280,281,282,285,286,288,289,290,292],example1:90,example2:90,exce:[180,216,220,289],exceed:21,except:[7,52,88,129,224,249,254,255,275,276],excerpt:[131,207,208,209,220,225,226,251,253,280],exchang:[15,22,23,28,29],excit:[7,237,246],exclud:[52,129,223,278],exclus:[23,92,99,207],exe:[12,60,61,83,84],exec:14,exec_write_req_rx:[77,238],exec_write_req_tx:[77,238],exec_write_rsp_rx:[77,238],exec_write_rsp_tx:[77,238],execut:[1,2,7,11,12,14,31,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,59,60,62,63,68,81,83,86,88,91,93,94,97,100,102,134,137,138,140,191,196,217,226,231,233,234,238,243,249,251,252,253,254,255,258,267,275],exhaust:[21,98,141,180],exisit:28,exist:[2,14,21,25,30,42,47,50,51,72,95,141,147,152,158,160,161,162,167,168,170,171,173,174,177,178,180,187,207,209,214,226,230,242,250,256,259,260,261,262,263,268,270,275,276,277,279,280,281,282,284,285,287,288,289,290,292],exit:[8,81,259,261,264,275,276,289],expect:[6,14,21,44,62,85,93,98,130,131,135,223,228,229,230,231,232,243,247,254,255,264,267],experi:[14,23,265,278],experienc:14,experiment:100,expertis:269,expir:[85,87,88,193,195,240],expire_msec:195,expire_sec:195,expiri:[85,193],explain:[4,12,14,99,238,245,246,247,254,255,257,268,270,284,287,292],explan:[35,36,38,39,40,44,45,46,47,48,49,51,52,54,55,66,67,68,69,70,71,72,73,74,75,76,77,78,153,249],explanatori:[31,95,254,255],explic:278,explicit:267,explicitli:249,explor:[129,223,251,284],export_func:130,expos:[1,14,15,22,93,134,174,175,176,210,215,226,248,253],express:[24,169,226,228,253,275,276],ext:[12,14,260],ext_bynam:212,ext_bytyp:212,extend:[14,21,30,31,90,91,276,279,281],extended_dur:28,extended_period:28,extens:[14,22,31,138,264],extent:[256,282,289,290],extern:[12,30,41,94,98,135,136,176,182,187,206,224,233,269,270,276,289,290],extra:[14,39,43,48,90,135,153,191,241,244,249,282,289],extra_gdb_cmd:62,extract:[4,11,59,60,61,83,84,191,237,259],extrajtagcmd:[39,43,48],extrem:9,eyes:228,f401re:54,f411a55d7a5f54eb8880d380bf47521d8c41ed77fd0a7bd5373b0ae87ddabd42:285,f4discoveri:260,f_activ:141,f_active_id:141,f_align:141,f_close:[163,181],f_closedir:[163,181],f_dirent_is_dir:[163,181],f_dirent_nam:[163,181],f_filelen:[163,181],f_getpo:[163,181],f_magic:141,f_mkdir:[163,181],f_mtx:141,f_name:[163,181],f_oldest:141,f_open:[163,181],f_opendir:[163,181],f_read:[163,181],f_readdir:[163,181],f_renam:[163,181],f_scratch:141,f_scratch_cnt:141,f_sector:141,f_sector_cnt:141,f_seek:[163,181],f_unlink:[163,181],f_version:141,f_write:[163,181],face:223,facil:[20,102,233,240],fact:[14,136,269],factor:9,factori:263,fail:[14,21,43,58,81,90,98,141,144,161,162,174,180,228,229,230,232,246,252,259,260,263,264,267,269,276,289],fail_msg:228,failov:223,failur:[21,85,90,98,100,101,129,130,137,142,143,144,146,147,149,150,151,153,154,155,157,158,160,161,164,167,168,169,170,171,172,173,177,178,179,183,187,188,191,193,194,195,216,218,219,220,228,234,235,251,252,253,267],fair:90,fairli:[25,56,62,90,99],fall:[97,102,187,292],fallback:28,fals:[91,223,225,228],famili:[4,102,136,152,247],familiar:[3,12,226,237,238,245,246,248,275,276,282,289,292],fanci:100,faq:[11,13],far:[246,282],fashion:[93,141,180,237],fast:[14,275],fat2n:[7,62],fatf:[7,137,152,153],fault:131,favorit:[237,242],fcb:[7,130,142,143,144,145,146,147,148,149,150,151,206],fcb_append:[141,143,144],fcb_append_finish:[141,142],fcb_append_to_scratch:142,fcb_entri:[141,142,143,146,151],fcb_err_nospac:142,fcb_err_novar:146,fcb_getnext:141,fcb_init:141,fcb_log:206,fcb_rotat:[141,142],fcb_walk:141,fcb_walk_cb:151,fda_id:180,fe80:289,fe_area:[141,146,151],fe_data_:141,fe_data_len:[141,146,151],fe_data_off:[141,146,151],fe_elem_:141,fe_elem_off:141,feat:276,feather:14,featur:[1,3,11,14,20,21,31,91,97,100,141,153,174,215,223,226,236,249,264,278,284],feedback:[237,242,257,276],feel:3,femal:288,fetch:[1,12,14,41,58,81,238,240,241,247,257,269,270,275,284,287],few:[1,6,14,15,26,32,56,62,91,94,95,224,246,251,254,264,267,276,292],ffconf:152,ffffffff:262,ffs2nativ:[7,62],fhss:22,ficr:24,fictiti:[269,270],fie_child_list:180,field:[14,21,28,85,86,90,94,129,131,176,188,201,203,207,208,209,215,220,223,224,226,249,251,253,254,255,269,270,278,280],fifo:141,figur:[90,129,130,141],file:[1,2,4,6,7,10,11,12,35,37,38,42,44,47,49,51,56,58,59,60,61,62,65,71,72,81,82,83,84,95,96,97,102,129,130,131,135,174,184,187,189,196,206,207,208,211,212,215,223,225,226,231,233,237,238,240,242,244,246,247,253,256,258,259,260,262,263,264,265,267,268,269,271,275,276,278,286,290],file_nam:62,filenam:[1,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,71,72,94,152,157,161,163,167,170,174,180,223,247,275],filesystem:[56,130,152,196],fill:[10,49,96,100,130,141,142,144,146,147,183,199,200,246,251,254,255,267,275,276],filter:[2,14,23,28,31,73,256],filter_dupl:14,filter_polici:14,find:[1,2,3,14,21,29,35,56,62,89,90,95,97,130,147,182,212,224,225,230,236,237,246,247,256,259,260,263,268,282,285,288,289,290,292],find_info_req_rx:[77,238],find_info_req_tx:[77,238],find_info_rsp_rx:[77,238],find_info_rsp_tx:[77,238],find_type_value_req_rx:[77,238],find_type_value_req_tx:77,find_type_value_rsp_rx:77,find_type_value_rsp_tx:77,fine:[9,14,254,255],finish:[4,99,100,142,180,194,264,275],fip:22,fire:[85,193,195,243,250,282],firmwar:[129,153,238,259,261,264,268,275,276,289,290],first:[2,3,6,8,12,14,22,23,30,34,58,59,60,61,64,83,84,85,88,90,91,92,94,100,101,102,129,130,141,169,174,175,180,181,184,191,198,200,212,215,223,226,237,238,243,245,248,249,250,251,253,254,255,257,258,264,268,274,275,276,278,282,284,287,292],fit:[4,90,101,172,180,249,250,265],five:[21,22,23,158,171,238],fix:[6,11,14,91,101,129,271],fl_area:142,fl_data_off:142,flag:[1,6,12,14,28,30,56,58,59,60,62,63,65,81,82,83,90,95,100,129,161,223,241,247,251,253,274,275,278,285,288],flash0:153,flash:[1,9,14,40,44,49,56,58,59,60,62,96,97,130,135,142,143,147,153,175,177,178,181,182,186,187,189,196,206,223,226,238,256,260,261,262,264,265,276],flash_area:[141,151],flash_area_bootload:[94,129,177,178,225,226],flash_area_image_0:[94,129,177,178],flash_area_image_1:[94,129,177,178,226],flash_area_image_scratch:[94,129,177,178,225],flash_area_nff:[177,178,225,226],flash_area_noexist:225,flash_area_read:[141,146,151],flash_area_reboot_log:[225,226],flash_area_to_nffs_desc:[177,178],flash_area_writ:[141,142],flash_area_x:141,flash_id:[136,183,185],flash_map:[7,130,177,178,183,225,226],flash_map_init:226,flash_own:[225,226],flash_spi_chip_select:187,flash_test:[7,131],flat:[90,200,206],flavor:256,flexibl:[90,97,236,249,269,270],flg:275,flicker:14,flight:90,float_us:277,flood:32,flow:[22,131,194,247,254,255],flow_ctl:194,fly:191,fmt:131,focu:243,folder:[4,10,12,34,56,60,64,242,259],follow:[1,2,3,4,6,7,8,11,12,14,20,21,22,24,25,27,28,30,31,32,33,38,39,44,51,52,56,58,59,60,61,62,65,67,68,72,73,74,78,79,81,82,83,84,90,92,94,95,97,99,100,101,102,129,131,132,134,135,136,137,141,153,161,168,169,170,174,175,176,180,181,182,188,190,191,201,203,206,207,208,209,210,212,213,223,224,225,226,228,229,230,231,232,233,237,238,240,241,242,243,246,247,248,249,251,253,254,255,256,257,258,259,260,261,262,263,264,267,268,269,270,271,274,275,276,277,278,279,280,281,282,284,285,287,288],foo:130,foo_callout:130,foo_conf_export:130,foo_conf_set:130,foo_val:130,footer:[129,258],footprint:[9,133,135],fop:166,fopen:161,forc:[42,50,53,90,223],forev:[88,92,99,100,161,162,235],forgeri:23,forget:[81,161,162,237,274,275,276],forgot:275,fork:10,form:[1,20,23,24,27,67,90,100,180,226,251,252,254,264,267,269],formal:[7,21],format:[8,30,51,67,69,72,73,90,130,131,133,152,153,174,177,178,198,199,200,207,224,226,228,231,247,254,258,268,269,270,278,285,288],former:180,formula:[3,61,84],forth:[130,200],fortun:56,forver:28,forward:[14,101,249],found:[1,14,21,34,56,64,91,94,149,174,180,200,247,252,253,254,256,260,262,288],foundat:[4,22,32,133,256,262,269,275,276,282,289,290],four:[20,23,48,129,169,173],fraction:[101,267],frame:[215,218,219,243,264],framerwork:132,framework:[22,29,98,133,207,213,214,233,234,247,277,278,279,282,283,284],frdm:54,free:[2,4,74,89,90,91,141,180,216,220,223,250,252,256,262,282,286,289,290],freebsd:102,freed:[90,91,180],freedom:[252,254,255],freq_hz:193,frequenc:[14,22,25,87,94,98,101,135,182,190,193,195,224,243,264],frequent:[10,14,20,22,23,98,254,255,282],freshli:90,friend:32,friendli:[14,135],from:[1,4,6,7,8,9,10,11,12,14,20,21,23,24,27,28,31,32,33,36,37,39,40,42,44,45,46,47,48,50,51,52,56,57,61,62,63,65,66,67,69,70,71,72,73,74,77,78,80,84,85,86,87,88,89,90,91,93,94,95,96,97,100,101,102,129,130,132,133,134,136,137,138,140,141,147,153,154,155,156,157,161,162,163,164,165,167,169,170,172,177,178,180,181,183,187,188,191,193,194,196,199,200,206,207,208,209,210,211,212,213,214,215,217,218,223,224,225,226,228,229,230,232,233,235,237,238,240,241,243,245,246,247,248,251,252,253,254,255,256,257,258,259,260,261,262,263,264,267,268,269,270,275,276,278,282,284,285,286,288,289,290],front:[90,180],fs_access_append:161,fs_access_read:[154,161,164,169],fs_access_trunc:[158,161,167,170,171],fs_access_writ:[158,161,167,170,171],fs_cli:7,fs_cli_init:216,fs_close:[158,161,164,167,169,170,171,172,173],fs_closedir:[137,162],fs_dir:[153,155,156,157,162,163,165],fs_dirent:[7,153,155,156,157,162,163,165],fs_dirent_is_dir:[155,157,162,165],fs_dirent_nam:[137,155,156,162,165],fs_eaccess:168,fs_ecorrupt:[168,177,178],fs_eempti:168,fs_eexist:[166,168,173],fs_eful:168,fs_ehw:168,fs_einval:168,fs_enoent:[137,155,156,157,162,165,167,168],fs_enomem:168,fs_eo:168,fs_eoffset:168,fs_eok:168,fs_eunexp:168,fs_euninit:168,fs_fcb:223,fs_file:[7,153,154,158,159,161,163,164,167,169,170,171],fs_filelen:171,fs_if:[163,181],fs_ls_cmd:216,fs_ls_struct:216,fs_mkdir:[7,173],fs_mount:7,fs_name:153,fs_nmgr:7,fs_op:[166,181],fs_open:[154,158,164,167,169,170,171,172,173],fs_opendir:[137,155,156,157,165],fs_read:[154,161,169,172],fs_readdir:[137,155,156,157,162],fs_regist:181,fs_unlink:160,fs_write:[158,167,173],fssl:[11,59],fsutil:[7,153],fsutil_r:153,fsutil_w:153,ftdichip:247,fulfil:251,full:[1,7,8,14,21,22,29,31,49,56,94,129,130,136,142,157,161,167,168,180,183,196,206,215,223,225,226,238,242,246,249,252,253,258,275,276,278,282,292],fuller:180,fulli:[9,22,129,174,175,180,223,246,255,269,270,276],fun:[237,275],func:[90,98,100,130,188,193,195],fundament:[1,292],funtion:200,further:[6,94,98,188],furthermor:[93,129,174,175,180,223,243,254,255],fuse:56,futur:[85,90,180,188,207,215,226,264,269,270,271],g_bno055_sensor_driv:209,g_bno055stat:209,g_led_pin:[242,243,258],g_mbuf_buff:90,g_mbuf_mempool:90,g_mbuf_pool:90,g_mystat:224,g_nmgr_shell_transport:218,g_os_run_list:86,g_os_sleep_list:86,g_stats_map_my_stat_sect:224,g_task1_loop:258,gain:[92,99,181,246,276],gap:[19,20,21,22,31,180,248,251,253,275,276,277],garbag:141,gatewai:264,gatt:[14,15,19,22,28,31,32,33,248,251,253,275,276,277],gatt_acc:251,gatt_adc_v:276,gatt_co2_v:274,gatt_co2_val_len:274,gatt_srv:276,gatt_srv_sns_access:276,gatt_svr:[253,274,276,278],gatt_svr_chr_access_gap:[251,253],gatt_svr_chr_access_sec_test:[253,274],gatt_svr_chr_sec_test_rand_uuid:[253,274],gatt_svr_chr_sec_test_static_uuid:[253,274],gatt_svr_chr_writ:[274,276],gatt_svr_register_cb:253,gatt_svr_sns_access:[274,276],gatt_svr_svc:[251,253,274],gatt_svr_svc_adc_uuid:276,gatt_svr_svc_co2_uuid:274,gatt_svr_svc_sec_test_uuid:[253,274],gaussian:22,gavin:59,gc_on_oom_test:267,gc_test:267,gcc:[4,7,58,102],gcc_startup_:94,gcc_startup_myboard:94,gcc_startup_myboard_split:94,gcc_startup_nrf52:[94,259,261,282],gcc_startup_nrf52_split:[259,261,263,264,282],gdb:[4,7,12,39,48,62,63,94,243,246,256,258,259,260,262,263,276,282,289,290],gdb_arduino_blinki:12,gdbmacro:7,gdbpath:12,gdbserver:6,gear:102,gen:[28,31],gen_task:240,gen_task_ev:240,gen_task_prio:240,gen_task_stack:240,gen_task_stack_sz:240,gen_task_str:240,gener:[1,11,14,16,17,18,19,20,21,22,24,28,29,30,32,35,36,44,56,62,63,88,90,91,92,94,100,129,137,174,175,187,200,223,225,229,230,232,237,238,241,242,243,244,246,247,249,250,253,254,255,256,257,258,259,260,261,262,263,264,267,268,269,274,275,278,282,285,288,289,290],get:[2,4,6,7,8,9,10,11,14,24,56,57,59,60,61,62,65,77,80,82,83,84,86,88,90,91,92,93,94,96,97,98,99,100,101,129,130,134,135,141,151,158,161,164,167,172,180,183,187,191,193,200,207,211,213,223,226,228,237,240,242,243,245,247,249,251,253,254,255,256,257,259,260,262,263,264,267,268,274,275,276,281,282,288,292],gettng:265,gfsk:22,ggdb:6,ghz:[22,268],gist:[135,187],gister_li:211,git:[11,56,59,81,82,83,102,256,268,269,270,271],github:[1,7,10,11,34,56,58,59,60,64,81,82,83,102,184,237,256,268,269,270,271,275,276,284],githublogin:271,githubpassword:271,githubusercont:[11,58,59,60,81,82,83],give:[14,56,187,223,237,243,246,254,255,264,269,270,276],given:[12,14,21,43,85,87,88,90,91,97,100,101,129,137,140,146,147,153,183,187,191,193,194,200,207,211,212,243,270],glanc:249,glibc:58,global:[1,30,63,90,91,92,176,206,207,209,224,233,251,275],gmt:101,gnd:[8,264,276,278,288],gnu:[3,4,12,14,39,48,256,260,262,263,282,289,290],goal:[56,102,287],gobjcopi:6,gobjdump:6,gobl:82,goe:[14,62,233,267,275],going:[14,97,130,223,254,258,275,276],golang:[11,60,83],gone:250,good:[7,9,14,23,56,92,94,98,129,152,223,246,249,255,264,275],googl:[254,284],gopath:[11,58,59,60,61,81,82,83,84],got:[14,274,275,276],govern:[275,276],gpg:[58,81],gpio:[8,14,97,135,189,191,194,240],gpio_ev:240,gpio_l:240,gpl:[4,256,260,262,263,282,289,290],gplv3:[256,262,282,289,290],gpo:182,gpregret:14,grab:89,gracefulli:235,graduat:276,grain:9,grant:92,granular:101,graph:[1,51,63,276],graviti:278,great:[8,22,129,225,242,275,276],greater:[22,30,90,180,225],greatest:[129,180],green:[2,10,12,256,260,261,268,278,285],grid:56,ground:[276,278],group:[2,21,77,132,135,215,224,226,238,264],grow:[54,243],guarante:[14,90,91],guard:93,guid:[7,11,12,19,60,63,65,83,209,210,226,238,240,243,248,253,255,265,267,269,285,288],guinea:244,gyro:278,gyro_rev:278,gyroscop:[207,278],h_mynewt_syscfg_:226,hack:[7,9,12,14,237,242,276],had:[90,93,129,223],hal:[1,7,9,14,49,56,62,87,96,135,136,177,178,181,182,188,191,193,194,209,240,246,256,260,262,276,278,282,292],hal_bsp:[7,14,94,135,186,208,256,259,260,262,275,280],hal_bsp_core_dump:183,hal_bsp_flash_dev:[94,136,183,186],hal_bsp_get_nvic_prior:183,hal_bsp_hw_id:183,hal_bsp_init:[183,208],hal_bsp_max_id_len:183,hal_bsp_mem_dump:183,hal_bsp_power_deep_sleep:183,hal_bsp_power_off:183,hal_bsp_power_on:183,hal_bsp_power_perus:183,hal_bsp_power_sleep:183,hal_bsp_power_st:183,hal_bsp_power_wfi:183,hal_common:[7,246,260,262],hal_debugger_connect:192,hal_flash:[7,94,136,153,183,186,256,260,262],hal_flash_align:185,hal_flash_eras:185,hal_flash_erase_sector:185,hal_flash_init:185,hal_flash_ioctl:185,hal_flash_read:185,hal_flash_writ:185,hal_gpio:[7,137,184,187,240],hal_gpio_init_in:187,hal_gpio_init_out:[100,187,240,242,243,258],hal_gpio_irq_dis:187,hal_gpio_irq_en:[187,240],hal_gpio_irq_handler_t:187,hal_gpio_irq_init:[187,240],hal_gpio_irq_releas:187,hal_gpio_irq_trig_t:187,hal_gpio_irq_trigg:187,hal_gpio_mode_:187,hal_gpio_mode_in:187,hal_gpio_mode_nc:187,hal_gpio_mode_out:187,hal_gpio_mode_t:187,hal_gpio_pul:187,hal_gpio_pull_down:187,hal_gpio_pull_non:187,hal_gpio_pull_t:187,hal_gpio_pull_up:[187,240],hal_gpio_read:187,hal_gpio_toggl:[100,187,240,242,258],hal_gpio_trig_both:187,hal_gpio_trig_fal:187,hal_gpio_trig_high:187,hal_gpio_trig_low:187,hal_gpio_trig_non:187,hal_gpio_trig_ris:[187,240],hal_gpio_writ:[14,184,187,243],hal_i2c_begin:188,hal_i2c_end:188,hal_i2c_init:188,hal_i2c_master_data:188,hal_i2c_master_prob:188,hal_i2c_master_read:188,hal_i2c_master_writ:188,hal_i2c_prob:188,hal_i2c_read:188,hal_i2c_writ:188,hal_os_tick:[190,259,282],hal_reset_brownout:192,hal_reset_caus:[192,280],hal_reset_pin:192,hal_reset_por:192,hal_reset_reason:192,hal_reset_request:192,hal_reset_soft:192,hal_reset_watchdog:192,hal_rtc:152,hal_spi:[137,191],hal_spi_abort:191,hal_spi_config:191,hal_spi_data_mode_breakout:191,hal_spi_dis:191,hal_spi_en:191,hal_spi_init:[137,191],hal_spi_lsb_first:191,hal_spi_mod:191,hal_spi_mode0:191,hal_spi_mode1:191,hal_spi_mode2:191,hal_spi_mode3:191,hal_spi_moden:191,hal_spi_msb_first:191,hal_spi_set:[136,191],hal_spi_set_txrx_cb:191,hal_spi_slave_set_def_tx_v:191,hal_spi_tx_v:191,hal_spi_txrx:191,hal_spi_txrx_cb:191,hal_spi_txrx_noblock:191,hal_spi_type_mast:191,hal_spi_type_slav:191,hal_spi_word_size_8bit:191,hal_spi_word_size_9bit:191,hal_system:192,hal_system_clock_start:192,hal_system_reset:192,hal_system_restart:192,hal_system_start:192,hal_tim:[87,193],hal_timer_cb:[87,193],hal_timer_config:193,hal_timer_deinit:193,hal_timer_delai:193,hal_timer_get_resolut:193,hal_timer_init:[14,193],hal_timer_read:193,hal_timer_set_cb:193,hal_timer_start:193,hal_timer_start_at:193,hal_timer_stop:193,hal_uart:275,hal_uart_blocking_tx:194,hal_uart_clos:194,hal_uart_config:[194,275],hal_uart_flow_ctl:194,hal_uart_flow_ctl_non:[194,275],hal_uart_flow_ctl_rts_ct:194,hal_uart_init:194,hal_uart_init_cb:[194,275],hal_uart_par:194,hal_uart_parity_even:194,hal_uart_parity_non:[194,275],hal_uart_parity_odd:194,hal_uart_rx_char:194,hal_uart_start_rx:194,hal_uart_start_tx:[194,275],hal_uart_tx_char:194,hal_uart_tx_don:194,hal_watchdog_en:195,hal_watchdog_init:195,hal_watchdog_tickl:195,hal_xxxx:182,half:[17,18,94,101],halfwai:129,halgpio:187,halsystem:192,halt:[93,190,191,256,260,262],haluart:194,hand:[223,237,243,267],handbook:[259,263],handi:[14,94,276],handl:[14,18,21,28,29,31,62,90,102,135,136,137,153,154,155,156,157,161,162,165,170,171,172,173,180,206,210,211,215,238,240,250,251,252,274,275,276,282],handler:[14,88,93,94,132,187,211,213,216,218,220,221,240,243,274,275,276,277],happen:[9,14,21,27,130,141,180,250,253,254,255,256,268,270],happi:[7,9],har:288,hard:[98,131],hardcod:[26,28],hardwar:[2,3,5,6,7,9,14,21,22,25,26,32,35,87,94,96,97,129,135,174,175,180,183,184,185,186,187,188,190,192,193,194,195,209,223,226,240,243,246,247,254,255,256,258,259,260,261,265,268,269,275,282,292],harm:129,has:[2,3,4,7,10,11,12,14,21,23,25,27,31,35,37,44,51,56,58,59,60,62,63,78,81,82,83,85,86,87,88,89,90,91,93,94,97,98,99,100,129,130,131,133,135,139,141,153,154,166,170,174,180,187,188,191,193,194,196,209,211,223,224,226,233,235,238,241,243,244,251,252,253,256,258,259,260,264,267,268,269,270,274,275,281,282,289,290,292],hash:[35,38,44,47,72,129,180,223,241,285,288],have:[1,2,3,6,7,8,9,10,11,12,14,20,21,23,25,31,33,44,51,53,55,56,58,59,60,61,62,63,65,81,82,83,84,85,88,90,91,93,94,96,97,98,99,100,102,129,131,133,135,136,138,141,144,174,175,180,182,186,187,193,194,215,221,223,224,225,226,236,237,238,240,241,242,244,245,246,247,250,251,253,254,255,256,257,258,259,260,261,262,263,264,267,268,269,270,272,274,275,276,277,278,279,280,281,282,284,285,286,287,288,289,290,292],haven:[3,14,137,236,270,275,276,292],hci1:247,hci:[14,22,245],hci_adv_param:249,hci_common:238,hdr:[129,228],hdr_ver:198,head:[11,59,81,82,83,88,90,211,244],header:[1,14,38,40,47,56,58,59,60,62,94,129,133,141,142,180,184,187,206,208,226,233,238,258,275,276],heading1:244,heading2:244,heading5:244,headless:2,health:254,heap:[91,93,94],heart:243,held:269,hello:[12,14,70,158,171,194,238,257,268,285,286,288,292],help:[1,8,12,14,32,35,36,38,39,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,65,66,68,69,70,71,72,73,74,75,76,77,78,81,82,83,93,95,96,101,135,200,220,223,225,243,244,245,246,249,256,258,259,261,264,265,267,268,271,275,276,278,282,289,290],helper:[1,62,90,95,136,254,255],henc:[129,236],her:93,here:[1,3,8,10,11,14,30,33,56,74,77,78,85,88,90,91,94,95,98,100,130,131,141,157,158,161,164,172,174,187,191,200,206,207,209,215,223,224,225,226,234,236,237,240,244,247,251,253,254,255,256,258,259,260,263,264,267,268,269,270,275,276,286,292],hertz:87,hex:[7,38,44,49,72,188,223,262,264,274,282],hexidecim:67,hfxo:25,hidapi:4,hidraw:4,hierarchi:[153,226,233],high:[9,14,19,22,65,87,99,135,187,240,243,289],high_duti:28,higher:[11,14,15,21,22,56,59,60,73,81,82,83,92,93,99,100,182,206,212,225,226,236,243,247,267,270],highest:[86,92,93,100,225,226,243],highli:236,highlight:[2,6,31,102,237,256,259,261,263,268,276,277,282],hint:56,his:93,histori:225,hit:[37,258],hl_line:[208,209],hmac:14,hog:243,hold:[34,44,64,90,91,157,188,199,209,215,237,243,264,269,276],hole:[180,276],home:[7,11,60,94,223,246,258,267,271,275],homebrew:[4,6,7,11,37,57,61,80,84],homepag:[1,44,62,131,267,275,276],honor:14,hook:[98,262,275,288],hop:[22,135],hope:14,host:[7,9,14,22,23,24,27,30,31,67,71,72,85,88,90,129,213,244,246,247,251,252,253,256,267,268,275,276,277,281,282,289,290],hotkei:289,hour:101,how:[2,3,4,5,6,7,8,11,12,14,21,22,24,31,56,58,59,60,61,67,81,82,83,84,90,92,94,97,101,129,130,131,141,147,149,167,174,188,191,201,206,208,209,220,223,224,227,228,231,233,236,237,238,241,242,243,244,245,246,247,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,274,275,276,278,279,281,282,284,285,286,287,288,292],how_to_edit_doc:244,howev:[3,14,58,81,90,97,100,102,129,131,174,180,187,224,241,259,269],htm:247,html:[4,34,64,153,256,260,262,282,289,290],http:[1,4,10,11,12,14,34,40,56,58,59,60,62,64,81,82,83,102,131,138,184,237,247,254,256,259,260,262,263,267,269,271,275,276,282,288,289,290],httperror404:[58,81],hub:268,human:[247,269],hw_bsp_nativ:62,hw_drivers_nimble_nrf51:223,hw_hal:56,hw_mcu_nordic_nrf51xxx:223,hypothet:21,i2c:[8,135,136,182,278,279,282],i2c_0:[277,278,279,282],i2c_0_itf_bno:208,i2c_0_itf_li:208,i2c_num:188,i2s:256,i2s_callback:256,i386:[4,6],iOS:[250,274,276,277,279,281,284],ibeacon:[24,246,257,292],icloud:14,icon:[10,12,14],id16:253,id3:[34,64],id_init:226,idcod:256,idea:[14,62,90,92,98,249],ideal:22,ident:[14,19,21,23,24,28,31,67,90,102,134,223,224,233],identifi:[1,8,14,20,21,28,30,35,72,94,100,129,130,180,183,188,254,255,259,261,264,268,276,285,288],idl:[28,78,98,243,246,275,285,288],idx:[28,136,180],ietf:200,if_rw:134,ifdef:[223,226,234,258,282],ifndef:[226,275,276],ignor:[6,14,28,83,91,153,167,174,226,289],ih_flag:129,ih_hdr_siz:129,ih_img_s:129,ih_key_id:129,ih_mag:129,ih_tlv_siz:129,ih_ver:129,iii:129,illustr:[12,90,92,93,129,243,276,282],imag:[2,6,7,12,32,35,39,40,43,44,48,56,58,59,60,62,65,79,81,82,83,94,95,97,102,131,132,197,198,199,201,202,204,224,225,236,246,250,256,257,258,265,274,275,286,287,289,290,292],image_ec256:[256,259,260,261,262,263,264,268,278,285,286,288],image_ec:[7,256,259,260,261,262,263,264,268,278,285,286,288],image_f_ecdsa224_sha256:129,image_f_non_boot:129,image_f_p:129,image_f_pkcs15_rsa2048_sha256:129,image_f_sha256:129,image_head:129,image_header_s:129,image_mag:129,image_magic_non:129,image_ok:129,image_rsa:[7,256,259,260,261,262,263,264,268,278,285,286,288],image_tlv:129,image_tlv_:129,image_tlv_ecdsa224:129,image_tlv_rsa2048:129,image_tlv_sha256:129,image_valid:[7,256,260,261,263,268,278,285,286,288],image_vers:[129,198,199],img:[14,38,47,72,237,238,241,242,246,247,250,256,259,260,261,262,263,264,268,275,278,282,285,288,289,290],img_data:205,img_start:192,imgmgr:[7,131,132,153,196,226,238,276],imgmgr_max_ver_str:199,imgmgr_module_init:226,imgr_list:[201,202,204],imgr_upload:205,imgr_ver_jsonstr:199,immedi:[27,88,94,129,170,180,191,193,244,249,254,255],impact:[25,180],impl:62,implemen:67,implement:[9,10,14,22,33,62,67,88,90,91,94,96,97,129,130,131,132,152,153,174,180,182,184,186,187,188,189,190,191,192,196,200,207,208,210,212,214,215,221,226,233,240,248,251,253,254,264,267,276,277,278,282],impli:[14,254,255,267,270,275,276],implicit:267,impos:[129,174,175,180],imposs:[20,176],impract:253,impress:276,improv:258,imuplu:278,inc:[4,256,262,282,289,290],includ:[1,4,7,9,10,14,15,16,17,18,20,21,22,23,27,28,29,32,44,51,60,62,85,88,90,91,92,94,96,97,98,99,100,101,129,130,131,134,135,136,137,139,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,188,191,193,194,196,206,207,208,211,212,213,215,223,225,226,227,233,237,238,240,241,243,247,248,249,251,254,255,259,267,269,270,275,276,277,278,280,281,282,287,289],include_tx_pow:28,incom:[21,88,194,196,215,216,218,240],incompat:[58,81,269],incomplet:[30,94,160],incomplete_block_test:267,incorrect:[43,101],incr:183,increas:[22,23,90,180,215,216,220,226,243,289],increasin:141,increment:[90,101,130,180,224],incub:[7,56,184,226,237,276],inde:[93,262],indefini:[254,255],indent:6,independ:[23,97,129,135,182,183,185,187,188,190,192,193,194,195,226,275],indetermin:267,index:[32,73,129,247],indian:101,indic:[7,14,20,21,27,29,30,31,88,91,94,98,129,131,133,153,159,161,168,180,187,188,193,205,212,215,220,223,225,226,241,251,253,256,259,260,263,267,268,282,284],indirect:276,individu:[11,100,129,130,135,187,226,232,238,269],industri:[22,152],ineffici:180,infinit:[88,91,93,226,243,258],info:[14,40,58,59,60,62,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,91,100,130,141,142,146,220,241,252,256,260,262,263,268,274,276],inform:[1,6,7,12,14,21,23,24,28,30,35,38,40,41,58,59,60,62,63,65,67,72,81,82,83,88,90,91,94,96,97,100,101,129,133,134,146,180,206,207,209,210,220,223,224,226,236,237,240,241,243,246,249,252,253,254,255,256,258,264,269,270,271,275,276,278,282,285,288,290],infrastructur:246,ing:[135,254,255],inher:[1,24,251],inherit:[1,4,60,92,176,207],ininclud:224,init:[51,56,208,212,226,275,276],init_app_task:93,init_func_nam:226,init_funct:226,init_stag:226,init_task:[240,243],init_tim:[258,282],initi:[14,17,20,22,24,26,27,28,29,62,85,87,88,90,91,92,93,94,98,99,100,130,131,135,139,147,153,168,177,178,179,180,182,183,185,187,188,191,193,194,197,200,204,206,208,211,212,213,215,216,220,233,234,238,240,242,247,248,252,254,255,258,267,274,275,276,277,278,282],initialis:[209,256],inod:[174,176],inoper:[27,254,255],input:[21,23,28,101,135,182,187,191,240,262,267,289],inquiri:[21,30],insert:[100,180],insid:[14,25,90,93,162,183,258,262,267],insight:[135,243],inspect:[14,49,129,130,252],instal:[3,7,9,34,40,55,56,64,79,93,94,95,137,211,238,240,241,242,243,245,246,247,256,257,259,260,261,262,263,267,268,270,272,275,277,278,279,281,282,284,285,286,287,288,289,292],instanc:[2,3,9,14,28,63,90,176,177,178,180,206,224,249,254,255,256],instant:21,instantan:243,instanti:[93,135],instantli:99,instead:[7,11,12,14,25,88,91,99,129,131,223,226,238,240,250,256,258,259,260,261,262,263,267,271,274,275,276,277,280],instruct:[3,4,7,11,56,58,63,81,86,97,238,240,256,259,263,277,278,279,280,282,286,289,290],insuffici:[21,90,168],insur:[91,100],int16_t:101,int32_max:28,int32_t:[85,101,194,254,255],int64_t:101,int8:130,int_max:90,integ:[14,200,207,224,226],integr:[12,14,23,91,180,188,224],intellig:182,intend:[14,25,30,37,177,178,188,236],inter:[180,188,240],interact:[2,8,131,133,196,250,258,265,289],interchang:200,interconnect:[9,133],interdepend:[130,226],interest:[7,15,19,90,94,182,223,242,246,249,254,292],interfac:[4,19,22,31,32,90,100,129,134,135,136,137,152,153,182,183,185,187,188,190,191,192,194,195,206,209,210,237,245,247,248,256,260,262,275,278,279,282,288],interleav:14,intermedi:[160,161,167],intern:[7,14,21,90,93,94,98,135,136,141,168,177,178,179,186,193,195,196,200,216,220,256,276],internet:[7,12,22,238,240,241,247,257,268,284,287],interoper:[133,134],interpret:[138,140,207,211],interrog:276,interrupt:[14,87,88,94,129,183,187,190,191,193,194,276],interrupt_prior:276,interv:[14,21,28,30,98,100,207,211,212,240,278,282],interval_max:28,interval_min:28,intervent:97,intial:220,intiat:94,introduc:[1,31,180,225,226],introduct:[243,292],introductori:284,intuit:129,invalid:[21,87,129,137,143,153,154,168,172,173,180,191,193,251,267],invers:[92,99],invert:99,invoc:[6,253],invok:[2,267,271,282],involv:[17,18,20,23,94,97,182,188,267],io_cap:28,ioctl:153,iot:22,iotiv:277,ipsp:22,ipv6:22,irk:[20,28],irq:[14,187],irq_num:183,irq_prio:[136,137],isbuildcommand:12,ism:22,ismylaptop:[275,276],isn:[14,94,180,246],isol:[94,223],isr:14,isshellcommand:12,issu:[1,6,10,31,56,67,93,99,129,133,153,174,180,188,238,259,260,261,263,264,272,275,276],ist:101,it_len:129,it_typ:129,ital:244,ite_chr:251,item:[1,88,94,130,181,211,255],iter:[91,100,129,155,156,157,162,165,180,212],itf:209,its:[7,10,11,14,19,20,21,56,62,86,88,90,91,92,93,94,97,98,100,129,131,136,141,159,169,172,174,175,180,187,188,191,206,223,224,225,226,228,233,237,241,242,243,244,245,246,249,251,252,253,254,255,264,269,275,280,286,292],itself:[14,27,62,90,91,100,129,135,139,141,181,196,201,212,226,227,237,259,267,275,276],itvl:14,iv_build_num:129,iv_major:129,iv_minor:129,iv_revis:129,jan:101,javascript:56,jb_read_next:200,jb_read_prev:200,jb_readn:200,je_arg:200,je_encode_buf:200,je_wr_comma:200,je_writ:200,jira:10,jlink:[62,94,241,259,261,268,278,282,285],jlink_debug:62,jlink_dev:62,jlinkex:[259,261,264,276],jlinkgdbserv:[282,289],job:[1,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,86,93,94,215,251],join:[3,135,236,268,292],json:[7,12,35,38,52,56,62,202,203,204,205,237,238,242,267,275],json_array_t:200,json_attr_t:[200,205],json_buff:[200,205],json_buffer_read_next_byte_t:200,json_buffer_read_prev_byte_t:200,json_buffer_readn_t:200,json_decod:[205,267],json_encod:[199,200,201,202,203,204,267],json_encode_object_entri:[202,203,204],json_encode_object_finish:[201,204],json_encode_object_start:[201,202,203],json_enum_t:200,json_read:200,json_read_object:200,json_simple_decod:267,json_simple_encod:267,json_typ:200,json_valu:[200,201,202,203,204],json_value_int:[200,203],json_value_str:200,json_value_stringn:200,json_write_func_t:200,jtag:[4,39,43,48,256,259,260,262,268,282,288],jul:81,jump0:68,jump:[129,223],jumper:[8,237,262,275,276,288],just:[1,7,8,14,21,23,24,63,85,88,94,95,100,101,129,136,137,152,167,172,223,237,250,251,254,255,256,258,264,271,272,275,276],jv_len:200,jv_pad1:200,jv_type:200,jv_val:200,k30:[274,275],k64f:54,keep:[9,23,25,93,129,131,135,141,180,191,208,215,216,220,223,237,242,243,267,276],keg:[61,84],kei:[8,20,21,22,32,38,47,58,81,94,129,130,180,199,200,201,203,226,251,264,268,275,278],kept:[86,129,141],kernel:[1,7,9,14,52,56,62,94,131,135,182,212,223,226,227,240,246,247,275,276,277,278,280,282],kernel_o:223,keyboard:[12,23,131],keyboarddisplai:28,keyboardonli:28,keychain:[58,81],keystor:28,keyword:[1,62,95,131,267,269,275,276],khz:[191,256,260],kick:[98,254,255],kilobyt:97,kind:[32,135,275,276,289],kit:[8,48,62,237,241,242,257,259,276,289,290,292],klibc:102,know:[1,8,12,31,62,131,207,211,224,225,243,251,252,254,255,257,258,268,275,276,287,292],known:[22,56,101,161,162,180,243,249],kw41z:14,l13:259,l2cap:22,lab:33,label:[8,94,262,276],lack:[141,152,223],lag:253,languag:[11,12,56,97,138,275,276],laptop:[3,8,237,238,240,242,247,264,275,276],larg:[21,25,32,90,100,101,223,224,243],large_system_test:267,large_unlink_test:267,large_write_test:267,larger:[14,32,90,228],largest:[90,244],las_app_port:264,las_app_tx:264,las_join:264,las_link_chk:264,las_rd_app_eui:264,las_rd_app_kei:264,las_rd_dev_eui:264,las_rd_mib:264,las_wr_app_eui:264,las_wr_app_kei:264,las_wr_dev_eui:264,las_wr_mib:264,last:[14,21,27,73,78,90,91,98,100,129,149,180,194,202,207,215,220,226,249,253,254,255,256,264,268,276,278,280,282],last_checkin:[78,285,288],last_n_off:149,last_op:188,last_read_tim:209,latenc:28,later:[7,8,14,73,85,90,129,233,242,246,252,256,264,267,276,282,289,290],latest:[1,2,4,7,11,14,50,53,56,57,61,80,84,130,237,256,268,269,270,275,276],latex:[174,180],latter:[21,90,133,174],launch:12,launchpad:4,law:[256,275,276,282,289,290],layer:[9,21,22,90,91,96,97,135,153,163,166,174,181,194,209,210,226,240,248,276,292],layout:[97,129,175,288],lc_f:208,lc_pull_up_disc:208,lc_rate:208,lc_s_mask:208,lcheck:275,ld4:260,ldebug:[14,225],ldflag:51,ldr:262,le_elem_off:146,le_scan_interv:14,le_scan_window:14,lead:[90,93,252,276],leadingspac:90,leak:[161,162],learn:[7,27,62,237,242,257,284],least:[23,90,98,129,180,191,193,238,258,264,276,292],leav:[90,136,149,223],led1:[240,261],led2:240,led3:240,led:[1,7,14,62,94,97,100,135,182,187,238,240,243,247,256,257,258,259,260,261,262,263,268,275,276,278,285,288,292],led_blink_pin:[94,100,242,243,258],led_blink_pin_1:242,led_blink_pin_2:242,led_blink_pin_3:242,led_blink_pin_4:242,led_blink_pin_5:242,led_blink_pin_6:242,led_blink_pin_7:242,led_blink_pin_8:242,led_pin:242,left:[87,91,100,146,199,223,262,274,282,292],legaci:[31,152,226,243],len:[90,130,136,141,142,163,164,171,172,173,188,191,200,205,251,264,275],length:[21,22,28,90,94,129,130,131,141,157,158,177,180,183,199,251,264],less:[14,93,102,129,180,253,254,255],lesser:180,lesson:[243,292],let:[4,8,56,90,94,206,223,224,237,243,246,248,249,250,251,252,253,254,255,258,262,267,269,270,274,275,276,282],level:[1,2,9,14,15,19,21,24,28,30,31,32,33,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,59,60,62,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,90,92,94,132,135,136,153,174,175,182,209,225,226,236,250,251,254,255,256,260,264,267,268,270,274,275,276],level_list:73,leverag:[133,135,245,276],lflag:[1,51,62],lib:[1,4,46,54,56,83,102,131,153,181,225,226,275,276],libc6:6,libc:[7,94,102],libc_baselibc:[223,262],libftdi1:4,libftdi:4,libg:49,libgcc:[49,223],libhidapi:4,librari:[1,4,14,49,51,56,59,82,88,90,94,95,97,102,129,131,135,153,161,181,182,196,223,224,233,246,267,269,270,275,276,277],libusb:4,libusb_error_access:260,libusb_open:260,licens:[4,7,11,56,62,102,135,246,256,260,262,263,268,269,275,276,282,289,290],lieu:67,life:[25,254],light:[9,32,182,207,237,240,242,257,260,261,262,263,277,278,285,288],lightblu:[250,274,276],lightweight:152,like:[2,3,5,8,12,14,32,56,59,60,63,82,83,90,93,94,97,98,99,102,129,131,135,141,182,188,224,237,242,246,256,260,262,267,269,275,276,277,279,280,282,284,288,289,290],likewis:[63,180],limit:[3,14,21,28,30,100,102,130,136,152,216,220,223,238,249,254,275,276,289],limt:224,line:[2,6,7,12,14,37,39,40,48,63,94,102,131,187,224,231,237,242,247,253,258,260,261,269,271,275,276,277,278,282,289],linear:180,linearacc:278,lines_queu:131,link:[2,3,7,14,21,22,23,28,35,39,43,61,62,82,84,86,90,180,193,215,223,226,233,236,237,246,247,250,255,256,258,259,260,261,262,263,264,268,275,276,278,282,285,286,288,289,290,292],linker:[1,62,95,102,223,246,262],linkerscript:[62,94],linux:[5,7,9,12,57,67,79,80,136,241,247,256,258,259,260,262,263,268,278,285,286,287,288],liquid:276,lis2dh12:[208,282],lis2dh12_0:[208,282],lis2dh12_cfg:208,lis2dh12_config:208,lis2dh12_data_rate_hn_1344hz_l_5376hz:208,lis2dh12_fs_2g:208,lis2dh12_init:208,lis2dh12_onb:282,list:[3,6,7,8,12,14,23,28,30,35,36,49,51,52,54,58,60,62,67,72,73,74,76,77,78,79,81,86,88,90,91,94,95,96,100,129,131,132,135,137,180,181,193,206,215,224,226,228,231,236,237,241,242,246,249,252,253,256,257,258,259,260,261,262,263,264,269,270,275,276,280,285,286,288,292],listen:[2,14,15,31,32,67,90,207,212,223,249],listener_cb:282,lit:[238,242,243,247],littl:[6,21,24,90,129,237,242,246,253,264,270,275],live:[135,237,252,253,256,268,269,270],lma:262,lmp:21,load:[2,4,5,7,12,14,35,40,44,48,56,58,59,60,62,94,129,130,192,223,237,240,241,242,243,250,257,258,264,270,274,275,276,289,290],load_arduino_blinki:12,load_arduino_boot:12,loader:[14,44,51,94,129,131,192,256,259,260,261,263,268,278,285,286,288],loc:[142,146,151],local:[1,4,6,7,10,11,21,28,29,37,41,50,56,59,61,72,82,84,95,100,101,244,249,256,268,280],localhost:[67,282,289],locat:[1,8,11,20,32,62,90,94,129,141,146,180,188,233,243,253,258,262,268,269,275,278,285,286,288],lock:[9,89,93,99,141,207,212,240],log:[1,7,10,14,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,65,66,67,68,69,70,71,72,74,75,76,77,78,79,81,82,83,129,132,133,151,160,167,181,182,215,223,225,226,227,237,238,246,256,259,260,262,263,265,275,276,280,282,286,289],log_:14,log_cbm_handl:206,log_cbmem_handl:206,log_cli:[215,265],log_console_handl:[206,209],log_debug:206,log_error:209,log_fcb:226,log_fcb_handl:206,log_handl:206,log_info:209,log_init:226,log_level:[51,206,226,241,265],log_level_debug:206,log_level_error:206,log_module_bno055:209,log_module_default:206,log_nam:73,log_newmgr:225,log_newtmgr:[51,225,226,238],log_nmgr_register_group:226,log_regist:[206,209],log_shel:237,log_syslevel:[206,209],logic:[1,22,24,30,129,175,194,264,275],login:271,loglevel:[1,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,275],logxi:82,long_filename_test:267,longer:[3,8,11,14,22,25,91,211,225,247,275,277],longjmp:235,longrange_interv:28,longrange_pass:28,longrange_window:28,look:[8,14,25,56,62,94,96,100,102,129,131,132,188,200,205,223,224,237,242,243,244,249,251,252,253,267,270,272,274,275,276,280,282,292],lookup:[212,221,251,282],loop:[14,85,88,93,100,155,156,157,162,165,226,238,243,246,258,274,275,276],lora:264,lora_app_shel:264,lora_app_shell_telee02:264,lora_app_shell_telee0:264,lora_mac_timer_num:264,lose:27,loss:[27,30,183],lost:[98,180],lost_found_test:267,lot:[7,14,223,225,249,267,276],low:[9,14,21,22,23,32,87,90,94,99,136,153,182,187,191,192,209,243,251,254,255,256,257,260,268,292],lower:[14,21,87,92,93,99,100,225,226,241,243,248,258,262],lowest:[74,86,91,100,180,226,243],lowpow:278,lru:180,lrwxr:[4,82],lsb:188,lst:[35,56,62],ltbase:226,ltd:28,ltk:28,ltk_sc:28,ltrequir:226,lua:[138,139,140],lua_cmd:140,luckili:275,m32:6,m4g:278,mac:[3,5,7,9,12,14,21,56,57,79,80,237,241,242,247,250,256,258,259,260,262,263,264,268,274,276,278,285,286,287,288],machin:[2,3,7,8,95,247,292],maco:[4,14,67],macro:[14,21,90,91,94,98,200,207,209,224,226,233,243,253,267,276],made:[2,10,11,21,56,72,100,129,188,243,244,264,276],mag:278,mag_rev:278,maggyro:278,magic:[62,129,141,180],magnet:[207,278],magnetomet:209,mai:[2,4,6,7,8,12,14,23,28,30,31,32,52,54,58,59,63,81,82,83,86,88,90,91,93,94,97,102,129,131,133,135,162,180,182,187,188,193,206,207,208,209,211,212,223,224,225,226,228,231,233,238,243,246,247,256,258,259,260,261,262,263,264,268,269,275,276,278,282,285,288,289],mail:[3,10,135,236,237,242,246,257,276,292],main:[7,12,27,32,58,62,78,81,88,90,93,96,100,129,131,139,177,178,198,207,212,215,217,222,226,232,234,238,240,242,246,249,254,255,256,259,260,261,262,263,267,274,275,276,278,285,286,288],mainli:223,maintain:[4,50,86,129,135,180,207,212,226,267,269,270],mainten:[133,224],major:[14,56,62,97,198,243,255,269,270],major_num:[269,270],make:[1,2,3,7,8,9,14,20,21,22,25,31,32,34,56,58,64,72,86,90,91,94,129,135,141,142,174,180,182,199,206,223,224,237,241,242,243,245,246,247,249,251,252,254,255,256,258,262,264,267,269,274,275,276,277,282,292],makerbeacon:238,malloc:[89,91,94,102,243,276],man:[6,28,102],manag:[6,8,14,17,18,22,28,32,40,46,58,59,60,62,65,67,69,72,73,74,77,78,81,82,83,88,91,93,94,95,97,100,129,131,135,182,197,200,207,209,210,211,223,226,227,241,258,259,265,268,270,278,282,285,287,288,292],mandatori:[21,94,228,253,254,255],mani:[14,21,32,56,62,90,96,129,141,149,161,162,182,193,251,256,269],manifest:[35,38,44,56,62,237,238,242,275],manipul:[1,40,46,90],manner:[28,30,90,93,129,182],manual:[22,26,61,84,91,93,100,102,174,223,231,237,256,262,282,288,289,290],manufactur:[20,28,30,40,44,58,59,60,67,223,249,256,268],many_children_test:267,map:[2,3,8,21,28,29,62,97,135,136,161,182,186,187,194,200,223,225,226,251,258,268,269,270,278,285,288,289],mar:[101,259,261,264,276,282],march:69,mark:[28,29,72,94,262],marker:94,market:[32,261],mask:[28,207,209,211,212,280,282],mass:[247,260],mass_eras:[259,260],master:[1,7,11,28,57,58,60,61,80,81,83,84,135,182,184,188,191,244,256,268,269,270],match:[2,7,14,21,94,95,97,129,211,212,223,256,260,268,269,270],materi:14,matter:10,max:[157,199,200],max_cbmem_buf:206,max_conn_event_len:28,max_ev:28,max_len:[157,163,183],max_protohdr:90,maxim:9,maximum:[14,22,28,30,90,129,130,131,174,176,180,183,199,215,216,220,267,289],maxlen:130,mayb:[289,290],mb_crc:275,mb_crc_check:275,mb_crc_tbl:275,mbed:[259,263],mbedtl:[7,256,259,261,263,268,285,286,288],mblehciproj:247,mblen:90,mbuf:[93,200,279],mbuf_buf_s:90,mbuf_memblock_overhead:90,mbuf_memblock_s:90,mbuf_mempool_s:90,mbuf_num_mbuf:90,mbuf_payload_s:90,mbuf_pkthdr_overhead:90,mbuf_pool:90,mbuf_usage_example1:90,mbuf_usage_example2:90,mcu:[7,9,54,95,98,135,136,182,187,190,191,192,193,194,196,237,242,243,256,259,268,282],mcu_dcdc_en:14,mcu_gpio_porta:136,mcu_sim_parse_arg:[258,282],mcuboot:14,mdw:262,mean:[2,12,14,21,90,92,98,99,100,101,129,136,176,191,202,204,226,235,253,260,270,275,276],meaning:[139,194],meant:[1,98,130],measur:[9,243,264],mechan:[1,23,93,223,226,240,269,271,275,276],medic:[22,56],medium:[14,168],meet:[208,241,247,256,257,259,260,261,262,263,278,280,281,282,284,285,286,287,288],mem:[7,226],member:[85,88,90,91,92,98,99,100,101,130,131,188,191,193,249,251],membuf:91,memcmp:90,memcpi:251,memori:[9,21,49,74,88,89,90,93,94,97,98,102,129,133,135,136,152,168,174,175,179,180,182,183,185,188,216,220,225,238,240,243,251,262,264,265,286,289],mempool:[65,81,82,83,90,91,215,275],memset:[208,249,252,255,276],mention:[12,180,207,276],menu:[12,60,260,262,288],merchant:4,merci:91,merg:244,mesh:33,messag:[2,4,23,32,43,58,59,60,76,131,133,134,167,215,218,219,228,240,256,260,264,268,275],messi:276,messsag:63,met:[21,238,240,268],meta:[8,268,278],metadata:[14,44,129,168],meter:22,method:[26,90,100,134,174,184,187,191,206,215,224,251,269],mfg:[7,14,40,58,59,60,71,226],mfg_data:30,mfg_init:226,mgmt:[7,131,133,191,197,215,225,226,238,275,276],mgmt_evq_set:238,mgmt_group_id_config:132,mgmt_group_id_crash:132,mgmt_group_id_default:132,mgmt_group_id_imag:132,mgmt_group_id_log:132,mgmt_group_id_runtest:132,mgmt_group_id_stat:132,mgmt_imgmgr:223,mgmt_newtmgr_nmgr_o:223,mgutz:82,mhz:[22,25],mib:[56,82,264],mic:21,micro:[14,56,241,243,256,257,259,261,262,264,268,276,278,284,285,287,288,289,290],microcontrol:[9,102,129,262,288],microsecond:[25,87,101],microsoft:12,mid:[15,129,260],middl:[28,129,180,276],might:[1,2,14,19,21,62,94,97,130,131,135,180,182,188,209,223,225,246,248,249,254,255,256,260,269,270,272,282,289,290],migrat:[180,226],milisecond:28,millisecond:[28,101,264],millivolt:276,min:[73,74,129,268,286],min_conn_event_len:28,mind:[98,246],mingw32:60,mingw64:60,mingw:[4,7,8,12,57,83,258,268,278,285,288],mini:260,minicom:[8,258,268,275,278],minim:[94,135,152,153,174,180,209,246],minimum:[28,30,73,90,91,129,180,246],minor:[198,255,269,270],minor_num:[269,270],minu:90,minut:[82,101,254,267],mip:[7,62],mirror:[1,10,11,269,275,276],misc:278,mislead:6,mismatch:[21,90],miso:191,miso_pin:[136,137],miss:[21,58,94,225,237,242,246,257,276],misspel:225,mitm:28,mk64f12:[135,182],mkdir:[11,44,81,83,94,237,256,259,260,261,262,263,264,268,269,275,276],mkdir_test:267,mkdoc:244,mkr1000:266,mkr1000_boot:268,mkr1000_wifi:268,mlme:264,mman:58,mmc0:[137,153],mmc:152,mmc_addr_error:137,mmc_card_error:137,mmc_crc_error:137,mmc_device_error:137,mmc_erase_error:137,mmc_init:137,mmc_invalid_command:137,mmc_ok:137,mmc_op:[137,153],mmc_param_error:137,mmc_read_error:137,mmc_response_error:137,mmc_timeout:137,mmc_voltage_error:137,mmc_write_error:137,mn_socket:7,mobil:32,mod:[31,250],modbu:275,mode:[9,14,21,23,28,30,135,159,161,168,169,171,182,183,187,191,194,209,223,249,256,260,262,267,278],model:[14,22,23,33,88,196,259],modern:[8,152],modif:[11,237,267,277],modifi:[6,63,90,94,101,134,193,242,243,275,276,281,284],modul:[73,87,91,93,102,133,138,206,216,220,222,258,264,288],module_list:73,module_nam:[220,222],modulo:101,moment:[14,136,188,196,251,270],mon:[256,259,260],monitor:[90,131,133,141,213,224,262,277,284,292],monolith:253,month:267,more:[1,4,7,9,10,12,14,21,22,23,30,31,35,36,40,44,52,54,58,59,60,62,63,65,81,82,83,86,88,90,93,94,99,100,101,102,129,130,135,142,146,153,164,165,180,191,194,200,206,207,208,209,210,215,223,226,228,241,242,243,246,249,253,254,255,256,258,259,264,267,268,270,274,275,276,278,282,285,288,289,292],mosi:191,mosi_pin:[136,137],most:[1,8,14,15,20,22,24,25,26,62,90,94,95,100,102,129,180,184,191,223,225,243,249,267,274,275,276,278,280,282],mostli:[6,9,223,254,255],motor:9,mou:244,mount:[166,276],mous:[135,182],move:[8,46,58,59,60,82,93,101,129,167,183,223,258,262,276,277,279,282],mp_block_siz:91,mp_flag:91,mp_membuf_addr:91,mp_min_fre:91,mp_num_block:91,mp_num_fre:91,mpe:91,mpool:[220,264],mpstat:[65,79,81,82,83,132,134,238,286],mq_ev:90,mqeueue:90,msb:188,msdo:94,msec:[14,28,195],msg:231,msg_data:28,msp:[256,262],msy:60,msys2:57,msys2_path_typ:60,msys64:60,msys_1:[74,286],msys_1_block_count:[277,279],msys_1_block_s:[277,279],mtd:136,mtu:[14,21,28,29,250],mu_level:92,mu_own:92,mu_prio:92,much:[14,90,94,99,102,147,180,275],multi:[1,9,51,63,97,100,188],multilib:[6,7,58],multipl:[4,14,24,28,30,35,36,51,52,56,85,92,93,98,102,130,133,135,182,191,212,226,249,253,254,269],multiplex:[14,22],multiplexor:97,multipli:[91,243],multitask:[93,243],must:[1,2,4,5,7,8,9,11,12,15,23,25,26,34,38,42,47,54,56,58,60,62,64,67,69,72,81,87,88,90,91,93,94,97,98,100,129,130,131,137,141,149,153,160,161,163,167,174,175,176,177,179,180,181,188,191,193,194,198,199,200,206,207,208,209,211,212,213,215,216,217,220,224,225,226,234,237,238,241,243,246,249,251,258,261,262,264,268,269,270,275,276,278,279,280,281,282,285,288,289],mutex:[89,93,99,100],mutual:92,my_at45db_dev:136,my_blinki:51,my_blinky_sim:[7,35,36,44,56,62,246,247,259,260,275],my_blocking_enc_proc:21,my_callout:240,my_conf:130,my_config_nam:226,my_driv:[275,276],my_ev_cb:240,my_eventq:238,my_gpio_irq:240,my_interrupt_ev_cb:240,my_memory_buff:91,my_new_target:51,my_newt_target:51,my_packag:206,my_package_log:206,my_pool:91,my_proj1:246,my_proj:246,my_project:[1,256,268,269,276],my_protocol_head:90,my_protocol_typ:90,my_result_mv:276,my_sensor:282,my_sensor_devic:282,my_sensor_poll_tim:282,my_stack_s:100,my_stat:224,my_stat_sect:224,my_target1:63,my_task:100,my_task_evq:90,my_task_func:100,my_task_handl:90,my_task_pri:100,my_task_prio:100,my_task_rx_data_func:90,my_task_stack:100,my_timer_ev_cb:240,my_timer_interrupt_eventq:240,my_timer_interrupt_task:240,my_timer_interrupt_task_prio:240,my_timer_interrupt_task_stack:240,my_timer_interrupt_task_stack_sz:240,my_timer_interrupt_task_str:240,my_uart:194,myadc:276,myapp1:289,myapp:224,myapp_cmd:221,myapp_cmd_handl:221,myapp_console_buf:131,myapp_console_ev:131,myapp_init:131,myapp_process_input:131,myapp_shell_init:221,mybl:[35,36,47,51,67,74,77,78,238],myble2:[38,39,247],myblehostd:67,mybleprph:[67,241],mybletyp:67,myboard:[46,94],myboard_debug:94,myboard_download:94,mycmd:222,myconn:238,mycor:72,mydata:90,mydata_length:90,mylora:264,mymcu:96,mymfg:71,mymodul:98,mymodule_has_buff:98,mymodule_perform_sanity_check:98,mymodule_register_sanity_check:98,mynewt:[1,3,4,5,6,10,11,13,21,22,26,31,33,38,39,40,44,45,51,52,54,56,57,58,60,61,62,63,72,79,80,81,83,84,85,87,88,89,98,99,100,101,102,129,133,134,135,152,153,174,181,182,183,184,187,188,191,194,206,209,215,217,223,224,225,226,227,233,236,237,238,240,241,243,245,247,248,250,254,255,256,257,258,259,260,261,262,263,264,265,267,268,270,274,275,276,278,281,282,285,286,287,288,289,290,292],mynewt_0_8_0_b2_tag:[269,270],mynewt_0_8_0_tag:269,mynewt_0_9_0_tag:269,mynewt_1_0_0_b1_tag:269,mynewt_1_0_0_b2_tag:269,mynewt_1_0_0_rc1_tag:269,mynewt_1_0_0_tag:269,mynewt_1_3_0_tag:[58,60,81,83],mynewt_arduino_zero:[256,268,269],mynewt_nord:276,mynewt_stm32f3:237,mynewt_v:[215,220,224,226,267,276],mynewt_val_:226,mynewt_val_log_level:226,mynewt_val_log_newtmgr:226,mynewt_val_msys_1_block_count:226,mynewt_val_msys_1_block_s:226,mynewt_val_my_config_nam:226,mynewtl:277,mynewtsan:76,myperiph:[241,250],mypool:91,myproj2:223,myproj:[2,7,12,94,237,241,242,256,258,259,260,261,262,263,269,275,277,278,282,290],myriad:9,myself:14,myseri:[74,77,78],myserial01:67,myserial02:67,myserial03:67,mytask:243,mytask_handl:243,mytask_prio:243,mytask_stack:243,mytask_stack_s:243,myudp5683:67,myvar:66,n_sampl:278,nad_flash_id:175,nad_length:175,nad_offset:175,nak:188,name1:51,name2:51,name:[1,2,4,7,8,10,11,12,14,21,22,28,30,35,36,38,39,43,44,45,46,48,49,51,52,54,56,58,59,60,62,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,91,94,95,96,98,100,101,102,130,131,135,153,155,156,157,160,161,162,165,181,182,187,199,200,201,203,205,206,207,208,209,210,212,216,220,221,222,223,225,229,230,232,237,238,240,243,246,249,251,253,254,255,256,258,259,260,261,262,263,267,268,269,270,271,275,276,277,278,279,282,285,286,288,289],name_is_complet:249,name_len:[155,156,157,162,165,249],namespac:[89,215,254],nano2:[44,54,94,263],nano2_debug:[94,263],nano:[257,292],nanosecond:[87,193],nativ:[2,3,7,12,44,51,54,56,60,62,67,130,191,225,226,237,240,247,259,260,268,275,276,286,292],natur:[94,180],navig:[10,292],nb_data_len:180,nb_hash_entri:180,nb_inode_entri:180,nb_prev:180,nb_seq:180,nbuf:90,nc_num_block:176,nc_num_cache_block:176,nc_num_cache_inod:176,nc_num_fil:176,nc_num_inod:176,ncb_block:180,ncb_file_offset:180,ncb_link:180,ncheck:275,nci_block_list:180,nci_file_s:180,nci_inod:180,nci_link:180,nda_gc_seq:180,nda_id:180,nda_length:180,nda_mag:180,nda_ver:180,ndb_crc16:180,ndb_data_len:180,ndb_id:180,ndb_inode_id:180,ndb_magic:180,ndb_prev_id:180,ndb_seq:180,ndi_crc16:180,ndi_filename_len:180,ndi_id:180,ndi_mag:180,ndi_parent_id:180,ndi_seq:180,nding:253,ndof:278,ndof_fmc_off:278,nearest:259,nearli:14,neatli:249,necessari:[6,25,40,48,58,59,60,90,129,153,180,235,237,246,251,256,264,267,276],need:[4,5,6,7,8,9,10,11,12,14,15,24,25,33,44,51,53,56,58,59,60,61,62,65,67,81,82,84,85,89,90,91,92,93,94,96,97,98,99,100,129,131,136,141,142,143,153,180,192,195,206,207,209,210,211,212,215,221,223,224,225,226,231,238,240,241,243,246,247,249,251,252,253,254,255,256,258,259,260,261,262,263,267,268,270,271,274,277,279,282,285,286,288],neg:[90,101,180,253],neither:90,ness:191,nest:[92,160],net:[4,7,14,25,52,213,226,246,247,251,253,268,275,276,277,279,281],net_nimble_control:223,net_nimble_host:223,network:[1,9,14,24,28,32,33,56,90,93,223,243,264,268],never:[20,93,98,100,167,180,226,243,246,251],nevq:88,new_bletini:46,new_pool:90,new_slinki:46,newer:6,newest:[141,225,243],newli:[1,10,20,44,129,161,247,254,255,269],newlib:102,newlin:131,newt:[1,3,5,6,7,13,33,57,62,63,74,77,78,81,82,83,84,93,94,95,97,135,223,224,225,226,233,237,239,240,241,242,243,245,246,247,250,254,255,256,257,258,259,260,261,262,263,264,265,267,268,269,270,271,272,275,276,277,278,279,280,282,284,285,286,287,288,289,290,292],newt_1:[58,61],newt_1_1_0_windows_amd64:61,newt_1_3_0_windows_amd64:60,newt_group:2,newt_host:2,newt_us:2,newtgmr:[82,83,84],newtmgr:[1,7,9,13,58,59,60,64,65,79,80,131,132,134,196,206,218,219,223,225,226,240,275,276,287,292],newtmgr_1:[81,84],newtmgr_1_1_0_windows_amd64:84,newtmgr_1_3_0_windows_amd64:83,newtmgr_shel:215,newtron:[153,181,225,226],newtvm:11,next:[7,8,25,31,72,78,83,86,90,91,100,129,131,133,141,146,155,156,157,162,165,180,196,200,207,211,212,223,226,235,241,242,243,244,246,249,253,254,255,256,259,262,270,274,275,276],next_checkin:[78,285,288],nff:[7,102,136,153,175,176,177,178,179,181,189,225,226,233,267],nffs_area_desc:[14,174,177,178,228],nffs_area_mag:180,nffs_area_max:[177,178],nffs_block:180,nffs_block_cache_entri:180,nffs_block_cache_list:180,nffs_block_mag:180,nffs_cache_block:180,nffs_cache_block_list:180,nffs_cache_inod:180,nffs_close:181,nffs_closedir:181,nffs_detect:[178,180],nffs_detect_fail:[153,174],nffs_dirent_is_dir:181,nffs_dirent_nam:181,nffs_disk_area:180,nffs_disk_block:180,nffs_disk_inod:180,nffs_file_len:181,nffs_flash:189,nffs_flash_area:[14,225,226],nffs_format:[177,180,228],nffs_getpo:181,nffs_hash_entri:180,nffs_id_non:180,nffs_init:[176,177,178,181],nffs_inod:180,nffs_inode_entri:180,nffs_inode_list:180,nffs_inode_mag:180,nffs_intern:174,nffs_mkdir:181,nffs_op:181,nffs_open:181,nffs_opendir:181,nffs_pkg_init:14,nffs_read:181,nffs_readdir:181,nffs_renam:181,nffs_seek:181,nffs_short_filename_len:180,nffs_test:267,nffs_test_debug:267,nffs_test_priv:267,nffs_test_system_01:267,nffs_test_unlink:228,nffs_test_util:267,nffs_unlink:181,nffs_write:181,nhe_flash_loc:180,nhe_id:180,nhe_next:180,ni_filenam:180,ni_filename_len:180,ni_inode_entri:180,ni_par:180,ni_seq:180,nice:[224,274],nie_child_list:180,nie_hash_entri:180,nie_last_block_entri:180,nie_refcnt:180,nie_sibling_next:180,nil:68,nim:253,nimbl:[7,24,25,27,30,67,226,238,241,245,248,249,250,251,252,253,275,276,277,279],nimble_max_connect:14,njb:[201,202,203,204,205],njb_buf:205,njb_enc:203,nlip:218,nmgr:134,nmgr_def_taskstat_read:203,nmgr_err_eok:203,nmgr_jbuf:[201,202,203,204,205],nmgr_o:132,nmgr_shell:[131,226,238],nmgr_shell_in:218,nmgr_shell_out:219,nmgr_shell_pkg_init:226,nmgr_task_init:218,nmgr_transport:219,nmgr_uart:238,nmgr_urart_spe:238,nmxact:11,no_of_sampl:278,no_rsp:29,no_wl:[28,31],no_wl_inita:28,node:[14,22,33,56,155,156,157,162,165,180],nodefault:[200,205],nodup:28,nogdb:[39,48],noinputnooutput:28,non:[7,14,19,20,22,25,28,32,33,85,90,91,100,101,130,145,149,151,180,183,187,188,191,192,193,194,216,218,219,220,223,226,254,255,264,269,282],none:[4,7,8,12,21,28,31,83,88,94,102,129,180,217,221,222,223,228,231,237,256,260,264,276,282,289,290],nonexist:[161,180],nonsens:267,nonzero:[90,142,143,144,146,147,150,151,191,229,230,232,234,235,252,267],nor:23,nordic:[14,24,94,135,182,186,190,192,240,241,259,261,275,276,278,282,287,292],nordicsemi:[259,261,264,276,282],normal:[2,99,180,231,233,274,278],notat:[56,262],note:[1,2,4,6,7,10,11,12,22,23,24,25,30,33,44,48,51,58,59,60,61,62,67,69,72,81,82,83,84,86,87,88,90,91,92,93,94,95,100,129,130,131,137,174,188,191,193,196,207,208,209,210,212,215,216,220,223,225,226,237,238,241,243,244,246,247,249,251,253,254,255,256,258,259,260,261,262,263,264,265,268,269,270,271,275,277,278,279,280,282,284,285,286,288,289,292],noth:[11,180,228,254,255,275,276],notic:[7,11,56,62,93,94,181,223,243,246,270,274,275,276],notif:[10,14,28,29,88,131,211,248,274],notifi:[10,29,211,252,253],notnul:226,nov:8,novelbit:14,now:[2,8,9,14,60,87,90,91,92,94,99,100,129,152,154,158,161,164,167,169,171,180,187,194,223,237,238,241,242,243,246,248,249,250,252,253,254,255,256,259,264,267,269,274,275,276,278,282,286,289,290],nreset:256,nrf51:[25,54,94,135,182,265],nrf51dk:[54,223],nrf51xxx:190,nrf52840pdk:33,nrf52:[4,25,62,94,135,182,186,192,208,240,241,247,257,258,259,264,275,277,279,282,287,289,290,292],nrf52_adc_dev_init:276,nrf52_bleprph_oic_bno055:277,nrf52_blinki:[258,261,263,289],nrf52_bno055_oic_test:[277,279],nrf52_bno055_test:[278,280],nrf52_boot:[238,247,261,276,277,278,279,285],nrf52_hal:94,nrf52_slinki:285,nrf52_thingi:208,nrf52dk:[38,39,54,62,63,94,226,240,246,247,250,258,261,276,277,278,279,285],nrf52dk_debug:[62,94,258],nrf52dk_download:94,nrf52k_flash_dev:[94,186],nrf52pdk:247,nrf52serial:285,nrf52xxx:[49,94,192,259,282],nrf5x:25,nrf:[26,276],nrf_drv_saadc:276,nrf_drv_saadc_config_t:276,nrf_drv_saadc_default_channel_config_s:276,nrf_drv_saadc_default_config:276,nrf_saadc_channel_config_t:276,nrf_saadc_gain1_6:276,nrf_saadc_input_ain1:276,nrf_saadc_reference_intern:276,nrf_saadc_typ:276,nrpa:[20,254,255],nsampl:278,nsec:87,nth:180,ntoh:90,ntohl:90,ntrst:256,nucleo:54,nul:180,num_block:91,num_byt:185,number:[1,8,9,10,14,23,28,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,61,62,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,84,85,87,88,90,91,92,93,94,99,100,101,102,129,130,140,141,142,152,158,164,169,171,172,173,174,175,176,180,183,187,188,190,191,193,194,196,198,199,200,207,215,216,220,224,225,226,231,238,240,241,243,247,253,254,255,256,258,262,264,268,269,270,274,275,276,278,279,285,288,289],numer:[14,21,23,86,94,129],nvm:256,nxp:[14,135,182],objcopi:[6,14],objdump:6,object:[4,11,49,56,62,82,87,93,94,97,100,133,167,200,202,203,204,209,211,212,252,267,278,281],objsiz:[6,49,223],observ:[15,28,213,247,281],obtain:[14,28,90,92,99,100,180,193,269,275,276],obvious:54,oc_add_devic:277,oc_add_resourc:277,oc_app_resourc:[277,279],oc_get:277,oc_if_rw:277,oc_init_platform:277,oc_main_init:[213,277],oc_new_resourc:277,oc_put:277,oc_resource_bind_resource_interfac:277,oc_resource_bind_resource_typ:277,oc_resource_set_default_interfac:277,oc_resource_set_discover:277,oc_resource_set_periodic_observ:277,oc_resource_set_request_handl:277,oc_serv:[213,238,277,279,281],oc_transport_gatt:238,oc_transport_ip:238,oc_transport_seri:238,occasion:90,occur:[27,28,90,92,101,187,188,191,225,251,252,254,255],occurr:226,ocf:133,ocf_sampl:[7,62],ocimgr:132,ock:212,oct:275,octet:[28,30,32,129],od_init:135,od_nam:209,odd:194,odditi:14,off:[2,14,21,22,32,33,85,88,90,97,98,100,131,135,141,182,183,188,205,207,209,210,214,238,240,241,242,246,247,254,255,258,262,277,279,280,281,282,284,292],off_attr:205,offer:[1,22,133,135,152,185,276],offset1:90,offset2:90,offset:[21,29,72,90,94,101,129,141,149,153,159,163,168,169,171,172,173,175,180,200,223,225,226,278],often:[9,56,94,180,188,191],ohm:276,oic:[7,52,67,133,210,211,282,292],oic_bhd:67,oic_bl:67,oic_seri:67,oic_udp:67,oic_udpconnstr:67,oicmgr:[7,67,132,133,134],okai:14,old:[46,141],older:[14,60,83,260],oldest:[141,146,150,225],olimex:[257,275,287,292],olimex_blinki:262,olimex_stm32:[54,262,288],om1:90,om2:90,om_data:90,om_databuf:90,om_flag:90,om_len:90,om_omp:90,om_pkthdr_len:90,ome:91,omgr:134,omi_block_s:91,omi_min_fre:91,omi_nam:91,omi_num_block:91,omi_num_fre:91,omit:[14,48,225],omp:90,omp_databuf_len:90,omp_flag:90,omp_len:90,omp_next:90,omp_pool:90,on_reset:27,on_sync:27,onboard:[209,210,280,284,289,290,292],onc:[20,30,56,58,62,81,85,87,90,91,92,93,100,129,144,182,191,193,235,237,238,241,242,249,254,257,258,264,269,275,276],one:[1,4,7,8,10,11,12,14,20,21,22,23,24,28,30,31,32,35,36,40,44,46,51,52,54,58,59,60,62,68,86,88,90,92,93,94,97,99,100,129,130,131,137,138,141,153,166,167,174,175,177,178,180,183,188,191,196,206,207,211,212,221,223,224,225,226,242,243,244,246,247,253,254,255,256,257,258,259,260,261,262,263,264,267,268,269,270,271,274,275,276,278,284,285,288,292],ones:[15,90,99,135,182,206,247,292],ongo:28,onli:[1,2,7,8,10,11,12,14,15,20,21,25,28,30,32,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,59,60,61,62,63,67,73,81,84,87,88,90,91,93,94,97,98,99,129,130,131,132,135,136,137,139,151,153,155,156,157,159,162,165,166,168,169,174,175,180,188,191,196,206,207,209,210,212,215,220,223,224,225,226,230,231,233,234,236,238,241,242,243,244,249,251,254,256,258,264,265,267,268,269,270,271,275,276,277,278,281,282,286],onlin:[256,282,289,290],onto:[1,21,43,44,48,85,88,90,94,257,259,260,261,262,263,274,275,278,285,288],oob:[14,21,28,30],opaqu:[153,193,206,207,209,211,282],open:[4,8,9,10,12,14,21,22,39,40,48,56,58,59,60,62,97,133,135,153,154,158,159,161,162,164,165,168,169,170,171,172,173,176,180,208,254,256,259,260,262,263,267,275,280,286],open_test:267,openocd:[12,94,256,259,260,262,263,288],openocd_debug:[259,275],oper:[1,9,12,16,19,21,22,27,32,40,58,59,60,85,90,97,98,99,100,101,131,133,135,153,161,162,163,168,170,174,175,179,180,181,182,183,185,187,194,207,212,224,226,227,236,246,247,251,252,253,254,255,256,264,267,268,270,271,274,275,278,282],oppos:[32,90,271],opt:4,optim:[1,25,33,38,39,44,51,62,90,94,95,102,135,223,237,243,246,247,250,256,259,260,261,262,263,264,268,275,276,278,282,285,288],optimis:32,option:[2,3,4,6,7,8,12,14,23,24,28,37,38,47,52,56,63,67,73,85,88,91,94,129,133,135,151,152,198,207,209,210,215,223,225,226,228,233,244,246,247,253,256,260,262,264,268,269,270,275,276,278,288],orang:[259,263],order:[1,8,9,14,23,34,56,62,64,86,88,90,91,92,98,100,102,129,130,133,180,191,207,225,226,238,242,243,264,267,270,272,275,276,282,289,290],org:[1,4,10,11,14,40,58,59,60,62,81,83,102,131,138,254,256,259,260,262,263,267,275,276,282,289,290],organ:[11,135,224,267,269],origin:[11,47,94,129,262,275],os_align:[90,91],os_arch:[62,91,101],os_bad_mutex:92,os_bsp_adc0:276,os_bsp_adc0_config:276,os_callout:[62,85,98,130,240,258,282],os_callout_f_queu:85,os_callout_func:[85,90],os_callout_func_init:85,os_callout_init:[85,98,240,258,282],os_callout_queu:85,os_callout_remaining_tick:85,os_callout_reset:[85,98,240,258,282],os_callout_stop:85,os_cfg:62,os_cli:226,os_cputim:[14,62],os_cputime_delay_nsec:87,os_cputime_delay_tick:87,os_cputime_delay_usec:87,os_cputime_freq:25,os_cputime_freq_pwr2:87,os_cputime_get32:87,os_cputime_init:87,os_cputime_nsecs_to_tick:87,os_cputime_ticks_to_nsec:87,os_cputime_ticks_to_usec:87,os_cputime_timer_init:87,os_cputime_timer_num:[25,87],os_cputime_timer_rel:87,os_cputime_timer_start:87,os_cputime_timer_stop:87,os_cputime_usecs_to_tick:87,os_dev:[62,135,207,208,209,276,280],os_dev_clos:[208,280],os_dev_cr:[135,207,208,209,212,276],os_dev_init_func_t:[135,209],os_dev_init_kernel:276,os_dev_init_primari:208,os_dev_init_prio_default:276,os_dev_open:[208,276,280],os_einv:[90,101,205],os_eno:130,os_error_t:[91,92,99],os_ev:[85,88,90,98,130,131,240,258,282],os_event_fn:[85,88,90],os_event_queu:88,os_event_t_mqueue_data:90,os_event_t_tim:85,os_eventq:[62,85,88,90,98,131,217,240,274,275,276],os_eventq_dflt_get:[27,88,93,100,131,226,240,254,255,258,280,282],os_eventq_dflt_set:275,os_eventq_get:[88,98],os_eventq_get_no_wait:88,os_eventq_init:[88,90,98,131,240,274,275],os_eventq_pol:88,os_eventq_put:[88,131,240],os_eventq_remov:88,os_eventq_run:[27,88,90,93,100,226,240,254,255,258,275,280,282],os_fault:62,os_get_uptim:101,os_get_uptime_usec:101,os_gettimeofdai:101,os_heap:62,os_init:[87,100],os_invalid_parm:[92,99],os_main_task_prio:[226,243],os_main_task_stack_s:226,os_malloc:[62,89],os_mbuf:[62,90,218,219],os_mbuf_adj:90,os_mbuf_append:[90,274,276],os_mbuf_appendfrom:90,os_mbuf_cmpf:90,os_mbuf_cmpm:90,os_mbuf_concat:90,os_mbuf_copydata:90,os_mbuf_copyinto:90,os_mbuf_count:90,os_mbuf_data:90,os_mbuf_dup:90,os_mbuf_extend:90,os_mbuf_f_:90,os_mbuf_f_mask:90,os_mbuf_fre:90,os_mbuf_free_chain:90,os_mbuf_get:90,os_mbuf_get_pkthdr:90,os_mbuf_is_pkthdr:90,os_mbuf_leadingspac:90,os_mbuf_off:90,os_mbuf_pkthdr:90,os_mbuf_pkthdr_to_mbuf:90,os_mbuf_pktlen:90,os_mbuf_pool:90,os_mbuf_pool_init:90,os_mbuf_prepend:90,os_mbuf_prepend_pullup:90,os_mbuf_pullup:90,os_mbuf_trailingspac:90,os_mbuf_trim_front:90,os_mbuf_usrhdr:90,os_mbuf_usrhdr_len:90,os_memblock:91,os_memblock_from:91,os_memblock_get:91,os_memblock_put:91,os_memblock_put_from_cb:91,os_membuf_t:[90,91],os_mempool:[62,90,91],os_mempool_byt:91,os_mempool_clear:91,os_mempool_ext:91,os_mempool_ext_init:91,os_mempool_f_:91,os_mempool_f_ext:91,os_mempool_info:91,os_mempool_info_get_next:91,os_mempool_info_name_len:91,os_mempool_init:[90,91],os_mempool_is_san:91,os_mempool_put_fn:91,os_mempool_s:[90,91],os_mqueu:90,os_mqueue_get:90,os_mqueue_init:90,os_mqueue_put:90,os_msys_count:90,os_msys_get:90,os_msys_get_pkthdr:90,os_msys_num_fre:90,os_msys_regist:90,os_msys_reset:90,os_mutex:[62,92,141,207],os_mutex_init:92,os_mutex_pend:92,os_mutex_releas:92,os_ok:[92,99],os_pkg_init:226,os_san:[62,98],os_sanity_check:[98,100],os_sanity_check_func_t:98,os_sanity_check_init:98,os_sanity_check_regist:98,os_sanity_check_reset:98,os_sanity_check_setfunc:98,os_sanity_task_checkin:98,os_sch:62,os_sched_get_current_t:243,os_sched_get_current_task:[86,98,243],os_sem:[62,93,99,275],os_sem_get_count:99,os_sem_init:[14,93,99,275],os_sem_pend:[14,93,99,275],os_sem_releas:[14,93,99,275],os_sem_test_bas:232,os_sem_test_case_1:232,os_sem_test_case_2:232,os_sem_test_case_3:232,os_sem_test_case_4:232,os_sem_test_suit:232,os_settimeofdai:101,os_stack_align:[243,274,275,276],os_stack_t:[98,100,218,240,243,274,275,276],os_start:100,os_stime_t:101,os_sysview:290,os_task:[62,86,88,92,93,98,100,240,243,274,275,276],os_task_count:100,os_task_flag_evq_wait:100,os_task_flag_mutex_wait:100,os_task_flag_no_timeout:100,os_task_flag_sem_wait:100,os_task_func_t:[98,100],os_task_info:100,os_task_info_get_next:100,os_task_init:[93,98,100,240,243,274,275],os_task_max_name_len:100,os_task_pri_highest:100,os_task_pri_lowest:100,os_task_readi:100,os_task_remov:100,os_task_sleep:100,os_task_st:100,os_task_stack_defin:100,os_task_state_t:100,os_test:62,os_test_restart:235,os_tick_idl:[190,256,259,282],os_tick_init:190,os_tick_per_sec:14,os_ticks_per_sec:[14,85,98,101,130,190,209,240,243,258,274,275,276,282],os_tim:[62,101,267],os_time_adv:101,os_time_delai:[14,100,101,209,240,242,243,274,276],os_time_get:101,os_time_max:101,os_time_ms_to_tick:101,os_time_t:[85,88,98,100,101,190,207,209],os_time_tick_geq:101,os_time_tick_gt:101,os_time_tick_lt:101,os_time_ticks_to_m:101,os_timeout:[92,99,275],os_timeout_nev:[93,101,208,280,282],os_timeradd:101,os_timersub:101,os_timev:[101,267],os_timezon:[101,267],os_wait_forev:[88,93,100,240,243,274,275],osmalloc:89,ostask:100,ostick:101,osx:[237,242],ota:238,otg1:262,otg2:[262,288],other:[1,6,10,11,14,21,23,25,30,32,51,56,62,87,88,90,91,93,94,95,98,99,100,101,129,130,131,135,153,154,162,165,170,174,175,177,180,185,188,206,209,211,215,223,224,226,237,240,243,246,247,248,249,251,252,256,257,258,259,265,267,269,274,276,277,278,279,282,284,289,290],otherwis:[14,90,91,93,100,143,145,148,187,191,269,270],oti:100,oti_cswcnt:100,oti_last_checkin:100,oti_nam:100,oti_next_checkin:100,oti_prio:100,oti_runtim:100,oti_st:100,oti_stks:100,oti_stkusag:100,oti_taskid:100,oui:[20,264],our:[14,21,56,90,94,223,224,237,238,242,243,246,249,254,255,257,258,267,270,274,275,276,285,288],our_id_addr:[31,250],our_id_addr_typ:250,our_key_dist:28,our_ota_addr:[31,250],our_ota_addr_typ:[31,250],out:[8,9,11,21,22,23,24,27,28,62,81,82,83,85,90,96,100,129,131,137,141,142,145,147,161,162,174,181,182,183,199,201,202,203,204,223,228,235,246,248,250,254,255,257,262,268,275,287],out_cpha:191,out_cpol:191,out_data:[163,164],out_dir:[162,163,165],out_fil:[161,163],out_id_addr_typ:31,out_len:[158,163,164,172],out_m:101,out_nam:[137,157,163],out_name_l:157,out_name_len:[157,163],out_off:90,out_tick:101,outdat:59,outfil:[1,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,275],outgo:219,outlin:5,output:[1,7,12,14,22,23,28,31,35,36,38,39,40,41,42,43,44,45,46,47,48,50,51,52,53,55,58,59,60,63,70,74,76,77,78,82,89,94,100,101,129,182,187,194,206,223,225,228,237,240,256,258,259,260,262,263,264,267,268,275,278,282,286,289],outsid:[21,22,90,227],outweigh:90,over:[14,21,22,23,24,28,30,32,66,67,68,69,70,71,72,73,74,75,76,77,78,90,129,134,135,137,141,143,151,188,194,206,223,238,243,251,257,258,260,264,268,274,275,277,278,279,281,284,287,289,292],overal:[10,14,25,90,100,174],overhead:90,overlap:[21,180],overrid:[51,62,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,94,206,223,224,238,247],overridden:[24,226,247],oversampl:276,overview:[129,278,279,282],overwrit:[6,50,51,60,61,83,84,94,131,180,256,265,268],overwrite_many_test:267,overwrite_one_test:267,overwrite_three_test:267,overwrite_two_test:267,overwritten:[129,173,180],own:[2,11,14,20,21,40,58,59,60,62,88,92,93,97,99,100,136,180,191,206,223,224,244,245,246,275,276],own_addr_t:[254,255],own_addr_typ:[28,67,254,255],owner:[88,92,271],ownership:[92,180,275,276],pacakg:246,pacif:101,pack:[4,56,82,90,241,259,261,268,278,282,285],packag:[6,9,11,14,24,25,27,35,40,41,42,44,46,51,52,53,54,56,57,59,60,61,80,84,88,93,95,100,129,130,132,133,135,138,139,153,163,174,182,183,196,197,200,208,209,212,213,214,215,223,224,232,233,234,237,240,247,257,258,259,264,266,269,270,276,279,280,281,292],package1:206,package1_log:206,package2:206,package2_log:206,packet:[21,22,28,30,188,215,219,254,264],packet_data:90,pacman:[7,60],pad:[90,129],page:[1,4,5,6,7,8,10,21,23,58,59,61,81,82,84,94,102,136,181,188,189,207,208,209,210,237,242,244,246,248,252,254,255,257,276],page_s:136,pair:[21,22,23,28,67,129,130,180,200,205,226,250,252],pakcag:215,panel:12,paradigm:90,param:[28,215,220,252],param_nam:215,paramet:[1,14,21,27,28,29,31,62,67,73,85,87,88,90,91,92,98,99,100,101,130,137,141,151,183,187,188,190,191,193,194,195,206,208,209,215,226,238,249,251,252,253,254,255,267],parameter_nam:226,parameter_valu:226,parent:[91,155,156,157,162,165,167,173,180],parenthes:90,pariti:194,parlanc:11,parmaet:28,parmet:[28,29],pars:[56,198,215,228,231,254,267],part:[14,23,30,90,96,129,141,169,174,175,180,181,223,249,250,253,275,276,281],parti:[254,256,268],partial:[65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,90,129,174,175],particular:[4,14,21,48,62,90,93,94,97,98,129,131,135,153,182,191,193,200,235,252,254,255],particularli:265,partit:[21,94,129,174,180,223],partner:14,pass:[1,7,12,14,21,28,62,85,87,88,90,91,92,98,99,100,130,131,135,136,140,141,151,161,164,172,180,187,188,191,193,194,200,207,208,209,211,215,218,229,230,231,232,249,253,254,255,267,276,282],passiv:[14,28],passkei:[14,21,23,28],password:[11,59,81,247,271],past:[21,90,276],patch:[259,260,263],path:[2,4,6,11,12,14,30,51,58,59,60,61,62,67,81,82,83,84,94,95,153,160,161,162,163,167,170,172,173,226,269,275,276],pathloss:30,pattern:[28,94,243],payload:[90,133,134,188],pc6:288,pc7:288,pca100040:247,pca:[241,261,276],pcb:275,pci:[135,182],pcmcia:[135,182],pdata:188,pdf:[237,288],pdt:[101,267],pdu:[21,28],peek:243,peer:[10,23,29,67,191,241,251,253,254,255],peer_addr:[28,31,67,249],peer_addr_typ:[28,31,67,249],peer_id:67,peer_id_addr:250,peer_id_addr_typ:250,peer_nam:[14,67,241],peer_ota_addr:250,peer_ota_addr_typ:250,pem:[38,47],pencil:10,pend:[21,85,88,92,99,129,188,241],per:[11,14,20,90,92,129,130,174,183,187,191,194,224,243,267,270,275],perfom:129,perform:[3,4,5,9,11,12,14,21,23,26,28,37,58,59,60,65,81,82,83,90,91,93,94,98,100,102,129,131,136,152,153,167,180,188,193,212,223,226,237,241,251,256,258,259,264,270,274,275,276,277,278,279,282],perhap:269,period:[9,14,20,23,28,85,98,190,195,240,243],peripher:[9,14,21,22,25,27,30,31,94,97,135,182,183,188,191,224,241,245,246,249,252,253,254,274,275,276],perman:[72,129,180,223,241,249,252],permiss:[275,276],permit:[21,253,256,282,289,290],persist:[14,129,152],perspect:223,pertain:252,petteriaimonen:102,phdr:90,phone:[14,23,32],php:56,phy:[22,28],phy_opt:28,physic:[22,28,30,67,131,184,187,194],pick:[86,93,206,254,255],pictur:[237,259],pid:260,piec:[22,94,275],pig:244,pin:[7,8,21,94,97,100,135,182,184,187,188,191,192,194,207,237,240,258,259,262,264,268,275,276,278,282,288],ping:93,pinout:96,pipe:14,piqu:292,pitfal:90,pkcs15:129,pkg1:225,pkg2:225,pkg:[1,7,11,40,44,51,54,56,58,59,60,62,95,96,102,131,135,136,137,152,153,181,182,206,208,215,224,225,226,238,240,246,258,267,275,276,277,282],pkg_init_func1_nam:226,pkg_init_func1_stag:226,pkg_init_func2_nam:226,pkg_init_func2_stag:226,pkg_init_func:226,pkg_init_funcn_nam:226,pkg_init_funcn_stag:226,pkg_test:234,pkga_syscfg_nam:226,pkga_syscfg_name1:226,pkga_syscfg_name2:226,pkgn_syscfg_name1:226,pkt:275,pkthdr_len:90,pkts_rxd:90,place:[3,56,62,88,101,102,129,141,169,188,191,223,226,233,238,242,243,246,247,253,254,255,262,270,275,284],plai:[12,14,22,284],plain:[223,260,270],plan:[2,14,135,215],platform:[2,7,9,11,12,24,25,58,59,60,67,81,82,83,85,93,94,95,97,135,183,188,191,193,227,233,241,243,246,256,258,259,260,262,263,268,275,276,278,285,286,287,288],pleas:[14,40,58,59,60,95,96,207,211,212,224,237,242,256,257,269,276,282,289,290],plenti:[243,275],plist:62,plu:[90,157,180,188],plug:[8,181,237,262,263,275,276],plumb:274,pmode:278,point:[2,4,6,14,32,86,90,92,94,96,100,102,129,130,131,135,142,143,144,145,146,148,149,150,151,162,163,165,180,191,207,246,251,252,254,255,275,276,277],pointer:[68,85,86,87,88,90,91,92,94,99,100,101,130,131,135,141,142,143,151,154,156,157,158,159,161,163,164,169,171,172,173,180,181,183,188,191,193,198,199,200,206,207,208,209,212,215,216,217,220,221,228,243,251,252],poke:276,polici:[28,269],poll:[14,88,93,211,278,282],poll_du:278,poll_dur:278,poll_interv:278,poll_itvl:278,poller:[207,211,212,282],pong:93,pool:[74,81,93,264,279,286],popul:[1,7,12,51,63,101,176,180,233,257,268,284,287,292],port:[2,12,67,93,131,135,187,194,206,224,238,247,256,258,259,260,261,262,263,268,275,278,282,285,286,287,288,292],portabl:[135,182],portingto:95,portion:[129,147,188,274,276],posit:[90,101,129,159,169,172,195,262],posix:60,possibilti:[289,290],possibl:[14,22,23,25,28,29,31,33,37,54,90,92,101,129,135,153,174,175,180,182,183,206,223,224,253,269,278,289],post:[50,85,90,135,240,246],potenti:[97,223,270],pour:[59,82],power:[2,9,14,21,22,23,28,30,32,56,94,97,131,135,182,183,191,192,209,238,241,247,256,261,262,264,268,277,278,279,280,282,285,288],ppa:4,pre:[4,9,206,224,269,270],precaut:251,prece:90,preced:24,precis:[6,21],predict:243,preempt:[92,93,99,100],preemptiv:[93,100,243],prefer:[3,28,30,139,241,251,275],preference0x01:28,prefix:[62,180,210,226,276],preload:191,prepar:[21,259,261,264,276],prepend:90,preprocessor:[215,224],prerequisit:12,presenc:[94,180,249,254,255,269],present:[1,14,90,94,129,131,180,196,208,223,247,262,267,276],preserv:90,press:[8,12,14,99,240,243,246,268,275,278,290],presum:[90,264],pretti:[14,276],prev:[100,180],prev_ind:252,prev_notifi:252,prevent:[92,93,129,170,251],previ:[250,252],preview:[244,247],previou:[22,57,58,59,60,79,80,81,82,83,100,129,180,200,225,226,246,247,258,269,274],previous:[6,12,58,59,60,61,81,82,83,84,191,238,250,272,276,278],prevn:[250,252],pri:[78,183,275,285,288],primari:[28,94,129,133,167,241,253,255,274],primarili:102,primary_phi:28,primo:[257,274,275],primo_boot:259,primo_debug:259,primoblinki:259,print:[49,58,59,60,63,130,131,137,155,156,157,162,165,172,194,215,225,228],print_statu:172,print_usag:198,printabl:199,printf:[102,137,228,231],prio:[98,100,190,218],prior:[23,25,50,90,93,129,167,176,180,191,193,264],prioriti:[14,78,86,88,92,93,99,100,135,174,183,190,226,240,247,276,292],priv:28,privaci:[20,22,28],privat:[20,23,33,38,47,58,67,81,129,254,255],privileg:2,prng:14,pro:[14,243,256,259],probabl:[7,14,94,248,271,275],probe:[188,259,268,282],problem:[7,99,129,162,223,225],proce:[3,6,11,129,235,256,259,260,261,262,263,267,268,275,285,288],procedur:[6,11,17,20,21,23,28,29,65,76,81,82,83,129,180,181,223,278,281],proceed:[7,248,254,255],process:[3,6,9,10,14,21,23,27,28,32,62,85,86,88,90,94,100,129,131,132,180,212,213,217,223,224,226,237,238,240,243,254,255,277,280,281,282,289,290],process_data:170,process_rx_data_queu:90,processor:[4,9,90,100,135,182,183,187,243,256,262,282,289,290],produc:[99,129,224,231,260],product:[14,56,97,175,187,210,247,275,288],profil:[15,16,17,18,22,28,29,32,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,81,82,83,246,256,285,287,288],profile01:[66,68,69,70,71,72,73,74,75,76,77,78],profile0:78,program:[4,6,8,12,24,86,129,131,189,192,237,243,256,258,259,261,264,268,276],programat:131,programm:[260,289,290],programmat:[138,282],progress:[7,14,21,129,135,136,180,191,245],prohibit:168,project:[3,6,8,11,34,35,40,41,42,45,50,51,53,56,58,59,60,62,64,89,100,102,129,131,136,137,139,152,177,178,182,196,206,224,232,233,240,242,243,244,250,267,271,272,277,278,282,283,284,289,292],prompt:[7,8,11,12,48,59,60,94,246,256,258,259,260,261,262,263,275,278,282],prone:253,proper:[135,276],properli:[25,62,93,98,243,247,251,274,275,276],properti:[12,20,32,60,94,129,134,174,175,180,206,237,248,259],proport:180,propos:10,propper:275,prot_length:90,prot_tif:90,prot_typ:90,protcol:90,protect:[23,89,129,141],protocol:[14,15,21,22,29,62,67,90,129,133,134,188,279,281,284,287],prototyp:[97,194,226,254,255],provid:[1,2,7,9,11,12,14,20,21,22,23,28,31,32,38,40,46,51,58,59,60,67,71,72,73,76,81,85,87,89,90,91,92,93,94,96,97,98,100,101,129,131,135,136,137,141,152,153,174,182,187,188,191,193,198,207,210,212,213,215,224,233,236,238,248,254,255,256,264,267,268,269,270,275,276,281],provis:[14,22,33],provision:[14,32],proxi:[22,32],pseln:276,pselp:276,pset:191,psm:[14,28],psp:[256,260],pst:[69,101,267],pth:262,ptr:194,public_id:28,public_id_addr:31,public_target_address:30,publish:[14,23],pull:[11,14,50,81,83,88,90,135,187,240,258,262],pulldown:187,pullup:[90,187],purpos:[4,14,23,51,56,94,98,129,182,187,206,209,211,223,224,243,251,264,276,282],push:[10,14,244],put:[1,2,7,44,62,81,83,88,90,91,92,94,99,100,101,134,183,243,249,254,255,267,276],putti:[8,258,268,278],pwd:[2,11],pwm:[9,14],pwr:[260,262],px4:4,python:[34,64],qualifi:251,qualiti:283,quat:278,queri:[9,20,51,56,58,59,60,62,63,90,134,156,157,158,159,172,180,207,209,224,249,278,286],question:246,queu:[21,85,88,194,240],queue:[27,62,85,87,90,93,98,99,100,131,180,193,212,215,217,219,226,238,254,255,274,280,282,284,292],quick:[2,3],quickli:[101,182,243,276,278,281,282,284],quickstart:[2,243],quiet:[1,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,275],quit:[20,94,246,249,254,255,256,259,260,262,263,289],quot:67,r_find_n:212,r_lock:212,r_match_:212,r_regist:212,r_unlock:212,radio:[22,25,247],raff:82,rais:92,ram:[49,94,96,174,183,223,246,256,275,276,277],ram_siz:94,ran:98,rand:[14,28],random:[20,21,26,28,31,67,247,253,254,255,274],random_id:28,random_id_addr:31,randomli:20,rang:[9,21,22,30,90,102,180,198,264],rare:90,rate:[14,67,85,131,212,213,247,264,278,281,282],rather:[14,15,21,94,101,102,129,153,167,223,276],raw:[11,58,59,60,81,82,83,131,174,180,226,228,276],rb_bletini:51,rb_blinki:[44,51],rb_blinky_rsa:44,rb_boot:44,rbnano2_blinki:263,rbnano2_boot:263,reach:[98,193],read:[4,6,7,11,12,15,19,20,21,24,28,29,56,62,65,66,69,74,77,78,81,82,83,88,90,100,129,130,131,135,136,137,141,143,146,147,151,153,154,155,156,157,159,161,162,164,165,169,170,172,180,185,187,188,193,200,205,206,211,212,213,214,226,228,237,238,240,241,243,250,252,253,254,255,256,257,260,263,264,267,268,269,274,275,276,277,278,279,281,284,287,289,290],read_acceleromet:282,read_cb:282,read_chr:251,read_config:[154,161,164],read_part1_middl:169,read_rsp_rx:77,read_rsp_tx:77,read_sensor_interv:282,read_test:267,read_type_req_rx:77,read_type_req_tx:[77,238],read_type_rsp_rx:[77,238],read_type_rsp_tx:[77,238],readabl:[247,271],readdesc:7,readdir_test:267,reader:[267,274,276],readi:[10,86,88,100,131,194,200,243,256,275,289],readili:135,readm:[7,11,56,62,94,246,267],readnow:62,real:[1,7,9,14,88,93,101,131,180,200,236,240,246,253,282,289],realist:267,realli:[14,90,276],rearm:85,rearrang:90,reason:[14,21,27,28,90,91,129,192,243,250,252,264,267,269],reassembl:22,rebas:11,reboot:[7,14,72,129,192,223,225,241,277,279],reboot_log:73,reboot_log_flash_area:[225,226],reboot_start:280,rebuild:[14,33,62,83,280],rec0:129,rec1:129,rec2:129,recal:[251,269],receiv:[10,14,15,21,28,30,32,56,82,90,131,132,137,188,191,194,207,212,215,218,221,238,249,252,253,260,264,282,285,288],recent:[180,259],recip:6,recipi:30,reclaim:180,recogn:[56,180,276],recommend:[3,4,7,12,14,58,59,81,82,90,131,189,208,209,215,225,226,238,240,249,253,259,263,265,278,284,289],reconfigur:[191,194,280],reconnect:251,record:[129,180,209,224,233,290],recov:129,recover:129,recreat:270,recur:195,recurs:[56,62,91,170],red:[28,29,237,260,262,288],redbear:[257,292],redefin:225,redistribut:[56,256,269,282,289,290],redo:14,reduc:[9,23,25,32,88,102,133,206,238,240,266],redund:223,reenter:265,ref0:68,refer:[7,8,10,14,19,23,24,30,56,68,94,167,170,180,191,210,216,220,223,244,249,254,255,256,258,262,268,275,276,278,288],referenc:[1,180,187],reflect:250,reformat:180,refrain:27,refresh:[2,50,244,256],refus:[282,289],regard:[174,175,267,275,276],regardless:42,region:[14,90,94,129,168,174,175,180],regist:[14,24,76,86,90,95,130,132,135,139,153,163,166,182,183,188,197,206,207,211,213,216,218,220,221,222,226,243,251,253,275,276,282],register_:211,registr:[18,130,181,224,251,282],registri:[90,209],regress:[229,230,232,233,234],regular:[90,156,267],reject:[21,267],rel:[14,90,93,149],relai:[22,32],relat:[10,28,32,44,136,223,249,252,256,264,282,289,290],relationship:[28,99],releas:[3,4,7,32,50,57,79,80,90,91,92,93,99,135,187,188,215,226,256,268,269,270],release_not:[7,11],relev:[96,129,135,187],reli:[1,7,56,226],reliabl:[14,22,129,152,174,254,255,270],reload:14,remain:[94,164,170,180,223,228,231,243,251],remaind:[94,180,231,249,267,269],rememb:[2,42,81,83,92,256,274],remind:256,remot:[1,7,9,12,21,28,29,50,56,67,79,81,82,83,133,188,237,238,240,241,247,256,257,258,268,275,276,282,284,286,287,292],remov:[2,4,6,28,36,46,61,84,87,88,90,91,99,100,131,137,180,223,251,256,282],renam:[14,167],rename_test:267,repeat:[2,11,21,188,242,251],repeatedli:[30,129],replac:[4,6,94,96,102,196,223,226,228,231,242,256,258,274,285,288],repli:28,repo814721459:56,repo:[1,6,7,10,11,14,42,56,58,62,81,94,135,153,223,237,244,246,256,258,259,260,261,262,263,264,267,268,271,275,276,277,278,282,285,286,288,289,290],repop:7,report:[1,4,6,10,14,21,94,183,194,224,228,231,256,260,267,275,282,289,290],reposistori:7,reposit:169,repositori:[1,4,11,12,41,42,45,50,52,53,58,62,81,135,237,244,245,246,248,256,257,264,268,272,275,284,287,292],repres:[1,12,14,62,88,90,99,101,129,131,160,180,207,209,211,212,215,243,253],represent:[129,133],reproduc:[1,62,129,181,254,255],req_api:[62,131,206],req_len:90,request:[12,14,21,28,67,68,75,79,90,92,94,99,129,133,134,137,141,164,180,192,210,211,213,215,223,238,250,251,256,260,262,264,269,270,274,276,277,281,282,285,288],requir:[1,2,4,6,9,11,21,25,31,32,54,60,62,67,81,83,88,90,91,93,95,96,97,99,129,131,133,136,153,163,174,175,180,193,206,208,215,223,224,225,226,230,237,238,240,243,246,249,251,256,259,263,264,267,269,270,274,275,276,278,280,281,282,292],res:277,reserv:[21,90,94,97,142,144,180,207,243,264],reserved16:180,reserved8:180,reset:[26,65,79,81,82,83,85,98,132,133,192,223,235,238,246,247,250,259,260,261,263,276,278,282,289,290],reset_cb:27,reset_config:256,reset_handl:[94,262],resid:[97,129,175,180,242,253,275],resign:[58,59,60],resist:276,resistor:[240,276],resolut:[23,87,193,224,276],resolv:[1,20,21,23,28,33,56,67,82,225,237,254,255,269],resourc:[9,21,30,62,89,92,99,134,210,211,213,215,237,240,256,277,279,281,282,288,289,290],respect:101,respond:[18,26,223,249,251,253,274,275],respons:[14,16,21,29,30,70,86,91,93,131,133,137,213,223,243,249,251,268,275,281,285,286,288],rest:[1,14,47,62,90,180,198,200,228],restart:[2,129,130,141,180,192,256],restor:[14,130,174,177,178,180,259,261,264,276],restrict:[129,141,174,175,180,215,226,251,252],restructuredtext:10,result:[12,14,21,59,63,90,101,161,162,175,180,199,207,224,226,231,233,253,260,267,274,275,276],resum:[22,100,129,180,249,252],resynchron:50,retain:[129,180,226,252],retent:183,retransmit:32,retreiv:134,retri:[263,264],retriev:[58,81,88,90,101,133,153,155,156,157,158,159,162,164,165,172,175,207,209,246,284],reus:[56,82,129,226],reusabl:56,rev:278,revdep:[1,51,63],revers:[1,24,51,63,129,180,251,262],revert:[129,241],review:[10,223,249,267],revis:[4,198,278],revision_num:[269,270],revisit:[246,252],rewrit:180,rewritten:180,rfc:[69,200,267],ribbon:[262,288],rigado:[49,261,276],right:[2,3,10,14,56,62,130,244,249,262,276],rimari:253,ring:99,rise:187,ristic:253,rite_fil:153,robust:152,role:[14,21,22,31,32,99,251],room:[90,180,243],root:[2,4,8,32,81,137,166,180,237,269],rotat:167,rotate_log:167,routin:[102,130,141,142,144,163,181,200,232,275],rpa:[20,28],rpa_pub:[28,67],rpa_rnd:[28,67],rsa2048:129,rsa:129,rsp:28,rssi:[28,30,247],rtc:9,rto:[56,93,243],rtt:[14,131,291,292],rtt_buffer_size_down:289,rubi:[11,56,59],rule:[226,260,267],run:[2,3,4,5,6,8,9,11,24,25,31,35,40,42,44,51,53,56,58,59,60,61,62,65,67,68,78,79,81,82,83,84,85,86,87,88,90,92,93,94,97,98,99,100,129,130,132,133,136,137,153,161,162,180,193,213,215,221,223,225,234,235,236,237,238,241,242,243,246,247,254,255,257,259,260,261,262,263,264,267,268,275,276,277,278,279,280,282,285,287,288,292],runner:12,runtest:[7,132,238],runtest_newtmgr:238,runtim:[26,78,100,256,268,275,285,288],runtimeco:[58,59,60,81,82,83,237,256,268,269,276],rwx:94,rwxr:[81,83],rx_cb:131,rx_data:275,rx_func:194,rx_off:275,rx_phys_mask:28,rx_power:28,rxbuf:191,rxpkt:90,rxpkt_q:90,s_cnt:224,s_dev:207,s_func:207,s_hdr:224,s_itf:207,s_listener_list:207,s_lock:207,s_map:224,s_map_cnt:224,s_mask:207,s_name:224,s_next:[207,224],s_next_run:207,s_pad1:224,s_poll_rat:207,s_size:224,s_st:[207,282],s_type:207,saadc_config_irq_prior:276,saadc_config_oversampl:276,saadc_config_resolut:276,sad:282,sad_i:282,sad_x:282,sad_x_is_valid:282,sad_y_is_valid:282,sad_z:282,sad_z_is_valid:282,safe:[91,153],safeguard:93,safeti:251,sai:[14,62,90,100,256,268,269,270,275],said:[187,276],sam0:256,sam3u128:[259,261,264,276,282],samd21:[256,268],samd21g18a:256,samd21xx:256,samd:256,same:[6,10,12,14,23,30,35,38,48,52,60,62,79,90,92,94,95,99,129,130,131,152,174,180,188,212,223,224,225,226,228,237,240,242,243,249,251,252,257,259,261,264,269,270,271,276,277],sampl:[1,12,22,31,62,90,95,135,213,223,226,276,277,279,281,282,287],sample_buffer1:276,sample_buffer2:276,sample_cmd:222,sample_cmd_handl:222,sample_command:220,sample_modul:[220,222],sample_module_command:220,sample_module_init:220,sample_mpool:220,sample_mpool_help:220,sample_mpool_param:220,sample_target:54,sample_tasks_help:220,sample_tasks_param:220,sane:100,saniti:[78,93,100,246],sanity_interv:98,sanity_itvl:[98,100],sanity_task:98,sanity_task_interv:98,satisfactori:269,satisfi:[180,270],sattempt_stat:224,save:[12,32,50,51,72,101,130,131,188,209,243,251],saw:252,sbrk:[94,259,260,261,262,263],sc_arg:98,sc_checkin_itvl:98,sc_checkin_last:98,sc_cmd:[215,216,220,221,222,275],sc_cmd_f:215,sc_cmd_func:[215,216,220,221,222,275],sc_cmd_func_t:215,sc_func:98,sc_next:153,sc_valtyp:207,scalabl:[152,180],scale:32,scan:[14,16,22,25,27,28,30,180,247,249,277,279],scan_interv:28,scan_req:28,scan_req_notif:28,scan_result:268,scan_rsp:28,scan_window:28,scannabl:[28,31],scenario:[23,99,196],scene:32,schedul:[9,14,25,85,88,93,97,100,101,243],schemat:[94,288],scheme:[14,20,30,94],scientif:22,sck_pin:[136,137],scl:[188,278],sco:21,scope:[12,90,243],scratch:[94,129,141,142,144,223],screen:[8,264],script:[7,43,62,138,140,262],scroll:[12,238,250],sd_get_config:[207,209],sd_read:[207,209],sda:[188,278],sdcard:137,sdk:[46,54,226],search:[12,88,95,135,177,180,212,246,256,262,269,277,282,289,290],searchabl:135,sec000:129,sec125:129,sec126:129,sec127:129,sec:[278,282],second:[14,23,27,28,62,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,85,90,91,94,98,100,101,129,141,195,215,223,237,242,243,249,254,255,258,262,267,274,275,276,278,282],secondar:253,secondari:[28,72,94,129,241,253,275],secondary_phi:28,secret:[23,28],section:[1,5,6,7,11,12,14,15,25,26,30,31,62,90,93,94,100,129,130,180,209,223,225,226,227,238,241,243,245,249,252,253,256,257,268,269,270,276,284,286,287],sector:[129,141,142,147,149,150,151,180,185,262],sector_address:[136,185],secur:[14,22,129,223,253,271,274],see:[2,4,5,6,7,8,10,11,12,14,22,23,24,25,34,37,44,56,58,59,60,62,64,65,67,81,82,83,88,90,92,93,94,97,100,129,130,138,148,161,182,188,191,200,206,207,208,209,210,211,212,213,214,215,224,225,226,237,238,241,242,243,244,246,247,249,250,251,253,254,255,256,257,258,259,260,261,262,263,264,265,268,269,270,271,274,275,276,277,278,279,281,282,284,285,287,288,289,290],seek:[90,169,180],seem:[14,249,276],seen:[91,186,189,269,292],segger:[131,241,259,261,264,268,276,278,282,285,291,292],segger_rtt:14,segger_rtt_conf:289,segment:[22,90,277],sel:288,select:[4,12,14,20,22,56,60,180,187,191,207,215,256,258,259,260,262,277,279,288,290],selector:207,self:[3,31,95,254,255,267],selftest:267,sem:99,sem_token:99,sema:275,semant:252,semaphor:[14,93,100,275],semi:275,send:[3,14,15,21,28,29,32,39,43,48,65,67,68,70,75,79,81,82,83,90,131,133,134,188,191,194,213,236,237,242,249,257,274,276,281,286,292],send_pkt:90,sender:249,sens:[21,129,223,276],senseair:[274,275],senseair_cmd:275,senseair_co2:[274,275],senseair_init:275,senseair_read:[274,275],senseair_read_typ:[274,275],senseair_rx_char:275,senseair_shell_func:275,senseair_tx:275,senseair_tx_char:275,sensi:277,sensibl:226,sensor:[9,32,135,224,292],sensor_accel_data:282,sensor_callout:282,sensor_cfg:[207,209],sensor_cli:[214,278,279,282],sensor_cr:[208,278,280],sensor_data_func_t:[209,211],sensor_data_funct_t:209,sensor_dev_cr:208,sensor_devic:207,sensor_driv:[207,209],sensor_ftostr:282,sensor_g:207,sensor_get_config_func_t:[207,209],sensor_get_itf:209,sensor_in:207,sensor_init:[207,209],sensor_itf:[207,208,209],sensor_itf_i2c:[207,208],sensor_itf_spi:207,sensor_itf_uart:207,sensor_listen:[207,211,282],sensor_lo:207,sensor_mg:212,sensor_mgr_find_next_bydevnam:[212,282],sensor_mgr_find_next_bytyp:212,sensor_mgr_l:212,sensor_mgr_lock:212,sensor_mgr_match_bytyp:212,sensor_mgr_regist:[207,209,212],sensor_mgr_unlock:212,sensor_mgr_wakeup_r:[212,282],sensor_nam:278,sensor_o:[213,277,278,279,281,282],sensor_offset:278,sensor_oic_init:[213,277],sensor_oic_obs_r:[213,281],sensor_r:[207,211],sensor_read:[207,211],sensor_read_func_t:[207,209],sensor_register_listen:[211,282],sensor_s:207,sensor_set_driv:[207,209],sensor_set_interfac:[207,209],sensor_set_poll_rate_m:[207,212,282],sensor_set_type_mask:[207,209],sensor_shel:278,sensor_timestamp:207,sensor_type_acceleromet:[207,208,209,280,282],sensor_type_al:207,sensor_type_eul:[209,280],sensor_type_grav:[209,280],sensor_type_gyroscop:[207,209,280],sensor_type_light:207,sensor_type_linear_accel:[209,280],sensor_type_magnetic_field:[207,209,280],sensor_type_non:207,sensor_type_rotation_vector:[209,280],sensor_type_t:[207,209,211,212,282],sensor_type_temperatur:[207,209],sensor_type_user_defined_6:207,sensor_un:[207,211],sensor_unregister_listen:[211,282],sensor_value_type_float:[207,209],sensor_value_type_float_triplet:[207,209],sensor_value_type_int32:207,sensor_value_type_int32_triplet:207,sensor_value_type_opaqu:207,sensor_value_type_temperatur:209,sensornam:[207,208,209,210,278,280,282],sensorname_cli:209,sensorname_ofb:278,sensors_o:279,sensors_test:[277,278,280,281],sensors_test_config_bno055:280,sent:[21,30,131,180,188,191,194,215,251,253,264],sentenc:[63,244],sep:[4,82,83],separ:[21,27,35,36,51,52,67,129,135,177,180,198,206,223,224,251,254,255,256,259,260,262,263,264],seper:289,sequenc:[93,129,131,174,180,228,231],sequenti:[174,175,180],seri:[129,160,192,253,292],serial:[67,88,129,130,131,133,134,135,141,183,188,191,224,238,240,241,259,263,264,275,277,278,279,286,287],serror_stat:224,serv:[19,56,94,141,210,223,277],server:[12,14,15,19,21,22,28,32,134,210,211,213,223,244,253,264,274,277,279,281,282],servic:[14,17,18,22,28,29,30,32,93,97,135,182,236,249,250,251,252,268,270,275,277],service_data_uuid128:[28,30],service_data_uuid16:30,service_data_uuid32:[28,30],sesnor:282,session:[12,39,40,48,56,58,59,60,62,94,256,259,260,262,263,289],set:[1,2,7,8,9,10,12,20,21,24,25,28,29,30,32,33,35,37,38,40,51,54,56,57,59,60,62,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,85,87,90,97,98,99,100,101,129,130,131,135,136,146,153,154,158,161,163,164,168,171,174,176,177,178,180,182,187,188,190,191,193,194,195,200,208,210,212,213,214,215,216,220,221,222,223,224,233,237,240,241,243,247,250,251,254,255,256,257,259,260,261,262,263,264,265,267,268,269,270,271,274,276,278,279,281,282,284,285,287,288,289],setting1:225,setting2:225,settl:26,setup:[11,58,60,61,72,81,83,84,209,223,238,241,246,247,257,258,274,275,276,278,282,284,285,286,287,288],sever:[3,14,21,22,24,28,62,94,95,97,101,129,180,223,226,235,236,253,254,255,261,262,269],sha256:129,sha:129,shadow:130,shall:[14,25,28,30],share:[4,23,89,90,92,93,99,223,240,269],sheet:209,shell:[1,7,8,14,22,31,56,60,81,97,130,131,138,139,206,210,216,217,218,219,220,221,222,224,225,226,237,238,243,257,264,265,274,275,277,278,279,284,289],shell_cmd:[215,216,220,221,222,275],shell_cmd_argc_max:[215,264],shell_cmd_func_t:215,shell_cmd_h:215,shell_cmd_help:[215,220,265],shell_cmd_regist:[215,221,275],shell_compat:215,shell_complet:215,shell_evq:275,shell_init:226,shell_max_compat_command:[215,216],shell_max_input_len:139,shell_max_modul:[215,220],shell_modul:215,shell_newtmgr:[215,238],shell_nlip_input_func_t:218,shell_nlip_input_regist:215,shell_os_modul:[215,265],shell_param:[215,220],shell_prompt_modul:[215,258],shell_regist:[215,222],shell_sample_mpool_display_cmd:220,shell_sample_tasks_display_cmd:220,shell_stack:[139,275],shell_stack_s:275,shell_task:[215,225,226,238,258,265,275,278,282],shell_task_handl:275,shell_task_init:139,shell_task_prio:[139,275],shell_task_prior:225,shell_task_stack_s:139,shield:93,shift:[12,22],ship:[6,14],shortcut:[12,275],shorten:249,shorter:[180,242],shorthand:[90,269],shortli:276,shot:264,should:[4,8,10,12,14,20,27,31,33,56,58,60,62,82,85,86,87,88,90,91,94,97,98,99,100,129,130,131,135,138,139,141,147,151,153,157,158,161,171,174,180,182,183,188,191,193,194,195,198,200,209,212,215,224,226,231,233,237,242,243,247,249,250,251,252,254,255,256,258,259,260,261,262,263,264,267,268,269,272,275,276,277,278,280,282,285,288,289,290],show:[1,4,5,6,7,8,11,12,14,28,29,32,37,40,41,44,51,54,58,59,60,61,62,63,73,81,82,83,84,90,100,130,131,194,206,220,223,225,226,233,236,237,238,240,241,243,244,247,253,256,257,258,259,260,261,262,263,264,268,274,275,276,277,278,279,280,281,282,284,285,286,288,289,290,292],shown:[6,7,12,44,56,62,90,93,129,136,193,209,224,237,251,256,259,264,267,269,271,274,276,278,280,282,286],si_addr:[207,208],si_cs_pin:207,si_num:[207,208],si_typ:[207,208],sibl:[11,270],sid:28,side:[12,14,22,31,130,275],sierra:[59,82],sig:[21,30,32],sign:[6,10,38,47,48,58,59,60,81,207,242,247,257],signal:[21,22,27,30,100,191,252],signatuar:12,signatur:[28,47,129],signed_imag:129,signifi:188,signific:[20,90,191,223,264],significantli:[14,32],signigic:90,silent:[1,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,226,275],silicon:33,sim1:[285,286,288],sim:[6,7,62,95,275,285,287,288],sim_slinki:[225,286],similar:[1,8,12,14,93,94,208,247,264,267,274],similarli:[90,206],simpl:[12,21,22,62,86,90,93,94,99,100,102,130,133,135,152,182,224,237,243,248,249,254,255,258,276,282,284],simplehttpserv:[34,64],simpler:[94,253],simplest:[90,285,288],simpli:[6,10,88,90,91,99,100,131,182,223,237,243,245,250,256,274],simplic:[129,254,255],simplifi:[14,21,88,91,188],simul:[2,3,5,6,51,235,243,282,286],simultaen:90,simultan:[14,28,30,31],simultaneosli:153,sinc:[3,14,21,25,33,62,90,93,94,99,101,129,191,215,224,241,242,243,246,247,254,255,256,258,268,269,274,275,276,277],singl:[2,3,7,14,23,40,48,56,58,59,60,88,90,99,100,129,130,135,153,172,174,175,180,209,224,226,248,249,253,254,267,269],singli:180,sissu:192,sit:[15,19,135,182,223],site:[248,259,263],situat:[93,223],six:[23,24],size:[9,21,28,30,40,56,58,59,60,62,74,78,88,90,91,94,100,101,102,129,130,131,133,136,157,174,175,176,180,191,205,206,223,224,225,226,228,236,238,243,256,260,262,264,266,279],size_t:[157,163,200],sizeof:[90,130,137,154,155,156,157,161,162,164,165,172,205,208,228,243,249,251,252,255,274,275,276],skelet:247,skeleton:[7,45,51,237,246,247,256,259,260,261,262,263,264,268,276,285,286,288],skip:[6,11,48,60,129,141,143,256,259,260,261,262,263,268,285,288],sl_arg:[211,282],sl_func:[211,282],sl_next:211,sl_sensor_typ:[211,282],slash:180,slave:[28,30,188,191],slave_interval_rang:30,sleep:[9,86,88,90,92,99,100,101,183,240,243,258],slightli:[97,223],slink:[285,286,288],slinki:[7,46,62,131,153,177,178,223,225,226],slinky_o:[7,62],slinky_sim:225,slinky_task_prior:225,slist_entri:[153,180,207,211],slist_head:[92,207],slot0:129,slot1:129,slot:[7,14,21,62,72,196,223,241,247,250,256,258,259,260,261,262,263,264,265,268,275,278,282,285,288,289,290],slower:[3,97,98],small:[21,25,90,131,135,172,223,224,253,260,267,275,276],smaller:[14,90,133,195,223,244,256],smallest:[90,180],smart:[22,32,56,62,275,281],smarter:270,smp:[21,22],snapshot:[44,259,263,270],snip:[1,37,44,56,62,238,246,247,276],snippet:251,soc:[14,97],socket:2,soft:[65,81,82,83,192],softwar:[1,3,4,6,22,39,43,48,51,97,98,129,182,236,241,256,259,261,262,268,269,275,276,278,282,285,289],solder:275,solut:[56,182,254,255],solv:[129,223],some:[1,8,12,14,31,65,77,90,91,93,94,97,99,100,102,129,131,137,141,152,153,154,161,164,174,175,183,191,194,206,220,225,233,237,238,243,248,249,250,251,252,254,255,258,259,260,263,264,265,267,268,269,275,276,282,285,288,289,290,292],somebodi:[130,275],somehow:62,someon:[10,86,276],someth:[14,21,237,246,247,268,271,289],sometim:[130,256,268,289],somewhat:[93,129,180],somewher:[14,129,180,223,276],soon:[22,270,276],sooner:195,sophist:243,sort:[180,250],sound:14,sourc:[1,4,9,22,25,51,57,59,61,62,80,82,84,90,97,129,130,135,167,180,209,210,226,233,240,248,256,259,260,262,268,269,270,276,282,284,288],space:[12,22,35,36,51,52,67,90,97,141,142,157,174,175,188,196,199,215,223,224,246,254,257,268,284,287,292],spare:14,spec:[14,21],specfi:278,special:[8,90,97,136,223,228,231,253,254,255,267,268,269,270,275,278],specif:[11,14,21,22,23,24,30,32,58,59,60,62,63,86,88,90,91,93,94,96,97,101,129,133,135,151,153,174,175,182,187,188,190,191,192,193,194,196,206,207,209,223,226,228,232,233,238,243,247,249,251,252,254,255,256,262,264,267,268,269,275,276,285,288],specifi:[1,4,6,7,11,12,14,21,28,31,35,36,38,40,42,44,46,47,51,52,54,56,58,59,60,62,66,67,68,69,70,71,72,73,74,75,76,77,78,85,87,88,90,91,94,97,98,100,101,102,131,133,134,151,153,154,155,156,157,158,159,160,161,162,164,165,167,168,169,170,171,172,173,175,177,178,180,183,187,188,206,207,208,209,210,211,212,213,214,215,216,217,220,225,228,231,233,238,241,246,249,251,252,253,254,255,256,261,262,265,268,269,270,271,276,278,281,282,285,288,289],spectrum:22,speed:[9,22,180,194,256,259,260,261,264,276,289],spew:268,sphinx:[34,64],spi:[8,14,22,97,135,136,137,187],spi_cfg:[136,137],spi_miso_pin:[136,137],spi_mosi_pin:[136,137],spi_num:[136,137,191],spi_sck_pin:[136,137],spi_ss_pin:[136,137],spi_typ:191,spilt:14,spitest:[7,62],split:[7,14,72,94,180,192,225,241,276,285,286,288],split_app:7,split_app_init:226,split_config:[285,286],split_elf_nam:62,split_file_test:267,split_load:226,splitti:[7,62,223,225],spot:94,spread:22,spuriou:267,squar:188,sram:262,src:[6,7,11,14,46,51,56,62,71,81,83,90,94,96,135,177,178,181,182,185,189,190,192,198,226,233,242,243,246,256,259,260,261,262,263,264,267,268,274,275,276,278,280,282,285,286,288],src_off:90,ss_op_wr:251,ss_pin:[136,137],ssec:28,sstatic:274,st_cputim:282,st_ostv:282,stabil:[269,270],stabl:[1,7,58,59,81,82,269,270],stack:[1,9,14,19,22,25,27,28,31,56,78,86,88,90,93,100,223,226,245,246,247,248,249,251,252,253,264,275],stack_bottom:100,stack_len:218,stack_ptr:218,stack_siz:[98,100],staff:[81,82],stage:[98,129,135,208,223,226],stai:[14,161,162],stailq_entri:224,stale:[2,256],stand:[14,90,234],standalon:[14,223],standard:[7,22,32,101,133,134,135,136,152,153,161,182,249,254,255,264,274,275],standbi:[22,196],start:[2,4,8,9,10,12,14,27,28,29,31,39,48,60,63,72,83,87,89,90,91,92,93,94,96,100,129,135,138,141,142,144,147,153,160,161,169,172,175,180,188,189,191,192,193,194,195,204,212,223,226,235,237,243,244,245,246,249,256,257,258,259,260,262,263,264,267,269,274,275,276,277,278,279,280,282,286,290,292],starter:242,startup:[20,22,27,31,129,223,226,243,254,255],startup_stm32f40x:[260,262],stash:50,stat:[1,7,65,79,81,82,83,132,133,226,238,246,264,265,275,276,282,289],state:[6,14,22,27,32,53,56,86,88,94,98,100,101,134,141,177,178,182,183,187,200,240,241,243,256,262,270,272],statement:[11,226,238],statist:[1,49,65,74,77,78,81,82,83,227,264,285,286,288,289],stats_cli:[1,265,275],stats_hdr:[209,224],stats_inc:224,stats_incn:224,stats_init:[209,224],stats_init_and_reg:224,stats_module_init:226,stats_my_stat_sect:224,stats_nam:[1,38,39,77,209,224],stats_name_end:[209,224],stats_name_init_parm:[209,224],stats_name_map:224,stats_name_start:[209,224],stats_newtmgr:[1,225,226,238],stats_regist:[209,224],stats_sect_decl:[209,224],stats_sect_end:[209,224],stats_sect_entri:[209,224],stats_sect_start:[209,224],stats_size_16:224,stats_size_32:[209,224],stats_size_64:224,stats_size_init_parm:[209,224],statu:[10,11,21,137,172,223,241,250,252,254,256,264,275,285,286,288],stdarg:[228,231],stderr:198,stdio:276,stener:211,step:[2,4,6,7,12,48,56,58,60,81,83,93,94,95,129,131,188,208,223,224,244,246,247,254,255,256,259,260,261,262,263,264,268,269,275,276,285,286,288],sterli:270,sterlinghugh:270,stic:[251,253],still:[5,60,67,87,97,98,250,284,289],stitch:1,stksz:[78,275,285,288],stkuse:[78,275,285,288],stlink:260,stm32:[260,262,288],stm32_boot:288,stm32_slinki:288,stm32f2x:260,stm32f303vc:[237,242],stm32f3discoveri:237,stm32f4:[135,136,137,257],stm32f4_adc_dev_init:135,stm32f4_hal_spi_cfg:[136,137],stm32f4disc_blinki:260,stm32f4disc_boot:260,stm32f4discoveri:[54,260],stm32f4discovery_debug:260,stm32f4x:260,stm32f4xx:187,stm32f4xxi:187,stm32l072czy6tr_boot:14,stm32serial:288,stm32x:260,stm34f4xx:187,stm:288,stmf303:237,stmf32f4xx:187,stmf3:237,stmf3_blinki:[237,242],stmf3_boot:[237,242],stop:[2,28,85,87,141,151,188,189,193,194,249,268,278],stopbit:194,storag:[14,21,130,141,168,247,269],store:[1,11,14,23,28,32,35,36,38,51,56,58,60,62,81,86,88,90,101,130,131,141,148,180,191,196,199,200,218,224,246,249,251,252,269,275,276,277,282,284],stori:90,str:[130,131,194,200],straight:[249,275],straightforward:[246,276],strategi:243,strcmp:[130,275],stream:[22,200,205,206,218],strength:30,strict:[251,256],strictli:[174,175,180,276],string:[1,14,28,30,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,102,130,131,134,140,161,172,198,199,200,205,215,216,220,224,226,228,231,254,255,267,269,270,274,275,276,286],strip:[47,90],strlen:[249,251],strongli:153,struct:[85,86,87,88,90,91,92,93,94,98,99,100,101,129,130,131,135,136,137,141,142,143,144,145,146,147,148,149,150,151,154,155,156,157,158,159,161,162,164,165,166,167,169,170,171,174,177,178,180,181,183,186,188,191,193,198,199,200,201,202,203,204,205,206,207,208,209,211,212,215,216,217,218,219,220,221,222,224,228,233,234,240,243,249,251,252,253,254,255,258,267,274,275,276,280,282],structur:[7,11,12,19,29,56,62,79,85,88,90,91,92,93,94,99,100,129,130,131,135,137,147,163,176,179,188,193,198,199,206,208,209,210,216,220,221,224,251,257,267,268,275,276,280,284,287,292],struggl:14,strutur:90,stub:[62,102,206,240,254,255,258,267,275,276],studio:[5,13],stuff:269,style:[131,244],sub:[29,44,46,51,71,72,73,76,77,135,156,255,272],subcmd1:221,subcmd2:221,subcommand:[46,51,63,65,67,71,72,73,76,77,221],subcompon:22,subdirectori:[2,233,267],subfold:259,subject:180,submit:11,subrang:21,subscrib:[14,29,250,252,276],subsequ:[14,22,23,129,161,162,223,249,252,267],subset:[23,177,207,209,212,278],substitut:[6,244,246,247],subsystem:[31,60,88,130,131,136,137,215],subtract:[99,101],subtre:130,succe:[177,267],succesfulli:[241,242,246,247,250,256,258,259,260,261,262,263,264,268,275,278,282,285,288,289,290],success:[3,21,56,85,87,90,93,98,100,101,130,137,142,143,144,145,146,147,149,150,151,153,154,155,157,158,160,161,162,164,165,166,167,168,169,170,171,172,173,177,178,179,180,183,187,188,191,193,194,195,198,201,202,203,204,205,216,218,219,220,231,234,235,237,242,251,253,262,264,267,276],successfuli:[94,267,282],successfulli:[7,14,21,56,91,94,98,223,237,238,241,242,246,247,250,252,254,255,256,259,260,261,262,263,264,268,275,276,277,278,279,282,285,286,288],sudo:[4,6,7,11,58,59,61,81,84,247],suffici:[14,90,91,180],suffix:267,suggest:[3,6,14,212,236,265,292],suit:[6,56,230,232,233,246,266],suitabl:[14,21,94,174],summar:[94,223],summari:[6,11,20,37,215,220,255],supersed:180,supervision_timeout:[31,250],supplement:[30,249],supplementari:94,suppli:[153,171,173,177,192,267],support:[1,3,4,6,7,12,15,20,21,22,23,30,31,33,54,59,67,82,87,93,94,96,102,129,131,133,134,135,136,137,152,180,183,187,191,200,206,207,208,209,212,215,216,220,221,223,224,226,240,241,246,247,248,249,253,254,256,257,259,268,269,270,275,279,284,286,287,292],suppos:[14,44,92,99,187,224],suppress:286,suppresstasknam:12,sure:[2,7,8,14,58,90,199,246,247,249,251,256,258,264,267,269,274,275,276],suspend:278,svc:253,sw_rev:278,swap:[2,86,94,174,181,223,256,289],swclk:256,swd:[256,259,260,261,262,263,264,268,276,282],swdio:256,sweep:180,swim:260,swo:[259,268,282],symbol:[4,7,12,62,223,256,260,282,289,290],symlink:[61,84],sync:[21,26,40,58,59,60],sync_cb:[27,254,255],synchron:[21,40,50,58,59,60,97,99,135,191],syntax:[226,244,264,265,278],synthes:25,sys:[1,7,14,56,58,62,130,131,132,181,206,215,224,225,226,234,238,240,246,258,267,268,275,276,278,282,290],sys_config:223,sys_config_test:7,sys_console_ful:223,sys_einv:[209,282],sys_enodev:209,sys_flash_map:[260,262],sys_log:223,sys_mfg:[7,256,259,260,261,262,278,285,288],sys_shel:223,sys_stat:223,sys_sysinit:[7,256,259,260,261,262,263,278,285,288],syscfg:[14,24,25,33,38,39,51,62,94,98,130,131,153,174,208,209,210,212,213,214,215,216,220,224,225,238,241,247,256,258,259,264,265,267,268,275,276,278,279,281,282,289,290],sysclock:14,sysconfig:[130,238],sysflash:[256,262],sysinit:[7,26,27,93,100,131,197,208,226,240,254,255,256,258,264,267,268,275,276,282],sysinit_assert_act:226,sysinit_panic_assert:[208,209,226],sysresetreq:256,system:[1,3,6,8,9,26,40,51,58,59,60,62,63,87,90,91,94,97,98,100,101,102,129,130,131,132,141,155,156,157,161,162,163,165,166,168,174,176,177,178,180,183,187,191,194,196,197,206,220,223,224,235,236,243,246,247,256,258,259,262,264,265,268,269,270,275,282,290],system_l:187,system_stm32f4xx:[260,262],systemview:292,sysview:[290,291],sysview_mynewt:290,sytem:189,syuu:60,t_arg:100,t_ctx_sw_cnt:100,t_dev:207,t_driver:207,t_flag:100,t_func:[100,243],t_interfa:207,t_itf:207,t_name:100,t_next_wakeup:100,t_obj:100,t_poll_r:207,t_prio:[86,100],t_run_tim:100,t_sanity_check:100,t_stackptr:100,t_stacksiz:100,t_stacktop:100,t_string:205,t_taskid:100,t_type_m:207,t_uinteg:205,tab:[31,37],tabl:[14,20,21,94,129,132,152,161,180,226,251,253,264,278],tag:270,tail:[90,180],tailq_entri:[180,193],tailq_head:180,take:[6,7,14,24,46,51,56,63,90,93,130,142,199,212,223,224,243,249,251,252,253,254,255,267,274,276],taken:[7,14,62,88,93,251,269,270,274],talk:[14,247,249,286],tap:[4,57,80],tar:[4,58,59,60,61,82,83,84],tarbal:4,target:[3,4,5,7,12,14,26,30,33,35,36,37,38,39,40,43,44,47,48,49,54,56,58,59,60,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,97,130,196,223,224,225,226,233,241,243,245,254,255,257,265,267,275,277,279,281,287],target_nam:35,targetin:[254,255],task1:[93,98,285,288],task1_evq:98,task1_handl:93,task1_init:93,task1_prio:93,task1_sanity_checkin_itvl:98,task1_sem:93,task1_stack:93,task1_stack_s:93,task2:[93,285,288],task2_handl:93,task2_init:93,task2_prio:93,task2_sem:93,task2_stack:93,task2_stack_s:93,task:[9,11,56,65,78,81,82,83,85,86,88,90,91,92,93,94,96,97,99,101,131,135,140,170,203,212,215,217,220,226,235,238,251,258,264,274,275,277,280,282,285,286,288,292],task_l:240,task_prior:[225,226],tasknam:12,taskstat:[65,79,81,82,83,132,134,238,285,288],tbd:[253,276],tc_case_fail_arg:233,tc_case_fail_cb:233,tc_case_init_arg:233,tc_case_init_cb:233,tc_case_pass_arg:233,tc_case_pass_cb:233,tc_print_result:[233,234],tc_restart_arg:233,tc_restart_cb:233,tc_suite_init_arg:233,tc_suite_init_cb:233,tc_system_assert:233,tck:256,tcp:[256,260],tdi:256,tdo:256,teach:243,team:[4,182,244],technic:[10,237],technolog:[22,136],tee:[1,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,275],telee02:264,telee02_boot:264,telemetri:254,telenor:264,teli:[254,255],tell:[14,31,56,141,156,194,196,200,223,224,226,237,249,251,254,255,262,270,274,276],telnet:[268,282,289],tem:278,temperatur:[160,207,278],templat:[7,46,246,267,275,282],temporari:[21,98,129,180],temporarili:[92,98],ten:191,term:[3,129,135,153,187,190,269],termin:[2,4,7,8,10,12,14,21,22,28,60,83,130,131,155,156,157,161,162,165,172,174,175,177,180,247,249,252,253,256,258,259,260,261,262,263,264,268,280,282,289],terminato:157,termintor:157,terribl:[7,246],test:[4,6,12,14,40,51,58,59,60,62,65,68,72,76,81,82,83,129,131,132,182,209,210,223,226,228,229,230,231,232,233,234,235,238,241,247,253,254,255,256,258,259,261,266,269,274,276,286,289,292],test_assert:[229,230,232,267],test_assert_fat:[228,267],test_cas:[228,267],test_case_1:230,test_case_2:230,test_case_3:230,test_case_nam:[229,230],test_datetime_parse_simpl:267,test_datetime_suit:267,test_json:267,test_json_util:267,test_project:45,test_suit:[229,230,267],test_suite_nam:232,testbench:[7,62],testcas:[7,267],testnam:76,testutil:[7,181,267],text:[40,49,70,90,131,172,215,223,231,260,285,288],textual:1,tgt:130,tgz:4,than:[3,7,14,15,21,30,73,90,92,93,94,97,99,100,101,102,129,133,153,164,167,180,191,195,212,215,223,225,228,230,243,247,253,254,255,259,276,282,289],thank:31,thee:97,thei:[1,6,14,21,30,31,62,85,88,90,91,93,94,99,100,129,130,135,170,180,193,223,224,226,233,236,242,249,250,251,253,254,255,264,265,267,269,270,272,274,278],their_key_dist:28,them:[2,9,14,56,90,94,99,100,161,178,180,196,223,224,226,243,247,249,254,255,256,267,268,269,276,277,292],themselv:[90,93,253],theori:[14,56,226],therebi:[99,141],therefor:[21,91,129,149,153,161,243,271],thi:[1,2,3,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,30,31,32,33,34,35,42,44,53,54,56,58,59,60,61,62,64,65,67,72,73,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,129,130,131,133,135,136,137,138,139,141,142,143,144,147,153,155,156,157,159,160,161,162,163,165,167,169,170,172,173,174,175,176,177,179,180,181,182,183,184,186,187,188,189,191,193,194,195,196,197,200,201,202,203,204,205,206,207,208,209,210,211,212,213,215,216,217,218,220,222,223,224,225,226,227,229,230,231,232,233,234,235,236,237,238,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,267,268,269,270,271,274,275,276,277,278,279,280,281,282,284,285,286,287,288,289,290,292],thing:[1,14,22,25,27,56,62,91,94,97,98,135,188,207,223,254,255,267,270,274,275,276,280,282],thingi:[208,289,290],thingy_boot:282,thingy_debug:[282,289,290],thingy_my_sensor:282,think:[10,14,129,276],third:[6,20,101,247,249,256,268,276],thorough:270,those:[1,14,32,33,40,56,58,59,60,62,94,97,129,138,142,223,236,270,274,275,276],though:[14,90,129,180,188,212,223],thought:[14,276],thread:[9,246,256,260,262],three:[2,11,20,60,62,90,129,131,167,206,223,224,226,240,243,246,248,249,255,256,262,264],through:[14,22,24,62,63,90,100,129,134,141,147,152,155,156,157,162,165,174,175,182,191,200,212,238,248,250,252,255,256,258,262,267,268,274,275,276,279,281,284],throughout:[1,94,267],throughput:[14,22],thrown:6,thu:[90,94,99,129,135,174,175,187,188,191,243],tick:[14,85,87,92,97,98,99,101,131,188,193,215,243,258,259,275,282],ticker:85,ticket:10,tickl:[98,195],tid:[78,275,285,288],tie:223,tied:[14,153],ties:[90,246],time:[1,7,9,11,12,20,21,22,23,26,28,32,35,44,58,59,60,61,62,78,83,84,85,88,90,93,94,97,98,99,100,129,131,137,141,152,161,162,180,182,195,207,215,223,224,236,240,242,243,246,249,251,253,254,255,259,261,264,267,268,274,275,276,278,282,284,289],time_datetim:[223,282],time_datetime_test:267,time_in_flight:90,timelin:14,timeout:[21,28,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,88,92,99,188,241,275],timer:[14,25,85,87,88,94,98,182,190,195,212,282],timer_0:25,timer_4:264,timer_5:25,timer_ev_cb:[258,282],timer_interrupt_task:240,timer_num:193,timestamp:[73,207],timev:101,timezon:[101,267],timo:88,timo_func:85,timtest:[7,62],ting:[254,255],tini:[262,288],tinycbor:[7,277],tinycrypt:[7,14],tinyprintf:102,tip:98,titl:[8,287],tlm:254,tlv:[28,129],tmp:[58,60,81,83,170,223],tmpstr:282,tmr:193,todo:[62,180,254,255],togeth:[1,44,56,62,90,138,180,223,250,262,276],togetherth:14,toggl:[7,100,187,240,243,258],token:[76,93,99,215,271],told:196,too:[21,90,93,101,135,161,162,180,183,225,275],took:260,tool:[1,2,3,5,6,7,9,12,13,14,40,55,58,59,62,63,64,67,79,80,81,82,93,94,95,97,134,135,224,225,226,233,237,238,240,241,245,246,247,256,257,262,264,265,267,268,269,270,271,276,277,282,284,286,287,289,290,292],toolbox:2,toolchain:[2,3,5,7,12,14,34,60,64,238,241,247,257,268,284,287,292],toolkit:3,tools_1:[58,59,60,82,83],top:[1,10,12,36,62,90,100,135,174,188,225,247,254,255,267,276],topic:1,total:[9,56,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,90,100,102,129,180,259,261,264,276],tour:248,track:[20,22,23,101,129,180],tradeoff:223,trail:[90,129],trailer:129,transact:[21,188,191],transfer:[23,191,275],transform:180,transit:129,translat:[187,254],transmiss:[21,28,191,194,219,264],transmit:[14,30,32,131,188,191,264],transmitt:194,transport:[21,22,28,81,131,134,226,241,246,247,256,260,275,276,277,279,281,284],travers:[90,155,156,157,162,165],traverse_dir:[155,156,157,162,165],treat:[141,201],tree:[1,6,7,14,51,56,62,94,160,246],tri:[3,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,130,137,225,264],trial:94,tricki:100,trig:187,trigger:[6,10,88,187],trim:90,trip:98,triplet:207,troubleshoot:[224,225],truncat:[158,170,171,173],truncate_test:267,trust:[23,28,275],tt_chr_f:253,tt_svc_type_p:253,ttl:[247,288],tty:[8,258,268,275,278,285,288],ttys002:67,ttys003:67,ttys005:286,ttys012:[285,288],ttys10:8,ttys2:[8,258,268,278,285,288],ttys5:8,ttyusb0:[14,67,247],ttyusb2:[8,268,285,288],ttyusb:[8,258,268,278,285,288],tu_any_fail:[234,267],tu_case_init_fn_t:233,tu_case_report_fn_t:233,tu_config:[233,234],tu_init:233,tu_restart_fn_t:233,tu_suite_init_fn_t:233,tupl:101,turn:[14,25,135,182,183,187,223,238,246,247,257,258,261,269,270,278,285],tutiori:[74,77],tutori:[2,3,6,7,8,12,14,22,24,60,78,208,209,213,214,215,233,237,238,240,241,243,245,246,247,248,249,250,251,252,253,254,255,256,258,259,260,261,262,263,264,267,268,274,275,276,277,278,279,280,281,282,285,286,288],tv_sec:[101,267,282],tv_usec:[101,267,282],tvp:101,tweak:152,two:[2,3,12,14,19,20,22,23,24,28,32,44,46,51,56,62,67,90,91,92,93,94,96,100,101,129,131,133,174,180,188,206,207,215,221,223,224,225,226,237,238,240,243,246,247,249,251,254,255,256,258,259,260,261,262,263,264,267,268,269,270,271,272,275,276,277,278,281,282,285,288],tx_data:275,tx_done:194,tx_func:194,tx_len:275,tx_off:275,tx_phys_mask:28,tx_power_level:[28,30],tx_time_on_air:264,txbuf:191,txd:264,txpower:264,txrx:191,txrx_cb:191,txt:[14,71,154,158,161,164,171,172,173,290],type:[1,7,8,10,12,14,20,21,24,28,30,31,32,40,44,46,47,54,56,58,59,60,62,67,85,90,91,94,97,100,129,130,131,134,161,162,177,178,180,187,191,194,200,201,205,206,208,211,213,215,218,225,226,228,229,230,231,232,237,240,241,243,246,247,249,250,251,252,253,254,256,259,260,261,262,264,267,268,269,270,271,274,275,276,280,281,282,285,286,288,289,290],typedef:[27,88,91,98,100,101,130,131,151,187,191,193,194,200,207,215],typic:[3,9,22,27,32,56,62,90,93,94,95,98,129,131,135,174,175,182,184,187,188,191,206,207,223,224,226,233,249,254,255,267],tz_dsttime:[101,267],tz_minuteswest:[101,267],u8_len:137,uart0:[131,275,286],uart1:275,uart:[7,8,14,22,56,97,131,135,189,218,238,246,247,259,260,261,262,263,264,275,282,289],uart_0_pin_rx:275,uart_0_pin_tx:275,uart_bitbang:[189,259],uart_flow_control_non:131,uart_hal:[7,260,261,262],uart_rx_char:194,uartno:275,ubuntu:[4,6,7,58,81],uci:24,udev:260,udp:67,uext:288,uicr:24,uid:254,uint16:[28,29],uint16_max:28,uint16_t:[21,90,91,92,98,99,100,129,136,141,142,180,188,191,200,207,218,224,251,274,275,276],uint32:[28,72],uint32_max:28,uint32_t:[85,87,90,91,92,99,100,101,129,136,141,149,153,154,158,159,161,163,164,169,172,173,175,176,180,183,185,188,190,191,193,195,206,207,209,224],uint64:28,uint64_t:200,uint8:28,uint8_max:28,uint8_t:[24,33,88,90,91,92,94,98,100,129,131,135,136,141,149,153,154,155,156,157,161,162,163,164,165,169,172,175,180,183,185,186,188,191,194,200,206,207,209,218,224,249,251,254,255,275,276],uint_max:205,uinteg:[200,205],ultim:251,umbrella:223,unabl:[2,180,256,259,260,263],unaccept:21,unadorn:21,unam:2,unc_t:215,unchang:[94,180],unconfirm:264,und:[28,31],undefin:[83,183,226],under:[4,7,10,11,12,14,21,27,35,56,62,72,102,130,135,215,253,256,260,261,263,275,276],underli:[97,135,141,153,161,162,181,182,191,207],underlin:244,understand:[7,14,101,207,223,236,237,241,264,269,276],understood:[161,228],underwai:129,undesir:93,undirect:[28,249],unexpect:[21,155,156,157,162,165,168],unexpectedli:[21,267],unfortun:14,unicast:32,unicod:152,unidirect:28,unifi:135,uniform:[30,60],uniformli:63,uninstal:7,unint32:72,uninterpret:226,union:[180,200,251],uniqu:[9,20,33,94,180,183,206,224,225,226,254,264],unit:[1,7,14,21,28,40,52,58,59,60,85,100,129,226,267,292],unittest:[7,46,56,62,226,246,267,275],univers:[14,194],unix:[2,60,153,237],unknown:[21,225],unlabel:275,unless:[28,100,129,174,188,196,226,275,276],unlicens:22,unlik:[21,91,267],unlink:[59,61,82,84,154,162,167,170],unlink_test:267,unlock:[207,212],unmet:94,unpack:[58,60],unplug:263,unpredict:162,unprovis:32,unrecogn:14,unregist:211,unresolv:[182,267],unrespons:21,unset:[51,129],unsign:[100,200,224,263,282],unspecifi:[21,43],unstabl:[58,59,81,82],unsuccess:188,unsupport:[21,253],unsur:180,unsync:27,untar:4,until:[14,21,27,62,87,88,90,93,99,131,141,180,188,191,194,249,254,255,264,269],unuesd:252,unus:[72,274,275,276],unwritten:129,updat:[2,4,14,16,21,28,31,37,38,50,53,58,59,60,61,81,82,84,90,129,143,180,226,250,252,258,259,265,267,274,276,277,282],upgrad:[2,40,57,60,80,94,129,131,237,238,247,256,268,289,292],uplink:264,uplink_cntr:264,uplink_freq:264,upload:[14,44,71,72,153,196,223,241,259],upon:[1,3,10,27,56,90,129,180,224,252],upper:[24,180,194,226],uppercas:210,upstream:133,uri:[28,30,134],url:[28,254,267,269],url_bodi:254,url_body_len:254,url_schem:254,url_suffix:254,usabl:[1,91,94,246,254],usag:[1,9,58,59,60,63,81,82,83,90,100,135,136,153,174,180,188,207,215,220,224,226,243,264,275,286],usart6_rx:288,usart6_tx:288,usb:[2,3,8,14,22,43,67,238,240,241,243,247,256,257,259,260,261,262,263,264,268,276,278,284,285,287,288],usbmodem14211:67,usbmodem14221:67,usbmodem401322:8,usbseri:[8,258,268,275,278,285,288],usbttlseri:247,use:[1,4,5,6,7,8,11,12,14,15,20,21,22,23,25,28,31,33,42,46,51,52,56,57,59,60,62,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,85,87,88,94,95,97,99,100,129,130,131,132,135,137,141,142,152,153,166,167,170,174,177,178,180,181,188,191,193,200,201,202,203,204,205,206,207,208,209,210,211,212,215,216,217,220,221,223,224,225,226,233,237,238,239,240,241,242,243,245,246,247,249,250,251,252,254,255,256,257,258,259,262,264,265,267,268,270,271,274,275,276,277,278,281,282,284,285,286,287,288,289,290],use_wl:28,use_wl_inita:28,usec:[87,278,282],used:[6,7,11,12,14,20,21,23,24,25,28,30,31,32,35,47,50,62,67,73,85,87,90,91,92,94,99,100,101,102,129,130,131,136,137,141,144,152,153,157,180,185,188,189,191,193,195,200,207,208,209,215,223,224,225,226,228,229,230,231,232,235,236,237,242,243,247,249,251,252,253,254,255,256,264,267,268,269,270,276,277,278],useful:[3,14,21,93,172,209,246,269],user:[1,2,4,6,7,8,9,19,21,23,25,49,56,59,60,62,79,81,82,83,85,88,90,91,94,95,98,129,131,132,135,136,141,147,153,174,183,191,192,193,194,214,223,224,225,226,234,237,240,253,256,262,264,268,269,270,271,275,276,282,288],user_defined_head:90,user_hdr:90,user_hdr_len:90,user_id:[225,226],user_manu:237,user_pkthdr_len:90,usernam:[10,49,60,269],uses:[2,4,6,7,8,12,15,21,22,23,24,25,31,33,56,66,67,68,69,70,71,72,73,74,75,76,77,78,79,87,88,94,98,101,102,129,131,132,133,134,135,137,141,152,153,180,182,187,188,206,207,208,209,211,212,215,217,221,225,226,233,235,238,240,241,251,252,253,256,258,261,268,269,271,275,277,278,279,282,285,288],using:[1,2,4,6,7,8,10,11,12,20,21,22,25,27,28,29,30,32,34,37,38,44,45,58,59,60,61,62,64,67,77,81,82,83,84,85,87,88,90,92,93,95,96,97,98,99,100,101,102,129,130,135,141,144,146,151,152,153,161,180,182,187,188,190,191,193,195,200,209,210,212,215,223,224,226,229,230,232,233,237,238,240,241,243,244,246,247,253,255,256,257,258,259,260,261,262,263,264,267,268,274,275,276,277,279,282,286,287,289,290],usr:[4,6,11,37,58,59,60,61,81,82,83,84],usu:96,usual:[14,25,90,91,102,135,204,206],utc:[69,101,267],utctim:101,utf:30,util:[7,11,21,22,32,93,102,131,152,153,189,191,206,226,238,267],util_cbmem:282,util_cbmem_test:7,util_crc:[282,286,288],util_mem:[7,256,258,259,260,261,262,263,264,268,278,282,285,286,288],util_pars:[264,278,282],uuid128:[28,30,251,253,255],uuid128_is_complet:[28,30],uuid16:[28,29,30,251,274,276],uuid16_is_complet:[28,30],uuid32:[28,30],uuid32_is_complet:[28,30],uuid:[28,29,30,31,33,67,251,253,255,274,276,277],uvp:101,v10:282,v14:260,v25:260,va_arg:209,va_list:[228,231],val:[24,25,40,51,58,59,60,62,94,130,184,187,191,201,206,224,225,226,238,254,255,258,264,275,277],val_len_max:130,val_str:130,valid:[21,40,51,54,58,59,60,62,67,73,90,129,136,141,151,153,170,177,178,180,188,191,207,251,267,275,276],valu:[1,4,7,12,21,24,25,28,29,30,31,38,40,43,47,51,54,58,59,60,62,63,65,66,67,69,72,73,76,81,82,83,86,90,91,94,99,100,101,129,130,135,175,176,180,183,187,188,191,192,193,194,195,200,206,208,210,212,215,223,224,238,240,241,247,250,251,252,253,254,255,265,269,270,274,275,276,278,279,281,282,284,289],valuabl:269,value1:[51,226],value2:[51,226],valuen:226,vanilla:152,vari:[9,90,97,129],variabl:[1,4,11,14,25,35,38,51,60,62,63,66,90,91,100,130,131,174,200,206,207,208,209,212,220,223,228,231,237,243,249,251,264,269,270,277,278,279,282],variant:[23,96,187],variat:12,varieti:[4,252],variou:[24,25,62,90,129,133,135,182,252,257,264],vdd:[14,276],vector:278,vendor:269,ver:[1,7,56,198,199,237,247,256,268,269,270,271,275,276],ver_len:199,ver_str:199,verb:63,verbos:[1,7,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,256,268,275],veri:[1,9,32,56,90,100,102,129,180,208,244,245,253,258,259,269,276,277,289],verif:23,verifi:[23,58,60,81,83,129,180,182,209,223,241,243,259,260,261,263,264,267,276,277],versa:[8,223],version:[1,2,4,6,7,11,12,14,22,23,35,38,40,42,44,48,56,57,61,80,84,85,131,141,180,196,198,199,206,223,226,237,238,241,247,255,256,258,259,260,261,262,263,264,268,272,275,276,278,282,285,288,289,290],via:[8,14,21,27,43,56,90,91,129,131,135,153,155,156,157,162,165,174,175,177,180,181,182,188,212,215,223,224,226,241,247,248,249,251,259,261,264,269,275,276,278,279,281,284],vice:[8,223],vid:260,view:[1,7,10,12,31,51,63,67,210,214,215,223,224,226,269,276,281,290],vim:60,vin:278,violat:21,viper:11,virtual:[14,67,184,187],virtualbox:256,visibl:[2,29],visit:[14,40,58,59,60],visual:[5,13,290],visualstudio:12,vol:23,volatil:260,voltag:[135,137,182,192,260,276],volum:[30,152],vp_len:130,vscode:12,vtref:[259,261,264,276],vvp:101,wai:[2,3,9,14,22,31,32,60,62,85,88,93,100,101,131,153,187,188,189,206,223,225,244,269,270,271,275,276],wait:[14,85,86,87,88,90,92,93,99,100,137,183,188,191,226,240,243,262,264,274,275,276,284],waitin:92,wake:[14,86,90,93,99,100,183,212,243],wakeup:[100,212],walk:[90,100,147,151,180,206,276],wall:6,wallclock:[85,101],wanda:82,want:[1,3,11,14,19,51,58,59,60,61,62,81,84,85,86,90,91,92,93,98,99,100,129,130,131,151,153,170,187,206,207,208,211,224,236,238,242,246,248,249,251,253,254,255,256,257,259,260,261,262,264,265,267,269,275,276,279,289,292],warn:[1,6,14,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,225,251,259,275],warranti:[4,256,275,276,282,289,290],wasn:14,watch:246,watchdog:[93,98,192],watchpoint:[256,260],wdog:68,wear:246,wear_level_test:267,wearabl:9,web:[237,244],webfreak:12,websit:244,weird:14,welcom:[8,135,245,268,275,278],well:[8,14,23,41,56,90,91,97,99,129,130,135,196,228,236,250,264,275,276],were:[30,74,90,129,182,223,270,274,275],werror:[6,51],wes:264,west:101,wfi:260,wget:[58,60,81,83],what:[7,8,14,21,42,56,97,99,136,141,174,175,180,208,209,223,226,239,243,249,252,253,254,255,267,270,274,275,276],whatev:[24,99,268],wheel:[8,237],when:[1,2,6,7,8,10,12,14,15,21,23,24,25,27,30,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,59,60,62,63,67,73,82,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,129,130,131,132,135,141,142,143,146,152,153,155,156,157,161,162,163,165,170,172,174,175,180,187,188,191,193,194,196,200,203,207,208,209,211,212,213,215,218,221,223,224,225,226,231,233,235,238,240,241,243,244,246,247,248,249,252,253,254,255,256,259,260,262,263,267,269,270,271,275,276,277,278,279,280,281,282,286,289],whenev:[22,27,91,135,180,200,211,251,253,282],where:[8,9,10,11,14,23,30,32,36,38,51,56,60,61,62,84,90,91,94,96,97,100,129,130,131,141,142,143,146,149,151,180,187,190,191,194,199,200,206,223,225,226,238,243,253,254,255,258,259,264,268,275,276,278,285,288],wherea:[90,270],whether:[10,12,14,23,85,88,91,101,129,141,156,188,191,192,208,209,210,212,213,214,215,224,226,235,249,251,253,267,278,280,281,282],which:[1,2,4,8,11,14,15,20,21,22,31,33,35,40,56,58,59,60,62,63,67,81,82,83,85,86,87,90,91,93,94,97,98,99,100,101,102,129,130,135,136,138,141,151,152,153,180,183,184,187,188,191,193,196,200,207,209,223,224,225,228,231,234,235,237,241,243,249,250,251,252,253,254,255,256,264,267,268,269,270,275,276,286,289],white:[23,28],whitelist:28,who:10,whole:[14,136],whose:[62,63,180,212],why:[10,14,243],wide:[22,223],wifi:[7,268],wifi_connect:268,wifi_init:268,wifi_request_scan:268,wikipedia:[188,191],winc1500_wifi:268,window:[5,6,7,9,12,14,28,57,67,79,80,94,131,241,247,256,258,259,260,261,262,263,264,268,278,285,288,289],winusb:[260,262,288],wipe:145,wire:[8,188,191,264,275,276,288],wireless:22,wish:[6,10,174,175,188,243,269,287],withdraw:10,within:[1,12,21,32,42,56,90,94,95,97,129,135,141,146,149,151,174,175,180,182,187,198,200,206,209,210,211,215,224,233,243,252,262,267,269,275],without:[6,10,14,23,25,29,31,91,129,153,162,174,175,180,181,206,215,222,223,224,226,241,256,267,275,276,280],wno:6,won:[8,223,276],wonder:276,word:[6,56,90,93,99,129,180,191,251,256,269,282,289,290],word_siz:191,work:[2,4,8,10,11,14,23,25,56,62,63,86,90,92,93,94,96,97,99,100,129,131,135,136,161,182,224,237,238,242,243,246,247,250,256,258,264,267,272,274,275,276,279,281,284],work_stack:243,work_stack_s:243,work_task:243,work_task_handl:243,work_task_prio:243,workaround:14,workspac:[1,2,11,40,58,59,60,61,81,83,84],workspaceroot:12,world:[12,22,194,249,254,255,257,271,292],worri:93,worth:[1,95,275],would:[5,12,14,59,60,82,83,85,90,93,99,129,130,131,138,141,182,187,188,191,203,221,223,224,233,243,246,262,264,267,269,270,275,276,284,288],wrap:[101,224,258],wrapper:88,write:[1,9,14,15,21,29,62,65,66,81,82,83,95,129,130,131,135,136,137,141,142,143,147,152,153,158,159,169,171,173,174,175,182,185,187,188,194,196,198,201,202,203,204,206,219,224,231,240,243,245,250,252,253,264,266,275,276,277,284],write_cmd_rx:[77,238],write_cmd_tx:[77,238],write_config:[158,171],write_id:173,write_req_rx:[77,238],write_req_tx:[77,238],write_rsp_rx:[77,238],write_rsp_tx:[77,238],written:[11,14,21,24,60,83,93,129,141,142,143,146,151,157,158,161,164,170,171,172,174,175,180,188,191,251,253,258,270],wrong:[14,43,276],wsl:[12,60],www:[14,102,237,247,256,275,276,282,288,289,290],x86:[4,12],x86_64:[256,282,289,290],xml:[7,89],xpf:4,xpsr:[256,260,262],xtal_32768:94,xtal_32768_synth:25,xxx:[6,94,100,136],xxx_branch_0_8_0:[269,270],xxx_branch_1_0_0:[269,270],xxx_branch_1_0_2:[269,270],xxx_branch_1_1_0:[269,270],xxx_branch_1_1_2:[269,270],xxx_branch_1_2_0:[269,270],xxx_branch_1_2_1:[269,270],xxxx:182,xzf:[58,60,61,83,84],yai:275,yaml:11,year:32,yes:[23,264],yesno:28,yet:[7,14,93,97,130,241,246,269,270,276],yield:93,yml:[1,6,7,42,44,51,53,54,56,62,95,96,102,130,131,136,137,153,174,181,206,208,215,223,224,225,226,237,238,240,246,247,256,258,264,265,267,268,269,271,272,275,276,277,278,282],you:[1,3,4,5,6,7,8,9,10,11,12,14,19,20,31,34,35,36,40,42,44,46,47,48,51,52,53,54,55,56,58,59,60,61,62,64,65,67,69,77,81,82,83,84,85,93,94,95,96,97,102,129,130,131,132,133,135,138,139,141,142,143,147,156,161,162,164,170,172,174,175,181,182,184,187,188,190,200,203,206,207,208,210,211,212,215,216,217,220,221,222,223,224,225,226,227,233,236,238,240,241,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,267,268,269,270,271,274,276,277,278,279,280,281,282,284,285,286,287,288,289,290,292],your:[1,3,4,6,8,10,14,20,31,40,51,53,56,57,59,60,61,62,71,72,80,82,83,84,85,93,94,95,96,97,98,100,132,133,134,135,136,137,139,141,152,174,182,206,208,215,221,223,225,226,233,240,241,242,244,245,246,247,248,249,250,252,253,254,255,257,258,264,265,270,274,275,276,277,279,280,284,285,287,288,289,290,292],yourself:[2,10,14,31,93,94,248,275,292],ype:[254,255],yym:6,zadig:[260,262,288],zero:[12,25,85,90,91,94,100,101,130,145,149,151,158,170,171,176,183,187,188,191,192,193,194,200,216,218,219,220,226,243,253,254,255,257,264,267,268,269,282,292],zillion:14,zip:[4,259,276],zone:101},titles:["&lt;no title&gt;","Concepts","Everything You Need in a Docker Container","Setup &amp; Get Started","Installing the Cross Tools for ARM","Native Installation","Installing Native Toolchain","Creating Your First Mynewt Project","Using the Serial Port with Mynewt OS","Mynewt Documentation","FAQ - Administrative","Contributing to Newt or Newtmgr Tools","Developing Mynewt Applications with Visual Studio Code","Appendix","Mynewt OS related FAQ","NimBLE Host ATT Client Reference","NimBLE Host GAP Reference","NimBLE Host GATT Client Reference","NimBLE Host GATT Server Reference","NimBLE Host","NimBLE Host Identity Reference","NimBLE Host Return Codes","BLE User Guide","NimBLE Security","Configure device address","Configure clock for controller","NimBLE Setup","Respond to <em>sync</em> and <em>reset</em> events","GAP API for btshell","GATT feature API for btshell","Advertisement Data Fields","API for btshell app","Bluetooth Mesh","Sample application","Mynewt Newt Tool Documentation","newt build","newt clean","newt complete","newt create-image","newt debug","newt help","newt info","newt install","newt load","newt mfg","newt new","newt pkg","newt resign-image","newt run","newt size","newt sync","newt target","newt test","newt upgrade","newt vals","newt version","Newt Tool Guide","Install","Installing Newt on Linux","Installing Newt on Mac OS","Installing Newt on Windows","Installing Previous Releases of Newt","Theory of Operations","Command Structure","Mynewt Newt Manager Documentation","Command List","newtmgr config","newtmgr conn","newtmgr crash","newtmgr datetime","newtmgr echo","newtmgr fs","newtmgr image","newtmgr log","newtmgr mpstat","newtmgr reset","newtmgr run","newtmgr stat","newtmgr taskstat","Newt Manager Guide","Install","Installing Newtmgr on Linux","Installing Newtmgr on Mac OS","Installing Newtmgr on Windows","Installing Previous Releases of Newtmgr","Callout","Scheduler","CPU Time","Event Queues","Heap","Mbufs","Memory Pools","Mutex","Apache Mynewt Operating System Kernel","BSP Porting","Porting Mynewt to a new CPU Architecture","Porting Mynewt to a new MCU","Porting Mynewt OS","Sanity","Semaphore","Task","OS Time","Baselibc","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","Bootloader","Config","Console","Customizing Newt Manager Usage with mgmt","Newt Manager","Using the OIC Framework","Drivers","flash","mmc","elua","lua_init","lua_main","Flash Circular Buffer (FCB)","fcb_append","fcb_append_finish","fcb_append_to_scratch","fcb_clear","fcb_getnext","fcb_init","fcb_is_empty","fcb_offset_last_n","fcb_rotate","fcb_walk","The FAT File System","File System Abstraction","fs_close","fs_closedir","fs_dirent_is_dir","fs_dirent_name","fs_filelen","fs_getpos","fs_mkdir","fs_open","fs_opendir","struct fs_ops","fs_read","fs_readdir","fs_register","fs_rename","fs/fs Return Codes","fs_seek","fs_unlink","fs_write","fsutil_read_file","fsutil_write_file","Newtron Flash Filesystem (nffs)","struct nffs_area_desc","struct nffs_config","nffs_detect","nffs_format","nffs_init","Internals of nffs","Other File Systems","Hardware Abstraction Layer","BSP","Creating New HAL Interfaces","Flash","hal_flash_int","GPIO","I2C","Using HAL in Your Libraries","OS Tick","SPI","System","Timer","UART","Watchdog","Image Manager","imgmgr_module_init","imgr_ver_parse","imgr_ver_str","JSON","json_encode_object_entry","json_encode_object_finish","json_encode_object_key","json_encode_object_start","json_read_object","Logging","Sensor API","Creating and Configuring a Sensor Device","Sensor Device Driver","Mynewt Sensor Framework Overview","Sensor Listener API","Sensor Manager API","OIC Sensor Support","Sensor Shell Command","Shell","shell_cmd_register","shell_evq_set","shell_nlip_input_register","shell_nlip_output","shell_register","shell_register_app_cmd_handler","shell_register_default_module","Split Images","Statistics Module","Validation and Error Messages","Compile-Time Configuration and Initialization","System Modules","TEST_ASSERT","TEST_CASE","TEST_CASE_DECL","TEST_PASS","TEST_SUITE","testutil","tu_init","tu_restart","OS User Guide","Blinky, your \u201cHello World!\u201d, on STM32F303 Discovery","Enabling Newt Manager in Your Application","How to Define a Target","How to Use Event Queues to Manage Multiple Events","Over-the-Air Image Upgrade","Pin Wheel Modifications to \u201cBlinky\u201d on STM32F3 Discovery","Tasks and Priority Management","Try Markdown","Bluetooth Low Energy","Set up a bare bones NimBLE application","Use HCI access to NimBLE controller","BLE Peripheral Project","Advertising","BLE Peripheral App","Characteristic Access","GAP Event callbacks","Service Registration","BLE Eddystone","BLE iBeacon","Blinky, your \u201cHello World!\u201d, on Arduino Zero","Project Blinky","Enabling The Console and Shell for Blinky","Blinky, your \u201cHello World!\u201d, on Arduino Primo","Blinky, your \u201cHello World!\u201d, on STM32F4-Discovery","Blinky, your \u201cHello World!\u201d, on a nRF52 Development Kit","Blinky, your \u201cHello World!\u201d, on Olimex","Blinky, your \u201cHello World!\u201d, on RedBear Nano 2","LoRaWAN App","How to Reduce Application Code Size","Other","Write a Test Suite for a Package","Enable Wi-Fi on Arduino MKR1000","Adding Repositories to your Project","Create a Repo out of a Project","Accessing a private repository","Upgrade a repo","Air Quality Sensor Project","Air quality sensor project via Bluetooth","Air quality sensor project","Adding an Analog Sensor on nRF52","Adding OIC Sensor Support to the bleprph_oic Application","Enabling an Off-Board Sensor in an Existing Application","Enabling OIC Sensor Data Monitoring in the sensors_test Application","Changing the Default Configuration for a Sensor","Enabling OIC Sensor Data Monitoring","Developing an Application for an Onboard Sensor","Sensors","Sensor Tutorials Overview","Project Slinky using the Nordic nRF52 Board","Project Sim Slinky","Project Slinky","Project Slinky Using Olimex Board","SEGGER RTT Console","SEGGER SystemView","Tooling","Tutorials"],titleterms:{"abstract":[153,182],"default":[243,258,280],"function":[14,94,101,102,138,141,196,200,207,209,211,212,226,233,243,251,253,277,280],"import":237,"new":[7,45,95,96,180,184,250,280,282,285,286,288],"public":24,"return":[21,137,139,140,142,143,144,145,146,147,148,149,150,151,154,155,156,157,158,159,160,161,162,164,165,166,167,168,169,170,171,172,173,177,178,179,197,198,199,201,202,203,204,205,216,217,218,219,220,221,222,228,229,230,231,232,234,235],"switch":[102,243],"try":[244,267],Adding:[59,82,224,269,276,277,280,282],For:4,One:14,The:[152,258],Use:[2,238,240,247,258,275,282,285,288],Used:207,Uses:206,Using:[8,58,81,90,131,134,189,278,282,288],acceleromet:280,access:[247,251,271],adafruit:14,adc:276,add:[67,94,254,255,274,275,276,277,282],addit:[269,276],address:[20,24,31,254,255],administr:10,advertis:[14,28,30,31,249,254,255],air:[241,273,274,275],all:[14,240],altern:14,ambigu:225,analog:276,apach:[9,32,93],api:[28,29,31,85,86,87,88,89,90,91,92,98,99,100,101,130,131,152,153,174,181,183,184,185,187,188,190,191,192,193,194,195,206,207,211,212,282],app:[9,31,62,223,247,250,264,282,284,290],app_get_light:277,app_set_light:277,appendix:[13,94],applic:[7,12,33,93,206,207,208,223,237,238,240,243,246,247,254,255,256,258,259,260,261,262,263,264,265,268,276,277,278,279,280,282,285,288],apt:[58,81],architectur:95,arduino:[8,256,259,268],area:[174,180,225],argument:[139,140,142,143,144,145,146,147,148,149,150,151,154,155,156,157,158,159,160,161,162,164,165,166,167,169,170,171,172,173,177,178,197,198,199,201,202,203,204,205,216,217,218,219,220,222,228,229,230,231,232,234,235],arm:[4,14],artifact:62,assert:267,assign:225,associ:12,att:[15,21],attach:247,attribut:[31,253],autocomplet:37,avail:[28,29,40,44,51,257,269,284,287],bare:246,baselibc:102,bash:37,basic:93,beacon:[254,255],bearer:32,begin:[31,249],being:251,belong:31,between:[14,268],binari:[58,60,81,83],bit:6,bitbang:14,ble:[14,22,246,248,250,254,255,276,277],ble_gap_disc_param:14,blehci:247,blemesh:14,bleprph_gap_ev:252,bleprph_oic:277,blink:237,blink_rigado:49,blinki:[7,237,242,256,257,258,259,260,261,262,263],block:[14,180],bluetooth:[14,22,32,245,247,274],bluez:247,bno055:278,bno055_log:209,bno055_stat:209,board:[97,208,256,259,260,261,262,263,264,268,276,277,278,279,285,288],bone:246,boot:[14,129,223],bootload:[14,129,247,256,259,260,261,262,263,264,268,278,282,285,288],branch:[59,82],brew:6,bsp:[54,94,97,183,225],btmgmt:247,btmon:247,btshell:[28,29,31],buffer:141,bug:10,build:[7,9,12,14,35,56,62,237,238,242,243,246,247,256,258,259,260,261,262,263,264,268,276,277,278,279,280,282,285,286,288],cach:180,call:[14,280],callback:252,callout:[85,240],can:10,cannot:280,categori:292,chang:[34,64,280],channel:28,characterist:[31,248,251],check:[58,59,60,81,82,83,94,98,129,212],choos:267,circular:141,clean:36,clear:263,cli:[130,275],client:[15,17],clock:25,close:264,cmsis_nvic:14,code:[12,14,21,94,95,168,224,265,267],collect:180,command:[12,14,28,29,40,44,51,63,65,67,133,209,214,215,238,247,275,286],committ:10,commun:[8,238,258],compil:[14,95,226],complet:[37,215],compon:[22,269],comput:[58,81,268,278,282],concept:[1,223],conclus:[246,254,255,276],condit:226,config:[66,130],configur:[1,12,24,25,28,29,31,130,152,206,207,208,209,212,225,226,237,238,254,255,258,280],conflict:226,congratul:267,conn:67,connect:[14,28,31,238,241,247,256,258,259,260,261,262,263,264,268,276,277,278,279,282,285,286,288,289],consider:243,consol:[131,215,224,258,268,278,282,289],contain:2,content:[34,64],context:243,contribut:11,control:[25,247,254,255,277,278,279,284],copi:[94,277],core:[14,21,93,97],correct:14,cpu:[87,95,97],crash:68,creat:[7,38,90,94,95,184,208,237,238,241,246,247,250,254,255,256,259,260,261,262,263,264,267,268,270,275,276,277,278,279,282,285,286,288],creation:93,cross:4,crystal:25,current:223,custom:[98,132,238],data:[30,101,138,141,153,174,180,188,196,200,207,209,211,212,215,233,249,264,277,278,279,280,281,282],datetim:69,debian:[58,81],debug:[12,39,62,94],debugg:[4,12],declar:224,decod:200,defin:[12,94,209,224,239],definit:[186,225,226],delai:14,delet:[67,277],depend:[7,62,94,97,136,137,181,182,237,238,258,270,277,282],descript:[35,36,38,39,41,42,43,44,45,46,47,48,49,50,51,52,53,54,66,67,68,69,70,71,72,73,74,75,76,77,78,85,86,87,88,89,91,92,97,98,99,100,101,102,131,135,138,141,152,153,174,182,183,185,186,187,188,190,191,192,193,194,195,196,200,215,223,233,278],descriptor:[31,248,253,269],design:[135,182],detail:224,detect:180,determin:251,develop:[12,261,282],devic:[2,14,24,28,31,130,207,208,209,241,247,277,278,279,280,284],differ:14,direct:31,directori:[62,180],disabl:28,discov:31,discoveri:[28,237,242,260],disk:180,disk_op:153,displai:31,docker:2,document:[10,14,34,64],doe:269,download:[11,58,62,81,94,237,242,264,276],driver:[14,135,207,209,275,276,280],duplic:225,eabi:14,earli:14,echo:70,eddyston:254,edit:10,editor:10,elf:14,elua:138,empti:[254,255],emul:278,enabl:[2,28,37,215,223,224,238,258,268,277,278,279,281,282],encod:200,end:14,endif:[208,209],energi:245,enhanc:174,enter:246,environ:11,equip:243,eras:259,error:[14,225],establish:[31,247,268],etap:276,event:[27,88,240,252,258],everyth:[2,264,276],exactli:14,exampl:[8,21,22,27,35,36,38,39,40,44,45,46,47,48,49,51,52,54,55,66,67,68,69,70,71,72,73,74,75,76,77,78,88,93,130,135,136,137,139,140,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,161,162,164,165,167,169,170,171,172,173,177,178,182,186,194,198,199,201,202,203,204,205,216,218,219,221,222,225,226,228,229,230,232,233,234,235,240],execut:[6,237,242,259,260,261,263,264,276,286,289,290],exist:[238,258,269,278],explor:7,express:225,extend:[28,282],extens:[2,12],extern:[237,256,268],faq:[10,14],fat:152,fcb:141,fcb_append:142,fcb_append_finish:143,fcb_append_to_scratch:144,fcb_clear:145,fcb_getnext:146,fcb_init:147,fcb_is_empti:148,fcb_offset_last_n:149,fcb_rotat:150,fcb_walk:151,featur:[7,10,22,23,29,32,93],fetch:[7,256,268],field:30,file:[14,94,136,137,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,175,176,177,178,179,180,181,224,230,270,277,280,282],filesystem:[153,174],fill:94,find:269,firmwar:14,first:[7,9],flag:[35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,66,67,68,69,70,71,72,73,74,75,76,77,78],flash:[94,129,136,141,174,180,185,225,259,263],forget:14,format:[14,129,180],framework:[134,209,210,238,281],from:[58,59,60,81,82,83,131,277,279,280],fs_close:154,fs_closedir:155,fs_dirent_is_dir:156,fs_dirent_nam:157,fs_filelen:158,fs_getpo:159,fs_mkdir:160,fs_op:163,fs_open:161,fs_opendir:162,fs_read:164,fs_readdir:165,fs_regist:166,fs_renam:167,fs_seek:169,fs_unlink:170,fs_write:171,fsutil_read_fil:172,fsutil_write_fil:173,ft232h:8,full:131,futur:174,gap:[16,28,252],garbag:180,gatt:[17,18,29,274],gcc:[6,14],gdb:6,gener:[23,31,135,182,226,240],get:[3,58,81,209],git:[10,60],global:[35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,66,67,68,69,70,71,72,73,74,75,76,77,78],gpio:187,grei:14,group:14,guarante:252,guid:[22,56,79,236],hal:[97,184,189,275],hal_flash_int:186,hal_i2c:188,handler:[130,206,215],hardcod:24,hardwar:[24,182,237,264,276,278,289,290],hci:[21,247],header:[15,16,17,18,20,21,90,136,137,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,175,176,177,178,179,181,224,277,280],heading3:244,heading4:244,heap:89,hello:[237,256,259,260,261,262,263],help:[40,215],high:129,hold:224,homebrew:[59,82],host:[15,16,17,18,19,20,21,254,255],how:[10,102,226,239,240,265,269,277,280],i2c:188,iOS:14,ibeacon:255,ident:20,identifi:269,ignor:225,imag:[14,38,47,72,129,196,223,237,238,241,242,247,259,260,261,262,263,264,268,276,277,278,279,280,282,285,288],imgmgr_module_init:197,imgr_ver_pars:198,imgr_ver_str:199,immedi:14,implement:[95,135,206,209,224],includ:[31,209,224,253],indefinit:[254,255],info:41,inform:215,initi:[31,136,137,174,207,209,224,226,243,280],inod:180,input:[131,215],instal:[2,4,5,6,11,12,14,37,42,57,58,59,60,61,80,81,82,83,84,237,264,276],instead:282,integr:129,interfac:[181,184,207],intern:[174,180],interrupt:240,introduct:[9,15,16,17,18,19,20,21,32,56,94,240,248,267],invalid:225,invert:14,invok:133,issu:14,join:264,json:200,json_encode_object_entri:201,json_encode_object_finish:202,json_encode_object_kei:203,json_encode_object_start:204,json_read_object:205,kei:[14,23,28],kernel:93,kit:261,l2cap:[14,21,28],laptop:10,latest:[58,59,60,81,82,83],launch:290,layer:182,lead:14,led:[237,242],legaci:28,level:[129,206,241],libc:6,librari:[189,237],like:10,limit:129,line:215,link:4,linker:94,linux:[2,4,6,8,11,58,61,81,84],lis2dh12_onb:208,list:[10,65,102,138,141,196,200,207,211,212,223,233,244,254,255,278,282],listen:[211,282],load:[43,238,247,256,259,260,261,262,263,268,277,278,279,280,282,285,288],loader:223,log:[73,206,209,241],look:212,lorawan:264,low:245,lua_init:139,lua_main:140,mac:[2,4,6,8,11,59,61,82,84],macro:101,main:[243,258,277,280,282],make:10,manag:[9,21,56,64,79,132,133,196,212,238,240,243],manual:[58,81],map:[94,129],markdown:244,master:[59,82],mbuf:90,mcu:[14,94,96,97],measur:174,memori:[91,263],merg:10,mesh:[14,22,32],messag:[14,225],method:[24,58,81],mfg:44,mfghash:14,mgmt:132,mingw:60,minim:131,miscellan:[14,174],mkr1000:268,mmc:137,model:32,modif:242,modifi:[238,258,277,282],modul:[14,215,224,227],monitor:[247,279,281],more:[56,237],move:180,mpstat:74,mqueue:90,msy:90,msys2:60,multicast:14,multipl:[12,153,224,225,240],mutex:92,my_sensor_app:282,mynewt:[2,7,8,9,12,14,24,32,34,59,64,82,93,94,95,96,97,131,210,246,269,277,279,284],mynewt_v:[208,209],name:[31,215,224,226],nano:263,nativ:[5,6],need:[2,237,242,264,269,275,276,278,289,290],newt:[2,9,11,12,14,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,59,60,61,64,79,132,133,238],newtmgr:[11,14,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,84,133,215,224,238,241,285,286,288],newtron:174,next:[6,278],nfc:14,nff:[14,174,180],nffs_area_desc:175,nffs_config:176,nffs_detect:177,nffs_format:178,nffs_init:179,nimbl:[14,15,16,17,18,19,20,21,22,23,26,246,247,254,255],nmp:14,node:32,none:14,nordic:[8,285],normal:90,note:[56,101,138,139,140,142,143,144,145,146,147,148,149,150,151,154,157,159,160,161,162,166,167,169,171,172,175,176,197,198,199,217,224,228,231,276],notnul:225,nrf52840:14,nrf52:[14,261,276,278,285],nrf52_adc:276,nrf52dk:[8,14],nrf:24,object:[180,207,237,242,257,264,276,289,290],off:[208,278],oic:[134,213,277,279,281,284],oicmgr:238,olimex:[262,288],omgr_app_init:277,onboard:[208,282],onto:[256,268],open:[247,264],openocd:4,oper:[14,56,62,93,129,188,191,223],option:[238,259],orient:28,ota:264,other:[7,12,181,238,266,270],out:[14,267,269,270],output:[49,54,131],over:[215,241],overrid:[225,226],overview:[65,210,248,249,250,252,257,277,280,281,284,287],own:10,pack:2,packag:[1,7,58,62,81,94,97,131,181,206,207,210,225,226,238,246,256,267,268,275,277,278,282],packet:90,passiv:31,patch:10,peer:[21,31],perform:31,peripher:[248,250],persist:130,pin:[14,242],pkg:[14,46,94],platform:[8,182],poll:[207,212],pool:[90,91],port:[8,14,94,95,96,97,264],precis:14,preempt:243,prerequisit:[7,238,240,241,243,247,250,256,257,258,259,260,261,262,263,268,277,278,279,280,281,282,284,285,286,287,288,292],preview:[34,64],previou:[61,84],primo:259,principl:[135,182],printf:14,prioriti:[225,243],privaci:23,privat:271,pro:8,process:[215,258],produc:[6,62],profil:[14,238,241,286],project:[1,7,10,12,14,22,237,238,246,247,248,256,257,258,259,260,261,262,263,264,268,269,270,273,274,275,276,285,286,287,288],prompt:215,protect:263,protocol:[215,238,254,255],provis:32,pull:[2,10],put:240,qualiti:[273,274,275],queri:[285,288],question:[10,14],queue:[88,240,258],radio:14,ram:180,random:[14,24],rate:207,rational:56,read:[31,207,209,251,280,282],reboot:280,rebuild:[11,282],reconfigur:208,recoveri:129,redbear:263,reduc:[14,241,265],refer:[15,16,17,18,20,21,226],referenc:226,regist:[98,181,209,212,215,224,278],registr:253,relat:14,releas:[58,59,60,61,81,82,83,84],renam:180,repo:[269,270,272],repositori:[7,10,56,269,270,271,276],represent:180,request:10,requir:94,reset:[27,75,129],resign:47,resolut:270,resolv:[62,226,270],respond:27,restart:14,restrict:225,retriev:[223,224],review:[243,251],round:242,rtt:[282,289],run:[7,12,14,48,76,256,258,286,289,290],runtim:[24,130],safeti:153,sampl:[33,278,280],saniti:98,satisfi:94,scale:267,scan:31,schedul:86,scratch:180,script:[2,94],section:224,secur:[21,23,28],segger:[4,289,290],select:2,semant:14,semaphor:99,semiconductor:8,send:[31,247,264],sensor:[207,208,209,210,211,212,213,214,273,274,275,276,277,278,279,280,281,282,283,284],sensor_read:282,sensors_test:279,sequenc:223,serial:[8,14,215,247,258,268,285,288],server:18,servic:[31,248,253,274,276],set:[6,11,14,31,58,81,94,206,207,209,225,226,238,246,249,253,258,275,277,280,286],settl:25,setup:[3,8,14,26,268,289,290],shell:[209,214,215,258,282],shell_cmd_regist:216,shell_evq_set:217,shell_nlip_input_regist:218,shell_nlip_output:219,shell_regist:220,shell_register_app_cmd_handl:221,shell_register_default_modul:222,should:270,show:[31,67],sign:[129,237,259,260,261,262,263,264,268,276,285,288],signatur:251,sim:286,simul:7,singl:223,size:[14,49,265],skeleton:282,slinki:[285,286,287,288],slot:129,smart:[277,279,284],softwar:290,some:10,sourc:[7,11,56,58,60,81,83,238,254,255,275,277],space:180,special:101,specif:[95,270],specifi:[181,226],spi:191,split:223,stack:[243,254,255],start:[3,247,268],startup:94,stat:[77,209,224],state:[129,130,223],statist:224,statu:129,step:[11,241,257,277,278,279,280,282,287],stm32f303:237,stm32f3:[237,242],stm32f4:260,storag:28,struct:[153,163,175,176],structur:[63,101,138,141,153,174,180,196,200,207,211,212,215,233],stub:131,studio:12,stuff:275,sub:67,submit:10,suit:267,summari:21,support:[2,14,32,62,97,153,182,210,213,237,238,277,278,281,282],swap:129,sync:[14,27,50,254,255],syntax:14,syscfg:[206,223,226,277],sysinit_app:226,system:[14,25,56,93,152,153,181,192,225,226,227],systemview:290,tabl:224,talk:268,tap:[59,82],target:[1,24,51,62,94,237,238,239,242,246,247,250,256,258,259,260,261,262,263,264,268,276,278,282,285,286,288,289,290],task:[12,14,98,100,225,240,243,276],taskstat:78,tcp:268,templat:94,termin:278,test:[7,52,94,267,275],test_assert:228,test_cas:[229,230],test_case_decl:230,test_pass:231,test_suit:232,testutil:233,theori:[62,188,191,223],thingi:282,thread:153,through:224,tick:190,time:[14,25,87,101,226],timer:[193,240,258],togeth:240,tool:[4,11,34,56,60,83,291],toolchain:[4,6],topolog:32,transceiv:14,transport:[215,238],tree:275,trigger:14,tu_init:234,tu_restart:235,tutori:[223,257,284,287,292],type:[207,209,212,278],uart:194,undefin:225,under:267,undirect:31,unifi:223,unlink:180,updat:11,upgrad:[14,53,58,59,81,82,223,241,272],upload:258,usag:[35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,66,67,68,69,70,71,72,73,74,75,76,77,78,132,141],usb2:2,use:[10,58,81,90,93,269],user:[22,236],using:[14,56,285,288],val:54,valid:225,valu:[14,137,139,140,142,143,144,145,146,147,148,149,150,151,154,155,156,157,158,159,160,161,162,164,165,166,167,169,170,171,172,173,177,178,179,197,198,199,201,202,203,204,205,207,209,216,217,218,219,220,221,222,225,226,228,229,230,231,232,234,235,277,280],variabl:224,vector:129,verif:[129,280],verifi:280,version:[55,58,59,60,81,82,83,269,270],via:[268,274,282],view:[277,278,279,282],violat:225,virtualbox:2,visual:12,wait:[254,255],want:[10,237],watch:[237,242],watchdog:195,water:276,welcom:9,what:[10,237,242,269],wheel:242,where:270,why:[90,93,269],window:[2,4,8,11,60,61,83,84],work:12,workspac:12,world:[237,256,259,260,261,262,263],would:10,wrapper:2,write:[31,34,64,180,251,263,267],yml:[14,94,270],you:[2,237,242,275],your:[2,7,9,11,12,58,81,181,189,224,237,238,243,256,259,260,261,262,263,267,268,269,278,282,286],zero:[14,256]}})
\ No newline at end of file
+Search.setIndex({docnames:["_static/common","concepts","get_started/docker","get_started/index","get_started/native_install/cross_tools","get_started/native_install/index","get_started/native_install/native_tools","get_started/project_create","get_started/serial_access","index","misc/faq","misc/go_env","misc/ide","misc/index","mynewt_faq","network/ble/ble_hs/ble_att","network/ble/ble_hs/ble_gap","network/ble/ble_hs/ble_gattc","network/ble/ble_hs/ble_gatts","network/ble/ble_hs/ble_hs","network/ble/ble_hs/ble_hs_id","network/ble/ble_hs/ble_hs_return_codes","network/ble/ble_intro","network/ble/ble_sec","network/ble/ble_setup/ble_addr","network/ble/ble_setup/ble_lp_clock","network/ble/ble_setup/ble_setup_intro","network/ble/ble_setup/ble_sync_cb","network/ble/btshell/btshell_GAP","network/ble/btshell/btshell_GATT","network/ble/btshell/btshell_advdata","network/ble/btshell/btshell_api","network/ble/mesh/index","network/ble/mesh/sample","newt/README","newt/command_list/newt_build","newt/command_list/newt_clean","newt/command_list/newt_complete","newt/command_list/newt_create_image","newt/command_list/newt_debug","newt/command_list/newt_help","newt/command_list/newt_info","newt/command_list/newt_install","newt/command_list/newt_load","newt/command_list/newt_mfg","newt/command_list/newt_new","newt/command_list/newt_pkg","newt/command_list/newt_resign_image","newt/command_list/newt_run","newt/command_list/newt_size","newt/command_list/newt_sync","newt/command_list/newt_target","newt/command_list/newt_test","newt/command_list/newt_upgrade","newt/command_list/newt_vals","newt/command_list/newt_version","newt/index","newt/install/index","newt/install/newt_linux","newt/install/newt_mac","newt/install/newt_windows","newt/install/prev_releases","newt/newt_operation","newt/newt_ops","newtmgr/README","newtmgr/command_list/index","newtmgr/command_list/newtmgr_config","newtmgr/command_list/newtmgr_conn","newtmgr/command_list/newtmgr_crash","newtmgr/command_list/newtmgr_datetime","newtmgr/command_list/newtmgr_echo","newtmgr/command_list/newtmgr_fs","newtmgr/command_list/newtmgr_image","newtmgr/command_list/newtmgr_logs","newtmgr/command_list/newtmgr_mpstats","newtmgr/command_list/newtmgr_reset","newtmgr/command_list/newtmgr_run","newtmgr/command_list/newtmgr_stat","newtmgr/command_list/newtmgr_taskstats","newtmgr/index","newtmgr/install/index","newtmgr/install/install_linux","newtmgr/install/install_mac","newtmgr/install/install_windows","newtmgr/install/prev_releases","os/core_os/callout/callout","os/core_os/context_switch/context_switch","os/core_os/cputime/os_cputime","os/core_os/event_queue/event_queue","os/core_os/heap/heap","os/core_os/mbuf/mbuf","os/core_os/memory_pool/memory_pool","os/core_os/mutex/mutex","os/core_os/mynewt_os","os/core_os/porting/port_bsp","os/core_os/porting/port_cpu","os/core_os/porting/port_mcu","os/core_os/porting/port_os","os/core_os/sanity/sanity","os/core_os/semaphore/semaphore","os/core_os/task/task","os/core_os/time/os_time","os/modules/baselibc","os/modules/bootloader/boot_build_status","os/modules/bootloader/boot_build_status_one","os/modules/bootloader/boot_clear_status","os/modules/bootloader/boot_copy_area","os/modules/bootloader/boot_copy_image","os/modules/bootloader/boot_erase_area","os/modules/bootloader/boot_fill_slot","os/modules/bootloader/boot_find_image_area_idx","os/modules/bootloader/boot_find_image_part","os/modules/bootloader/boot_find_image_slot","os/modules/bootloader/boot_go","os/modules/bootloader/boot_init_flash","os/modules/bootloader/boot_move_area","os/modules/bootloader/boot_read_image_header","os/modules/bootloader/boot_read_image_headers","os/modules/bootloader/boot_read_status","os/modules/bootloader/boot_select_image_slot","os/modules/bootloader/boot_slot_addr","os/modules/bootloader/boot_slot_to_area_idx","os/modules/bootloader/boot_swap_areas","os/modules/bootloader/boot_vect_delete_main","os/modules/bootloader/boot_vect_delete_test","os/modules/bootloader/boot_vect_read_main","os/modules/bootloader/boot_vect_read_one","os/modules/bootloader/boot_vect_read_test","os/modules/bootloader/boot_write_status","os/modules/bootloader/bootloader","os/modules/config/config","os/modules/console/console","os/modules/devmgmt/customize_newtmgr","os/modules/devmgmt/newtmgr","os/modules/devmgmt/oicmgr","os/modules/drivers/driver","os/modules/drivers/flash","os/modules/drivers/mmc","os/modules/elua/elua","os/modules/elua/lua_init","os/modules/elua/lua_main","os/modules/fcb/fcb","os/modules/fcb/fcb_append","os/modules/fcb/fcb_append_finish","os/modules/fcb/fcb_append_to_scratch","os/modules/fcb/fcb_clear","os/modules/fcb/fcb_getnext","os/modules/fcb/fcb_init","os/modules/fcb/fcb_is_empty","os/modules/fcb/fcb_offset_last_n","os/modules/fcb/fcb_rotate","os/modules/fcb/fcb_walk","os/modules/fs/fatfs","os/modules/fs/fs/fs","os/modules/fs/fs/fs_close","os/modules/fs/fs/fs_closedir","os/modules/fs/fs/fs_dirent_is_dir","os/modules/fs/fs/fs_dirent_name","os/modules/fs/fs/fs_filelen","os/modules/fs/fs/fs_getpos","os/modules/fs/fs/fs_mkdir","os/modules/fs/fs/fs_open","os/modules/fs/fs/fs_opendir","os/modules/fs/fs/fs_ops","os/modules/fs/fs/fs_read","os/modules/fs/fs/fs_readdir","os/modules/fs/fs/fs_register","os/modules/fs/fs/fs_rename","os/modules/fs/fs/fs_return_codes","os/modules/fs/fs/fs_seek","os/modules/fs/fs/fs_unlink","os/modules/fs/fs/fs_write","os/modules/fs/fs/fsutil_read_file","os/modules/fs/fs/fsutil_write_file","os/modules/fs/nffs/nffs","os/modules/fs/nffs/nffs_area_desc","os/modules/fs/nffs/nffs_config","os/modules/fs/nffs/nffs_detect","os/modules/fs/nffs/nffs_format","os/modules/fs/nffs/nffs_init","os/modules/fs/nffs/nffs_internals","os/modules/fs/otherfs","os/modules/hal/hal","os/modules/hal/hal_bsp/hal_bsp","os/modules/hal/hal_creation","os/modules/hal/hal_flash/hal_flash","os/modules/hal/hal_flash/hal_flash_int","os/modules/hal/hal_gpio/hal_gpio","os/modules/hal/hal_i2c/hal_i2c","os/modules/hal/hal_in_libraries","os/modules/hal/hal_os_tick/hal_os_tick","os/modules/hal/hal_spi/hal_spi","os/modules/hal/hal_system/hal_sys","os/modules/hal/hal_timer/hal_timer","os/modules/hal/hal_uart/hal_uart","os/modules/hal/hal_watchdog/hal_watchdog","os/modules/imgmgr/imgmgr","os/modules/imgmgr/imgmgr_module_init","os/modules/imgmgr/imgr_ver_parse","os/modules/imgmgr/imgr_ver_str","os/modules/json/json","os/modules/json/json_encode_object_entry","os/modules/json/json_encode_object_finish","os/modules/json/json_encode_object_key","os/modules/json/json_encode_object_start","os/modules/json/json_read_object","os/modules/logs/logs","os/modules/sensor_framework/sensor_api","os/modules/sensor_framework/sensor_create","os/modules/sensor_framework/sensor_driver","os/modules/sensor_framework/sensor_framework_overview","os/modules/sensor_framework/sensor_listener_api","os/modules/sensor_framework/sensor_mgr_api","os/modules/sensor_framework/sensor_oic","os/modules/sensor_framework/sensor_shell","os/modules/shell/shell","os/modules/shell/shell_cmd_register","os/modules/shell/shell_evq_set","os/modules/shell/shell_nlip_input_register","os/modules/shell/shell_nlip_output","os/modules/shell/shell_register","os/modules/shell/shell_register_app_cmd_handler","os/modules/shell/shell_register_default_module","os/modules/split/split","os/modules/stats/stats","os/modules/sysinitconfig/sysconfig_error","os/modules/sysinitconfig/sysinitconfig","os/modules/system_modules","os/modules/testutil/test_assert","os/modules/testutil/test_case","os/modules/testutil/test_decl","os/modules/testutil/test_pass","os/modules/testutil/test_suite","os/modules/testutil/testutil","os/modules/testutil/tu_init","os/modules/testutil/tu_restart","os/os_user_guide","os/tutorials/STM32F303","os/tutorials/add_newtmgr","os/tutorials/define_target","os/tutorials/event_queue","os/tutorials/ota_upgrade_nrf52","os/tutorials/pin-wheel-mods","os/tutorials/tasks_lesson","os/tutorials/try_markdown","tutorials/ble/ble","tutorials/ble/ble_bare_bones","tutorials/ble/blehci_project","tutorials/ble/bleprph/bleprph","tutorials/ble/bleprph/bleprph-sections/bleprph-adv","tutorials/ble/bleprph/bleprph-sections/bleprph-app","tutorials/ble/bleprph/bleprph-sections/bleprph-chr-access","tutorials/ble/bleprph/bleprph-sections/bleprph-gap-event","tutorials/ble/bleprph/bleprph-sections/bleprph-svc-reg","tutorials/ble/eddystone","tutorials/ble/ibeacon","tutorials/blinky/arduino_zero","tutorials/blinky/blinky","tutorials/blinky/blinky_console","tutorials/blinky/blinky_primo","tutorials/blinky/blinky_stm32f4disc","tutorials/blinky/nRF52","tutorials/blinky/olimex","tutorials/blinky/rbnano2","tutorials/lora/lorawanapp","tutorials/other/codesize","tutorials/other/other","tutorials/other/unit_test","tutorials/other/wi-fi_on_arduino","tutorials/repo/add_repos","tutorials/repo/create_repo","tutorials/repo/private_repo","tutorials/repo/upgrade_repo","tutorials/sensors/air_quality","tutorials/sensors/air_quality_ble","tutorials/sensors/air_quality_sensor","tutorials/sensors/nrf52_adc","tutorials/sensors/sensor_bleprph_oic","tutorials/sensors/sensor_nrf52_bno055","tutorials/sensors/sensor_nrf52_bno055_oic","tutorials/sensors/sensor_offboard_config","tutorials/sensors/sensor_oic_overview","tutorials/sensors/sensor_thingy_lis2dh12_onb","tutorials/sensors/sensors","tutorials/sensors/sensors_framework","tutorials/slinky/project-nrf52-slinky","tutorials/slinky/project-sim-slinky","tutorials/slinky/project-slinky","tutorials/slinky/project-stm32-slinky","tutorials/tooling/segger_rtt","tutorials/tooling/segger_sysview","tutorials/tooling/tooling","tutorials/tutorials"],envversion:52,filenames:["_static/common.rst","concepts.rst","get_started/docker.rst","get_started/index.rst","get_started/native_install/cross_tools.rst","get_started/native_install/index.rst","get_started/native_install/native_tools.rst","get_started/project_create.rst","get_started/serial_access.rst","index.rst","misc/faq.rst","misc/go_env.rst","misc/ide.rst","misc/index.rst","mynewt_faq.rst","network/ble/ble_hs/ble_att.rst","network/ble/ble_hs/ble_gap.rst","network/ble/ble_hs/ble_gattc.rst","network/ble/ble_hs/ble_gatts.rst","network/ble/ble_hs/ble_hs.rst","network/ble/ble_hs/ble_hs_id.rst","network/ble/ble_hs/ble_hs_return_codes.rst","network/ble/ble_intro.rst","network/ble/ble_sec.rst","network/ble/ble_setup/ble_addr.rst","network/ble/ble_setup/ble_lp_clock.rst","network/ble/ble_setup/ble_setup_intro.rst","network/ble/ble_setup/ble_sync_cb.rst","network/ble/btshell/btshell_GAP.rst","network/ble/btshell/btshell_GATT.rst","network/ble/btshell/btshell_advdata.rst","network/ble/btshell/btshell_api.rst","network/ble/mesh/index.rst","network/ble/mesh/sample.rst","newt/README.rst","newt/command_list/newt_build.rst","newt/command_list/newt_clean.rst","newt/command_list/newt_complete.rst","newt/command_list/newt_create_image.rst","newt/command_list/newt_debug.rst","newt/command_list/newt_help.rst","newt/command_list/newt_info.rst","newt/command_list/newt_install.rst","newt/command_list/newt_load.rst","newt/command_list/newt_mfg.rst","newt/command_list/newt_new.rst","newt/command_list/newt_pkg.rst","newt/command_list/newt_resign_image.rst","newt/command_list/newt_run.rst","newt/command_list/newt_size.rst","newt/command_list/newt_sync.rst","newt/command_list/newt_target.rst","newt/command_list/newt_test.rst","newt/command_list/newt_upgrade.rst","newt/command_list/newt_vals.rst","newt/command_list/newt_version.rst","newt/index.rst","newt/install/index.rst","newt/install/newt_linux.rst","newt/install/newt_mac.rst","newt/install/newt_windows.rst","newt/install/prev_releases.rst","newt/newt_operation.rst","newt/newt_ops.rst","newtmgr/README.rst","newtmgr/command_list/index.rst","newtmgr/command_list/newtmgr_config.rst","newtmgr/command_list/newtmgr_conn.rst","newtmgr/command_list/newtmgr_crash.rst","newtmgr/command_list/newtmgr_datetime.rst","newtmgr/command_list/newtmgr_echo.rst","newtmgr/command_list/newtmgr_fs.rst","newtmgr/command_list/newtmgr_image.rst","newtmgr/command_list/newtmgr_logs.rst","newtmgr/command_list/newtmgr_mpstats.rst","newtmgr/command_list/newtmgr_reset.rst","newtmgr/command_list/newtmgr_run.rst","newtmgr/command_list/newtmgr_stat.rst","newtmgr/command_list/newtmgr_taskstats.rst","newtmgr/index.rst","newtmgr/install/index.rst","newtmgr/install/install_linux.rst","newtmgr/install/install_mac.rst","newtmgr/install/install_windows.rst","newtmgr/install/prev_releases.rst","os/core_os/callout/callout.rst","os/core_os/context_switch/context_switch.rst","os/core_os/cputime/os_cputime.rst","os/core_os/event_queue/event_queue.rst","os/core_os/heap/heap.rst","os/core_os/mbuf/mbuf.rst","os/core_os/memory_pool/memory_pool.rst","os/core_os/mutex/mutex.rst","os/core_os/mynewt_os.rst","os/core_os/porting/port_bsp.rst","os/core_os/porting/port_cpu.rst","os/core_os/porting/port_mcu.rst","os/core_os/porting/port_os.rst","os/core_os/sanity/sanity.rst","os/core_os/semaphore/semaphore.rst","os/core_os/task/task.rst","os/core_os/time/os_time.rst","os/modules/baselibc.rst","os/modules/bootloader/boot_build_status.rst","os/modules/bootloader/boot_build_status_one.rst","os/modules/bootloader/boot_clear_status.rst","os/modules/bootloader/boot_copy_area.rst","os/modules/bootloader/boot_copy_image.rst","os/modules/bootloader/boot_erase_area.rst","os/modules/bootloader/boot_fill_slot.rst","os/modules/bootloader/boot_find_image_area_idx.rst","os/modules/bootloader/boot_find_image_part.rst","os/modules/bootloader/boot_find_image_slot.rst","os/modules/bootloader/boot_go.rst","os/modules/bootloader/boot_init_flash.rst","os/modules/bootloader/boot_move_area.rst","os/modules/bootloader/boot_read_image_header.rst","os/modules/bootloader/boot_read_image_headers.rst","os/modules/bootloader/boot_read_status.rst","os/modules/bootloader/boot_select_image_slot.rst","os/modules/bootloader/boot_slot_addr.rst","os/modules/bootloader/boot_slot_to_area_idx.rst","os/modules/bootloader/boot_swap_areas.rst","os/modules/bootloader/boot_vect_delete_main.rst","os/modules/bootloader/boot_vect_delete_test.rst","os/modules/bootloader/boot_vect_read_main.rst","os/modules/bootloader/boot_vect_read_one.rst","os/modules/bootloader/boot_vect_read_test.rst","os/modules/bootloader/boot_write_status.rst","os/modules/bootloader/bootloader.rst","os/modules/config/config.rst","os/modules/console/console.rst","os/modules/devmgmt/customize_newtmgr.rst","os/modules/devmgmt/newtmgr.rst","os/modules/devmgmt/oicmgr.rst","os/modules/drivers/driver.rst","os/modules/drivers/flash.rst","os/modules/drivers/mmc.rst","os/modules/elua/elua.rst","os/modules/elua/lua_init.rst","os/modules/elua/lua_main.rst","os/modules/fcb/fcb.rst","os/modules/fcb/fcb_append.rst","os/modules/fcb/fcb_append_finish.rst","os/modules/fcb/fcb_append_to_scratch.rst","os/modules/fcb/fcb_clear.rst","os/modules/fcb/fcb_getnext.rst","os/modules/fcb/fcb_init.rst","os/modules/fcb/fcb_is_empty.rst","os/modules/fcb/fcb_offset_last_n.rst","os/modules/fcb/fcb_rotate.rst","os/modules/fcb/fcb_walk.rst","os/modules/fs/fatfs.rst","os/modules/fs/fs/fs.rst","os/modules/fs/fs/fs_close.rst","os/modules/fs/fs/fs_closedir.rst","os/modules/fs/fs/fs_dirent_is_dir.rst","os/modules/fs/fs/fs_dirent_name.rst","os/modules/fs/fs/fs_filelen.rst","os/modules/fs/fs/fs_getpos.rst","os/modules/fs/fs/fs_mkdir.rst","os/modules/fs/fs/fs_open.rst","os/modules/fs/fs/fs_opendir.rst","os/modules/fs/fs/fs_ops.rst","os/modules/fs/fs/fs_read.rst","os/modules/fs/fs/fs_readdir.rst","os/modules/fs/fs/fs_register.rst","os/modules/fs/fs/fs_rename.rst","os/modules/fs/fs/fs_return_codes.rst","os/modules/fs/fs/fs_seek.rst","os/modules/fs/fs/fs_unlink.rst","os/modules/fs/fs/fs_write.rst","os/modules/fs/fs/fsutil_read_file.rst","os/modules/fs/fs/fsutil_write_file.rst","os/modules/fs/nffs/nffs.rst","os/modules/fs/nffs/nffs_area_desc.rst","os/modules/fs/nffs/nffs_config.rst","os/modules/fs/nffs/nffs_detect.rst","os/modules/fs/nffs/nffs_format.rst","os/modules/fs/nffs/nffs_init.rst","os/modules/fs/nffs/nffs_internals.rst","os/modules/fs/otherfs.rst","os/modules/hal/hal.rst","os/modules/hal/hal_bsp/hal_bsp.rst","os/modules/hal/hal_creation.rst","os/modules/hal/hal_flash/hal_flash.rst","os/modules/hal/hal_flash/hal_flash_int.rst","os/modules/hal/hal_gpio/hal_gpio.rst","os/modules/hal/hal_i2c/hal_i2c.rst","os/modules/hal/hal_in_libraries.rst","os/modules/hal/hal_os_tick/hal_os_tick.rst","os/modules/hal/hal_spi/hal_spi.rst","os/modules/hal/hal_system/hal_sys.rst","os/modules/hal/hal_timer/hal_timer.rst","os/modules/hal/hal_uart/hal_uart.rst","os/modules/hal/hal_watchdog/hal_watchdog.rst","os/modules/imgmgr/imgmgr.rst","os/modules/imgmgr/imgmgr_module_init.rst","os/modules/imgmgr/imgr_ver_parse.rst","os/modules/imgmgr/imgr_ver_str.rst","os/modules/json/json.rst","os/modules/json/json_encode_object_entry.rst","os/modules/json/json_encode_object_finish.rst","os/modules/json/json_encode_object_key.rst","os/modules/json/json_encode_object_start.rst","os/modules/json/json_read_object.rst","os/modules/logs/logs.rst","os/modules/sensor_framework/sensor_api.rst","os/modules/sensor_framework/sensor_create.rst","os/modules/sensor_framework/sensor_driver.rst","os/modules/sensor_framework/sensor_framework_overview.rst","os/modules/sensor_framework/sensor_listener_api.rst","os/modules/sensor_framework/sensor_mgr_api.rst","os/modules/sensor_framework/sensor_oic.rst","os/modules/sensor_framework/sensor_shell.rst","os/modules/shell/shell.rst","os/modules/shell/shell_cmd_register.rst","os/modules/shell/shell_evq_set.rst","os/modules/shell/shell_nlip_input_register.rst","os/modules/shell/shell_nlip_output.rst","os/modules/shell/shell_register.rst","os/modules/shell/shell_register_app_cmd_handler.rst","os/modules/shell/shell_register_default_module.rst","os/modules/split/split.rst","os/modules/stats/stats.rst","os/modules/sysinitconfig/sysconfig_error.rst","os/modules/sysinitconfig/sysinitconfig.rst","os/modules/system_modules.rst","os/modules/testutil/test_assert.rst","os/modules/testutil/test_case.rst","os/modules/testutil/test_decl.rst","os/modules/testutil/test_pass.rst","os/modules/testutil/test_suite.rst","os/modules/testutil/testutil.rst","os/modules/testutil/tu_init.rst","os/modules/testutil/tu_restart.rst","os/os_user_guide.rst","os/tutorials/STM32F303.rst","os/tutorials/add_newtmgr.rst","os/tutorials/define_target.rst","os/tutorials/event_queue.rst","os/tutorials/ota_upgrade_nrf52.rst","os/tutorials/pin-wheel-mods.rst","os/tutorials/tasks_lesson.rst","os/tutorials/try_markdown.rst","tutorials/ble/ble.rst","tutorials/ble/ble_bare_bones.rst","tutorials/ble/blehci_project.rst","tutorials/ble/bleprph/bleprph.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-adv.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-app.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-chr-access.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-gap-event.rst","tutorials/ble/bleprph/bleprph-sections/bleprph-svc-reg.rst","tutorials/ble/eddystone.rst","tutorials/ble/ibeacon.rst","tutorials/blinky/arduino_zero.rst","tutorials/blinky/blinky.rst","tutorials/blinky/blinky_console.rst","tutorials/blinky/blinky_primo.rst","tutorials/blinky/blinky_stm32f4disc.rst","tutorials/blinky/nRF52.rst","tutorials/blinky/olimex.rst","tutorials/blinky/rbnano2.rst","tutorials/lora/lorawanapp.rst","tutorials/other/codesize.rst","tutorials/other/other.rst","tutorials/other/unit_test.rst","tutorials/other/wi-fi_on_arduino.rst","tutorials/repo/add_repos.rst","tutorials/repo/create_repo.rst","tutorials/repo/private_repo.rst","tutorials/repo/upgrade_repo.rst","tutorials/sensors/air_quality.rst","tutorials/sensors/air_quality_ble.rst","tutorials/sensors/air_quality_sensor.rst","tutorials/sensors/nrf52_adc.rst","tutorials/sensors/sensor_bleprph_oic.rst","tutorials/sensors/sensor_nrf52_bno055.rst","tutorials/sensors/sensor_nrf52_bno055_oic.rst","tutorials/sensors/sensor_offboard_config.rst","tutorials/sensors/sensor_oic_overview.rst","tutorials/sensors/sensor_thingy_lis2dh12_onb.rst","tutorials/sensors/sensors.rst","tutorials/sensors/sensors_framework.rst","tutorials/slinky/project-nrf52-slinky.rst","tutorials/slinky/project-sim-slinky.rst","tutorials/slinky/project-slinky.rst","tutorials/slinky/project-stm32-slinky.rst","tutorials/tooling/segger_rtt.rst","tutorials/tooling/segger_sysview.rst","tutorials/tooling/tooling.rst","tutorials/tutorials.rst"],objects:{"":{"HALGpio::HAL_GPIO_MODE_IN":[187,1,1,"c.HALGpio::HAL_GPIO_MODE_IN"],"HALGpio::HAL_GPIO_MODE_NC":[187,1,1,"c.HALGpio::HAL_GPIO_MODE_NC"],"HALGpio::HAL_GPIO_MODE_OUT":[187,1,1,"c.HALGpio::HAL_GPIO_MODE_OUT"],"HALGpio::HAL_GPIO_PULL_DOWN":[187,1,1,"c.HALGpio::HAL_GPIO_PULL_DOWN"],"HALGpio::HAL_GPIO_PULL_NONE":[187,1,1,"c.HALGpio::HAL_GPIO_PULL_NONE"],"HALGpio::HAL_GPIO_PULL_UP":[187,1,1,"c.HALGpio::HAL_GPIO_PULL_UP"],"HALGpio::HAL_GPIO_TRIG_BOTH":[187,1,1,"c.HALGpio::HAL_GPIO_TRIG_BOTH"],"HALGpio::HAL_GPIO_TRIG_FALLING":[187,1,1,"c.HALGpio::HAL_GPIO_TRIG_FALLING"],"HALGpio::HAL_GPIO_TRIG_HIGH":[187,1,1,"c.HALGpio::HAL_GPIO_TRIG_HIGH"],"HALGpio::HAL_GPIO_TRIG_LOW":[187,1,1,"c.HALGpio::HAL_GPIO_TRIG_LOW"],"HALGpio::HAL_GPIO_TRIG_NONE":[187,1,1,"c.HALGpio::HAL_GPIO_TRIG_NONE"],"HALGpio::HAL_GPIO_TRIG_RISING":[187,1,1,"c.HALGpio::HAL_GPIO_TRIG_RISING"],"HALGpio::hal_gpio_irq_trigger":[187,2,1,"c.HALGpio::hal_gpio_irq_trigger"],"HALGpio::hal_gpio_mode_e":[187,2,1,"c.HALGpio::hal_gpio_mode_e"],"HALGpio::hal_gpio_pull":[187,2,1,"c.HALGpio::hal_gpio_pull"],"HALSystem::HAL_RESET_BROWNOUT":[192,1,1,"c.HALSystem::HAL_RESET_BROWNOUT"],"HALSystem::HAL_RESET_PIN":[192,1,1,"c.HALSystem::HAL_RESET_PIN"],"HALSystem::HAL_RESET_POR":[192,1,1,"c.HALSystem::HAL_RESET_POR"],"HALSystem::HAL_RESET_REQUESTED":[192,1,1,"c.HALSystem::HAL_RESET_REQUESTED"],"HALSystem::HAL_RESET_SOFT":[192,1,1,"c.HALSystem::HAL_RESET_SOFT"],"HALSystem::HAL_RESET_WATCHDOG":[192,1,1,"c.HALSystem::HAL_RESET_WATCHDOG"],"HALSystem::hal_reset_reason":[192,2,1,"c.HALSystem::hal_reset_reason"],"HALUart::HAL_UART_FLOW_CTL_NONE":[194,1,1,"c.HALUart::HAL_UART_FLOW_CTL_NONE"],"HALUart::HAL_UART_FLOW_CTL_RTS_CTS":[194,1,1,"c.HALUart::HAL_UART_FLOW_CTL_RTS_CTS"],"HALUart::HAL_UART_PARITY_EVEN":[194,1,1,"c.HALUart::HAL_UART_PARITY_EVEN"],"HALUart::HAL_UART_PARITY_NONE":[194,1,1,"c.HALUart::HAL_UART_PARITY_NONE"],"HALUart::HAL_UART_PARITY_ODD":[194,1,1,"c.HALUart::HAL_UART_PARITY_ODD"],"HALUart::hal_uart_flow_ctl":[194,2,1,"c.HALUart::hal_uart_flow_ctl"],"HALUart::hal_uart_parity":[194,2,1,"c.HALUart::hal_uart_parity"],"OSTask::OS_TASK_READY":[100,1,1,"c.OSTask::OS_TASK_READY"],"OSTask::OS_TASK_SLEEP":[100,1,1,"c.OSTask::OS_TASK_SLEEP"],"OSTask::os_task_state":[100,2,1,"c.OSTask::os_task_state"],"SysConfig::CONF_EXPORT_PERSIST":[130,1,1,"c.SysConfig::CONF_EXPORT_PERSIST"],"SysConfig::CONF_EXPORT_SHOW":[130,1,1,"c.SysConfig::CONF_EXPORT_SHOW"],"SysConfig::conf_export_tgt":[130,2,1,"c.SysConfig::conf_export_tgt"],"SysConfig::conf_type":[130,2,1,"c.SysConfig::conf_type"],"conf_handler::ch_commit":[130,5,1,"c.conf_handler::ch_commit"],"conf_handler::ch_export":[130,5,1,"c.conf_handler::ch_export"],"conf_handler::ch_get":[130,5,1,"c.conf_handler::ch_get"],"conf_handler::ch_name":[130,5,1,"c.conf_handler::ch_name"],"conf_handler::ch_set":[130,5,1,"c.conf_handler::ch_set"],"console_input::line":[131,5,1,"c.console_input::line"],"hal_i2c_master_data::address":[188,5,1,"c.hal_i2c_master_data::address"],"hal_i2c_master_data::buffer":[188,5,1,"c.hal_i2c_master_data::buffer"],"hal_spi_settings::baudrate":[191,5,1,"c.hal_spi_settings::baudrate"],"hal_spi_settings::data_mode":[191,5,1,"c.hal_spi_settings::data_mode"],"hal_spi_settings::data_order":[191,5,1,"c.hal_spi_settings::data_order"],"hal_spi_settings::word_size":[191,5,1,"c.hal_spi_settings::word_size"],"hal_timer::bsp_timer":[193,5,1,"c.hal_timer::bsp_timer"],"hal_timer::cb_arg":[193,5,1,"c.hal_timer::cb_arg"],"hal_timer::cb_func":[193,5,1,"c.hal_timer::cb_func"],"hal_timer::expiry":[193,5,1,"c.hal_timer::expiry"],"os_callout::c_ev":[85,5,1,"c.os_callout::c_ev"],"os_callout::c_evq":[85,5,1,"c.os_callout::c_evq"],"os_callout::c_ticks":[85,5,1,"c.os_callout::c_ticks"],"os_event::ev_arg":[88,5,1,"c.os_event::ev_arg"],"os_event::ev_cb":[88,5,1,"c.os_event::ev_cb"],"os_event::ev_queued":[88,5,1,"c.os_event::ev_queued"],"os_eventq::evq_owner":[88,5,1,"c.os_eventq::evq_owner"],"os_eventq::evq_task":[88,5,1,"c.os_eventq::evq_task"],"os_mbuf::om_data":[90,5,1,"c.os_mbuf::om_data"],"os_mbuf::om_flags":[90,5,1,"c.os_mbuf::om_flags"],"os_mbuf::om_len":[90,5,1,"c.os_mbuf::om_len"],"os_mbuf::om_omp":[90,5,1,"c.os_mbuf::om_omp"],"os_mbuf::om_pkthdr_len":[90,5,1,"c.os_mbuf::om_pkthdr_len"],"os_mbuf_pkthdr::omp_flags":[90,5,1,"c.os_mbuf_pkthdr::omp_flags"],"os_mbuf_pkthdr::omp_len":[90,5,1,"c.os_mbuf_pkthdr::omp_len"],"os_mbuf_pool::omp_databuf_len":[90,5,1,"c.os_mbuf_pool::omp_databuf_len"],"os_mbuf_pool::omp_pool":[90,5,1,"c.os_mbuf_pool::omp_pool"],"os_mempool::mp_block_size":[91,5,1,"c.os_mempool::mp_block_size"],"os_mempool::mp_flags":[91,5,1,"c.os_mempool::mp_flags"],"os_mempool::mp_membuf_addr":[91,5,1,"c.os_mempool::mp_membuf_addr"],"os_mempool::mp_min_free":[91,5,1,"c.os_mempool::mp_min_free"],"os_mempool::mp_num_blocks":[91,5,1,"c.os_mempool::mp_num_blocks"],"os_mempool::mp_num_free":[91,5,1,"c.os_mempool::mp_num_free"],"os_mempool::name":[91,5,1,"c.os_mempool::name"],"os_mempool_info::omi_block_size":[91,5,1,"c.os_mempool_info::omi_block_size"],"os_mempool_info::omi_min_free":[91,5,1,"c.os_mempool_info::omi_min_free"],"os_mempool_info::omi_num_blocks":[91,5,1,"c.os_mempool_info::omi_num_blocks"],"os_mempool_info::omi_num_free":[91,5,1,"c.os_mempool_info::omi_num_free"],"os_mqueue::mq_ev":[90,5,1,"c.os_mqueue::mq_ev"],"os_mutex::SLIST_HEAD":[92,3,1,"c.os_mutex::SLIST_HEAD"],"os_mutex::_pad":[92,5,1,"c.os_mutex::_pad"],"os_mutex::mu_level":[92,5,1,"c.os_mutex::mu_level"],"os_mutex::mu_owner":[92,5,1,"c.os_mutex::mu_owner"],"os_mutex::mu_prio":[92,5,1,"c.os_mutex::mu_prio"],"os_sanity_check::sc_arg":[98,5,1,"c.os_sanity_check::sc_arg"],"os_sanity_check::sc_checkin_itvl":[98,5,1,"c.os_sanity_check::sc_checkin_itvl"],"os_sanity_check::sc_checkin_last":[98,5,1,"c.os_sanity_check::sc_checkin_last"],"os_sanity_check::sc_func":[98,5,1,"c.os_sanity_check::sc_func"],"os_sem::sem_tokens":[99,5,1,"c.os_sem::sem_tokens"],"os_task::t_arg":[100,5,1,"c.os_task::t_arg"],"os_task::t_ctx_sw_cnt":[100,5,1,"c.os_task::t_ctx_sw_cnt"],"os_task::t_flags":[100,5,1,"c.os_task::t_flags"],"os_task::t_func":[100,5,1,"c.os_task::t_func"],"os_task::t_name":[100,5,1,"c.os_task::t_name"],"os_task::t_next_wakeup":[100,5,1,"c.os_task::t_next_wakeup"],"os_task::t_obj":[100,5,1,"c.os_task::t_obj"],"os_task::t_prio":[100,5,1,"c.os_task::t_prio"],"os_task::t_run_time":[100,5,1,"c.os_task::t_run_time"],"os_task::t_sanity_check":[100,5,1,"c.os_task::t_sanity_check"],"os_task::t_stackptr":[100,5,1,"c.os_task::t_stackptr"],"os_task::t_stacksize":[100,5,1,"c.os_task::t_stacksize"],"os_task::t_stacktop":[100,5,1,"c.os_task::t_stacktop"],"os_task::t_taskid":[100,5,1,"c.os_task::t_taskid"],"os_task_info::oti_cswcnt":[100,5,1,"c.os_task_info::oti_cswcnt"],"os_task_info::oti_last_checkin":[100,5,1,"c.os_task_info::oti_last_checkin"],"os_task_info::oti_next_checkin":[100,5,1,"c.os_task_info::oti_next_checkin"],"os_task_info::oti_prio":[100,5,1,"c.os_task_info::oti_prio"],"os_task_info::oti_runtime":[100,5,1,"c.os_task_info::oti_runtime"],"os_task_info::oti_state":[100,5,1,"c.os_task_info::oti_state"],"os_task_info::oti_stksize":[100,5,1,"c.os_task_info::oti_stksize"],"os_task_info::oti_stkusage":[100,5,1,"c.os_task_info::oti_stkusage"],"os_task_info::oti_taskid":[100,5,1,"c.os_task_info::oti_taskid"],"os_timezone::tz_dsttime":[101,5,1,"c.os_timezone::tz_dsttime"],"os_timezone::tz_minuteswest":[101,5,1,"c.os_timezone::tz_minuteswest"],CONF_STR_FROM_BYTES_LEN:[130,0,1,"c.CONF_STR_FROM_BYTES_LEN"],CONF_VALUE_SET:[130,0,1,"c.CONF_VALUE_SET"],CPUTIME_GEQ:[87,0,1,"c.CPUTIME_GEQ"],CPUTIME_GT:[87,0,1,"c.CPUTIME_GT"],CPUTIME_LEQ:[87,0,1,"c.CPUTIME_LEQ"],CPUTIME_LT:[87,0,1,"c.CPUTIME_LT"],HAL_BSP_MAX_ID_LEN:[183,0,1,"c.HAL_BSP_MAX_ID_LEN"],HAL_BSP_POWER_DEEP_SLEEP:[183,0,1,"c.HAL_BSP_POWER_DEEP_SLEEP"],HAL_BSP_POWER_OFF:[183,0,1,"c.HAL_BSP_POWER_OFF"],HAL_BSP_POWER_ON:[183,0,1,"c.HAL_BSP_POWER_ON"],HAL_BSP_POWER_PERUSER:[183,0,1,"c.HAL_BSP_POWER_PERUSER"],HAL_BSP_POWER_SLEEP:[183,0,1,"c.HAL_BSP_POWER_SLEEP"],HAL_BSP_POWER_WFI:[183,0,1,"c.HAL_BSP_POWER_WFI"],HAL_SPI_LSB_FIRST:[191,0,1,"c.HAL_SPI_LSB_FIRST"],HAL_SPI_MODE0:[191,0,1,"c.HAL_SPI_MODE0"],HAL_SPI_MODE1:[191,0,1,"c.HAL_SPI_MODE1"],HAL_SPI_MODE2:[191,0,1,"c.HAL_SPI_MODE2"],HAL_SPI_MODE3:[191,0,1,"c.HAL_SPI_MODE3"],HAL_SPI_MSB_FIRST:[191,0,1,"c.HAL_SPI_MSB_FIRST"],HAL_SPI_TYPE_MASTER:[191,0,1,"c.HAL_SPI_TYPE_MASTER"],HAL_SPI_TYPE_SLAVE:[191,0,1,"c.HAL_SPI_TYPE_SLAVE"],HAL_SPI_WORD_SIZE_8BIT:[191,0,1,"c.HAL_SPI_WORD_SIZE_8BIT"],HAL_SPI_WORD_SIZE_9BIT:[191,0,1,"c.HAL_SPI_WORD_SIZE_9BIT"],OS_CALLOUT_F_QUEUED:[85,0,1,"c.OS_CALLOUT_F_QUEUED"],OS_EVENT_QUEUED:[88,0,1,"c.OS_EVENT_QUEUED"],OS_MBUF_DATA:[90,0,1,"c.OS_MBUF_DATA"],OS_MBUF_F_MASK:[90,0,1,"c.OS_MBUF_F_MASK"],OS_MBUF_IS_PKTHDR:[90,0,1,"c.OS_MBUF_IS_PKTHDR"],OS_MBUF_LEADINGSPACE:[90,0,1,"c.OS_MBUF_LEADINGSPACE"],OS_MBUF_PKTHDR:[90,0,1,"c.OS_MBUF_PKTHDR"],OS_MBUF_PKTHDR_TO_MBUF:[90,0,1,"c.OS_MBUF_PKTHDR_TO_MBUF"],OS_MBUF_PKTLEN:[90,0,1,"c.OS_MBUF_PKTLEN"],OS_MBUF_TRAILINGSPACE:[90,0,1,"c.OS_MBUF_TRAILINGSPACE"],OS_MBUF_USRHDR:[90,0,1,"c.OS_MBUF_USRHDR"],OS_MBUF_USRHDR_LEN:[90,0,1,"c.OS_MBUF_USRHDR_LEN"],OS_MEMPOOL_BYTES:[91,0,1,"c.OS_MEMPOOL_BYTES"],OS_MEMPOOL_F_EXT:[91,0,1,"c.OS_MEMPOOL_F_EXT"],OS_MEMPOOL_INFO_NAME_LEN:[91,0,1,"c.OS_MEMPOOL_INFO_NAME_LEN"],OS_MEMPOOL_SIZE:[91,0,1,"c.OS_MEMPOOL_SIZE"],OS_SANITY_CHECK_SETFUNC:[98,0,1,"c.OS_SANITY_CHECK_SETFUNC"],OS_TASK_FLAG_EVQ_WAIT:[100,0,1,"c.OS_TASK_FLAG_EVQ_WAIT"],OS_TASK_FLAG_MUTEX_WAIT:[100,0,1,"c.OS_TASK_FLAG_MUTEX_WAIT"],OS_TASK_FLAG_NO_TIMEOUT:[100,0,1,"c.OS_TASK_FLAG_NO_TIMEOUT"],OS_TASK_FLAG_SEM_WAIT:[100,0,1,"c.OS_TASK_FLAG_SEM_WAIT"],OS_TASK_MAX_NAME_LEN:[100,0,1,"c.OS_TASK_MAX_NAME_LEN"],OS_TASK_PRI_HIGHEST:[100,0,1,"c.OS_TASK_PRI_HIGHEST"],OS_TASK_PRI_LOWEST:[100,0,1,"c.OS_TASK_PRI_LOWEST"],OS_TASK_STACK_DEFINE:[100,0,1,"c.OS_TASK_STACK_DEFINE"],OS_TIMEOUT_NEVER:[101,0,1,"c.OS_TIMEOUT_NEVER"],OS_TIME_MAX:[101,0,1,"c.OS_TIME_MAX"],OS_TIME_TICK_GEQ:[101,0,1,"c.OS_TIME_TICK_GEQ"],OS_TIME_TICK_GT:[101,0,1,"c.OS_TIME_TICK_GT"],OS_TIME_TICK_LT:[101,0,1,"c.OS_TIME_TICK_LT"],_sbrk:[183,3,1,"c._sbrk"],completion_cb:[131,4,1,"c.completion_cb"],conf_bytes_from_str:[130,3,1,"c.conf_bytes_from_str"],conf_commit:[130,3,1,"c.conf_commit"],conf_commit_handler_t:[130,4,1,"c.conf_commit_handler_t"],conf_export_func_t:[130,4,1,"c.conf_export_func_t"],conf_export_handler_t:[130,4,1,"c.conf_export_handler_t"],conf_export_tgt_t:[130,4,1,"c.conf_export_tgt_t"],conf_get_handler_t:[130,4,1,"c.conf_get_handler_t"],conf_get_value:[130,3,1,"c.conf_get_value"],conf_handler:[130,7,1,"_CPPv312conf_handler"],conf_init:[130,3,1,"c.conf_init"],conf_load:[130,3,1,"c.conf_load"],conf_register:[130,3,1,"c.conf_register"],conf_save:[130,3,1,"c.conf_save"],conf_save_one:[130,3,1,"c.conf_save_one"],conf_save_tree:[130,3,1,"c.conf_save_tree"],conf_set_handler_t:[130,4,1,"c.conf_set_handler_t"],conf_set_value:[130,3,1,"c.conf_set_value"],conf_store_init:[130,3,1,"c.conf_store_init"],conf_str_from_bytes:[130,3,1,"c.conf_str_from_bytes"],conf_str_from_value:[130,3,1,"c.conf_str_from_value"],conf_value_from_str:[130,3,1,"c.conf_value_from_str"],console_append_char_cb:[131,4,1,"c.console_append_char_cb"],console_blocking_mode:[131,3,1,"c.console_blocking_mode"],console_echo:[131,3,1,"c.console_echo"],console_handle_char:[131,3,1,"c.console_handle_char"],console_init:[131,3,1,"c.console_init"],console_input:[131,6,1,"c.console_input"],console_is_init:[131,3,1,"c.console_is_init"],console_is_midline:[131,5,1,"c.console_is_midline"],console_non_blocking_mode:[131,3,1,"c.console_non_blocking_mode"],console_out:[131,3,1,"c.console_out"],console_printf:[131,3,1,"c.console_printf"],console_read:[131,3,1,"c.console_read"],console_rx_cb:[131,4,1,"c.console_rx_cb"],console_set_completion_cb:[131,3,1,"c.console_set_completion_cb"],console_set_queues:[131,3,1,"c.console_set_queues"],console_write:[131,3,1,"c.console_write"],hal_bsp_core_dump:[183,3,1,"c.hal_bsp_core_dump"],hal_bsp_flash_dev:[183,3,1,"c.hal_bsp_flash_dev"],hal_bsp_get_nvic_priority:[183,3,1,"c.hal_bsp_get_nvic_priority"],hal_bsp_hw_id:[183,3,1,"c.hal_bsp_hw_id"],hal_bsp_init:[183,3,1,"c.hal_bsp_init"],hal_bsp_power_state:[183,3,1,"c.hal_bsp_power_state"],hal_debugger_connected:[192,3,1,"c.hal_debugger_connected"],hal_flash_align:[185,3,1,"c.hal_flash_align"],hal_flash_erase:[185,3,1,"c.hal_flash_erase"],hal_flash_erase_sector:[185,3,1,"c.hal_flash_erase_sector"],hal_flash_init:[185,3,1,"c.hal_flash_init"],hal_flash_ioctl:[185,3,1,"c.hal_flash_ioctl"],hal_flash_read:[185,3,1,"c.hal_flash_read"],hal_flash_write:[185,3,1,"c.hal_flash_write"],hal_gpio_init_in:[187,3,1,"c.hal_gpio_init_in"],hal_gpio_init_out:[187,3,1,"c.hal_gpio_init_out"],hal_gpio_irq_disable:[187,3,1,"c.hal_gpio_irq_disable"],hal_gpio_irq_enable:[187,3,1,"c.hal_gpio_irq_enable"],hal_gpio_irq_handler_t:[187,4,1,"c.hal_gpio_irq_handler_t"],hal_gpio_irq_init:[187,3,1,"c.hal_gpio_irq_init"],hal_gpio_irq_release:[187,3,1,"c.hal_gpio_irq_release"],hal_gpio_irq_trig_t:[187,4,1,"c.hal_gpio_irq_trig_t"],hal_gpio_mode_t:[187,4,1,"c.hal_gpio_mode_t"],hal_gpio_pull_t:[187,4,1,"c.hal_gpio_pull_t"],hal_gpio_read:[187,3,1,"c.hal_gpio_read"],hal_gpio_toggle:[187,3,1,"c.hal_gpio_toggle"],hal_gpio_write:[187,3,1,"c.hal_gpio_write"],hal_i2c_init:[188,3,1,"c.hal_i2c_init"],hal_i2c_master_data:[188,7,1,"_CPPv319hal_i2c_master_data"],hal_i2c_master_probe:[188,3,1,"c.hal_i2c_master_probe"],hal_i2c_master_read:[188,3,1,"c.hal_i2c_master_read"],hal_i2c_master_write:[188,3,1,"c.hal_i2c_master_write"],hal_reset_cause:[192,3,1,"c.hal_reset_cause"],hal_spi_abort:[191,3,1,"c.hal_spi_abort"],hal_spi_config:[191,3,1,"c.hal_spi_config"],hal_spi_data_mode_breakout:[191,3,1,"c.hal_spi_data_mode_breakout"],hal_spi_disable:[191,3,1,"c.hal_spi_disable"],hal_spi_enable:[191,3,1,"c.hal_spi_enable"],hal_spi_init:[191,3,1,"c.hal_spi_init"],hal_spi_set_txrx_cb:[191,3,1,"c.hal_spi_set_txrx_cb"],hal_spi_settings:[191,7,1,"_CPPv316hal_spi_settings"],hal_spi_slave_set_def_tx_val:[191,3,1,"c.hal_spi_slave_set_def_tx_val"],hal_spi_tx_val:[191,3,1,"c.hal_spi_tx_val"],hal_spi_txrx:[191,3,1,"c.hal_spi_txrx"],hal_spi_txrx_cb:[191,4,1,"c.hal_spi_txrx_cb"],hal_spi_txrx_noblock:[191,3,1,"c.hal_spi_txrx_noblock"],hal_system_clock_start:[192,3,1,"c.hal_system_clock_start"],hal_system_reset:[192,3,1,"c.hal_system_reset"],hal_system_restart:[192,3,1,"c.hal_system_restart"],hal_system_start:[192,3,1,"c.hal_system_start"],hal_timer:[193,7,1,"_CPPv39hal_timer"],hal_timer_cb:[193,4,1,"c.hal_timer_cb"],hal_timer_config:[193,3,1,"c.hal_timer_config"],hal_timer_deinit:[193,3,1,"c.hal_timer_deinit"],hal_timer_delay:[193,3,1,"c.hal_timer_delay"],hal_timer_get_resolution:[193,3,1,"c.hal_timer_get_resolution"],hal_timer_init:[193,3,1,"c.hal_timer_init"],hal_timer_read:[193,3,1,"c.hal_timer_read"],hal_timer_set_cb:[193,3,1,"c.hal_timer_set_cb"],hal_timer_start:[193,3,1,"c.hal_timer_start"],hal_timer_start_at:[193,3,1,"c.hal_timer_start_at"],hal_timer_stop:[193,3,1,"c.hal_timer_stop"],hal_uart_blocking_tx:[194,3,1,"c.hal_uart_blocking_tx"],hal_uart_close:[194,3,1,"c.hal_uart_close"],hal_uart_config:[194,3,1,"c.hal_uart_config"],hal_uart_init:[194,3,1,"c.hal_uart_init"],hal_uart_init_cbs:[194,3,1,"c.hal_uart_init_cbs"],hal_uart_rx_char:[194,4,1,"c.hal_uart_rx_char"],hal_uart_start_rx:[194,3,1,"c.hal_uart_start_rx"],hal_uart_start_tx:[194,3,1,"c.hal_uart_start_tx"],hal_uart_tx_char:[194,4,1,"c.hal_uart_tx_char"],hal_uart_tx_done:[194,4,1,"c.hal_uart_tx_done"],hal_watchdog_enable:[195,3,1,"c.hal_watchdog_enable"],hal_watchdog_init:[195,3,1,"c.hal_watchdog_init"],hal_watchdog_tickle:[195,3,1,"c.hal_watchdog_tickle"],os_callout:[85,7,1,"_CPPv310os_callout"],os_callout_init:[85,3,1,"c.os_callout_init"],os_callout_queued:[85,3,1,"c.os_callout_queued"],os_callout_remaining_ticks:[85,3,1,"c.os_callout_remaining_ticks"],os_callout_reset:[85,3,1,"c.os_callout_reset"],os_callout_stop:[85,3,1,"c.os_callout_stop"],os_cputime_delay_nsecs:[87,3,1,"c.os_cputime_delay_nsecs"],os_cputime_delay_ticks:[87,3,1,"c.os_cputime_delay_ticks"],os_cputime_delay_usecs:[87,3,1,"c.os_cputime_delay_usecs"],os_cputime_get32:[87,3,1,"c.os_cputime_get32"],os_cputime_init:[87,3,1,"c.os_cputime_init"],os_cputime_nsecs_to_ticks:[87,3,1,"c.os_cputime_nsecs_to_ticks"],os_cputime_ticks_to_nsecs:[87,3,1,"c.os_cputime_ticks_to_nsecs"],os_cputime_ticks_to_usecs:[87,3,1,"c.os_cputime_ticks_to_usecs"],os_cputime_timer_init:[87,3,1,"c.os_cputime_timer_init"],os_cputime_timer_relative:[87,3,1,"c.os_cputime_timer_relative"],os_cputime_timer_start:[87,3,1,"c.os_cputime_timer_start"],os_cputime_timer_stop:[87,3,1,"c.os_cputime_timer_stop"],os_cputime_usecs_to_ticks:[87,3,1,"c.os_cputime_usecs_to_ticks"],os_event:[88,7,1,"_CPPv38os_event"],os_event_fn:[88,4,1,"c.os_event_fn"],os_eventq:[88,7,1,"_CPPv39os_eventq"],os_eventq_dflt_get:[88,3,1,"c.os_eventq_dflt_get"],os_eventq_get:[88,3,1,"c.os_eventq_get"],os_eventq_get_no_wait:[88,3,1,"c.os_eventq_get_no_wait"],os_eventq_init:[88,3,1,"c.os_eventq_init"],os_eventq_inited:[88,3,1,"c.os_eventq_inited"],os_eventq_poll:[88,3,1,"c.os_eventq_poll"],os_eventq_put:[88,3,1,"c.os_eventq_put"],os_eventq_remove:[88,3,1,"c.os_eventq_remove"],os_eventq_run:[88,3,1,"c.os_eventq_run"],os_get_uptime:[101,3,1,"c.os_get_uptime"],os_get_uptime_usec:[101,3,1,"c.os_get_uptime_usec"],os_gettimeofday:[101,3,1,"c.os_gettimeofday"],os_mbuf:[90,7,1,"_CPPv37os_mbuf"],os_mbuf_adj:[90,3,1,"c.os_mbuf_adj"],os_mbuf_append:[90,3,1,"c.os_mbuf_append"],os_mbuf_appendfrom:[90,3,1,"c.os_mbuf_appendfrom"],os_mbuf_cmpf:[90,3,1,"c.os_mbuf_cmpf"],os_mbuf_cmpm:[90,3,1,"c.os_mbuf_cmpm"],os_mbuf_concat:[90,3,1,"c.os_mbuf_concat"],os_mbuf_copydata:[90,3,1,"c.os_mbuf_copydata"],os_mbuf_copyinto:[90,3,1,"c.os_mbuf_copyinto"],os_mbuf_dup:[90,3,1,"c.os_mbuf_dup"],os_mbuf_extend:[90,3,1,"c.os_mbuf_extend"],os_mbuf_free:[90,3,1,"c.os_mbuf_free"],os_mbuf_free_chain:[90,3,1,"c.os_mbuf_free_chain"],os_mbuf_get:[90,3,1,"c.os_mbuf_get"],os_mbuf_get_pkthdr:[90,3,1,"c.os_mbuf_get_pkthdr"],os_mbuf_off:[90,3,1,"c.os_mbuf_off"],os_mbuf_pkthdr:[90,7,1,"_CPPv314os_mbuf_pkthdr"],os_mbuf_pool:[90,7,1,"_CPPv312os_mbuf_pool"],os_mbuf_pool_init:[90,3,1,"c.os_mbuf_pool_init"],os_mbuf_prepend:[90,3,1,"c.os_mbuf_prepend"],os_mbuf_prepend_pullup:[90,3,1,"c.os_mbuf_prepend_pullup"],os_mbuf_pullup:[90,3,1,"c.os_mbuf_pullup"],os_mbuf_trim_front:[90,3,1,"c.os_mbuf_trim_front"],os_memblock:[91,7,1,"_CPPv311os_memblock"],os_memblock_from:[91,3,1,"c.os_memblock_from"],os_memblock_get:[91,3,1,"c.os_memblock_get"],os_memblock_put:[91,3,1,"c.os_memblock_put"],os_memblock_put_from_cb:[91,3,1,"c.os_memblock_put_from_cb"],os_membuf_t:[91,4,1,"c.os_membuf_t"],os_mempool:[91,7,1,"_CPPv310os_mempool"],os_mempool_clear:[91,3,1,"c.os_mempool_clear"],os_mempool_ext_init:[91,3,1,"c.os_mempool_ext_init"],os_mempool_info:[91,7,1,"_CPPv315os_mempool_info"],os_mempool_info_get_next:[91,3,1,"c.os_mempool_info_get_next"],os_mempool_init:[91,3,1,"c.os_mempool_init"],os_mempool_is_sane:[91,3,1,"c.os_mempool_is_sane"],os_mempool_put_fn:[91,4,1,"c.os_mempool_put_fn"],os_mqueue:[90,7,1,"_CPPv39os_mqueue"],os_mqueue_get:[90,3,1,"c.os_mqueue_get"],os_mqueue_init:[90,3,1,"c.os_mqueue_init"],os_mqueue_put:[90,3,1,"c.os_mqueue_put"],os_msys_count:[90,3,1,"c.os_msys_count"],os_msys_get:[90,3,1,"c.os_msys_get"],os_msys_get_pkthdr:[90,3,1,"c.os_msys_get_pkthdr"],os_msys_num_free:[90,3,1,"c.os_msys_num_free"],os_msys_register:[90,3,1,"c.os_msys_register"],os_msys_reset:[90,3,1,"c.os_msys_reset"],os_mutex:[92,7,1,"_CPPv38os_mutex"],os_mutex_init:[92,3,1,"c.os_mutex_init"],os_mutex_pend:[92,3,1,"c.os_mutex_pend"],os_mutex_release:[92,3,1,"c.os_mutex_release"],os_sanity_check:[98,7,1,"_CPPv315os_sanity_check"],os_sanity_check_func_t:[98,4,1,"c.os_sanity_check_func_t"],os_sanity_check_init:[98,3,1,"c.os_sanity_check_init"],os_sanity_check_register:[98,3,1,"c.os_sanity_check_register"],os_sanity_check_reset:[98,3,1,"c.os_sanity_check_reset"],os_sanity_task_checkin:[98,3,1,"c.os_sanity_task_checkin"],os_sched_get_current_task:[86,3,1,"c.os_sched_get_current_task"],os_sem:[99,7,1,"_CPPv36os_sem"],os_sem_get_count:[99,3,1,"c.os_sem_get_count"],os_sem_init:[99,3,1,"c.os_sem_init"],os_sem_pend:[99,3,1,"c.os_sem_pend"],os_sem_release:[99,3,1,"c.os_sem_release"],os_settimeofday:[101,3,1,"c.os_settimeofday"],os_stime_t:[101,4,1,"c.os_stime_t"],os_task:[100,7,1,"_CPPv37os_task"],os_task_count:[100,3,1,"c.os_task_count"],os_task_func_t:[100,4,1,"c.os_task_func_t"],os_task_info:[100,7,1,"_CPPv312os_task_info"],os_task_info_get_next:[100,3,1,"c.os_task_info_get_next"],os_task_init:[100,3,1,"c.os_task_init"],os_task_remove:[100,3,1,"c.os_task_remove"],os_task_state_t:[100,4,1,"c.os_task_state_t"],os_tick_idle:[190,3,1,"c.os_tick_idle"],os_tick_init:[190,3,1,"c.os_tick_init"],os_time_advance:[101,3,1,"c.os_time_advance"],os_time_delay:[101,3,1,"c.os_time_delay"],os_time_get:[101,3,1,"c.os_time_get"],os_time_ms_to_ticks:[101,3,1,"c.os_time_ms_to_ticks"],os_time_t:[101,4,1,"c.os_time_t"],os_time_ticks_to_ms:[101,3,1,"c.os_time_ticks_to_ms"],os_timeradd:[101,0,1,"c.os_timeradd"],os_timersub:[101,0,1,"c.os_timersub"],os_timeval:[101,7,1,"_CPPv310os_timeval"],os_timezone:[101,7,1,"_CPPv311os_timezone"]}},objnames:{"0":["c","define","define"],"1":["c","enumvalue","enumvalue"],"2":["c","enum","enum"],"3":["c","function","C function"],"4":["c","typedef","typedef"],"5":["c","variable","variable"],"6":["c","struct","struct"],"7":["cpp","class","C++ class"]},objtypes:{"0":"c:define","1":"c:enumvalue","2":"c:enum","3":"c:function","4":"c:typedef","5":"c:variable","6":"c:struct","7":"cpp:class"},terms:{"000s":[259,261,264,276],"008s":[259,261,264,276],"00z":267,"01t22":69,"02d":14,"02t22":267,"04x":21,"05t02":267,"093s":[259,261,264,276],"0b1000110":188,"0mb":11,"0ubuntu5":6,"0x0":[256,263,275,276],"0x00":[21,263,264,275],"0x0000":[247,275],"0x00000000":[180,223,225,226],"0x00000001":129,"0x00000002":[129,263],"0x00000004":129,"0x00000008":129,"0x00000010":129,"0x000000b8":256,"0x000000d8":[289,290],"0x000000dc":[246,282,289,290],"0x00004000":[223,225,226],"0x00008000":[94,223,225,226],"0x00009ef4":263,"0x0000fca6":256,"0x00023800":223,"0x0003f000":223,"0x0003f800":223,"0x0006":[30,275],"0x0007d000":[14,226],"0x000a":275,"0x000e0000":225,"0x0010":28,"0x01":[21,28,31,129,264,275],"0x0100":28,"0x01000000":262,"0x0101":21,"0x0102":21,"0x0103":21,"0x0104":21,"0x0105":21,"0x0106":21,"0x0107":21,"0x0108":21,"0x0109":21,"0x010a":21,"0x010b":21,"0x010c":21,"0x010d":21,"0x010e":21,"0x010f":21,"0x0110":21,"0x0111":21,"0x02":[21,28,31,129,264,275],"0x0201":21,"0x0202":21,"0x0203":21,"0x0204":21,"0x0205":21,"0x0206":21,"0x0207":21,"0x0208":21,"0x0209":21,"0x020a":21,"0x020b":21,"0x020c":21,"0x020d":21,"0x020e":21,"0x020f":21,"0x0210":21,"0x0211":21,"0x0212":21,"0x0213":21,"0x0214":21,"0x0215":21,"0x0216":21,"0x0217":21,"0x0218":21,"0x0219":21,"0x021a":21,"0x021b":21,"0x021c":21,"0x021d":21,"0x021e":21,"0x021f":21,"0x0220":21,"0x0221":21,"0x0222":21,"0x0223":21,"0x0224":21,"0x0225":21,"0x0226":21,"0x0227":21,"0x0228":21,"0x0229":21,"0x022a":21,"0x022c":21,"0x022d":21,"0x022e":21,"0x022f":21,"0x0230":21,"0x0232":21,"0x0234":21,"0x0235":21,"0x0236":21,"0x0237":21,"0x0238":21,"0x0239":21,"0x023a":21,"0x023b":21,"0x023c":21,"0x023d":21,"0x023e":21,"0x023f":21,"0x0240":21,"0x03":[21,31,129,275],"0x0300":[21,28],"0x0301":21,"0x0302":21,"0x04":[21,28],"0x0401":21,"0x0402":21,"0x0403":21,"0x0404":21,"0x0405":21,"0x0406":21,"0x0407":21,"0x0408":21,"0x0409":21,"0x040a":21,"0x040b":21,"0x040c":21,"0x040d":21,"0x040e":21,"0x0483":260,"0x05":21,"0x0501":21,"0x0502":21,"0x0503":21,"0x0504":21,"0x0505":21,"0x0506":21,"0x0507":21,"0x0508":21,"0x0509":21,"0x050a":21,"0x050b":21,"0x050c":21,"0x050d":21,"0x050e":21,"0x06":[21,247,275],"0x07":[21,275],"0x08":[21,28,275],"0x08000000":262,"0x08000020":262,"0x08000250":262,"0x08021e90":260,"0x09":[21,275],"0x0a":[21,275],"0x0b":21,"0x0bc11477":256,"0x0c":21,"0x0c80":30,"0x0d":21,"0x0e":21,"0x0f":[21,275,278],"0x0f505235":129,"0x0fffffff":180,"0x1":[276,278,280,282],"0x10":[21,256,263,264,278],"0x100":21,"0x1000":[90,278,280],"0x10000":94,"0x10000000":180,"0x10010000":262,"0x10036413":262,"0x10076413":260,"0x1010":90,"0x103":21,"0x11":[21,24,255,264,275],"0x12":21,"0x13":21,"0x14":21,"0x1400":275,"0x15":[21,276,278],"0x16":21,"0x17":21,"0x18":[21,275],"0x1800":31,"0x1808":31,"0x180a":31,"0x19":[21,208],"0x1a":21,"0x1b":21,"0x1c":[21,276],"0x1d":21,"0x1e":21,"0x1f":21,"0x2":[278,280],"0x20":[21,33,94,256,263,275,276],"0x200":[21,278,280],"0x2000":[278,280],"0x20000":276,"0x20000000":94,"0x20002290":260,"0x20002408":256,"0x20008000":256,"0x21":[21,33],"0x21000000":256,"0x22":[21,24,33,264],"0x23":[21,33],"0x24":21,"0x25":[21,275],"0x26":21,"0x27":21,"0x28":21,"0x2800":275,"0x29":21,"0x2a":21,"0x2ba01477":263,"0x2c":21,"0x2d":[21,275],"0x2e":21,"0x2f":21,"0x30":[21,256,263,275],"0x300":21,"0x311":278,"0x32":[21,278],"0x33":24,"0x34":21,"0x35":21,"0x36":21,"0x37":21,"0x374b":260,"0x38":21,"0x39":21,"0x3a":21,"0x3a000":94,"0x3b":21,"0x3c":21,"0x3c00":275,"0x3d":21,"0x3e":21,"0x3f":21,"0x4":[278,280],"0x40":[21,256,263,276],"0x400":21,"0x4000":[278,280],"0x40007000":276,"0x4001e504":263,"0x4001e50c":263,"0x40number":188,"0x41000000":260,"0x42000":62,"0x44":[24,275],"0x4400":275,"0x46":188,"0x4f":276,"0x50":[256,263],"0x500":21,"0x5000":275,"0x55":24,"0x6":275,"0x60":[256,263,275],"0x61":276,"0x62":275,"0x65":275,"0x66":24,"0x68":275,"0x69":275,"0x6c":275,"0x6c00":275,"0x6d":275,"0x6e":275,"0x70":[256,263,275],"0x72":[275,276],"0x7800":275,"0x7fefd260":129,"0x7fff8000":276,"0x7fffffff":180,"0x8":275,"0x80":276,"0x8000":62,"0x8000000":262,"0x80000000":180,"0x8079b62c":129,"0x81":188,"0x8801":275,"0x8c":188,"0x8d":188,"0x90":276,"0x96f3b83c":129,"0x9c01":275,"0x9f":275,"0xa":275,"0xa0":278,"0xa001":275,"0xa7":276,"0xaf":276,"0xb3":276,"0xb401":275,"0xb5":276,"0xbead":276,"0xcc01":275,"0xd2":276,"0xd801":275,"0xdead":276,"0xe401":275,"0xe7":276,"0xf":275,"0xf001":275,"0xf395c277":129,"0xfb":278,"0xfe":275,"0xff":[129,180],"0xffff":[30,191,275],"0xfffffffe":180,"0xffffffff":[92,99,129,180,207,256],"0xffffffff0xffffffff0xffffffff0xffffffff":263,"100kb":102,"1024kbyte":[260,262],"103kb":223,"10m":28,"110kb":223,"128hz":14,"128kb":[9,225],"12c":[259,261,264,276],"12kb":[14,226],"12mhz":9,"132425ssb":31,"132428ssb":31,"132433ssb":31,"132437ssb":31,"132441ssb":31,"14e":289,"14h":[282,289],"1503a0":268,"16kb":[9,225,226],"16kbram":54,"16mb":9,"190a192":275,"1_amd64":[58,61,81,84],"1c15":276,"1d11":285,"1d13":[268,288],"1d560":223,"1eec4":223,"1kb":223,"1mhz":14,"1ms":14,"1st":[14,69],"1ubuntu1":6,"1wx":263,"200mhz":9,"2015q2":[4,12],"2022609336ssb":250,"2022687456ssb":250,"2022789012ssb":250,"2022851508ssb":250,"2042859320ssb":250,"2042937440ssb":250,"248m":6,"250m":240,"256kb":256,"262s":[259,261,264,276],"28a29":275,"28t22":267,"291ebc02a8c345911c96fdf4e7b9015a843697658fd6b5faa0eb257a23e93682":241,"296712s":262,"2a24":49,"2d5217f":82,"2m_interval_max":28,"2m_interval_min":28,"2m_latenc":28,"2m_max_conn_event_len":28,"2m_min_conn_event_len":28,"2m_scan_interv":28,"2m_scan_window":28,"2m_timeout":28,"2msym":22,"300v":[259,261,264,276],"30j":275,"32kb":[226,256],"32mb":9,"32wx":[256,263],"363s":[259,261,264,276],"3_1":37,"3mb":82,"46872ssb":275,"4_9":4,"4fa7":276,"500m":240,"512kb":94,"54684ssb":275,"575c":223,"5kb":102,"5ms":14,"6lowpan":22,"73d77f":72,"78e4d263eeb5af5635705b7cae026cc184f14aa6c6c59c6e80616035cd2efc8f":223,"7b3w9m4n2mg3sqmgw2q1b9p80000gn":56,"7kb":223,"8ab6433f8971b05c2a9c3341533e8ddb754e404":271,"948f118966f7989628f8f3be28840fd23a200fc219bb72acdfe9096f06c4b39b":223,"9cf8af22b1b573909a8290a90c066d4e190407e97680b7a32243960ec2bf3a7f":288,"9mb":59,"abstract":[9,21,96,97,135,152,163,166,174,181,207,209,210,240,275,292],"boolean":[200,226],"break":[21,90,137,235,251,275],"byte":[14,20,24,28,47,67,72,74,90,91,100,129,130,131,133,141,142,154,158,159,161,164,169,170,171,172,173,174,175,180,183,188,191,194,200,223,228,241,243,254,255,264],"case":[2,6,7,14,21,22,31,56,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,90,93,94,98,99,100,129,135,174,180,184,223,224,226,228,229,230,231,232,233,235,237,243,247,251,252,254,255,256,267,268,274,275,276,290],"catch":21,"char":[91,93,98,100,130,131,135,139,140,153,155,156,157,160,161,162,163,165,167,170,172,173,177,178,180,194,198,199,200,201,203,206,215,216,220,221,222,224,226,234,240,243,251,254,255,258,267,275,280,282],"class":[135,264],"const":[88,90,91,94,100,129,130,131,136,153,155,156,157,158,159,160,161,162,163,165,166,167,170,171,172,173,177,178,181,183,185,186,200,205,206,209,215,220,222,224,251,253,254,255,267,274,275,276],"default":[1,2,4,6,7,12,14,21,25,27,28,29,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,62,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,88,90,92,93,94,95,97,98,100,131,132,134,135,136,152,176,191,200,206,207,208,209,210,212,213,214,215,217,222,223,224,225,226,237,238,240,241,247,249,251,254,255,256,257,264,269,274,275,276,278,279,281,282,284,289],"enum":[100,130,187,192,194,200,207,274,275],"export":[1,11,24,61,62,81,83,84,88,130,131,135,137,206,207,208,209,210,238,277,278,280],"final":[8,56,90,92,94,129,143,180,182,202,223,242,243,246,249,274,276],"float":[65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,102,200,207,277],"function":[1,7,9,15,21,24,32,62,85,87,88,89,90,91,93,95,96,97,98,100,129,130,131,135,136,137,139,147,151,152,153,154,155,156,157,159,161,162,163,165,167,168,169,170,172,174,175,177,180,181,182,184,187,188,189,190,191,192,193,194,197,199,201,202,203,204,205,206,208,210,213,215,216,217,218,220,221,223,227,228,229,230,231,232,234,235,237,238,240,241,246,249,250,252,254,255,257,258,264,267,269,274,275,276,278,282,287,289,290,292],"goto":[98,160,205,209,218,219,274,275,276],"i\u00b2c":188,"import":[11,56,58,81,90,94,101,102,188,243,246,249,252,276],"int":[1,14,21,27,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,85,87,88,90,91,93,98,100,101,130,131,135,136,137,139,140,142,143,144,145,146,147,148,149,150,151,153,154,155,156,157,158,160,161,162,163,164,165,166,167,169,170,171,172,173,177,178,179,181,183,184,185,187,188,190,191,192,193,194,195,198,199,200,201,202,203,204,205,208,209,215,216,218,219,220,221,222,224,226,228,229,230,232,233,234,240,242,243,249,251,252,253,254,255,258,267,274,275,276,280,282],"long":[3,14,22,25,29,90,93,99,102,152,170,180,188,223,263,282],"new":[2,3,4,6,10,11,14,22,24,25,28,31,32,35,40,42,46,47,51,54,58,59,60,62,86,90,94,97,100,129,131,141,142,143,152,153,162,167,174,177,178,182,188,196,215,223,224,226,237,241,243,245,246,247,252,253,254,255,256,259,260,261,262,263,264,267,268,269,275,276,277,279,292],"null":[85,87,88,90,91,92,93,94,98,99,100,130,131,136,153,157,161,164,172,174,180,186,191,205,206,208,209,215,220,222,225,226,240,243,249,252,253,254,255,258,274,275,276,277,280,282],"public":[20,26,28,30,31,33,58,67,81,85,88,90,91,92,98,99,100,101,129,130,131,188,191,193,254,255],"return":[19,27,85,86,87,88,90,91,92,93,94,98,99,100,101,130,131,136,141,153,183,186,187,188,191,192,193,194,195,200,208,209,212,226,240,243,249,251,252,253,256,258,264,267,274,275,276,278,280,282,286],"short":[90,92,215,243],"static":[20,27,67,85,88,91,93,94,98,99,130,131,136,140,181,199,201,202,204,205,206,208,209,216,218,219,220,221,222,228,237,240,247,249,251,252,253,254,255,258,274,275,276,277,280,282],"switch":[10,12,21,59,72,78,82,86,93,94,100,129,182,196,215,238,246,247,251,252,274,275,276,282,289],"transient":252,"true":[8,12,14,87,91,98,101,205,223,228,241,267,276,285,288],"try":[2,14,21,22,24,90,153,180,188,237,242,246,247,250,256,257,258,259,260,261,263,268,270,275,276,278,282,284,289],"var":[51,56,66,67,98,130,167],"void":[21,27,85,86,87,88,90,91,93,98,100,101,130,131,135,136,137,139,151,153,154,158,160,161,163,164,167,169,170,171,172,173,179,181,183,184,185,187,188,190,191,192,193,194,195,197,199,200,206,208,209,211,216,217,218,220,221,222,226,228,229,230,232,233,234,235,240,243,249,251,252,253,254,255,258,274,275,276,277,280,282],"while":[4,6,7,8,22,24,27,50,56,62,90,91,93,94,98,100,102,131,137,139,153,155,156,157,162,165,180,194,200,205,209,223,226,228,233,238,240,243,254,255,258,265,267,274,275,276,280,282,289,290],AES:23,ANS:248,Adding:[57,80,292],And:[62,129,141,223,225,242,243,245,250,274,275,276],Are:14,But:276,CTS:[194,247],FOR:4,For:[2,3,5,6,7,8,11,12,14,21,23,24,25,30,31,35,38,40,51,54,56,58,59,60,61,62,63,67,84,85,90,93,94,97,101,102,129,135,136,153,171,174,175,180,181,184,187,188,191,200,206,207,208,209,210,211,221,223,224,225,226,233,235,237,240,241,246,251,252,253,254,255,256,258,260,261,262,264,267,268,269,270,276,278,280,282,285,288,289,290,292],IDE:[5,12],IDs:129,Its:[95,101,102,237,270],NOT:[157,188,193,276],Not:[7,21,30,87,90,180,182,187,191,223,276],One:[6,21,93,102,180,223,237,249,268],PCs:8,QoS:[21,22],RTS:[194,247],Such:[180,254,255,270],TMS:256,That:[2,14,21,62,141,180,226,254,255,256,264,268,269,275,276],The:[1,2,3,4,5,6,7,8,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,27,28,30,31,32,34,35,38,44,46,47,48,51,56,58,59,60,62,64,65,67,71,72,73,74,76,77,78,79,81,82,83,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,129,130,131,132,133,134,135,136,137,141,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,169,170,171,173,174,175,176,177,178,180,181,182,183,184,185,186,187,188,190,191,192,193,194,195,196,198,199,200,206,207,208,209,210,211,212,213,214,215,216,218,219,220,221,223,224,225,226,228,231,233,235,236,237,238,240,241,242,243,244,245,246,247,249,251,252,253,254,255,256,257,259,260,261,262,263,264,265,267,268,269,270,275,276,277,278,279,280,281,282,284,285,286,287,288,289,290,292],Then:[10,14,34,64,129,141,180,223,237,247,267,275,276,289],There:[4,8,14,23,24,29,58,62,81,85,90,92,94,95,99,100,101,102,130,131,135,161,180,182,187,206,207,212,215,223,224,251,256,264,267,271,276,282,289,290],These:[5,21,28,51,62,90,94,95,97,99,129,130,135,180,188,207,210,211,212,215,225,238,245,249,253,254,255,256,257,262,269,270,277,278],Use:[1,7,8,11,28,29,51,58,59,60,63,72,81,82,83,94,133,141,143,223,237,251,254,255,256,259,264,268,269,275,276,277,279,287],Used:[94,191,194,229,230,232],Uses:[32,43,134,225],Using:[21,50,92,258,287,292],Was:264,Will:21,With:[9,14,21,22,31,90,93,97,129,223,225,242,243,246,289,290,292],Yes:[10,14,20,90,129,134,244],__arg:98,__asm:260,__builtin_offsetof:224,__etext:262,__ev:88,__f:98,__hdr:90,__itvl:98,__n:90,__name:100,__om:90,__omp:90,__sc:98,__size:100,__t1:[87,101],__t2:[87,101],__type:90,__wfi:260,_access:251,_adc:276,_addr:254,_addr_:[254,255],_app:254,_build:[34,64],_cfg:[208,209],_cli:[209,210,278],_cnt:141,_config:[207,208,209,280],_file:153,_gatt_ac:251,_imghdr_siz:94,_init:[207,208,209],_log:209,_name:226,_nrf52_adc_h_:276,_object:200,_ofb:[208,210,278],_onb:[208,210,282],_pad1:129,_pad2:129,_pad3:129,_pad:[92,129],_param:215,_rea:200,_reserv:207,_resource_t:277,_sbrk:183,_senseair_h_:275,_sensor:208,_set:254,_shell_init:[209,278],_stage:226,_stat:209,a600anj1:223,abbrevi:249,abc:267,abil:[6,23,32,56,90,243],abl:[2,14,90,94,135,136,238,244,250,254,255,256,269,275,276],abort:[50,191,216,220,225,226,228,267,280],about:[1,3,10,14,24,30,41,58,59,60,63,65,81,82,83,91,93,94,98,100,101,141,142,146,180,200,211,223,224,236,237,240,243,249,252,253,254,255,259,263,264,270,276],abov:[9,14,15,20,90,93,98,101,129,153,161,180,188,191,215,223,224,225,226,238,246,249,251,254,255,258,264,267,269,274,276],absent:[129,180],absolut:[90,193],abstrat:141,acc:278,accel:[278,282],accel_rev:278,acceleromet:[207,209,277,278,279,282],accept:[21,28,137,161,180,188,194,196,237,256,260,262,264,269],access:[16,21,22,28,60,62,65,71,81,82,83,87,89,90,92,93,94,99,135,136,137,141,153,161,168,170,174,181,182,188,196,206,207,209,210,223,226,233,240,246,253,256,267,275],access_:253,access_cb:[251,253,274],access_fla:161,access_flag:[161,163],accgyro:278,accommod:[25,90,97,129,180,254],accompani:14,accomplish:[9,14,56,174,180,251],accord:[14,94,129,233,234],accordingli:[25,94,100],account:[10,62,90,129],accur:262,achiev:[27,180,254,255],ack_rxd:264,acknowledg:264,acl:21,acquir:[27,92,99,180,188],acquisit:188,across:[31,32,56,62,63,135,180,182],act:[23,31,196,223],action:[9,14,28,63,237,243,249,253,264,276],activ:[12,17,18,22,48,72,94,100,130,191,196,223,237,241,249,264,285,288,289,290],actual:[2,7,14,35,78,90,94,100,129,157,164,172,180,184,195,223,225,228,236,243,246,254,255,256,269,270,271,276],ad_fil:153,adafruit:[8,276,278],adapt:[22,97,256,259,260,268,282],adapter_nsrst_delai:[256,260],adaptor:262,adc0:276,adc:[9,14,54,135],adc_0:276,adc_0_interrupt_prior:276,adc_0_oversampl:276,adc_0_resolut:276,adc_buf_read:276,adc_buf_releas:276,adc_buf_s:276,adc_buf_set:276,adc_chan_config:276,adc_config:276,adc_dev:276,adc_event_handler_set:276,adc_evq:276,adc_hw_impl:54,adc_init:276,adc_nrf52:276,adc_number_channel:276,adc_number_sampl:276,adc_read:276,adc_read_ev:276,adc_result:276,adc_result_mv:276,adc_sampl:276,adc_sns_str:276,adc_sns_typ:276,adc_sns_val:276,adc_stack:276,adc_stack_s:276,adc_stm32f4:135,adc_task:276,adc_task_handl:276,adc_task_prio:276,add:[1,2,4,6,7,11,12,14,28,38,40,51,56,58,59,60,62,63,81,88,90,93,97,99,101,102,131,132,141,153,182,188,208,209,216,224,226,237,238,240,241,242,243,246,247,250,256,257,258,265,267,268,269,278,279,280,281,283,285,286,287,288,292],added:[10,12,33,54,56,82,90,94,99,100,129,131,136,138,153,188,215,240,241,256,258,268,270,274,275,285,286,288,292],adding:[2,14,32,38,56,90,94,95,101,141,224,246,258,267,269,270,274,275,276],addit:[1,12,14,22,30,44,56,62,63,90,94,95,97,129,135,153,180,188,206,223,226,228,231,237,238,243,246,249,256,257,259,260,262,263,264,275,286],addition:63,addr:[28,31,136,200,205,247,254,255,278],addr_typ:[28,31],address:[14,21,22,23,26,28,30,32,33,56,67,90,91,93,129,135,136,137,152,180,185,188,191,200,207,209,223,241,247,251,264,268,282,289],aditihilbert:4,adjust:[14,21,90,94,240,242],admin:[4,247],administr:[11,13],adress:28,adsertis:28,adv:[14,22,28,31,32],adv_channel_map:275,adv_data:28,adv_field:[249,254],adv_filter_polici:275,adv_itvl_max:275,adv_itvl_min:275,adv_param:[249,252,254,255],advanc:[60,169,180,289,290],advantag:252,advantang:249,adverb:63,adverti:[254,255],advertis:[16,21,22,25,27,32,33,67,241,248,250,252,274,275,276,277],advertise_128bit_uuid:277,advertise_16bit_uuid:277,advertising_interv:[28,30],advic:[95,96],advinterv:30,aes:[256,259,261,263,268,285,286,288],aesni:[285,286],af80:276,affect:[129,169,174,175,181,206,223,246,265],aflag:[1,51,62],after:[4,8,11,14,23,27,31,42,51,56,58,59,62,81,82,87,90,91,95,100,101,129,130,135,139,143,147,153,174,180,188,191,194,209,223,225,231,237,238,241,243,244,247,249,251,252,253,256,257,268,269,278,282],afterward:275,again:[8,14,21,27,58,60,81,94,100,129,141,223,224,243,249,256,259,260,261,262,263,264,276,288],against:[14,23,90,93,101],agnost:153,agre:[275,276],agreement:[275,276],ahead:101,aid:[62,209],aim:[21,136,153,248,292],ain0:276,ain1:276,air:[21,90,223,238,264,283,292],air_q:275,air_qual:[274,275,276],albeit:245,alert:248,algorithm:[22,86],align:[90,91,141,243],all201612161220:76,all:[1,2,3,6,7,8,9,10,12,15,16,17,18,19,21,22,23,25,27,28,29,30,31,32,36,41,42,44,50,51,52,53,54,56,62,67,73,76,90,92,93,94,95,97,98,100,101,129,130,131,135,141,145,151,153,160,161,164,166,167,170,172,174,176,178,180,181,182,184,191,200,206,207,208,209,210,211,212,213,215,220,223,224,225,226,231,233,236,237,238,242,244,246,247,248,249,250,251,252,253,254,255,258,260,262,264,265,267,269,270,271,272,274,275,276,278,280,282,285,288],alloc:[74,78,88,89,90,91,152,180,220,249,251],allow:[2,3,4,6,8,9,12,14,21,22,28,32,40,51,56,58,59,60,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,88,90,92,93,97,99,129,131,135,153,174,180,183,188,191,192,206,210,211,212,214,215,223,224,226,230,234,237,238,240,243,247,249,252,254,258,259,264,268,276,278,282,284],almost:[8,243],alon:234,along:[14,62,90,91,100,218,275],alongsid:[243,254],alphabet:[180,226],alreadi:[6,7,8,11,14,21,25,32,44,59,60,82,83,87,96,97,129,136,147,154,160,161,166,167,168,173,180,187,193,237,242,245,246,256,258,259,260,261,262,263,264,268,274,276,277,285,288,289,290],also:[1,3,5,6,7,8,11,12,14,22,24,25,28,35,38,41,56,58,59,60,61,62,67,81,84,90,91,93,94,97,99,100,101,129,130,131,132,135,136,141,153,174,180,191,194,196,206,207,208,209,211,213,215,223,224,225,226,237,238,240,243,246,249,252,253,257,258,264,265,267,268,269,270,274,275,276,278,279,280,281,282,285,286,288],alt:288,altern:[6,129,141,223,251],although:269,altogeth:[85,274],alwai:[8,14,62,94,101,129,157,159,161,162,169,171,180,184,245,251,254,255,262,267,269,270,275,292],ambigu:21,ambiti:246,amd64:[58,81],amend:[1,33,51,63,241,265,289,290],amg:278,among:[86,94,129,177,223],amongst:90,amount:[25,90,91,96,153,172,206,223,243,249],analog:[135,283],analyz:[12,290],android:[277,279,281,284],ani:[1,4,8,10,14,15,22,23,28,34,50,51,60,62,64,65,67,74,77,78,81,82,83,85,87,88,90,91,92,93,94,96,98,99,100,101,129,131,136,137,153,160,170,174,175,176,177,179,180,191,194,206,209,210,215,223,224,226,234,237,238,241,247,249,258,259,264,270,274,275,276,282,287,292],announc:[249,254,255],annoy:[251,271],anonym:28,anoth:[10,14,22,27,28,31,62,90,92,93,94,95,96,99,100,101,131,187,196,223,225,237,243,249,251,264,275,276,286,289,290],ans:[275,276],answer:93,anymor:[90,243],anyon:14,anyth:[1,8,24,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,223,237,242,246,254,255,257,270,276],apach:[1,2,6,7,10,11,12,14,22,33,34,38,39,40,44,45,51,52,54,56,58,59,60,62,63,64,81,82,83,85,94,129,131,134,135,153,184,223,224,226,227,237,244,246,247,248,250,254,256,257,258,259,260,261,262,263,264,267,268,269,270,275,276,277,278,279,282,284,285,286,287,288,289,290,292],apart:101,api:[1,14,17,18,19,20,21,22,54,56,62,93,97,135,136,163,182,186,209,210,215,224,255,260,277,281],app:[1,7,8,12,14,22,27,30,33,35,38,39,43,44,46,47,48,49,51,54,56,63,74,77,78,94,129,131,135,153,182,192,224,225,226,237,238,240,241,242,243,246,248,249,252,253,254,255,256,258,259,260,261,262,263,267,268,274,275,276,277,278,279,280,281,285,286,287,288,289,292],app_error:276,app_log_init:206,app_util_platform:276,appear:[14,28,30,97,188,243,251,253],append:[90,141,159,169,171,180,267],append_loc:[142,143],append_test:267,appl:[256,282,284,289,290],appli:[12,14,25,101,129,130,131,174,175,180,194,206,223,226,264,267],applic:[1,2,4,5,6,8,9,11,13,14,15,19,21,22,24,25,26,27,29,31,35,40,43,48,51,56,58,59,60,61,62,74,77,78,79,83,84,88,90,94,98,100,129,131,132,133,134,135,153,174,180,185,191,209,210,211,212,213,214,215,221,224,225,226,236,241,245,248,251,252,257,266,267,274,275,281,284,286,287,290,292],applicaton:1,applict:12,approach:[32,94,226],appropri:[63,90,94,97,100,133,135,180,188,191,226,237,242,246,249,252,254,255,257,276,281],approv:10,apps_air_qu:275,apps_bleprph:223,apps_blinki:[56,62],apps_my_sensor_app:282,apr:[259,261,264,276],apropo:[256,282,289,290],apt:[4,6,7,57,61,80,84,247],arbitrari:[129,237,247,256,259,260,261,262,263,264,268,276,278,285,286,288],arbitrarili:[129,180,255],arc4:256,arch:[62,94,97,233,259,260,261,262,263,264,282],arch_sim:[258,282],architectur:[58,81,86,91,94,96,97,101,129,135,152,182,187,243],archiv:[4,7,58,60,62,167,237,238,246,256,258,259,260,261,262,263,264,268,275,276,278,282,285,286,288],arduino:[12,243,257,266,269,275,292],arduino_101:54,arduino_blinki:[12,243,256],arduino_boot:[12,256],arduino_mkr1000:268,arduino_primo_nrf52:[54,259],arduino_zero:256,arduino_zero_debug:256,arduinowifi:268,area:[14,90,94,129,130,141,151,175,177,178,183,226],area_cnt:183,area_desc:[177,178],aren:[14,102],arg:[12,87,90,91,93,98,100,135,151,185,187,191,193,194,206,209,218,228,240,243,251,252,274,275,276,282],argc:[93,100,130,139,140,177,178,198,215,216,220,221,222,226,234,240,243,254,255,258,267,275,280,282],argument:[11,12,14,21,46,51,56,63,85,88,90,91,98,100,101,131,168,184,187,188,191,193,200,206,209,211,215,221,243,249,252,253,254,255,259,261,269,270,282],argv:[100,130,139,140,177,178,198,215,216,220,221,222,226,234,240,243,254,255,258,267,275,280,282],arm:[5,6,7,12,85,94,102,256,262,282,288,289,290],around:[31,90,129,276,277,279],arrai:[24,88,130,140,141,151,174,175,177,178,191,200,201,202,204,205,215,220,226,242,243,249,253],arrang:[94,223],arriv:90,articl:271,artifact:[36,40,51,56,58,59,60,269],ascii:180,asf:[1,269,275,276],ask:[10,14,93,130,194,207,243,262,269,270],aspect:[28,90,129,243],assembl:[1,62,94,97,259,260,261,262,263,264,282],assert:[14,68,90,98,131,158,171,177,178,191,208,224,228,240,243,251,252,253,254,255,258,274,275,276,280,282],assign:[10,14,20,22,24,30,38,51,54,67,91,93,94,100,141,180,181,226,237,251,256,259,260,261,262,263,264,268,276,278,285,288],associ:[23,25,88,90,98,100,129,193,226,228,249,252],assum:[7,12,14,31,44,60,61,83,84,88,90,94,100,129,136,191,196,226,237,238,240,242,245,246,258,264,274,276,277,279,281,282,289,290],assumpt:14,asynchron:194,at45db:[14,136],at45db_default_config:136,at45db_dev:136,at45db_erase_sector:136,at45db_init:136,at45db_read:136,at45db_sector_info:136,at45db_writ:136,at45dbxxx:136,at91samd21g18:256,at91samd:256,ate_m:207,atmel:[2,256,268],atop:[135,182],att:[19,22,29,251],attach:[8,12,90,94,187,192,246,259,264,276,282,289,290],attempt:[21,24,28,90,91,92,100,129,164,172,177,178,179,180,188,226,251,252,253,264],attempt_stat:224,attent:3,attr:[29,31,205],attr_handl:[250,251,252,274,276],attribit:200,attribut:[15,17,18,21,22,29,51,54,63,67,91,95,97,200,205,226,248,251],auth:[14,28,271],authent:[21,23,31,129,250],author:[1,21,44,62,131,267,275,276],auto:[30,136],autocomplet:56,autoconf:56,autom:32,automat:[1,10,22,25,26,43,56,62,95,197,215,224,226,231,238,246,248,249,256,259,260,262,263,267,269,275,276,277,292],autoselect:256,avaial:264,avail:[1,2,3,4,7,9,14,21,22,24,25,30,31,32,33,48,58,59,60,63,65,74,81,82,83,88,90,91,92,98,99,102,129,131,133,135,141,153,164,174,194,196,207,215,223,226,233,236,238,254,258,264,270,276,281,289,290],avail_queu:131,avoid:[62,90,92,93,98,243,277],awai:[21,94,130,251,276],await:3,awar:[249,254,255],b0_0:262,b0_1:262,b1_0:262,b1_1:262,b5729002b340:276,b8d17c77a03b37603cd9f89fdcfe0ba726f8ddff6eac63011dee2e959cc316c2:241,bab:206,back:[8,59,65,70,81,82,83,90,91,101,102,129,130,131,188,213,238,253,262,263,275,281,285,286,288],backend:130,backward:[22,129,131,180,215],bad:[129,223,270],badli:93,bake:14,band:[22,23,28],bank:262,bar:[12,130,292],bare:[85,248,254,255,292],base64:[7,130,131,264,282],base:[1,2,4,6,7,12,14,21,22,25,32,35,40,56,58,59,60,62,90,102,133,135,137,169,182,183,188,225,243,247,253,256,259,260,262,263,268,277,278,282],baselibc:[7,14,49,94],baselin:134,bash:[2,12,56,60,94],bash_complet:37,bash_profil:[11,59,61,82,84],bashrc:56,basi:[9,20,23,100,270,275,276],basic:[1,14,15,22,30,31,32,62,90,94,100,102,135,153,183,185,187,194,223,238,241,246,247,264,269,271,273,274,284,286,287],batch:94,batteri:[9,25,32,97,254],baud:[67,131,247],baudrat:[136,191,194],bbno055_cli:278,bc_acc_bw:[209,280],bc_acc_rang:[209,280],bc_mask:[209,280],bc_opr_mod:[209,280],bc_placement:209,bc_pwr_mode:[209,280],bc_unit:[209,280],bc_use_ext_xt:280,bcfg:280,bd_addr:21,be9699809a049:72,beacon:[15,245,246,257],bearer:[14,22,33],becaus:[8,12,14,21,23,27,31,51,88,129,170,180,181,188,191,207,209,212,216,223,225,243,267,269,271,275,277,278,279,282],becom:[23,32,129,249,252],been:[4,10,14,21,27,37,44,56,59,60,62,78,82,83,85,89,90,91,100,129,130,139,141,153,154,166,174,180,191,194,223,226,244,247,252,256,259,264,268,274,275],befor:[2,4,7,8,12,14,21,42,51,58,62,81,85,87,89,90,92,93,94,98,100,101,102,129,130,131,141,147,174,175,179,191,193,194,195,200,211,212,215,217,223,224,226,233,234,238,240,243,246,247,248,249,251,254,255,257,258,260,264,267,268,276,281,284,287],begin:[14,27,90,100,130,141,149,194,247,250,252,254,255,267,269],beginn:292,behav:[21,31,93,254,255,267],behavior:[60,93,97,162,163,174,243,251,253,267,268,290],behaviour:90,behind:[90,101],being:[14,21,90,91,93,98,100,101,129,130,136,153,180,187,188,189,198,199,223,228,243,250,252,267,292],bell:99,belong:[15,91,129,180,253],below:[1,2,4,6,12,14,19,21,23,24,25,31,44,63,90,93,94,95,99,100,129,131,133,136,154,161,164,180,181,193,209,223,237,243,246,251,253,256,259,260,262,263,264,265,267,269,270,271,276,277,278,280,284,292],benefit:[10,93,180,226,236,240],best:[14,90,94,161,200,270],beta:[135,276],better:[14,129,224],between:[7,12,22,27,28,32,38,47,56,99,101,131,180,187,188,198,200,210,223,225,226,238,240,247,259,264,270,276,278,282],beyond:[90,180],bhd:67,big:[24,62,90,264,270],bigger:223,bin:[2,4,7,11,12,14,35,36,38,39,44,47,49,51,56,58,59,60,61,62,81,82,83,84,94,169,170,223,226,237,238,241,242,246,247,250,256,258,259,260,261,262,263,264,267,268,275,276,278,282,285,286,288,289,290],bin_basenam:62,binari:[4,7,11,14,35,38,40,56,59,61,62,80,82,84,102,133,188,258],binutil:4,bit:[7,15,24,26,28,30,58,59,60,67,82,83,87,90,91,100,101,102,129,180,188,189,191,194,207,209,211,212,223,224,243,246,251,252,253,254,255,268,270,274,276,277,282,289,290],bitbang:189,bitmap:91,bitmask:100,bits0x00:28,bl_rev:278,bla:206,blank:14,ble:[15,19,20,24,27,31,32,62,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,88,90,129,133,134,223,226,238,241,245,247,249,251,252,253,257,273,274,275,279,281,284,292],ble_:251,ble_addr_t:[254,255],ble_addr_type_publ:252,ble_app:[246,254,255],ble_app_advertis:[254,255],ble_app_on_sync:[254,255],ble_app_set_addr:[254,255],ble_att:[77,238,251],ble_att_err_attr_not_found:21,ble_att_err_attr_not_long:21,ble_att_err_insufficient_authen:21,ble_att_err_insufficient_author:21,ble_att_err_insufficient_enc:21,ble_att_err_insufficient_key_sz:21,ble_att_err_insufficient_r:[21,274,276],ble_att_err_invalid_attr_value_len:[21,251],ble_att_err_invalid_handl:21,ble_att_err_invalid_offset:21,ble_att_err_invalid_pdu:21,ble_att_err_prepare_queue_ful:21,ble_att_err_read_not_permit:21,ble_att_err_req_not_support:21,ble_att_err_unlik:[21,274,276],ble_att_err_unsupported_group:21,ble_att_err_write_not_permit:21,ble_att_svr_entry_pool:74,ble_att_svr_prep_entry_pool:74,ble_eddystone_set_adv_data_uid:254,ble_eddystone_set_adv_data_url:254,ble_eddystone_url_scheme_http:254,ble_eddystone_url_suffix_org:254,ble_err_acl_conn_exist:21,ble_err_auth_fail:21,ble_err_chan_class:21,ble_err_cmd_disallow:21,ble_err_coarse_clk_adj:21,ble_err_conn_accept_tmo:21,ble_err_conn_establish:21,ble_err_conn_limit:21,ble_err_conn_parm:21,ble_err_conn_rej_bd_addr:21,ble_err_conn_rej_channel:21,ble_err_conn_rej_resourc:21,ble_err_conn_rej_secur:21,ble_err_conn_spvn_tmo:21,ble_err_conn_term_loc:21,ble_err_conn_term_m:21,ble_err_ctlr_busi:21,ble_err_diff_trans_col:21,ble_err_dir_adv_tmo:21,ble_err_encryption_mod:21,ble_err_host_busy_pair:21,ble_err_hw_fail:21,ble_err_inq_rsp_too_big:21,ble_err_instant_pass:21,ble_err_insufficient_sec:21,ble_err_inv_hci_cmd_parm:21,ble_err_inv_lmp_ll_parm:21,ble_err_link_key_chang:21,ble_err_lmp_collis:21,ble_err_lmp_ll_rsp_tmo:21,ble_err_lmp_pdu:21,ble_err_mac_conn_fail:21,ble_err_mem_capac:21,ble_err_no_pair:21,ble_err_no_role_chang:21,ble_err_page_tmo:21,ble_err_parm_out_of_rang:21,ble_err_pending_role_sw:21,ble_err_pinkey_miss:21,ble_err_qos_parm:21,ble_err_qos_reject:21,ble_err_rd_conn_term_pwroff:21,ble_err_rd_conn_term_resrc:21,ble_err_rem_user_conn_term:21,ble_err_repeated_attempt:21,ble_err_reserved_slot:21,ble_err_role_sw_fail:21,ble_err_sco_air_mod:21,ble_err_sco_itvl:21,ble_err_sco_offset:21,ble_err_sec_simple_pair:21,ble_err_synch_conn_limit:21,ble_err_unit_key_pair:21,ble_err_unk_conn_id:21,ble_err_unk_lmp:21,ble_err_unknown_hci_cmd:21,ble_err_unspecifi:21,ble_err_unsupp_lmp_ll_parm:21,ble_err_unsupp_qo:21,ble_err_unsupp_rem_featur:21,ble_err_unsupport:21,ble_ga:253,ble_gap:[14,77],ble_gap_adv_param:[254,255],ble_gap_adv_set_field:249,ble_gap_adv_start:[249,252,254,255],ble_gap_chr_uuid16_appear:[251,253],ble_gap_chr_uuid16_device_nam:[251,253],ble_gap_chr_uuid16_periph_pref_conn_param:251,ble_gap_chr_uuid16_periph_priv_flag:251,ble_gap_chr_uuid16_reconnect_addr:251,ble_gap_conn_desc:252,ble_gap_conn_find:252,ble_gap_conn_fn:249,ble_gap_conn_mode_und:[249,252],ble_gap_disc_mode_gen:[249,252],ble_gap_ev:252,ble_gap_event_conn_upd:252,ble_gap_event_connect:252,ble_gap_event_disconnect:252,ble_gap_event_enc_chang:252,ble_gap_event_fn:[254,255],ble_gap_event_subscrib:252,ble_gap_svc_uuid16:[251,253],ble_gap_upd:74,ble_gap_update_param:14,ble_gatt:77,ble_gatt_access_ctxt:[251,274,276],ble_gatt_access_op_read_chr:[251,274,276],ble_gatt_access_op_write_chr:[251,274,276],ble_gatt_chr_def:[251,253,274],ble_gatt_chr_f_notifi:274,ble_gatt_chr_f_read:[251,253,274],ble_gatt_chr_f_read_enc:274,ble_gatt_chr_f_writ:274,ble_gatt_chr_f_write_enc:274,ble_gatt_register_fn:253,ble_gatt_svc_def:[251,253,274],ble_gatt_svc_type_primari:[251,253,274],ble_gattc:77,ble_gattc_proc_pool:74,ble_gatts_chr_upd:[274,276],ble_gatts_clt_cfg_pool:74,ble_gatts_find_chr:[274,276],ble_gatts_register_svc:253,ble_h:[14,15,16,17,18,20,21,24,27,77,254,255,276],ble_hci_ram_evt_hi_pool:74,ble_hci_ram_evt_lo_pool:74,ble_hci_uart_baud:247,ble_hs_:253,ble_hs_adv_field:[249,254],ble_hs_att_err:21,ble_hs_cfg:[27,254,255],ble_hs_conn_pool:74,ble_hs_eagain:21,ble_hs_ealreadi:21,ble_hs_eapp:21,ble_hs_eauthen:21,ble_hs_eauthor:21,ble_hs_ebaddata:21,ble_hs_ebusi:21,ble_hs_econtrol:21,ble_hs_edon:21,ble_hs_eencrypt:21,ble_hs_eencrypt_key_sz:21,ble_hs_einv:[14,21],ble_hs_emsgs:21,ble_hs_eno:21,ble_hs_enoaddr:21,ble_hs_enomem:21,ble_hs_enomem_evt:21,ble_hs_enotconn:21,ble_hs_enotsup:21,ble_hs_enotsync:21,ble_hs_eo:21,ble_hs_ereject:21,ble_hs_erol:21,ble_hs_err_sm_peer_bas:21,ble_hs_err_sm_us_bas:21,ble_hs_estore_cap:21,ble_hs_estore_fail:21,ble_hs_etimeout:21,ble_hs_etimeout_hci:21,ble_hs_eunknown:21,ble_hs_ev_tx_notif:88,ble_hs_event_tx_notifi:88,ble_hs_forev:[252,254,255],ble_hs_hci_cmd_send:275,ble_hs_hci_err:21,ble_hs_hci_ev_pool:74,ble_hs_id:24,ble_hs_id_gen_rnd:[24,254,255],ble_hs_id_set_rnd:[20,24,254,255],ble_hs_l2c_err:21,ble_hs_reset_fn:27,ble_hs_sm_peer_err:21,ble_hs_sm_us_err:21,ble_hs_sync_fn:27,ble_ibeacon_set_adv_data:255,ble_l2cap:77,ble_l2cap_chan_pool:74,ble_l2cap_sig_err_cmd_not_understood:21,ble_l2cap_sig_err_invalid_cid:21,ble_l2cap_sig_err_mtu_exceed:21,ble_l2cap_sig_proc_pool:74,ble_ll:[77,78],ble_ll_cfg_feat_le_encrypt:223,ble_ll_conn:77,ble_ll_prio:226,ble_lp_clock:25,ble_max_connect:[277,279],ble_mesh_dev_uuid:33,ble_mesh_pb_gatt:33,ble_own:[254,255],ble_own_addr_random:[254,255],ble_phi:77,ble_public_dev_addr:24,ble_rigado:48,ble_role_broadcast:279,ble_role_peripher:279,ble_sm_err_alreadi:21,ble_sm_err_authreq:21,ble_sm_err_cmd_not_supp:21,ble_sm_err_confirm_mismatch:21,ble_sm_err_cross_tran:21,ble_sm_err_dhkei:21,ble_sm_err_enc_key_sz:21,ble_sm_err_inv:21,ble_sm_err_numcmp:21,ble_sm_err_oob:21,ble_sm_err_pair_not_supp:21,ble_sm_err_passkei:21,ble_sm_err_rep:21,ble_sm_err_unspecifi:21,ble_sm_legaci:223,ble_store_config:14,ble_tgt:[246,254,255],ble_uu:253,ble_uuid128_init:276,ble_uuid128_t:276,ble_uuid16:[251,253],ble_uuid16_declar:[274,276],ble_uuid:276,ble_uuid_128_to_16:251,ble_uuid_u16:[274,276],ble_xtal_settle_tim:25,bleadc:276,blecent:[7,62],blehci:[7,62],blehciproj:247,blehostd:67,blemesh:[22,33],blenano:54,bleprph:[7,14,22,62,67,223,241,248,249,250,251,252,253,274,275,276,277,290],bleprph_advertis:[249,252],bleprph_appear:251,bleprph_device_nam:[249,251],bleprph_log:[249,252,274,276],bleprph_oic:[7,62,281],bleprph_oic_sensor:277,bleprph_on_connect:249,bleprph_pref_conn_param:251,bleprph_print_conn_desc:252,bleprph_privacy_flag:251,bleprph_reconnect_addr:251,blesplit:[7,62],bletest:[7,62],bletini:[7,22,38,39,46,47,51,62,72,238,247,250],bletiny_chr_pool:74,bletiny_dsc_pool:74,bletiny_svc_pool:74,bletoh:90,bleuart:[7,62],bleuartx000:14,blink:[1,7,62,94,100,240,242,243,256,257,259,260,261,262,263,276,292],blink_nord:290,blink_rigado:48,blinki:[1,12,14,35,44,45,49,56,62,94,243,246,247,264,268,275,276,284,285,286,288,289,290,292],blinky_callout:258,blinky_sim:62,blksize:91,blksz:[74,286],blob:[21,184],block:[21,30,74,87,88,90,91,99,135,141,144,174,175,176,177,178,188,191,193,194,240,275,286],block_addr:91,block_siz:91,blocks_siz:91,blue:263,bluetooth:[1,9,21,23,24,25,28,30,33,90,223,241,248,249,254,255,257,275,276,292],bmd300eval:[49,54,261,276],bmd:[261,276],bno055:[208,209,277,279,280],bno055_0:[208,278,280],bno055_acc_cfg_bw_125hz:280,bno055_acc_cfg_rng_16g:280,bno055_acc_unit_ms2:280,bno055_angrate_unit_dp:280,bno055_cfg:[209,280],bno055_cli:[278,279],bno055_config:[209,280],bno055_default_cfg:209,bno055_do_format_android:280,bno055_err:209,bno055_euler_unit_deg:280,bno055_get_chip_id:209,bno055_id:209,bno055_info:209,bno055_init:[208,209],bno055_ofb:[208,277,278,279],bno055_opr_mode_ndof:280,bno055_pwr_mode_norm:280,bno055_sensor_get_config:209,bno055_sensor_read:209,bno055_shel:278,bno055_shell_init:278,bno055_stat_sect:209,bno055_temp_unit_degc:280,board:[1,2,4,5,7,8,12,14,24,25,31,40,43,48,54,56,58,59,60,62,93,94,135,182,183,188,209,210,214,223,225,226,237,238,240,241,242,243,247,250,254,255,257,258,274,275,280,281,282,284,287,289,290,292],bodi:[129,280],bold:[237,244],bond:[23,28,30,31,250],bondabl:28,bone:[85,248,254,255,292],bookkeep:141,bool:[91,200],boot:[7,44,62,94,101,102,131,196,237,238,241,247,256,259,260,261,262,263,264,268,275,276,278,282,285,286,288],boot_boot_serial_test:7,boot_bootutil:223,boot_build_statu:129,boot_build_status_on:129,boot_clear_statu:129,boot_copy_area:129,boot_copy_imag:129,boot_erase_area:129,boot_fill_slot:129,boot_find_image_area_idx:129,boot_find_image_part:129,boot_find_image_slot:129,boot_go:129,boot_img_mag:129,boot_init_flash:129,boot_load:94,boot_mag:129,boot_move_area:129,boot_nrf52dk:275,boot_olimex:262,boot_read_image_head:129,boot_read_statu:129,boot_select_image_slot:129,boot_seri:[7,14,131],boot_serial_setup:7,boot_slot_addr:129,boot_slot_to_area_idx:129,boot_swap_area:129,boot_test:7,boot_vect_delete_main:129,boot_vect_delete_test:129,boot_vect_read_main:129,boot_vect_read_on:129,boot_vect_read_test:129,boot_write_statu:129,bootabl:[223,241,285,288],bootload:[1,12,44,48,94,97,102,131,192,196,237,241,243,257,258,275,276,277,279,287],bootutil:[7,14,102,129,131,256,259,260,261,262,263,264,268,275,278,285,286,288],bootutil_misc:[7,256,259,260,261,263,278,285,286,288],both:[6,9,11,15,21,23,28,30,40,56,58,59,60,63,90,92,94,99,129,130,132,135,174,180,188,191,200,206,223,225,226,236,256,258,264,267,268,271,276],bottl:[59,82],bottom:[12,94,98,100,250],bound:[90,94,153],boundari:[90,91,94],box:[12,290],bps:194,branch:[1,4,7,10,11,14,56,57,58,60,61,80,81,83,84,129,244,256,268,269,270],branchnam:10,brand:263,bread:276,breadboard:276,breakdown:223,breakout:8,breakpoint:[256,260],breviti:[223,237,286],brew:[3,4,7,11,37,56,59,61,82,84],brick:129,bridg:180,brief:[14,20,187,254,255,264],briefli:94,bring:[12,94,182,278,281,284],broad:292,broadca:[254,255],broadcast:[14,15,28,32,249,254,255],brows:[250,259,269],browser:244,bsd:102,bsp:[1,7,14,25,33,35,38,39,43,44,46,48,51,56,62,63,93,130,135,174,175,177,178,182,186,187,193,194,207,208,209,210,212,223,226,237,240,246,247,250,256,258,259,260,261,262,263,264,268,275,276,277,278,279,280,282,285,286,288,289,290,292],bsp_arduino_zero:256,bsp_arduino_zero_pro:[256,268],bsp_flash_dev:175,bsp_timer:193,bsppackag:94,bss:[14,49,94,223],bssnz_t:[274,276],bt_mesh_provis:14,btattach:247,btmesh_shel:14,btshell:[14,30],buad:67,buf:[130,136,154,155,156,157,161,162,164,165,169,172,200],buf_len:[90,130],buffer:[14,21,90,91,93,97,98,130,131,135,157,164,170,172,180,188,191,200,206,225,255,276],buffer_len:276,buffer_size_down:289,bug:[4,7,11,161,162,256,260,282,289,290],bui:276,build:[1,2,3,4,5,6,11,32,33,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,81,83,93,94,95,97,129,135,182,188,199,206,210,223,224,225,226,233,240,241,248,249,250,257,267,274,275,284,287,292],build_arduino_blinki:12,build_arduino_boot:12,build_numb:198,build_profil:[1,33,38,39,44,51,54,62,94,223,237,246,247,250,256,259,260,261,262,263,264,268,275,276,277,278,279,282,285,286,288],buildabl:7,builder:244,built:[1,4,7,8,9,14,22,34,35,39,40,43,44,56,58,59,60,61,62,64,82,83,84,90,129,191,206,223,233,237,238,244,246,247,250,254,255,256,257,258,259,260,261,262,263,264,267,268,274,275,276,277,278,282,285,286,288],bundl:[14,56,102,153],burn:[14,254,255],bus:[2,188],buse:[135,182],busi:[21,91,92,243,275],button1_pin:240,button:[2,4,10,12,14,99,240,256,259],bytes_read:[154,161,164,169,172],bytyp:212,c_ev:85,c_evq:85,c_tick:85,cabl:[238,240,241,243,247,256,257,259,260,261,262,264,268,276,282,284,285,287,288],cach:[59,82,135,174,176,182],cache_large_file_test:267,calcul:[21,30,49,91,101,129,141],calendar:9,call:[6,7,9,11,20,22,24,27,37,62,85,86,87,88,89,90,91,92,93,94,98,99,100,101,102,129,130,131,132,133,135,136,139,141,142,143,144,146,147,151,159,162,166,169,172,173,176,177,179,180,181,184,187,188,190,191,192,193,194,195,197,200,206,207,208,209,211,212,213,215,217,218,221,224,226,229,230,231,232,233,234,235,238,240,243,245,246,249,250,251,252,253,254,255,256,258,264,267,269,275,276,277,278,282,287],callback:[21,27,87,88,90,91,131,141,146,151,187,191,193,194,207,208,209,211,213,226,240,249,251,253,254,255,258,275,282],caller:[90,91,131,141,193,199,200,216,220],callout:[88,93,98,212,258,282],callout_l:240,callout_reset:130,came:247,can:[1,2,3,4,5,6,7,8,9,11,12,14,20,21,22,23,24,25,28,31,32,34,35,36,43,46,51,56,58,59,60,61,62,63,64,65,67,73,77,81,82,83,84,85,86,87,88,90,91,92,93,94,95,97,98,99,100,102,129,130,131,132,135,136,137,138,141,142,144,146,147,151,152,153,162,166,167,170,172,174,175,177,180,181,182,187,189,190,191,193,194,195,196,200,206,207,208,209,210,211,212,215,216,220,221,222,223,224,225,226,229,230,232,233,236,237,238,240,241,242,243,244,246,247,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,267,268,269,270,274,275,276,277,278,279,280,282,284,285,286,288,289,290,292],cancel:[21,28,85],candid:269,cannot:[4,20,21,72,87,89,92,93,99,129,152,170,180,183,191,193,226,238,256,268,269,270,271],cap:14,capabl:[14,21,23,28,30,96,131,135,206,223,243,258,289],capac:21,captian:82,captur:180,carbon:274,card:[137,152],care:[14,90,93,100,164,172,254,255,269,270,274],carri:90,cascad:[1,62],cast:[90,91,251],cat:[81,275,276],catastroph:27,categor:94,categori:[14,97],caus:[91,93,99,154,161,162,167,170,180,188,192,225,228,241,243,276,289],caveat:[14,129],cb_arg:[151,193,249,253,254,255],cb_func:193,cbmem:[7,206,228],cbmem_buf:206,cbmem_entry_hdr:228,cbmem_init:206,cbmem_read:228,cbmem_test_case_1_walk:228,cbor:[133,134],cborattr:7,cccd:28,ccm:23,cdc:259,cell:23,cellar:[4,6,11,37,59,61,82,84],central:[14,21,31,248,249,250,252],certain:[1,22,90,91,93,94,135,247,270],certainli:[14,276],cess_op_:251,cfg:[71,172,173,188,191,193,194,208,209,260],cflag:[1,51,62,94],cgi:102,ch_commit:130,ch_export:130,ch_get:130,ch_get_handler_t:130,ch_name:130,ch_set:130,chain:[90,91,200],challeng:265,chanc:[93,100],chang:[1,4,6,7,10,11,14,20,21,22,23,25,29,31,47,50,51,53,58,62,63,81,90,94,95,129,130,180,187,191,207,208,215,223,225,226,237,238,240,242,243,244,247,250,252,254,255,256,260,274,275,276,277,278,279,282,284,289,290],channel:[14,21,22,30,135,276],channel_map:28,chapter:[2,22,97,133],charact:[131,140,157,160,174,180,194,198,199,200,201,202,203,204,215,220,226,253,268,275,282,289],character:25,characteri:[251,253],characterist:[9,17,18,22,28,29,129,250,253,274,276],check:[4,6,8,11,14,21,23,56,57,80,85,88,91,100,130,180,200,209,223,225,226,237,241,246,247,248,259,262,264,267,270,278,280,287],checkbox:60,checkin:[78,98,100],checkout:[10,81,83,257],checksum:[141,143],child:[91,155,156,157,162,165,180],children:180,chip:[4,97,135,136,182,187,191,192,207,209,256,257,259,260,263,268,269,278],chip_id:278,chipset:[135,182,256,268],choic:[2,10,174,247,278],choos:[6,7,10,14,90,100,102,223,224,238,243,246,249,258,259,261,274,276],chose:224,chosen:[90,94,129,152,180,276],chr:[251,274,276],chr_access:251,chr_val_handl:[274,276],chunk:[14,90],ci40:54,cid:250,circuit:188,circular:[14,206,225,226],circularli:270,clang:6,clarif:10,clarifi:135,clariti:137,classif:21,clean:[1,11,34,40,51,58,59,60,64,82,160,178,243,264],cleanli:226,clear:[73,85,90,91,100,129,180],clearli:[8,21],cli:131,click:[2,4,10,12,244,250,254,255,256,259,260,262,288],client:[12,14,18,19,21,22,28,32,153,181,210,254,274],clk:191,clobber:167,clock:[21,26,87,192,256,260,278],clock_freq:87,clone:[10,11,46,51,56,59,82],close:[2,60,135,153,154,155,156,157,158,161,162,164,165,169,170,171,172,173,194,208,256,259,260,262,263,280],closest:193,clue:14,cmake:1,cmd:[56,62,94,185,275,278],cmd_len:275,cmd_pkt:275,cmd_queue:131,cmd_read_co2:275,cmp:275,cmsi:[2,7,14,49,256,259,260,261,262,263,282],cmsis_nvic:[259,260,261,262,263,282],cn4:237,cnt:[74,131,177,178,191,286],co2:[274,275],co2_evq:274,co2_read_ev:274,co2_sns_str:274,co2_sns_typ:274,co2_sns_val:274,co2_stack:274,co2_stack_s:274,co2_task:274,co2_task_handl:274,co2_task_prio:274,coap:[134,210,213,277,281],coars:21,coc:28,code:[1,5,7,9,10,11,13,19,22,25,27,28,30,56,86,90,91,93,96,97,98,101,102,129,130,131,133,135,137,140,153,154,155,156,157,158,160,161,162,164,165,167,169,170,171,172,173,177,178,179,180,181,182,183,187,188,191,193,194,196,206,208,209,210,223,226,228,229,230,232,233,234,238,240,243,248,249,251,252,253,256,257,258,264,266,268,269,275,276,277,280,281,282,284,286,287,292],codebas:[256,268],coded_interval_max:28,coded_interval_min:28,coded_lat:28,coded_max_conn_event_len:28,coded_min_conn_event_len:28,coded_scan_interv:28,coded_scan_window:28,coded_timeout:28,codepag:152,coding_standard:7,coexist:129,collect:[1,7,44,56,62,90,91,133,141,181,200,223,237,269],collis:21,colon:67,color:242,column:20,com11:8,com1:67,com3:[8,258,268,278,285,288],com6:8,com:[8,10,11,12,34,56,58,59,60,64,81,82,83,102,184,237,247,258,268,269,271,278,285,286,288],combin:[1,21,23,27,44,62,93,94,188,246,254,255,269,270],combo:223,come:[3,22,31,56,62,94,102,131,135,206,256,262,263,268,275,276,288],comm:[237,257],comma:[52,67],comman:221,command:[1,2,4,7,8,11,21,31,35,36,37,38,39,41,42,43,45,46,47,48,49,50,52,53,54,55,58,59,60,61,62,68,69,71,72,73,76,77,79,81,82,83,84,94,97,129,132,134,137,139,188,196,197,206,210,216,220,221,222,223,224,225,226,233,237,239,241,242,243,246,254,255,256,258,259,260,261,262,263,264,265,267,268,269,271,272,276,277,278,279,280,282,285,288,289,290],comment:[3,10,14,94,236,292],commerci:275,commit:[10,11,130],common:[56,62,88,90,97,99,100,135,136,182,187,209,210,223,253,260],commonli:[99,191,254],commun:[9,14,22,27,28,32,67,79,131,133,137,188,191,207,208,209,237,240,241,242,243,247,249,252,257,264,268,269,276,278,282,285,286,287,288,292],compani:30,compar:[10,21,90,161,243,259,260,261,264,272,276],comparison:[21,23,90,101],compat:[4,14,22,56,129,131,136,215,216,223,256,264,268,275,278,280,282,289],compens:101,compil:[1,4,5,6,7,8,11,21,35,48,54,56,59,62,82,90,93,94,97,102,135,215,224,233,236,237,238,240,246,256,259,260,261,262,263,264,268,275,276,277,278,282,285,286,288],complaint:22,complementari:32,complet:[9,12,21,23,28,30,31,34,56,60,64,94,96,97,100,129,131,141,155,156,157,162,165,180,182,188,191,194,206,223,231,235,236,240,243,247,249,254,255,260,269,275,276,277,280,281,282,285,286,288],completion_cb:131,complex:[9,32,93,94,135,182,243,245],compli:22,complianc:[275,276],compliant:22,complic:[56,93,223],compon:[1,7,12,19,40,49,56,58,59,60,62,86,94,97,130,135,182,188,191,223,224,238,240,241,247,254,255,257,268,275,284,287],compos:[40,58,59,60,236],composit:200,comprehens:236,compress:[56,82,174,254],compris:[7,129,174,175],comput:[3,4,6,8,12,14,32,57,59,60,80,82,131,143,152,241,243,246,247,256,257,259,260,261,262,263,277,279,284,285,287,288],concept:[12,23,90,93,161,215,226,241,243,245,246,248,256,257,268,284,287],conceptu:14,concern:[3,90,180],concis:133,conclud:[254,255,276],concurr:[1,14,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,85,89,248,249],condit:[4,21,129,180,188,208,215,225,228,267,275,276],condition:[56,208,225,226,278],conduct:[129,133],conf:264,conf_bytes_from_str:130,conf_commit:130,conf_commit_handler_t:130,conf_export_func_t:130,conf_export_handler_t:130,conf_export_persist:130,conf_export_show:130,conf_export_tgt:130,conf_export_tgt_t:130,conf_fcb_dst:130,conf_fcb_src:130,conf_file_dst:130,conf_file_src:130,conf_get_handler_t:130,conf_get_valu:130,conf_handl:130,conf_init:[130,234],conf_int8:130,conf_load:130,conf_regist:[130,228],conf_sav:130,conf_save_on:130,conf_save_tre:130,conf_set_handler_t:130,conf_set_valu:130,conf_store_init:130,conf_str_from_byt:130,conf_str_from_bytes_len:130,conf_str_from_valu:130,conf_typ:130,conf_value_from_str:130,conf_value_set:130,confidenti:23,config:[1,7,14,33,51,62,63,65,79,81,82,83,132,136,152,154,158,161,164,171,193,225,226,234,238,246,275,276,278],config_:208,config__sensor:208,config_bno055_sensor:[208,280],config_cli:130,config_fcb:[130,225],config_fcb_flash_area:[225,226],config_lis2dh12_sensor:208,config_newtmgr:[51,238],config_nff:[130,153,225],config_pkg_init:226,config_test_al:234,config_test_handl:228,config_test_insert:[228,229],configur:[6,7,9,14,20,21,26,27,32,33,51,56,58,59,60,62,63,87,91,93,94,95,97,129,131,133,135,153,174,176,180,182,183,187,188,191,193,194,195,210,211,213,223,227,240,243,246,249,253,256,259,262,263,264,265,271,275,276,278,281,282,284,286,289,290],configuraton:152,confirm:[8,14,21,28,72,129,223,241,264,285,288],confirmbe9699809a049:72,conflict:[62,225,270],confluenc:10,confus:[269,276],congratul:[7,237,250,274,275,276],conifgur:130,conjunct:[32,211],conn:[14,28,29,31,65,66,68,69,70,71,72,73,74,75,76,77,78,79,81,82,83,241,252,254,255,285,286,288],conn_handl:[21,250,251,252,274,276],conn_interval_max:30,conn_interval_min:30,conn_itvl:[31,250],conn_lat:[31,250],conn_mod:252,conn_profil:[66,67,68,69,70,71,72,73,74,75,76,77,78],conn_upd:252,connect:[4,7,8,9,12,16,21,22,23,25,27,29,30,32,39,43,44,56,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,81,82,83,97,131,133,134,135,182,187,188,191,192,223,237,240,248,249,250,251,252,254,255,257,274,275,284,287],connect_don:268,connectable_mod:249,connection_profil:72,connectionless:28,connector:[4,238,247,259,262,264,288],connextra:14,connintervalmax:30,connintervalmin:30,connstr:[14,67,241,285,286,288],conntyp:14,consecut:98,consequ:[21,129,223],conserv:[9,90,97],consid:[22,63,90,93,99,143,188,228,253,269],consider:228,consist:[1,22,32,62,99,100,129,130,133,135,163,180,191,223,225,226,233,253],consol:[1,7,8,12,14,27,56,62,97,102,130,138,155,156,157,162,165,172,194,206,219,226,240,246,247,250,254,255,257,267,275,276,286],console_append_char_cb:131,console_blocking_mod:131,console_compat:131,console_echo:131,console_handle_char:131,console_init:131,console_input:131,console_is_init:131,console_is_midlin:131,console_max_input_len:131,console_non_blocking_mod:131,console_out:131,console_pkg_init:226,console_printf:[14,21,27,131,154,155,156,157,161,162,164,165,169,172,228,274,275,276,282],console_read:131,console_rtt:[131,275,282,289],console_rx_cb:131,console_set_completion_cb:131,console_set_queu:131,console_tick:131,console_uart:[131,275,282,289],console_uart_baud:131,console_uart_dev:131,console_uart_flow_control:131,console_uart_tx_buf_s:131,console_writ:[131,228],consolid:180,consortium:133,constant:[14,191],constantli:[249,268,276,292],constitu:[44,180],constrain:[9,56,134,265],constraint:256,construct:[11,14,90,99],consult:[153,182],consum:[88,99,194],consumpt:23,contact:[95,96,237],contain:[1,3,7,11,14,30,32,35,51,56,62,85,90,91,94,96,97,99,100,101,129,130,131,133,135,138,141,154,157,158,161,164,167,168,169,171,177,180,183,187,194,196,198,199,200,211,219,223,224,226,228,231,233,236,246,247,249,251,253,254,255,264,267,269,270,278,292],content:[12,14,50,62,81,90,94,129,141,142,143,155,156,157,162,165,172,180,193,200,223,234,237,243,249,253,254,255,262,264,267,270,271,278,280],context:[14,56,78,86,87,88,93,100,131,135,140,191,193,215,217,226,238,240,252,258],contigu:[90,129,141,180],continu:[6,14,94,99,130,180,215,223,238,240,242,243,244,247,256,257,262,268,276,279,280,281,282,284,286,287,289],contrast:226,contribut:[13,23,58,59,60,81,82,83,245,267,284],contributor:[182,275,276],control:[8,9,14,19,20,21,22,23,24,26,27,30,32,56,67,97,131,135,141,161,174,182,184,191,194,206,209,215,226,246,260,262,269,270,275,276,281],contruct:250,convei:90,conveni:[12,21,90,130,172,180,199,228],convent:[264,267,278,282],convers:[102,135,251],convert:[1,8,21,72,85,87,90,101,130,135,175,177,178,180,191,200,226,251,253,276],cooper:14,coordin:[277,279],copi:[1,4,46,50,51,63,81,83,90,95,96,129,130,141,180,200,208,223,224,241,249,252,256,275,276,280,282,289,290],copy_don:129,copyright:[4,256,262,275,276,282,289,290],core:[1,6,7,12,22,30,33,38,39,44,49,51,52,54,56,62,63,72,89,94,96,98,133,135,153,182,184,223,224,227,237,243,246,247,248,249,250,256,257,258,259,260,261,262,263,264,267,268,269,270,275,276,277,278,279,282,284,285,286,287,288,289,290,292],core_cminstr:260,core_cmx:14,core_o:[14,131],core_path:62,coreconvert:72,coredownload:72,coredump:[7,183],coredump_flash_area:226,coreeras:72,corelist:72,corner:262,corp:[2,256],correct:[1,2,4,42,91,94,101,129,174,223,226,243,247,260,261,262,264,267,276,278],correctli:[2,14,90,242,247,256,260,267,275,276,277],correspo:253,correspond:[12,21,87,90,91,94,129,163,176,180,181,206,207,249,251,254,255,270,276],corrupt:[91,168,180],corrupt_block_test:267,corrupt_scratch_test:267,cortex:[4,102,259,261,264,268,276,282],cortex_m0:62,cortex_m4:[62,94,259,260,261,262,263,264,282],cortex_m:256,cost:9,could:[14,21,90,99,180,198,251],couldn:[228,249],count:[14,56,82,90,99,100,129,130,180,227],counter:[86,90,224,264],countri:22,coupl:[1,14,262,276],cours:[14,274],cover:[8,62,135,180,226,227,236,243,253],cpha:191,cpol:191,cpptool:12,cpu:[14,86,94,96,135,182,183,190,243,256,260],cputim:[14,25,87,278,282],cputime_geq:87,cputime_gt:87,cputime_leq:87,cputime_lt:87,crank:276,crash:[65,79,81,82,83,98,129,132,192,194,238],crash_test:[7,132,238],crash_test_newtmgr:238,crc16:180,crc:[7,131,137,275],creat:[1,2,3,4,5,6,8,10,11,12,14,23,28,33,35,40,42,44,45,46,47,48,51,56,58,59,60,62,63,67,72,81,82,83,88,91,92,93,96,98,99,100,102,131,135,144,158,160,161,162,167,170,171,173,174,177,180,206,207,209,210,212,213,217,223,224,225,226,233,235,240,242,243,248,253,257,258,269,271,274,280,281,284,287,292],create_arduino_blinki:12,create_mbuf_pool:90,create_path:160,creation:[48,135,237,264,276],creator:[207,208,209,210,212,277,278,280,282],credenti:271,criteria:21,critic:3,cross:[5,6,7,9,97],crt0:49,crti:49,crtn:49,crw:8,crypto:[7,14,256,259,261,263,268,285,286,288],crypto_mbedtl:223,cryptograph:[23,129],cryptographi:23,crystal:26,csrk:28,css:244,cssv6:30,csw:[78,285,288],ctlr_name:67,ctlr_path:67,ctrl:[12,246,278,289],ctxt:[251,252,274,276],cur_ind:252,cur_notifi:252,curi:[250,252],curiou:[3,244],curl:[11,59],curn:[250,252],curr:268,currantlab:[82,83],current:[11,14,25,28,32,40,41,42,45,46,47,51,52,58,59,60,61,72,82,83,84,86,87,90,91,92,93,94,98,99,100,101,129,130,131,135,136,137,138,140,141,152,153,158,159,160,161,171,173,180,187,188,191,193,196,207,215,224,225,228,231,235,237,238,241,243,254,256,257,260,262,264,265,269,270,272,278,282],custom:[14,24,72,91,163,181,183,206,226],cvs:[256,262,282,289,290],cwd:12,cycl:[20,22,32,180],cylind:276,daemon:[2,247],dai:[101,215],dap:[2,256,259,263],darwin10:[256,282,289,290],darwin:6,data:[9,14,15,21,22,28,29,31,32,44,49,65,70,81,82,83,85,87,90,91,93,94,97,100,129,130,131,133,134,142,143,144,145,146,147,151,154,158,160,161,163,164,169,170,171,172,173,176,179,189,191,194,205,208,210,213,214,218,220,223,226,227,243,251,252,254,255,274,275,276,284,290,292],data_len:275,data_mod:191,data_ord:191,databas:29,databit:194,databuf:[90,282],datagram:218,datalen:28,datasheet:94,date:[11,69,152,264,267,275],datetim:[7,65,79,81,82,83,131,132,134,238,267],datetime_pars:267,daunt:249,daylight:101,dbm:[22,28,30],deactiv:223,deal:[90,93,94,135],deb:[58,61,81,84],debian:[4,6],debug:[1,2,4,5,6,7,14,40,44,48,51,56,58,59,60,63,95,209,210,225,237,241,246,247,256,258,259,260,261,262,263,268,275,276,277,278,279,282,285,286,288,289,290],debug_arduino_blinki:12,debug_arduinoblinki:12,debugg:[5,14,39,40,56,58,59,60,62,192,256,259,260,262,263,264,288,289,290],dec:[49,223],decemb:23,decid:[56,86,97,243],decim:[23,188],decis:188,declar:[12,92,100,130,184,193,208,220,230,232,240,267,269,280,282],decod:[130,215,218],decompress:254,dedic:[88,94,97,215,223,238,240,251,289,290],deep:183,deeper:[90,237,264,276],def:[7,208,225,226,276,282],defaultdevic:83,defin:[1,6,14,20,21,22,25,28,29,30,32,35,43,44,48,51,54,62,85,87,88,90,91,93,98,100,129,130,132,134,135,177,178,183,184,186,187,191,206,207,208,210,211,212,213,214,215,221,223,225,226,228,229,231,233,237,240,243,245,247,249,251,257,264,267,269,270,274,275,276,277,278,281,282,285,287,288,289],defininig:32,defininit:199,definit:[1,12,30,36,38,43,51,62,85,90,91,94,129,215,224,233,247,251,253,269,274,276],defint:[90,225],del:28,delai:[27,87,101,193,242,243,264],deleg:223,delet:[1,6,10,12,28,36,40,46,50,51,56,58,59,60,62,63,154,170,174,180,242,265,280,282],delimit:[51,130],deliv:[85,152],delta:[56,82,237],demo:274,demonstr:[21,27,90,160,167,172,264,278,282],denot:90,dep:[1,51,56,62,63,94,131,136,137,152,153,181,182,206,208,215,224,226,238,240,246,258,267,275,276,277,282],depend:[1,4,6,8,14,21,23,25,28,40,42,50,51,53,56,58,59,60,63,67,85,90,96,102,129,131,152,153,161,180,187,188,191,201,206,208,215,224,226,228,231,233,235,243,246,256,267,268,269,272,275,276,278,285,287,288],depict:182,deploi:[44,223,258],deploy:32,deprec:226,depth:[4,96],dequeu:[88,240],deriv:[21,180],desc:[177,178,252],descend:[129,170],describ:[1,2,7,10,11,12,25,29,34,64,91,93,94,95,97,100,129,130,133,141,147,152,174,180,187,189,191,200,205,207,208,209,215,223,225,226,233,237,238,244,246,248,253,254,260,263,264,269,275,276,277,278,280,284],descript:[1,7,10,14,20,28,29,31,56,62,90,94,95,96,130,137,140,142,143,144,145,146,147,148,149,150,151,154,155,156,157,158,159,160,161,162,164,165,167,168,169,170,171,172,173,177,178,198,199,201,202,203,204,205,206,207,208,211,212,216,217,218,219,220,221,222,224,225,226,228,229,230,231,232,237,264,265,267,269,270,275,276,290],descriptor:[17,18,28,29,62,161,162,175,177,178,180,251],design:[22,23,24,56,97,98,101,129,174,180,215,223,235,243,253,267],desir:[87,90,99,193,208,267,272],desktop:10,destin:[4,14,32,90,157,164,167,172,180,188,199,206],detail:[1,10,12,14,22,23,30,56,93,100,129,130,153,174,188,191,207,208,209,211,212,223,237,238,246,249,251,253,254,255,256,264,269,282,289,290],detect:[21,56,91,141,153,174,177,178,192,218,225,226,247],determin:[21,88,90,91,100,129,141,180,193,215,223,226,236,249,252,269,280],determinist:14,dev:[1,2,3,4,7,8,10,11,12,14,49,62,67,83,131,135,136,208,209,226,236,237,241,242,246,247,250,256,258,259,260,261,262,263,264,268,269,270,271,275,276,277,278,280,282,285,286,288,292],dev_found:247,develop:[3,5,6,7,8,9,13,14,21,56,60,62,83,90,91,93,95,96,97,100,133,135,210,213,215,226,236,241,243,247,248,251,254,256,257,259,262,263,269,270,275,276,281,284,288,289,290,292],devic:[3,4,8,9,15,20,21,22,23,26,29,30,32,33,44,56,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,81,82,83,97,129,131,133,134,135,136,137,153,175,182,184,187,188,191,210,211,212,213,223,224,225,226,227,238,245,246,248,249,250,251,253,254,255,256,258,259,260,261,262,263,264,268,274,276,281,282,285,286,287,288,289,290,292],device_id:184,deviceaddr:24,deviceaddrtyp:24,dflt:200,dhcp:268,dhkei:21,diag:194,diagram:[133,243,260,262],dialog:[12,60,290],dictat:[11,63],did:[14,223],diff:275,differ:[4,6,7,8,11,12,21,25,28,31,46,56,58,81,85,90,92,93,94,95,96,97,100,130,135,174,182,187,194,208,223,224,225,226,230,238,240,241,243,246,247,258,259,260,262,265,267,268,269,270,272,275,278,280,282,288,290],differenti:[90,269],difficult:[22,96,129,225],dig:[7,248],digit:[23,135,187,276],dioxid:274,dir:[28,137,153,155,156,157,162,163,165],direct:[10,21,28,188,215,224,270],direct_addr:[254,255],directli:[7,11,15,19,37,153,193,194,206,223,226,254,256,265,267,268,277,280],directori:[1,4,6,7,8,10,11,12,35,36,38,42,44,46,51,56,58,60,61,81,83,84,89,94,95,96,135,137,155,156,157,160,161,162,165,166,167,168,170,172,173,190,192,233,237,242,246,247,256,257,259,260,261,262,263,267,268,269,270,275,276,277,278,282,284,285,287,288,290,292],dirent:[137,155,156,157,162,163,165],dirnam:[155,156,157,162,165],dirti:237,disabl:[6,14,21,23,25,31,87,131,152,180,187,191,194,206,208,209,215,223,225,226,238,252,265,268,277,278,279,282,289],disable_auto_eras:136,disallow:[21,174],disbl:215,disc_mod:[252,275],discard:[180,268],disciplin:247,disclaim:[7,11,56,246],disconnec:28,disconnect:[28,252],discontigu:129,discov:[14,23,28,29,247],discover:[14,28,30,134,213,249,281],discoverable_mod:249,discoveri:[14,29,133,135,137,247,252,257],discret:[174,175],discuss:[10,90,95,208,223,249,278],disjoint:21,disk:[7,129,141,153,154,168,170,174,175],disk_nam:153,disk_op:137,disk_regist:[137,153],dispatch:[93,226,240],displai:[1,6,14,23,28,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,62,63,65,67,70,72,73,74,77,78,81,82,83,130,135,182,226,247,262,264,277,279,284,285,288],displayonli:28,displayyesno:28,dist:[58,81],distanc:[22,224],distinct:23,distinguish:14,distribut:[1,4,6,21,22,28,56,102,129,269,275,276],distro:6,div0:68,dive:90,divid:[19,21,68,130,132,174,175,223],dle:28,dll:[259,261,264,276],dm00063382:237,dma:135,dndebug:51,dnrf52:94,do_task:224,doc:[4,6,7,10,24,34,64,244,256,257,260],docker:[3,7,256,292],dockertest:2,document:[1,4,8,12,15,19,21,24,26,60,63,65,94,98,102,138,152,153,163,181,182,184,223,233,237,241,243,248,251,253,254,255,256,259,261,267,268,269,278,282,285,286,289,290],doe:[7,14,21,23,36,51,62,67,72,88,90,91,93,94,95,100,101,129,130,131,133,135,141,158,162,170,171,174,175,177,180,188,191,196,206,208,209,211,221,224,225,226,238,240,241,243,246,249,256,259,260,261,263,264,265,271,282,287],doesn:[8,14,21,33,98,129,137,158,170,171,223,228,242,243,246,247,249],doing:[14,89,101,135,243,251,258],domain:2,don:[1,10,14,32,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,88,90,130,138,141,164,172,237,251,253,254,255,269,275,276],done:[6,7,8,14,24,26,56,82,92,93,94,101,129,131,141,142,161,162,176,195,196,212,229,230,232,237,238,241,243,247,253,254,255,256,259,260,261,264,268,276,282,289,290],dont:289,doorbel:56,dop:153,doubl:[2,200,262],doubli:180,doubt:[14,253],down:[1,12,62,81,83,187,223,238,260,262,288],downgrad:[6,7],download:[1,2,4,7,10,12,14,30,40,42,43,56,59,60,61,71,72,82,83,84,153,196,244,246,247,256,259,260,261,262,263,267,268,271,282,284,285,286,288,289,290],doxygen:[4,7,89,256,260],doxygengroup:89,dpidr:263,dpkg:[58,61,81,84],drag:21,drain:25,draw:25,drive:[9,14,62,101,135,188],driver:[7,56,136,137,153,182,186,187,189,191,193,194,208,210,212,224,246,256,259,260,261,262,263,268,278,282,288,289],drop:[12,14,27,180,194,260,262,288],dsc:251,dsize:90,dst:[14,46,51,71,90,172,185,199],dsym:[56,62],dtest:51,due:[14,21,91,129,136,141,152,192,256,260,262],dummi:180,dump:[14,130,289],dumpreg:278,duplex:22,duplic:[28,90],durat:[14,20,28,31,101,251,278],duration_m:[254,255],dure:[14,21,23,72,86,94,98,100,129,131,162,180,197,208,223,226,233,243,246,251,258,277,280],duti:[22,32],dwarf:62,dylib:4,dynam:[89,91],e407:[262,288],e407_:262,e407_devboard:[54,262,288],e407_devboard_download:262,e407_sch:288,e761d2af:276,e_gatt:253,eabi:[4,7,12,94,102,256,282,289,290],each:[1,2,10,11,12,14,20,21,22,23,24,29,33,44,49,50,51,62,63,65,67,74,78,88,90,91,93,94,99,101,129,131,135,155,156,157,162,163,165,167,174,175,176,180,182,187,206,207,209,210,211,212,213,215,219,220,223,224,226,238,240,243,251,252,253,254,255,256,267,269,278,280,281,282,292],ead:153,eager:3,earlier:[10,31,58,59,60,81,82,83,130,170,251,254,255,275,276,289],eas:136,easi:[1,2,3,8,9,135,182,188,224,225,228,244,259,276,277],easier:[14,25,94,275],easili:[9,172,210,226,282],east:101,eavesdropp:20,ecdsa256:129,ecdsa:129,echo:[12,14,61,65,79,81,82,83,84,131,132,134,238,268,285,286,288],echocommand:12,eclips:12,ectabl:[254,255],edbg:[2,256],eddyston:[28,257],eddystone_url:[28,30],edg:187,edit:[7,95,152,237,242,264,265,269,280],editign:244,editor:[60,62,237,242,260],ediv:28,edr:[21,30,247],edu:[259,289],ee02:264,eeprom:136,effect:[99,101,130,153,174,175],effici:[14,22,32,90,91,180,256],eid:254,eight:[133,169],einval:87,eir:30,eir_len:247,either:[1,4,6,11,14,22,28,30,31,58,60,62,81,85,86,88,90,91,100,130,131,132,138,141,167,187,188,191,192,223,226,228,231,232,238,254,255,264,275,276,284],elaps:[21,87,101],electron:292,element:[40,54,56,58,59,60,90,91,100,129,130,140,141,142,143,146,148,149,180,200,215,243],elev:92,elf:[7,12,35,39,49,56,62,72,223,237,238,246,247,250,256,258,259,260,261,262,263,264,267,268,275,276,278,282,285,286,288,289,290],elfifi:72,elicit:223,els:[24,86,98,129,155,156,157,162,165,180,209,223,274,275,276,289],elsewher:[248,251,269],emac:275,email:[3,236,292],emb:136,embed:[1,3,4,12,14,40,56,58,59,60,102,129,174,191,236,237,256,262,282,289,290],emit:[56,62],emploi:22,empti:[51,90,100,141,168,180,226,231,245,253,267],emptiv:9,emul:[264,268,280],enabl:[1,8,9,14,25,31,32,33,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,59,60,63,74,77,78,79,88,94,130,131,132,133,135,136,152,182,187,191,195,206,208,209,210,212,213,214,220,225,226,237,240,241,246,249,252,257,266,273,274,275,276,280,284,287,289,290,292],enc:[199,201,202,204],enc_chang:252,encapsul:22,encod:[7,52,130,131,133,134,201,202,203,204,213,215,219,264,267,277,281,282],encoding_cborattr:223,encoding_tinycbor:223,encompass:[15,21],encount:[7,14,21,58,90,130,151,180,243],encourag:135,encrypt:[21,23,28,31,174,250,252],encrypt_connect:21,end:[9,21,29,31,56,90,129,141,159,169,171,180,188,205,226,235,245,246,264,275],endian:[24,62,90,129,191,264],endif:[220,224,226,234,235,258,267,275,276,282],energi:[9,22,23,90,257,292],english:129,enjoi:276,enough:[56,90,97,129,157,196,199],enqueu:[90,193],ensur:[11,12,22,60,90,94,98,101,102,157,182,188,223,224,225,226,238,240,241,243,247,251,257,268,269,270,278,281,284,287],entail:223,enter:[12,23,48,94,215,221,222,224,243,256,258,260,278,282],entir:[2,14,90,91,94,129,174,175,180,243,253,275],entireti:172,entiti:[44,248],entri:[14,21,23,73,130,141,142,143,146,149,151,155,156,157,162,165,172,174,175,180,205,209,215,220,223,253,279],enumer:[129,184,192,207],environ:[3,4,9,12,14,56,59,60,62,83,97,102,135,191,235,247,286],eof:[58,81],ephemer:254,epoch:101,equal:[14,30,73,90,180,206,225,226,228],equat:30,equival:[47,62,136,161,182,276,292],eras:[14,72,129,136,137,141,150,174,175,178,180,185,256,260,261,262,264,276],erase_sector:262,err:[98,160,205,209,218,219,224,274,276],error:[1,2,4,6,7,21,22,27,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,81,83,87,90,92,93,94,98,99,130,136,137,154,155,156,157,158,160,161,162,164,165,167,168,169,170,171,172,173,174,177,178,179,183,187,188,191,193,194,209,223,226,249,251,252,253,256,259,260,262,263,264,267,268,270,274,275,276,277,280,282,288],error_rsp_rx:[77,238],error_rsp_tx:[77,238],error_stat:224,escap:[268,275,282,289],especi:[14,101],essenti:[44,62,226,243],establish:[21,28,79,238,240,249,250,252,259,261,264,276],estim:90,etc:[1,14,22,25,27,37,44,58,81,90,91,93,96,97,129,133,135,182,183,194,198,243,245,252,276],ethernet:[135,182],etyp:276,eui:264,eul:278,euler:278,ev_arg:[85,88,98,131],ev_cb:[85,88,90,131,240],ev_queu:88,eval:[261,276],evalu:[12,87,101,225,226,261,264,269,276],evalut:101,even:[4,10,14,87,90,97,129,152,180,194,200,212,223,274,276,280],event:[14,21,25,26,28,85,90,93,98,100,131,135,206,212,215,217,224,226,238,243,247,249,250,254,255,274,276,280,282,292],event_q:276,event_queu:131,eventq:[90,274],eventq_exampl:240,eventu:[4,100,101,180,275],ever:[90,91,129,141],everi:[1,33,62,98,99,100,135,151,180,191,252,254,256,258,270,282],everyon:[10,243],everyth:[1,94,98,130,223,243,267,268,275],evq:[85,88,90,217],evq_own:88,evq_task:88,exact:[97,129,187,193,224],exactli:[90,94,99,158,171,226],examin:[193,249,251,286],exampl:[1,2,3,6,7,9,12,14,23,24,25,26,31,32,56,58,59,60,61,62,63,65,81,83,84,90,91,92,94,95,97,98,99,100,101,102,129,131,134,153,174,175,181,184,187,188,189,206,208,209,210,211,215,220,223,224,236,237,238,243,245,247,248,252,256,258,260,264,267,268,269,270,271,277,278,279,280,281,282,285,286,288,289,290,292],example1:90,example2:90,exce:[180,216,220,289],exceed:21,except:[7,52,88,129,224,249,254,255,275,276],excerpt:[131,207,208,209,220,225,226,251,253,280],exchang:[15,22,23,28,29],excit:[7,237,246],exclud:[52,129,223,278],exclus:[23,92,99,207],exe:[12,60,61,83,84],exec:14,exec_write_req_rx:[77,238],exec_write_req_tx:[77,238],exec_write_rsp_rx:[77,238],exec_write_rsp_tx:[77,238],execut:[1,2,7,11,12,14,31,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,59,60,62,63,68,81,83,86,88,91,93,94,97,100,102,134,137,138,140,191,196,217,226,231,233,234,238,243,249,251,252,253,254,255,258,267],exhaust:[21,98,141,180],exisit:28,exist:[2,14,21,25,30,42,47,50,51,72,95,141,147,152,158,160,161,162,167,168,170,171,173,174,177,178,180,187,207,209,214,226,230,242,250,256,259,260,261,262,263,268,270,276,277,279,280,281,282,284,285,287,288,289,290,292],exit:[8,81,259,261,264,276,289],expect:[6,14,21,44,62,85,93,98,130,131,135,223,228,229,230,231,232,243,247,254,255,264,267],experi:[14,23,265,278],experienc:14,experiment:100,expertis:269,expir:[85,87,88,193,195,240],expire_msec:195,expire_sec:195,expiri:[85,193],explain:[4,12,14,99,238,245,246,247,254,255,257,268,270,284,287,292],explan:[35,36,38,39,40,44,45,46,47,48,49,51,52,54,55,66,67,68,69,70,71,72,73,74,75,76,77,78,153,249],explanatori:[31,95,254,255],explic:278,explicit:267,explicitli:249,explor:[129,223,251,284],export_func:130,expos:[1,14,15,22,93,134,174,175,176,210,215,226,248,253],express:[24,169,226,228,253,275,276],ext:[12,14,260],ext_bynam:212,ext_bytyp:212,extend:[14,21,30,31,90,91,276,279,281],extended_dur:28,extended_period:28,extens:[14,22,31,138,264],extent:[256,282,289,290],extern:[12,30,41,94,98,135,136,176,182,187,206,224,233,269,270,276,289,290],extra:[14,39,43,48,90,135,153,191,241,244,249,282,289],extra_gdb_cmd:62,extract:[4,11,59,60,61,83,84,191,237,259],extrajtagcmd:[39,43,48],extrem:9,eyes:228,f401re:54,f411a55d7a5f54eb8880d380bf47521d8c41ed77fd0a7bd5373b0ae87ddabd42:285,f4discoveri:260,f_activ:141,f_active_id:141,f_align:141,f_close:[163,181],f_closedir:[163,181],f_dirent_is_dir:[163,181],f_dirent_nam:[163,181],f_filelen:[163,181],f_getpo:[163,181],f_magic:141,f_mkdir:[163,181],f_mtx:141,f_name:[163,181],f_oldest:141,f_open:[163,181],f_opendir:[163,181],f_read:[163,181],f_readdir:[163,181],f_renam:[163,181],f_scratch:141,f_scratch_cnt:141,f_sector:141,f_sector_cnt:141,f_seek:[163,181],f_unlink:[163,181],f_version:141,f_write:[163,181],face:223,facil:[20,102,233,240],fact:[14,136,269],factor:9,factori:263,fail:[14,21,43,58,81,90,98,141,144,161,162,174,180,228,229,230,232,246,252,259,260,263,264,267,269,276,289],fail_msg:228,failov:223,failur:[21,85,90,98,100,101,129,130,137,142,143,144,146,147,149,150,151,153,154,155,157,158,160,161,164,167,168,169,170,171,172,173,177,178,179,183,187,188,191,193,194,195,216,218,219,220,228,234,235,251,252,253,267],fair:90,fairli:[25,56,62,90,99],fall:[97,102,187,292],fallback:28,fals:[91,223,225,228],famili:[4,102,136,152,247],familiar:[3,12,226,237,238,245,246,248,276,282,289,292],famliar:275,fanci:100,faq:[11,13],far:[246,282],fashion:[93,141,180,237],fast:14,fat2n:[7,62],fatf:[7,137,152,153],fault:131,favorit:[237,242],fcb:[7,130,142,143,144,145,146,147,148,149,150,151,206],fcb_append:[141,143,144],fcb_append_finish:[141,142],fcb_append_to_scratch:142,fcb_entri:[141,142,143,146,151],fcb_err_nospac:142,fcb_err_novar:146,fcb_getnext:141,fcb_init:141,fcb_log:206,fcb_rotat:[141,142],fcb_walk:141,fcb_walk_cb:151,fda_id:180,fe80:289,fe_area:[141,146,151],fe_data_:141,fe_data_len:[141,146,151],fe_data_off:[141,146,151],fe_elem_:141,fe_elem_off:141,feat:276,feather:14,featur:[1,3,11,14,20,21,31,91,97,100,141,153,174,215,223,226,236,249,264,278,284],feedback:[237,242,257,276],feel:3,femal:288,fetch:[1,12,14,41,58,81,238,240,241,247,257,269,270,275,284,287],few:[1,6,14,15,26,32,56,62,91,94,95,224,246,251,254,264,267,276,292],ffconf:152,ffffffff:262,ffs2nativ:[7,62],fhss:22,ficr:24,fictiti:[269,270],fie_child_list:180,field:[14,21,28,85,86,90,94,129,131,176,188,201,203,207,208,209,215,220,223,224,226,249,251,253,254,255,269,270,278,280],fifo:141,figur:[90,129,130,141],file:[1,2,4,6,7,10,11,12,35,37,38,42,44,47,49,51,56,58,59,60,61,62,65,71,72,81,82,83,84,95,96,97,102,129,130,131,135,174,184,187,189,196,206,207,208,211,212,215,223,225,226,231,233,237,238,240,242,244,246,247,253,256,258,259,260,262,263,264,265,267,268,269,271,274,275,276,278,286,290],file_nam:62,filenam:[1,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,71,72,94,152,157,161,163,167,170,174,180,223,247],filesystem:[56,130,152,196],fill:[10,49,96,100,130,141,142,144,146,147,183,199,200,246,251,254,255,267,275,276],filter:[2,14,23,28,31,73,256],filter_dupl:14,filter_polici:14,find:[1,2,3,14,21,29,35,56,62,89,90,95,97,130,147,182,212,224,225,230,236,237,246,247,256,259,260,263,268,282,285,288,289,290,292],find_info_req_rx:[77,238],find_info_req_tx:[77,238],find_info_rsp_rx:[77,238],find_info_rsp_tx:[77,238],find_type_value_req_rx:[77,238],find_type_value_req_tx:77,find_type_value_rsp_rx:77,find_type_value_rsp_tx:77,fine:[9,14,254,255],finish:[4,99,100,142,180,194,264,275],fip:22,fire:[85,193,195,243,250,282],firmwar:[129,153,238,259,261,264,268,276,289,290],first:[2,3,6,8,12,14,22,23,30,34,58,59,60,61,64,83,84,85,88,90,91,92,94,100,101,102,129,130,141,169,174,175,180,181,184,191,198,200,212,215,223,226,237,238,243,245,248,249,250,251,253,254,255,257,258,264,268,274,275,276,278,282,284,287,292],fit:[4,90,101,172,180,249,250,265],five:[21,22,23,158,171,238],fix:[6,11,14,91,101,129,271],fl_area:142,fl_data_off:142,flag:[1,6,12,14,28,30,56,58,59,60,62,63,65,81,82,83,90,95,100,129,161,223,241,247,251,253,274,278,285,288],flash0:153,flash:[1,9,14,40,44,49,56,58,59,60,62,96,97,130,135,142,143,147,153,175,177,178,181,182,186,187,189,196,206,223,226,238,256,260,261,262,264,265,276],flash_area:[141,151],flash_area_bootload:[94,129,177,178,225,226],flash_area_image_0:[94,129,177,178],flash_area_image_1:[94,129,177,178,226],flash_area_image_scratch:[94,129,177,178,225],flash_area_nff:[177,178,225,226],flash_area_noexist:225,flash_area_read:[141,146,151],flash_area_reboot_log:[225,226],flash_area_to_nffs_desc:[177,178],flash_area_writ:[141,142],flash_area_x:141,flash_id:[136,183,185],flash_map:[7,130,177,178,183,225,226],flash_map_init:226,flash_own:[225,226],flash_spi_chip_select:187,flash_test:[7,131],flat:[90,200,206],flavor:256,flexibl:[90,97,236,249,269,270],flicker:14,flight:90,float_us:277,flood:32,flow:[22,131,194,247,254,255],flow_ctl:194,fly:191,fmt:131,focu:243,folder:[4,10,12,34,56,60,64,242,259],follow:[1,2,3,4,6,7,8,11,12,14,20,21,22,24,25,27,28,30,31,32,33,38,39,44,51,52,56,58,59,60,61,62,65,67,68,72,73,74,78,79,81,82,83,84,90,92,94,95,97,99,100,101,102,129,131,132,134,135,136,137,141,153,161,168,169,170,174,175,176,180,181,182,188,190,191,201,203,206,207,208,209,210,212,213,223,224,225,226,228,229,230,231,232,233,237,238,240,241,242,243,246,247,248,249,251,253,254,255,256,257,258,259,260,261,262,263,264,267,268,269,270,271,274,275,276,277,278,279,280,281,282,284,285,287,288],foo:130,foo_callout:130,foo_conf_export:130,foo_conf_set:130,foo_val:130,footer:[129,258],footprint:[9,133,135],fop:166,fopen:161,forc:[42,50,53,90,223],forev:[88,92,99,100,161,162,235],forgeri:23,forget:[81,161,162,237,274,276],fork:10,form:[1,20,23,24,27,67,90,100,180,226,251,252,254,264,267,269],formal:[7,21],format:[8,30,51,67,69,72,73,90,130,131,133,152,153,174,177,178,198,199,200,207,224,226,228,231,247,254,258,268,269,270,278,285,288],former:180,formula:[3,61,84],forth:[130,200],fortun:56,forver:28,forward:[14,101,249],found:[1,14,21,34,56,64,91,94,149,174,180,200,247,252,253,254,256,260,262,288],foundat:[4,22,32,133,256,262,269,275,276,282,289,290],four:[20,23,48,129,169,173],fraction:[101,267],frame:[215,218,219,243,264],framerwork:132,framework:[22,29,98,133,207,213,214,233,234,247,277,278,279,282,283,284],frdm:54,free:[2,4,74,89,90,91,141,180,216,220,223,250,252,256,262,282,286,289,290],freebsd:102,freed:[90,91,180],freedom:[252,254,255],freq_hz:193,frequenc:[14,22,25,87,94,98,101,135,182,190,193,195,224,243,264],frequent:[10,14,20,22,23,98,254,255,282],freshli:90,friend:32,friendli:[14,135],from:[1,4,6,7,8,9,10,11,12,14,20,21,23,24,27,28,31,32,33,36,37,39,40,42,44,45,46,47,48,50,51,52,56,57,61,62,63,65,66,67,69,70,71,72,73,74,77,78,80,84,85,86,87,88,89,90,91,93,94,95,96,97,100,101,102,129,130,132,133,134,136,137,138,140,141,147,153,154,155,156,157,161,162,163,164,165,167,169,170,172,177,178,180,181,183,187,188,191,193,194,196,199,200,206,207,208,209,210,211,212,213,214,215,217,218,223,224,225,226,228,229,230,232,233,235,237,238,240,241,243,245,246,247,248,251,252,253,254,255,256,257,258,259,260,261,262,263,264,267,268,269,270,275,276,278,282,284,285,286,288,289,290],front:[90,180],fs_access_append:161,fs_access_read:[154,161,164,169],fs_access_trunc:[158,161,167,170,171],fs_access_writ:[158,161,167,170,171],fs_cli:7,fs_cli_init:216,fs_close:[158,161,164,167,169,170,171,172,173],fs_closedir:[137,162],fs_dir:[153,155,156,157,162,163,165],fs_dirent:[7,153,155,156,157,162,163,165],fs_dirent_is_dir:[155,157,162,165],fs_dirent_nam:[137,155,156,162,165],fs_eaccess:168,fs_ecorrupt:[168,177,178],fs_eempti:168,fs_eexist:[166,168,173],fs_eful:168,fs_ehw:168,fs_einval:168,fs_enoent:[137,155,156,157,162,165,167,168],fs_enomem:168,fs_eo:168,fs_eoffset:168,fs_eok:168,fs_eunexp:168,fs_euninit:168,fs_fcb:223,fs_file:[7,153,154,158,159,161,163,164,167,169,170,171],fs_filelen:171,fs_if:[163,181],fs_ls_cmd:216,fs_ls_struct:216,fs_mkdir:[7,173],fs_mount:7,fs_name:153,fs_nmgr:7,fs_op:[166,181],fs_open:[154,158,164,167,169,170,171,172,173],fs_opendir:[137,155,156,157,165],fs_read:[154,161,169,172],fs_readdir:[137,155,156,157,162],fs_regist:181,fs_unlink:160,fs_write:[158,167,173],fssl:[11,59],fsutil:[7,153],fsutil_r:153,fsutil_w:153,ftdichip:247,fulfil:251,full:[1,7,8,14,21,22,29,31,49,56,94,129,130,136,142,157,161,167,168,180,183,196,206,215,223,225,226,238,242,246,249,252,253,258,275,276,278,282,292],fuller:180,fulli:[9,22,129,174,175,180,223,246,255,269,270,276],fun:[237,275],func:[90,98,100,130,188,193,195],fundament:[1,292],funtion:200,further:[6,94,98,188],furthermor:[93,129,174,175,180,223,243,254,255],fuse:56,futur:[85,90,180,188,207,215,226,264,269,270,271],g_bno055_sensor_driv:209,g_bno055stat:209,g_led_pin:[242,243,258],g_mbuf_buff:90,g_mbuf_mempool:90,g_mbuf_pool:90,g_mystat:224,g_nmgr_shell_transport:218,g_os_run_list:86,g_os_sleep_list:86,g_stats_map_my_stat_sect:224,g_task1_loop:258,gain:[92,99,181,246,276],gap:[19,20,21,22,31,180,248,251,253,275,276,277],garbag:141,gatewai:264,gatt:[14,15,19,22,28,31,32,33,248,251,253,275,276,277],gatt_acc:251,gatt_adc_v:276,gatt_co2_v:274,gatt_co2_val_len:274,gatt_srv:276,gatt_srv_sns_access:276,gatt_svr:[253,274,276,278],gatt_svr_chr_access_gap:[251,253],gatt_svr_chr_access_sec_test:[253,274],gatt_svr_chr_sec_test_rand_uuid:[253,274],gatt_svr_chr_sec_test_static_uuid:[253,274],gatt_svr_chr_writ:[274,276],gatt_svr_register_cb:253,gatt_svr_sns_access:[274,276],gatt_svr_svc:[251,253,274],gatt_svr_svc_adc_uuid:276,gatt_svr_svc_co2_uuid:274,gatt_svr_svc_sec_test_uuid:[253,274],gaussian:22,gavin:59,gc_on_oom_test:267,gc_test:267,gcc:[4,7,58,102],gcc_startup_:94,gcc_startup_myboard:94,gcc_startup_myboard_split:94,gcc_startup_nrf52:[94,259,261,282],gcc_startup_nrf52_split:[259,261,263,264,282],gdb:[4,7,12,39,48,62,63,94,243,246,256,258,259,260,262,263,276,282,289,290],gdb_arduino_blinki:12,gdbmacro:7,gdbpath:12,gdbserver:6,gear:102,gen:[28,31],gen_task:240,gen_task_ev:240,gen_task_prio:240,gen_task_stack:240,gen_task_stack_sz:240,gen_task_str:240,gener:[1,11,14,16,17,18,19,20,21,22,24,28,29,30,32,35,36,44,56,62,63,88,90,91,92,94,100,129,137,174,175,187,200,223,225,229,230,232,237,238,241,242,243,244,246,247,249,250,253,254,255,256,257,258,259,260,261,262,263,264,267,268,269,274,275,278,282,285,288,289,290],get:[2,4,6,7,8,9,10,11,14,24,56,57,59,60,61,62,65,77,80,82,83,84,86,88,90,91,92,93,94,96,97,98,99,100,101,129,130,134,135,141,151,158,161,164,167,172,180,183,187,191,193,200,207,211,213,223,226,228,237,240,242,243,245,247,249,251,253,254,255,256,257,259,260,262,263,264,267,268,274,275,276,281,282,288,292],gettng:265,gfsk:22,ggdb:6,ghz:[22,268],gist:[135,187],gister_li:211,git:[11,56,59,81,82,83,102,256,268,269,270,271],github:[1,7,10,11,34,56,58,59,60,64,81,82,83,102,184,237,256,268,269,270,271,275,276,284],githublogin:271,githubpassword:271,githubusercont:[11,58,59,60,81,82,83],give:[14,56,187,223,237,243,246,254,255,264,269,270,275,276],given:[12,14,21,43,85,87,88,90,91,97,100,101,129,137,140,146,147,153,183,187,191,193,194,200,207,211,212,243,270],glanc:249,glibc:58,global:[1,30,63,90,91,92,176,206,207,209,224,233,251],gmt:101,gnd:[8,264,276,278,288],gnu:[3,4,12,14,39,48,256,260,262,263,282,289,290],goal:[56,102,287],gobjcopi:6,gobjdump:6,gobl:82,goe:[14,62,233,267],going:[14,97,130,223,254,258,275,276],golang:[11,60,83],gone:250,good:[7,9,14,23,56,92,94,98,129,152,223,246,249,255,264],googl:[254,284],gopath:[11,58,59,60,61,81,82,83,84],got:[14,274,275,276],govern:[275,276],gpg:[58,81],gpio:[8,14,97,135,189,191,194,240],gpio_ev:240,gpio_l:240,gpl:[4,256,260,262,263,282,289,290],gplv3:[256,262,282,289,290],gpo:182,gpregret:14,grab:89,gracefulli:235,graduat:276,grain:9,grant:92,granular:101,graph:[1,51,63,276],graviti:278,great:[8,22,129,225,242,276],greater:[22,30,90,180,225],greatest:[129,180],green:[2,10,12,256,260,261,268,278,285],grid:56,ground:[276,278],group:[2,21,77,132,135,215,224,226,238,264],grow:[54,243],guarante:[14,90,91],guard:93,guid:[7,11,12,19,60,63,65,83,209,210,226,238,240,243,248,253,255,265,267,269,285,288],guinea:244,gyro:278,gyro_rev:278,gyroscop:[207,278],h_mynewt_syscfg_:226,hack:[7,9,12,14,237,242,276],had:[90,93,129,223],hal:[1,7,9,14,49,56,62,87,96,135,136,177,178,181,182,188,191,193,194,209,240,246,256,260,262,276,278,282,292],hal_bsp:[7,14,94,135,186,208,256,259,260,262,280],hal_bsp_core_dump:183,hal_bsp_flash_dev:[94,136,183,186],hal_bsp_get_nvic_prior:183,hal_bsp_hw_id:183,hal_bsp_init:[183,208],hal_bsp_max_id_len:183,hal_bsp_mem_dump:183,hal_bsp_power_deep_sleep:183,hal_bsp_power_off:183,hal_bsp_power_on:183,hal_bsp_power_perus:183,hal_bsp_power_sleep:183,hal_bsp_power_st:183,hal_bsp_power_wfi:183,hal_common:[7,246,260,262],hal_debugger_connect:192,hal_flash:[7,94,136,153,183,186,256,260,262],hal_flash_align:185,hal_flash_eras:185,hal_flash_erase_sector:185,hal_flash_init:185,hal_flash_ioctl:185,hal_flash_read:185,hal_flash_writ:185,hal_gpio:[7,137,184,187,240],hal_gpio_init_in:187,hal_gpio_init_out:[100,187,240,242,243,258],hal_gpio_irq_dis:187,hal_gpio_irq_en:[187,240],hal_gpio_irq_handler_t:187,hal_gpio_irq_init:[187,240],hal_gpio_irq_releas:187,hal_gpio_irq_trig_t:187,hal_gpio_irq_trigg:187,hal_gpio_mode_:187,hal_gpio_mode_in:187,hal_gpio_mode_nc:187,hal_gpio_mode_out:187,hal_gpio_mode_t:187,hal_gpio_pul:187,hal_gpio_pull_down:187,hal_gpio_pull_non:187,hal_gpio_pull_t:187,hal_gpio_pull_up:[187,240],hal_gpio_read:187,hal_gpio_toggl:[100,187,240,242,258],hal_gpio_trig_both:187,hal_gpio_trig_fal:187,hal_gpio_trig_high:187,hal_gpio_trig_low:187,hal_gpio_trig_non:187,hal_gpio_trig_ris:[187,240],hal_gpio_writ:[14,184,187,243],hal_i2c_begin:188,hal_i2c_end:188,hal_i2c_init:188,hal_i2c_master_data:188,hal_i2c_master_prob:188,hal_i2c_master_read:188,hal_i2c_master_writ:188,hal_i2c_prob:188,hal_i2c_read:188,hal_i2c_writ:188,hal_os_tick:[190,259,282],hal_reset_brownout:192,hal_reset_caus:[192,280],hal_reset_pin:192,hal_reset_por:192,hal_reset_reason:192,hal_reset_request:192,hal_reset_soft:192,hal_reset_watchdog:192,hal_rtc:152,hal_spi:[137,191],hal_spi_abort:191,hal_spi_config:191,hal_spi_data_mode_breakout:191,hal_spi_dis:191,hal_spi_en:191,hal_spi_init:[137,191],hal_spi_lsb_first:191,hal_spi_mod:191,hal_spi_mode0:191,hal_spi_mode1:191,hal_spi_mode2:191,hal_spi_mode3:191,hal_spi_moden:191,hal_spi_msb_first:191,hal_spi_set:[136,191],hal_spi_set_txrx_cb:191,hal_spi_slave_set_def_tx_v:191,hal_spi_tx_v:191,hal_spi_txrx:191,hal_spi_txrx_cb:191,hal_spi_txrx_noblock:191,hal_spi_type_mast:191,hal_spi_type_slav:191,hal_spi_word_size_8bit:191,hal_spi_word_size_9bit:191,hal_system:192,hal_system_clock_start:192,hal_system_reset:192,hal_system_restart:192,hal_system_start:192,hal_tim:[87,193],hal_timer_cb:[87,193],hal_timer_config:193,hal_timer_deinit:193,hal_timer_delai:193,hal_timer_get_resolut:193,hal_timer_init:[14,193],hal_timer_read:193,hal_timer_set_cb:193,hal_timer_start:193,hal_timer_start_at:193,hal_timer_stop:193,hal_uart:275,hal_uart_blocking_tx:194,hal_uart_clos:194,hal_uart_config:[194,275],hal_uart_flow_ctl:194,hal_uart_flow_ctl_non:[194,275],hal_uart_flow_ctl_rts_ct:194,hal_uart_init:194,hal_uart_init_cb:[194,275],hal_uart_par:194,hal_uart_parity_even:194,hal_uart_parity_non:[194,275],hal_uart_parity_odd:194,hal_uart_rx_char:194,hal_uart_start_rx:194,hal_uart_start_tx:[194,275],hal_uart_tx_char:194,hal_uart_tx_don:194,hal_watchdog_en:195,hal_watchdog_init:195,hal_watchdog_tickl:195,hal_xxxx:182,half:[17,18,94,101],halfwai:129,halgpio:187,halsystem:192,halt:[93,190,191,256,260,262],haluart:194,hand:[223,237,243,267],handbook:[259,263],handi:[14,94,276],handl:[14,18,21,28,29,31,62,90,102,135,136,137,153,154,155,156,157,161,162,165,170,171,172,173,180,206,210,211,215,238,240,250,251,252,274,276,282],handler:[14,88,93,94,132,187,211,213,216,218,220,221,240,243,274,276,277],happen:[9,14,21,27,130,141,180,250,253,254,255,256,268,270],happi:[7,9],har:288,hard:[98,131],hardcod:[26,28],hardwar:[2,3,5,6,7,9,14,21,22,25,26,32,35,87,94,96,97,129,135,174,175,180,183,184,185,186,187,188,190,192,193,194,195,209,223,226,240,243,246,247,254,255,256,258,259,260,261,265,268,269,275,282,292],harm:129,has:[2,3,4,7,10,11,12,14,21,23,25,27,31,35,37,44,51,56,58,59,60,62,63,78,81,82,83,85,86,87,88,89,90,91,93,94,97,98,99,100,129,130,131,133,135,139,141,153,154,166,170,174,180,187,188,191,193,194,196,209,211,223,224,226,233,235,238,241,243,244,251,252,253,256,258,259,260,264,267,268,269,270,274,275,281,282,289,290,292],hash:[35,38,44,47,72,129,180,223,241,285,288],have:[1,2,3,6,7,8,9,10,11,12,14,20,21,23,25,31,33,44,51,53,55,56,58,59,60,61,62,63,65,81,82,83,84,85,88,90,91,93,94,96,97,98,99,100,102,129,131,133,135,136,138,141,144,174,175,180,182,186,187,193,194,215,221,223,224,225,226,236,237,238,240,241,242,244,245,246,247,250,251,253,254,255,256,257,258,259,260,261,262,263,264,267,268,269,270,272,274,275,276,277,278,279,280,281,282,284,285,286,287,288,289,290,292],haven:[3,14,137,236,270,276,292],hci1:247,hci:[14,22,245],hci_adv_param:249,hci_common:238,hdr:[129,228],hdr_ver:198,head:[11,59,81,82,83,88,90,211,244],header:[1,14,38,40,47,56,58,59,60,62,94,129,133,141,142,180,184,187,206,208,226,233,238,258,274,275,276],heading1:244,heading2:244,heading5:244,headless:2,health:254,heap:[91,93,94],heart:243,held:269,hello:[12,14,70,158,171,194,238,257,268,285,286,288,292],help:[1,8,12,14,32,35,36,38,39,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,65,66,68,69,70,71,72,73,74,75,76,77,78,81,82,83,93,95,96,101,135,200,220,223,225,243,244,245,246,249,256,258,259,261,264,265,267,268,271,275,276,278,282,289,290],helper:[1,62,90,95,136,254,255],henc:[129,236],her:93,here:[1,3,8,10,11,14,30,33,56,74,77,78,85,88,90,91,94,95,98,100,130,131,141,157,158,161,164,172,174,187,191,200,206,207,209,215,223,224,225,226,234,236,237,240,244,247,251,253,254,255,256,258,259,260,263,264,267,268,269,270,275,276,286,292],hertz:87,hex:[7,38,44,49,72,188,223,262,264,274,282],hexidecim:67,hfxo:25,hidapi:4,hidraw:4,hierarchi:[153,226,233],high:[9,14,19,22,65,87,99,135,187,240,243,289],high_duti:28,higher:[11,14,15,21,22,56,59,60,73,81,82,83,92,93,99,100,182,206,212,225,226,236,243,247,267,270],highest:[86,92,93,100,225,226,243],highli:236,highlight:[2,6,31,102,237,256,259,261,263,268,276,277,282],hint:56,his:93,histori:225,hit:[37,258],hl_line:[208,209],hmac:14,hog:243,hold:[34,44,64,90,91,157,188,199,209,215,237,243,264,269,276],hole:[180,276],home:[7,11,60,94,223,246,258,267,271,275],homebrew:[4,6,7,11,37,57,61,80,84],homepag:[1,44,62,131,267,275,276],honor:14,hook:[98,262,275,288],hop:[22,135],hope:14,host:[7,9,14,22,23,24,27,30,31,67,71,72,85,88,90,129,213,244,246,247,251,252,253,256,267,268,275,276,277,281,282,289,290],hotkei:289,hour:101,how:[2,3,4,5,6,7,8,11,12,14,21,22,24,31,56,58,59,60,61,67,81,82,83,84,90,92,94,97,101,129,130,131,141,147,149,167,174,188,191,201,206,208,209,220,223,224,227,228,231,233,236,237,238,241,242,243,244,245,246,247,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,274,275,276,278,279,281,282,284,285,286,287,288,292],how_to_edit_doc:244,howev:[3,14,58,81,90,97,100,102,129,131,174,180,187,224,241,259,269],htm:247,html:[4,34,64,153,256,260,262,282,289,290],http:[1,4,10,11,12,14,34,40,56,58,59,60,62,64,81,82,83,102,131,138,184,237,247,254,256,259,260,262,263,267,269,271,275,276,282,288,289,290],httperror404:[58,81],hub:268,human:[247,269],hw_bsp_nativ:62,hw_drivers_nimble_nrf51:223,hw_hal:56,hw_mcu_nordic_nrf51xxx:223,hypothet:21,i2c:[8,135,136,182,278,279,282],i2c_0:[277,278,279,282],i2c_0_itf_bno:208,i2c_0_itf_li:208,i2c_num:188,i2s:256,i2s_callback:256,i386:[4,6],iOS:[250,274,276,277,279,281,284],ibeacon:[24,246,257,292],icloud:14,icon:[10,12,14],id16:253,id3:[34,64],id_init:226,idcod:256,idea:[14,62,90,92,98,249],ideal:22,ident:[14,19,21,23,24,28,31,67,90,102,134,223,224,233],identifi:[1,8,14,20,21,28,30,35,72,94,100,129,130,180,183,188,254,255,259,261,264,268,276,285,288],idl:[28,78,98,243,246,285,288],idx:[28,136,180],ietf:200,if_rw:134,ifdef:[223,226,234,258,282],ifndef:[226,275,276],ignor:[6,14,28,83,91,153,167,174,226,289],ih_flag:129,ih_hdr_siz:129,ih_img_s:129,ih_key_id:129,ih_mag:129,ih_tlv_siz:129,ih_ver:129,iii:129,illustr:[12,90,92,93,129,243,276,282],imag:[2,6,7,12,32,35,39,40,43,44,48,56,58,59,60,62,65,79,81,82,83,94,95,97,102,131,132,197,198,199,201,202,204,224,225,236,246,250,256,257,258,265,274,275,286,287,289,290,292],image_ec256:[256,259,260,261,262,263,264,268,278,285,286,288],image_ec:[7,256,259,260,261,262,263,264,268,278,285,286,288],image_f_ecdsa224_sha256:129,image_f_non_boot:129,image_f_p:129,image_f_pkcs15_rsa2048_sha256:129,image_f_sha256:129,image_head:129,image_header_s:129,image_mag:129,image_magic_non:129,image_ok:129,image_rsa:[7,256,259,260,261,262,263,264,268,278,285,286,288],image_tlv:129,image_tlv_:129,image_tlv_ecdsa224:129,image_tlv_rsa2048:129,image_tlv_sha256:129,image_valid:[7,256,260,261,263,268,278,285,286,288],image_vers:[129,198,199],img:[14,38,47,72,237,238,241,242,246,247,250,256,259,260,261,262,263,264,268,275,278,282,285,288,289,290],img_data:205,img_start:192,imgmgr:[7,131,132,153,196,226,238,275,276],imgmgr_max_ver_str:199,imgmgr_module_init:226,imgr_list:[201,202,204],imgr_upload:205,imgr_ver_jsonstr:199,immedi:[27,88,94,129,170,180,191,193,244,249,254,255],impact:[25,180],impl:62,implemen:67,implement:[9,10,14,22,33,62,67,88,90,91,94,96,97,129,130,131,132,152,153,174,180,182,184,186,187,188,189,190,191,192,196,200,207,208,210,212,214,215,221,226,233,240,248,251,253,254,264,267,276,277,278,282],impli:[14,254,255,267,270,275,276],implicit:267,impos:[129,174,175,180],imposs:[20,176],impract:253,impress:276,improv:258,imuplu:278,inc:[4,256,262,282,289,290],includ:[1,4,7,9,10,14,15,16,17,18,20,21,22,23,27,28,29,32,44,51,60,62,85,88,90,91,92,94,96,97,98,99,100,101,129,130,131,134,135,136,137,139,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,188,191,193,194,196,206,207,208,211,212,213,215,223,225,226,227,233,237,238,240,241,243,247,248,249,251,254,255,259,267,269,270,274,275,276,277,278,280,281,282,287,289],include_tx_pow:28,incom:[21,88,194,196,215,216,218,240],incompat:[58,81,269],incomplet:[30,94,160],incomplete_block_test:267,incorrect:[43,101],incr:183,increas:[22,23,90,180,215,216,220,226,243,289],increasin:141,increment:[90,101,130,180,224],incub:[7,56,184,226,237,276],inde:[93,262],indefini:[254,255],indent:6,independ:[23,97,129,135,182,183,185,187,188,190,192,193,194,195,226],indetermin:267,index:[32,73,129,247],indian:101,indic:[7,14,20,21,27,29,30,31,88,91,94,98,129,131,133,153,159,161,168,180,187,188,193,205,212,215,220,223,225,226,241,251,253,256,259,260,263,267,268,282,284],indirect:276,individu:[11,100,129,130,135,187,226,232,238,269],industri:[22,152],ineffici:180,infinit:[88,91,93,226,243,258],info:[14,40,58,59,60,62,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,91,100,130,141,142,146,220,241,252,256,260,262,263,268,274,276],inform:[1,6,7,12,14,21,23,24,28,30,35,38,40,41,58,59,60,62,63,65,67,72,81,82,83,88,90,91,94,96,97,100,101,129,133,134,146,180,206,207,209,210,220,223,224,226,236,237,240,241,243,246,249,252,253,254,255,256,258,264,269,270,271,275,276,278,282,285,288,290],infrastructur:246,ing:[135,254,255],inher:[1,24,251],inherit:[1,4,60,92,176,207],ininclud:224,init:[51,56,208,212,226,275,276],init_app_task:93,init_func_nam:226,init_funct:226,init_stag:226,init_task:[240,243],init_tim:[258,282],initi:[14,17,20,22,24,26,27,28,29,62,85,87,88,90,91,92,93,94,98,99,100,130,131,135,139,147,153,168,177,178,179,180,182,183,185,187,188,191,193,194,197,200,204,206,208,211,212,213,215,216,220,233,234,238,240,242,247,248,252,254,255,258,267,274,275,276,277,278,282],initialis:[209,256],inod:[174,176],inoper:[27,254,255],input:[21,23,28,101,135,182,187,191,240,262,267,289],inquiri:[21,30],insert:[100,180],insid:[14,25,90,93,162,183,258,262,267],insight:[135,243],inspect:[14,49,129,130,252],instal:[3,7,9,34,40,55,56,64,79,93,94,95,137,211,238,240,241,242,243,245,246,247,256,257,259,260,261,262,263,267,268,270,272,275,277,278,279,281,282,284,285,286,287,288,289,292],instanc:[2,3,9,14,28,63,90,176,177,178,180,206,224,249,254,255,256],instant:21,instantan:243,instanti:[93,135],instantli:99,instead:[7,11,12,14,25,88,91,99,129,131,223,226,238,240,250,256,258,259,260,261,262,263,267,271,274,275,276,277,280],instruct:[3,4,7,11,56,58,63,81,86,97,238,240,256,259,263,277,278,279,280,282,286,289,290],insuffici:[21,90,168],insur:[91,100],int16_t:101,int32_max:28,int32_t:[85,101,194,254,255],int64_t:101,int8:130,int_max:90,integ:[14,200,207,224,226],integr:[12,14,23,91,180,188,224],intellig:182,intend:[14,25,30,37,177,178,188,236],inter:[180,188,240],interact:[2,8,131,133,196,250,258,265,289],interchang:200,interconnect:[9,133],interdepend:[130,226],interest:[7,15,19,90,94,182,223,242,246,249,254,292],interfac:[4,19,22,31,32,90,100,129,134,135,136,137,152,153,182,183,185,187,188,190,191,192,194,195,206,209,210,237,245,247,248,256,260,262,275,278,279,282,288],interleav:14,intermedi:[160,161,167],intern:[7,14,21,90,93,94,98,135,136,141,168,177,178,179,186,193,195,196,200,216,220,256,276],internet:[7,12,22,238,240,241,247,257,268,284,287],interoper:[133,134],interpret:[138,140,207,211],interrog:276,interrupt:[14,87,88,94,129,183,187,190,191,193,194,276],interrupt_prior:276,interv:[14,21,28,30,98,100,207,211,212,240,278,282],interval_max:28,interval_min:28,intervent:97,intial:220,intiat:94,introduc:[1,31,180,225,226],introduct:[243,292],introductori:284,intuit:129,invalid:[21,87,129,137,143,153,154,168,172,173,180,191,193,251,267],invers:[92,99],invert:99,invoc:[6,253],invok:[2,267,271,282],involv:[17,18,20,23,94,97,182,188,267],io_cap:28,ioctl:153,iot:22,iotiv:277,ipsp:22,ipv6:22,irk:[20,28],irq:[14,187],irq_num:183,irq_prio:[136,137],isbuildcommand:12,ism:22,ismylaptop:[275,276],isn:[14,94,180,246],isol:[94,223],isr:14,isshellcommand:12,issu:[1,6,10,31,56,67,93,99,129,133,153,174,180,188,238,259,260,261,263,264,272,275,276],ist:101,it_len:129,it_typ:129,ital:244,ite_chr:251,item:[1,88,94,130,181,211,255],iter:[91,100,129,155,156,157,162,165,180,212],itf:209,its:[7,10,11,14,19,20,21,56,62,86,88,90,91,92,93,94,97,98,100,129,131,136,141,159,169,172,174,175,180,187,188,191,206,223,224,225,226,228,233,237,241,242,243,244,245,246,249,251,252,253,254,255,264,269,275,280,286,292],itself:[14,27,62,90,91,100,129,135,139,141,181,196,201,212,226,227,237,259,267,275,276],itvl:14,iv_build_num:129,iv_major:129,iv_minor:129,iv_revis:129,jan:[101,275],javascript:56,jb_read_next:200,jb_read_prev:200,jb_readn:200,je_arg:200,je_encode_buf:200,je_wr_comma:200,je_writ:200,jira:10,jlink:[62,94,241,259,261,268,278,282,285],jlink_debug:62,jlink_dev:62,jlinkex:[259,261,264,276],jlinkgdbserv:[282,289],jlinkgdbserverclex:275,job:[1,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,86,93,94,215,251],join:[3,135,236,268,292],json:[7,12,35,38,52,56,62,202,203,204,205,237,238,242,267],json_array_t:200,json_attr_t:[200,205],json_buff:[200,205],json_buffer_read_next_byte_t:200,json_buffer_read_prev_byte_t:200,json_buffer_readn_t:200,json_decod:[205,267],json_encod:[199,200,201,202,203,204,267],json_encode_object_entri:[202,203,204],json_encode_object_finish:[201,204],json_encode_object_start:[201,202,203],json_enum_t:200,json_read:200,json_read_object:200,json_simple_decod:267,json_simple_encod:267,json_typ:200,json_valu:[200,201,202,203,204],json_value_int:[200,203],json_value_str:200,json_value_stringn:200,json_write_func_t:200,jtag:[4,39,43,48,256,259,260,262,268,282,288],jul:81,jump0:68,jump:[129,223],jumper:[8,237,262,275,276,288],just:[1,7,8,14,21,23,24,63,85,88,94,95,100,101,129,136,137,152,167,172,223,237,250,251,254,255,256,258,264,271,272,275,276],jv_len:200,jv_pad1:200,jv_type:200,jv_val:200,k30:275,k64f:54,keep:[9,23,25,93,129,131,135,141,180,191,208,215,216,220,223,237,242,243,267,276],keg:[61,84],kei:[8,20,21,22,32,38,47,58,81,94,129,130,180,199,200,201,203,226,251,264,268,278],kept:[86,129,141],kernel:[1,7,9,14,52,56,62,94,131,135,182,212,223,226,227,240,246,247,275,276,277,278,280,282],kernel_o:223,keyboard:[12,23,131],keyboarddisplai:28,keyboardonli:28,keychain:[58,81],keystor:28,keyword:[1,62,95,131,267,269,275,276],khz:[191,256,260],kick:[98,254,255],kilobyt:97,kind:[32,135,275,276,289],kit:[8,48,62,237,241,242,257,259,275,276,289,290,292],klibc:102,know:[1,8,12,31,62,131,207,211,224,225,243,251,252,254,255,257,258,268,275,276,287,292],known:[22,56,101,161,162,180,243,249],kw41z:14,l13:259,l2cap:22,lab:33,label:[8,94,262,276],lack:[141,152,223],lag:253,languag:[11,12,56,97,138,275,276],laptop:[3,8,237,238,240,242,247,264,276],larg:[21,25,32,90,100,101,223,224,243],large_system_test:267,large_unlink_test:267,large_write_test:267,larger:[14,32,90,228],largest:[90,244],las_app_port:264,las_app_tx:264,las_join:264,las_link_chk:264,las_rd_app_eui:264,las_rd_app_kei:264,las_rd_dev_eui:264,las_rd_mib:264,las_wr_app_eui:264,las_wr_app_kei:264,las_wr_dev_eui:264,las_wr_mib:264,last:[14,21,27,73,78,90,91,98,100,129,149,180,194,202,207,215,220,226,249,253,254,255,256,264,268,276,278,280,282],last_checkin:[78,285,288],last_n_off:149,last_op:188,last_read_tim:209,latenc:28,later:[7,8,14,73,85,90,129,233,242,246,252,256,264,267,276,282,289,290],latest:[1,2,4,7,11,14,50,53,56,57,61,80,84,130,237,256,268,269,270,275,276],latex:[174,180],latter:[21,90,133,174],launch:12,launchpad:4,law:[256,275,276,282,289,290],layer:[9,21,22,90,91,96,97,135,153,163,166,174,181,194,209,210,226,240,248,276,292],layout:[97,129,175,288],lc_f:208,lc_pull_up_disc:208,lc_rate:208,lc_s_mask:208,ld4:260,ldebug:[14,225],ldflag:51,ldr:262,le_elem_off:146,le_scan_interv:14,le_scan_window:14,lead:[90,93,252,276],leadingspac:90,leak:[161,162],learn:[7,27,62,237,242,257,284],least:[23,90,98,129,180,191,193,238,258,264,276,292],leav:[90,136,149,223],led1:[240,261],led2:240,led3:240,led:[1,7,14,62,94,97,100,135,182,187,238,240,243,247,256,257,258,259,260,261,262,263,268,276,278,285,288,292],led_blink_pin:[94,100,242,243,258],led_blink_pin_1:242,led_blink_pin_2:242,led_blink_pin_3:242,led_blink_pin_4:242,led_blink_pin_5:242,led_blink_pin_6:242,led_blink_pin_7:242,led_blink_pin_8:242,led_pin:242,left:[87,91,100,146,199,223,262,274,282,292],legaci:[31,152,226,243],len:[90,130,136,141,142,163,164,171,172,173,188,191,200,205,251,264,275],length:[21,22,28,90,94,129,130,131,141,157,158,177,180,183,199,251,264],less:[14,93,102,129,180,253,254,255],lesser:180,lesson:[243,292],let:[4,8,56,90,94,206,223,224,237,243,246,248,249,250,251,252,253,254,255,258,262,267,269,270,274,275,276,282],level:[1,2,9,14,15,19,21,24,28,30,31,32,33,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,59,60,62,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,90,92,94,132,135,136,153,174,175,182,209,225,226,236,250,251,254,255,256,260,264,267,268,270,274,275,276],level_list:73,leverag:[133,135,245,276],lflag:[1,51,62],lib:[1,4,46,54,56,83,102,131,153,181,225,226,275,276],libc6:6,libc:[7,94,102],libc_baselibc:[223,262],libftdi1:4,libftdi:4,libg:49,libgcc:[49,223],libhidapi:4,librari:[1,4,14,49,51,56,59,82,88,90,94,95,97,102,129,131,135,153,161,181,182,196,223,224,233,246,267,269,270,275,276,277],libusb:4,libusb_error_access:260,libusb_open:260,licens:[4,7,11,56,62,102,135,246,256,260,262,263,268,269,275,276,282,289,290],lieu:67,life:[25,254],light:[9,32,182,207,237,240,242,257,260,261,262,263,277,278,285,288],lightblu:[250,274,276],lightweight:152,like:[2,3,5,8,12,14,32,56,59,60,63,82,83,90,93,94,97,98,99,102,129,131,135,141,182,188,224,237,242,246,256,260,262,267,269,275,276,277,279,280,282,284,288,289,290],likewis:[63,180],limit:[3,14,21,28,30,100,102,130,136,152,216,220,223,238,249,254,275,276,289],limt:224,line:[2,6,7,12,14,37,39,40,48,63,94,102,131,187,224,231,237,242,247,253,258,260,261,269,271,276,277,278,282,289],linear:180,linearacc:278,lines_queu:131,link:[2,3,7,14,21,22,23,28,35,39,43,61,62,82,84,86,90,180,193,215,223,226,233,236,237,246,247,250,255,256,258,259,260,261,262,263,264,268,275,276,278,282,285,286,288,289,290,292],linker:[1,62,95,102,223,246,262],linkerscript:[62,94],linux:[5,7,9,12,57,67,79,80,136,241,247,256,258,259,260,262,263,268,278,285,286,287,288],liquid:276,lis2dh12:[208,282],lis2dh12_0:[208,282],lis2dh12_cfg:208,lis2dh12_config:208,lis2dh12_data_rate_hn_1344hz_l_5376hz:208,lis2dh12_fs_2g:208,lis2dh12_init:208,lis2dh12_onb:282,list:[3,6,7,8,12,14,23,28,30,35,36,49,51,52,54,58,60,62,67,72,73,74,76,77,78,79,81,86,88,90,91,94,95,96,100,129,131,132,135,137,180,181,193,206,215,224,226,228,231,236,237,241,242,246,249,252,253,256,257,258,259,260,261,262,263,264,269,270,275,276,280,285,286,288,292],listen:[2,14,15,31,32,67,90,207,212,223,249],listener_cb:282,lit:[238,242,243,247],littl:[6,21,24,90,129,237,242,246,253,264,270,275],live:[135,237,252,253,256,268,269,270],lma:262,lmp:21,load:[2,4,5,7,12,14,35,40,44,48,56,58,59,60,62,94,129,130,192,223,237,240,241,242,243,250,257,258,264,270,274,275,276,289,290],load_arduino_blinki:12,load_arduino_boot:12,loader:[14,44,51,94,129,131,192,256,259,260,261,263,268,278,285,286,288],loc:[142,146,151],local:[1,4,6,7,10,11,21,28,29,37,41,50,56,59,61,72,82,84,95,100,101,244,249,256,268,280],localhost:[67,275,282,289],locat:[1,8,11,20,32,62,90,94,129,141,146,180,188,233,243,253,258,262,268,269,275,278,285,286,288],lock:[9,89,93,99,141,207,212,240],log:[1,7,10,14,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,65,66,67,68,69,70,71,72,74,75,76,77,78,79,81,82,83,129,132,133,151,160,167,181,182,215,223,225,226,227,237,238,246,256,259,260,262,263,265,275,276,280,282,286,289],log_:14,log_cbm_handl:206,log_cbmem_handl:206,log_cli:[215,265],log_console_handl:[206,209],log_debug:206,log_error:209,log_fcb:226,log_fcb_handl:206,log_handl:206,log_info:209,log_init:226,log_level:[51,206,226,241,265],log_level_debug:206,log_level_error:206,log_module_bno055:209,log_module_default:206,log_nam:73,log_newmgr:225,log_newtmgr:[51,225,226,238],log_nmgr_register_group:226,log_regist:[206,209],log_shel:237,log_syslevel:[206,209],logic:[1,22,24,30,129,175,194,264,275],login:271,loglevel:[1,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83],logxi:82,long_filename_test:267,longer:[3,8,11,14,22,25,91,211,225,247,275,277],longjmp:235,longrange_interv:28,longrange_pass:28,longrange_window:28,look:[8,14,25,56,62,94,96,100,102,129,131,132,188,200,205,223,224,237,242,243,244,249,251,252,253,267,270,272,274,275,276,280,282,292],lookup:[212,221,251,282],loop:[14,85,88,93,100,155,156,157,162,165,226,238,243,246,258,274,276],lora:264,lora_app_shel:264,lora_app_shell_telee02:264,lora_app_shell_telee0:264,lora_mac_timer_num:264,lose:27,loss:[27,30,183],lost:[98,180],lost_found_test:267,lot:[7,14,223,225,249,267,276],low:[9,14,21,22,23,32,87,90,94,99,136,153,182,187,191,192,209,243,251,254,255,256,257,260,268,292],lower:[14,21,87,92,93,99,100,225,226,241,243,248,258,262],lowest:[74,86,91,100,180,226,243],lowpow:278,lru:180,lrwxr:[4,82],lsb:188,lst:[35,56,62],ltbase:226,ltd:28,ltk:28,ltk_sc:28,ltrequir:226,lua:[138,139,140],lua_cmd:140,m32:6,m4g:278,mac:[3,5,7,9,12,14,21,56,57,79,80,237,241,242,247,250,256,258,259,260,262,263,264,268,274,276,278,285,286,287,288],machin:[2,3,7,8,95,247,292],maco:[4,14,67],macro:[14,21,90,91,94,98,200,207,209,224,226,233,243,253,267,276],made:[2,10,11,21,56,72,100,129,188,243,244,264,276],mag:278,mag_rev:278,maggyro:278,magic:[62,129,141,180],magnet:[207,278],magnetomet:209,mai:[2,4,6,7,8,12,14,23,28,30,31,32,52,54,58,59,63,81,82,83,86,88,90,91,93,94,97,102,129,131,133,135,162,180,182,187,188,193,206,207,208,209,211,212,223,224,225,226,228,231,233,238,243,246,247,256,258,259,260,261,262,263,264,268,269,275,276,278,282,285,288,289],mail:[3,10,135,236,237,242,246,257,276,292],main:[7,12,27,32,58,62,78,81,88,90,93,96,100,129,131,139,177,178,198,207,212,215,217,222,226,232,234,238,240,242,246,249,254,255,256,259,260,261,262,263,267,274,275,276,278,285,286,288],mainli:223,maintain:[4,50,86,129,135,180,207,212,226,267,269,270],mainten:[133,224],major:[14,56,62,97,198,243,255,269,270],major_num:[269,270],make:[1,2,3,7,8,9,14,20,21,22,25,31,32,34,56,58,64,72,86,90,91,94,129,135,141,142,174,180,182,199,206,223,224,237,241,242,243,245,246,247,249,251,252,254,255,256,258,262,264,267,269,274,275,276,277,282,292],makerbeacon:238,malloc:[89,91,94,102,243,276],man:[6,28,102],manag:[6,8,14,17,18,22,28,32,40,46,58,59,60,62,65,67,69,72,73,74,77,78,81,82,83,88,91,93,94,95,97,100,129,131,135,182,197,200,207,209,210,211,223,226,227,241,258,259,265,268,270,278,282,285,287,288,292],mandatori:[21,94,228,253,254,255],mani:[14,21,32,56,62,90,96,129,141,149,161,162,182,193,251,256,269],manifest:[35,38,44,56,62,237,238,242],manipul:[1,40,46,90],manner:[28,30,90,93,129,182],manual:[22,26,61,84,91,93,100,102,174,223,231,237,256,262,282,288,289,290],manufactur:[20,28,30,40,44,58,59,60,67,223,249,256,268],many_children_test:267,map:[2,3,8,21,28,29,62,97,135,136,161,182,186,187,194,200,223,225,226,251,258,268,269,270,278,285,288,289],mar:[101,259,261,264,276,282],march:69,mark:[28,29,72,94,262],marker:94,market:[32,261],mask:[28,207,209,211,212,280,282],mass:[247,260],mass_eras:[259,260],master:[1,7,11,28,57,58,60,61,80,81,83,84,135,182,184,188,191,244,256,268,269,270],match:[2,7,14,21,94,95,97,129,211,212,223,256,260,268,269,270],materi:14,matter:10,max:[157,199,200],max_cbmem_buf:206,max_conn_event_len:28,max_ev:28,max_len:[157,163,183],max_protohdr:90,maxim:9,maximum:[14,22,28,30,90,129,130,131,174,176,180,183,199,215,216,220,267,289],maxlen:130,mayb:[289,290],mb_crc:275,mb_crc_check:275,mb_crc_tbl:275,mbed:[259,263],mbedtl:[7,256,259,261,263,268,285,286,288],mblehciproj:247,mblen:90,mbuf:[93,200,279],mbuf_buf_s:90,mbuf_memblock_overhead:90,mbuf_memblock_s:90,mbuf_mempool_s:90,mbuf_num_mbuf:90,mbuf_payload_s:90,mbuf_pkthdr_overhead:90,mbuf_pool:90,mbuf_usage_example1:90,mbuf_usage_example2:90,mcu:[7,9,54,95,98,135,136,182,187,190,191,192,193,194,196,237,242,243,256,259,268,282],mcu_dcdc_en:14,mcu_gpio_porta:136,mcu_sim_parse_arg:[258,282],mcuboot:14,mdw:262,mean:[2,12,14,21,90,92,98,99,100,101,129,136,176,191,202,204,226,235,253,260,270,276],meaning:[139,194],meant:[1,98,130],measur:[9,243,264],mechan:[1,23,93,223,226,240,269,271,275,276],medic:[22,56],medium:[14,168],meet:[208,241,247,256,257,259,260,261,262,263,278,280,281,282,284,285,286,287,288],mem:[7,226],member:[85,88,90,91,92,98,99,100,101,130,131,188,191,193,249,251],membuf:91,memcmp:90,memcpi:251,memori:[9,21,49,74,88,89,90,93,94,97,98,102,129,133,135,136,152,168,174,175,179,180,182,183,185,188,216,220,225,238,240,243,251,262,264,265,286,289],mempool:[65,81,82,83,90,91,215],memset:[208,249,252,255,276],mention:[12,180,207,276],menu:[12,60,260,262,288],merchant:4,merci:91,merg:244,mesh:33,messag:[2,4,23,32,43,58,59,60,76,131,133,134,167,215,218,219,228,240,256,260,264,268],messi:276,messsag:63,met:[21,238,240,268],meta:[8,268,278],metadata:[14,44,129,168],meter:22,method:[26,90,100,134,174,184,187,191,206,215,224,251,269],mfg:[7,14,40,58,59,60,71,226],mfg_data:30,mfg_init:226,mgmt:[7,131,133,191,197,215,225,226,238,275,276],mgmt_evq_set:238,mgmt_group_id_config:132,mgmt_group_id_crash:132,mgmt_group_id_default:132,mgmt_group_id_imag:132,mgmt_group_id_log:132,mgmt_group_id_runtest:132,mgmt_group_id_stat:132,mgmt_imgmgr:223,mgmt_newtmgr_nmgr_o:223,mgutz:82,mhz:[22,25],mib:[56,82,264],mic:21,micro:[14,56,241,243,256,257,259,261,262,264,268,276,278,284,285,287,288,289,290],microcontrol:[9,102,129,262,288],microsecond:[25,87,101],microsoft:12,mid:[15,129,260],middl:[28,129,180,276],might:[1,2,14,19,21,62,94,97,130,131,135,180,182,188,209,223,225,246,248,249,254,255,256,260,269,270,272,282,289,290],migrat:[180,226],milisecond:28,millisecond:[28,101,264],millivolt:276,min:[73,74,129,268,286],min_conn_event_len:28,mind:[98,246],mine:274,mingw32:60,mingw64:60,mingw:[4,7,8,12,57,83,258,268,278,285,288],mini:260,minicom:[8,258,268,278],minim:[94,135,152,153,174,180,209,246],minimum:[28,30,73,90,91,129,180,246],minor:[198,255,269,270],minor_num:[269,270],minu:90,minut:[82,101,254,267],mip:[7,62],mirror:[1,10,11,269,275,276],misc:278,mislead:6,mismatch:[21,90],miso:191,miso_pin:[136,137],miss:[21,58,94,225,237,242,246,257,276],misspel:225,mitm:28,mk64f12:[135,182],mkdir:[11,44,81,83,94,237,256,259,260,261,262,263,264,268,269,275,276],mkdir_test:267,mkdoc:244,mkr1000:266,mkr1000_boot:268,mkr1000_wifi:268,mlme:264,mman:58,mmc0:[137,153],mmc:152,mmc_addr_error:137,mmc_card_error:137,mmc_crc_error:137,mmc_device_error:137,mmc_erase_error:137,mmc_init:137,mmc_invalid_command:137,mmc_ok:137,mmc_op:[137,153],mmc_param_error:137,mmc_read_error:137,mmc_response_error:137,mmc_timeout:137,mmc_voltage_error:137,mmc_write_error:137,mn_socket:7,mobil:32,mod:[31,250,275],modbu:275,mode:[9,14,21,23,28,30,135,159,161,168,169,171,182,183,187,191,194,209,223,249,256,260,262,267,278],model:[14,22,23,33,88,196,259],modern:[8,152],modif:[11,237,267,277],modifi:[6,63,90,94,101,134,193,242,243,275,276,281,284],modul:[73,87,91,93,102,133,138,206,216,220,222,258,264,288],module_list:73,module_nam:[220,222],modulo:101,moment:[14,136,188,196,251,270],mon:[256,259,260],monitor:[90,131,133,141,213,224,262,277,284,292],monolith:253,month:267,more:[1,4,7,9,10,12,14,21,22,23,30,31,35,36,40,44,52,54,58,59,60,62,63,65,81,82,83,86,88,90,93,94,99,100,101,102,129,130,135,142,146,153,164,165,180,191,194,200,206,207,208,209,210,215,223,226,228,241,242,243,246,249,253,254,255,256,258,259,264,267,268,270,274,275,276,278,282,285,288,289,292],moreov:275,mosi:191,mosi_pin:[136,137],most:[1,8,14,15,20,22,24,25,26,62,90,94,95,100,102,129,180,184,191,223,225,243,249,267,274,276,278,280,282],mostli:[6,9,223,254,255],motor:9,mou:244,mount:[166,276],mous:[135,182],move:[8,46,58,59,60,82,93,101,129,167,183,223,258,262,276,277,279,282],mp_block_siz:91,mp_flag:91,mp_membuf_addr:91,mp_min_fre:91,mp_num_block:91,mp_num_fre:91,mpe:91,mpool:[220,264,275],mpstat:[65,79,81,82,83,132,134,238,286],mq_ev:90,mqeueue:90,msb:188,msdo:94,msec:[14,28,195],msg:231,msg_data:28,msp:[256,262],msy:60,msys2:57,msys2_path_typ:60,msys64:60,msys_1:[74,286],msys_1_block_count:[277,279],msys_1_block_s:[277,279],mtd:136,mtu:[14,21,28,29,250],mu_level:92,mu_own:92,mu_prio:92,much:[14,90,94,99,102,147,180,275],multi:[1,9,51,63,97,100,188],multilib:[6,7,58],multipl:[4,14,24,28,30,35,36,51,52,56,85,92,93,98,102,130,133,135,182,191,212,226,249,253,254,269],multiplex:[14,22],multiplexor:97,multipli:[91,243],multitask:[93,243],must:[1,2,4,5,7,8,9,11,12,15,23,25,26,34,38,42,47,54,56,58,60,62,64,67,69,72,81,87,88,90,91,93,94,97,98,100,129,130,131,137,141,149,153,160,161,163,167,174,175,176,177,179,180,181,188,191,193,194,198,199,200,206,207,208,209,211,212,213,215,216,217,220,224,225,226,234,237,238,241,243,246,249,251,258,261,262,264,268,269,270,276,278,279,280,281,282,285,288,289],mutex:[89,93,99,100],mutual:92,my_at45db_dev:136,my_blinki:51,my_blinky_sim:[7,35,36,44,56,62,246,247,259,260,275],my_blocking_enc_proc:21,my_callout:240,my_conf:130,my_config_nam:226,my_driv:[275,276],my_ev_cb:240,my_eventq:238,my_gpio_irq:240,my_interrupt_ev_cb:240,my_memory_buff:91,my_new_target:51,my_newt_target:51,my_packag:206,my_package_log:206,my_pool:91,my_proj1:246,my_proj:246,my_project:[1,256,268,269,276],my_protocol_head:90,my_protocol_typ:90,my_result_mv:276,my_sensor:282,my_sensor_devic:282,my_sensor_poll_tim:282,my_stack_s:100,my_stat:224,my_stat_sect:224,my_target1:63,my_task:100,my_task_evq:90,my_task_func:100,my_task_handl:90,my_task_pri:100,my_task_prio:100,my_task_rx_data_func:90,my_task_stack:100,my_timer_ev_cb:240,my_timer_interrupt_eventq:240,my_timer_interrupt_task:240,my_timer_interrupt_task_prio:240,my_timer_interrupt_task_stack:240,my_timer_interrupt_task_stack_sz:240,my_timer_interrupt_task_str:240,my_uart:194,myadc:276,myapp1:289,myapp:224,myapp_cmd:221,myapp_cmd_handl:221,myapp_console_buf:131,myapp_console_ev:131,myapp_init:131,myapp_process_input:131,myapp_shell_init:221,mybl:[35,36,47,51,67,74,77,78,238],myble2:[38,39,247],myblehostd:67,mybleprph:[67,241],mybletyp:67,myboard:[46,94],myboard_debug:94,myboard_download:94,mycmd:222,myconn:238,mycor:72,mydata:90,mydata_length:90,mylora:264,mymcu:96,mymfg:71,mymodul:98,mymodule_has_buff:98,mymodule_perform_sanity_check:98,mymodule_register_sanity_check:98,mynewt:[1,3,4,5,6,10,11,13,21,22,26,31,33,38,39,40,44,45,51,52,54,56,57,58,60,61,62,63,72,79,80,81,83,84,85,87,88,89,98,99,100,101,102,129,133,134,135,152,153,174,181,182,183,184,187,188,191,194,206,209,215,217,223,224,225,226,227,233,236,237,238,240,241,243,245,247,248,250,254,255,256,257,258,259,260,261,262,263,264,265,267,268,270,275,276,278,281,282,285,286,287,288,289,290,292],mynewt_0_8_0_b2_tag:[269,270],mynewt_0_8_0_tag:269,mynewt_0_9_0_tag:269,mynewt_1_0_0_b1_tag:269,mynewt_1_0_0_b2_tag:269,mynewt_1_0_0_rc1_tag:269,mynewt_1_0_0_tag:269,mynewt_1_3_0_tag:[58,60,81,83],mynewt_arduino_zero:[256,268,269],mynewt_nord:276,mynewt_stm32f3:237,mynewt_v:[215,220,224,226,267,276],mynewt_val_:226,mynewt_val_log_level:226,mynewt_val_log_newtmgr:226,mynewt_val_msys_1_block_count:226,mynewt_val_msys_1_block_s:226,mynewt_val_my_config_nam:226,mynewtl:277,mynewtsan:76,myperiph:[241,250],mypool:91,myproj2:223,myproj:[2,7,12,94,237,241,242,256,258,259,260,261,262,263,269,275,277,278,282,290],myriad:9,myself:14,myseri:[74,77,78],myserial01:67,myserial02:67,myserial03:67,mytask:243,mytask_handl:243,mytask_prio:243,mytask_stack:243,mytask_stack_s:243,myudp5683:67,myvar:66,n_sampl:278,nad_flash_id:175,nad_length:175,nad_offset:175,nak:188,name1:51,name2:51,name:[1,2,4,7,8,10,11,12,14,21,22,28,30,35,36,38,39,43,44,45,46,48,49,51,52,54,56,58,59,60,62,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,91,94,95,96,98,100,101,102,130,131,135,153,155,156,157,160,161,162,165,181,182,187,199,200,201,203,205,206,207,208,209,210,212,216,220,221,222,223,225,229,230,232,237,238,240,243,246,249,251,253,254,255,256,258,259,260,261,262,263,267,268,269,270,271,275,276,277,278,279,282,285,286,288,289],name_is_complet:249,name_len:[155,156,157,162,165,249],namespac:[89,215,254],nano2:[44,54,94,263],nano2_debug:[94,263],nano:[257,292],nanosecond:[87,193],nativ:[2,3,7,12,44,51,54,56,60,62,67,130,191,225,226,237,240,247,259,260,268,275,276,286,292],natur:[94,180],navig:[10,292],nb_data_len:180,nb_hash_entri:180,nb_inode_entri:180,nb_prev:180,nb_seq:180,nbuf:90,nc_num_block:176,nc_num_cache_block:176,nc_num_cache_inod:176,nc_num_fil:176,nc_num_inod:176,ncb_block:180,ncb_file_offset:180,ncb_link:180,nci_block_list:180,nci_file_s:180,nci_inod:180,nci_link:180,nda_gc_seq:180,nda_id:180,nda_length:180,nda_mag:180,nda_ver:180,ndb_crc16:180,ndb_data_len:180,ndb_id:180,ndb_inode_id:180,ndb_magic:180,ndb_prev_id:180,ndb_seq:180,ndi_crc16:180,ndi_filename_len:180,ndi_id:180,ndi_mag:180,ndi_parent_id:180,ndi_seq:180,nding:253,ndof:278,ndof_fmc_off:278,nearest:259,nearli:14,neatli:249,necessari:[6,25,40,48,58,59,60,90,129,153,180,235,237,246,251,256,264,267,276],need:[4,5,6,7,8,9,10,11,12,14,15,24,25,33,44,51,53,56,58,59,60,61,62,65,67,81,82,84,85,89,90,91,92,93,94,96,97,98,99,100,129,131,136,141,142,143,153,180,192,195,206,207,209,210,211,212,215,221,223,224,225,226,231,238,240,241,243,246,247,249,251,252,253,254,255,256,258,259,260,261,262,263,267,268,270,271,274,275,277,279,282,285,286,288],neg:[90,101,180,253],neither:90,ness:191,nest:[92,160],net:[4,7,14,25,52,213,226,246,247,251,253,268,275,276,277,279,281],net_nimble_control:223,net_nimble_host:223,network:[1,9,14,24,28,32,33,56,90,93,223,243,264,268],never:[20,93,98,100,167,180,226,243,246,251],nevq:88,new_bletini:46,new_pool:90,new_slinki:46,newer:6,newest:[141,225,243],newli:[1,10,20,44,129,161,247,254,255,269],newlib:102,newlin:131,newt:[1,3,5,6,7,13,33,57,62,63,74,77,78,81,82,83,84,93,94,95,97,135,223,224,225,226,233,237,239,240,241,242,243,245,246,247,250,254,255,256,257,258,259,260,261,262,263,264,265,267,268,269,270,271,272,275,276,277,278,279,280,282,284,285,286,287,288,289,290,292],newt_1:[58,61],newt_1_1_0_windows_amd64:61,newt_1_3_0_windows_amd64:60,newt_group:2,newt_host:2,newt_us:2,newtgmr:[82,83,84],newtmgr:[1,7,9,13,58,59,60,64,65,79,80,131,132,134,196,206,218,219,223,225,226,240,275,276,287,292],newtmgr_1:[81,84],newtmgr_1_1_0_windows_amd64:84,newtmgr_1_3_0_windows_amd64:83,newtmgr_shel:215,newtron:[153,181,225,226],newtvm:11,next:[7,8,25,31,72,78,83,86,90,91,100,129,131,133,141,146,155,156,157,162,165,180,196,200,207,211,212,223,226,235,241,242,243,244,246,249,253,254,255,256,259,262,270,274,275,276],next_checkin:[78,285,288],nff:[7,102,136,153,175,176,177,178,179,181,189,225,226,233,267],nffs_area_desc:[14,174,177,178,228],nffs_area_mag:180,nffs_area_max:[177,178],nffs_block:180,nffs_block_cache_entri:180,nffs_block_cache_list:180,nffs_block_mag:180,nffs_cache_block:180,nffs_cache_block_list:180,nffs_cache_inod:180,nffs_close:181,nffs_closedir:181,nffs_detect:[178,180],nffs_detect_fail:[153,174],nffs_dirent_is_dir:181,nffs_dirent_nam:181,nffs_disk_area:180,nffs_disk_block:180,nffs_disk_inod:180,nffs_file_len:181,nffs_flash:189,nffs_flash_area:[14,225,226],nffs_format:[177,180,228],nffs_getpo:181,nffs_hash_entri:180,nffs_id_non:180,nffs_init:[176,177,178,181],nffs_inod:180,nffs_inode_entri:180,nffs_inode_list:180,nffs_inode_mag:180,nffs_intern:174,nffs_mkdir:181,nffs_op:181,nffs_open:181,nffs_opendir:181,nffs_pkg_init:14,nffs_read:181,nffs_readdir:181,nffs_renam:181,nffs_seek:181,nffs_short_filename_len:180,nffs_test:267,nffs_test_debug:267,nffs_test_priv:267,nffs_test_system_01:267,nffs_test_unlink:228,nffs_test_util:267,nffs_unlink:181,nffs_write:181,nhe_flash_loc:180,nhe_id:180,nhe_next:180,ni_filenam:180,ni_filename_len:180,ni_inode_entri:180,ni_par:180,ni_seq:180,nice:[224,274],nie_child_list:180,nie_hash_entri:180,nie_last_block_entri:180,nie_refcnt:180,nie_sibling_next:180,nil:68,nim:253,nimbl:[7,24,25,27,30,67,226,238,241,245,248,249,250,251,252,253,274,275,276,277,279],nimble_max_connect:14,njb:[201,202,203,204,205],njb_buf:205,njb_enc:203,nlip:218,nmgr:134,nmgr_def_taskstat_read:203,nmgr_err_eok:203,nmgr_jbuf:[201,202,203,204,205],nmgr_o:132,nmgr_shell:[131,226,238],nmgr_shell_in:218,nmgr_shell_out:219,nmgr_shell_pkg_init:226,nmgr_task_init:218,nmgr_transport:219,nmgr_uart:238,nmgr_urart_spe:238,nmxact:11,no_of_sampl:278,no_rsp:29,no_wl:[28,31],no_wl_inita:28,node:[14,22,33,56,155,156,157,162,165,180],nodefault:[200,205],nodup:28,nogdb:[39,48],noinputnooutput:28,non:[7,14,19,20,22,25,28,32,33,85,90,91,100,101,130,145,149,151,180,183,187,188,191,192,193,194,216,218,219,220,223,226,254,255,264,269,282],none:[4,7,8,12,21,28,31,83,88,94,102,129,180,217,221,222,223,228,231,237,256,260,264,276,282,289,290],nonexist:[161,180],nonsens:267,nonzero:[90,142,143,144,146,147,150,151,191,229,230,232,234,235,252,267],nor:23,nordic:[14,24,94,135,182,186,190,192,240,241,259,261,275,276,278,282,287,292],nordicsemi:[259,261,264,275,276,282],normal:[2,99,180,231,233,274,278],notat:[56,262],note:[1,2,4,6,7,10,11,12,22,23,24,25,30,33,44,48,51,58,59,60,61,62,67,69,72,81,82,83,84,86,87,88,90,91,92,93,94,95,100,129,130,131,137,174,188,191,193,196,207,208,209,210,212,215,216,220,223,225,226,237,238,241,243,244,246,247,249,251,253,254,255,256,258,259,260,261,262,263,264,265,268,269,270,271,277,278,279,280,282,284,285,286,288,289,292],noth:[11,180,228,254,255,276],notic:[7,11,56,62,93,94,181,223,243,246,270,275,276],notif:[10,14,28,29,88,131,211,248,274],notifi:[10,29,211,252,253],notnul:226,nov:8,novelbit:14,now:[2,8,9,14,60,87,90,91,92,94,99,100,129,152,154,158,161,164,167,169,171,180,187,194,223,237,238,241,242,243,246,248,249,250,252,253,254,255,256,259,264,267,269,274,275,276,278,282,286,289,290],nreset:256,nrf51:[25,54,94,135,182,265],nrf51dk:[54,223],nrf51xxx:190,nrf52840pdk:33,nrf52:[4,25,62,94,135,182,186,192,208,240,241,247,257,258,259,264,275,277,279,282,287,289,290,292],nrf52_adc_dev_init:276,nrf52_bleprph_oic_bno055:277,nrf52_blinki:[258,261,263,289],nrf52_bno055_oic_test:[277,279],nrf52_bno055_test:[278,280],nrf52_boot:[238,247,261,276,277,278,279,285],nrf52_hal:94,nrf52_slinki:285,nrf52_thingi:208,nrf52dk:[38,39,54,62,63,94,226,240,246,247,250,258,261,274,275,276,277,278,279,285],nrf52dk_debug:[62,94,258],nrf52dk_download:94,nrf52k_flash_dev:[94,186],nrf52pdk:247,nrf52serial:285,nrf52xxx:[49,94,192,259,282],nrf5x:25,nrf:[26,276],nrf_drv_saadc:276,nrf_drv_saadc_config_t:276,nrf_drv_saadc_default_channel_config_s:276,nrf_drv_saadc_default_config:276,nrf_saadc_channel_config_t:276,nrf_saadc_gain1_6:276,nrf_saadc_input_ain1:276,nrf_saadc_reference_intern:276,nrf_saadc_typ:276,nrpa:[20,254,255],nsampl:278,nsec:87,nth:180,ntoh:90,ntohl:90,ntrst:256,nucleo:54,nul:180,num_block:91,num_byt:185,number:[1,8,9,10,14,23,28,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,61,62,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,84,85,87,88,90,91,92,93,94,99,100,101,102,129,130,140,141,142,152,158,164,169,171,172,173,174,175,176,180,183,187,188,190,191,193,194,196,198,199,200,207,215,216,220,224,225,226,231,238,240,241,243,247,253,254,255,256,258,262,264,268,269,270,274,275,276,278,279,285,288,289],numer:[14,21,23,86,94,129],nvm:256,nxp:[14,135,182],objcopi:[6,14],objdump:6,object:[4,11,49,56,62,82,87,93,94,97,100,133,167,200,202,203,204,209,211,212,252,267,278,281],objsiz:[6,49,223],observ:[15,28,213,247,281],obtain:[14,28,90,92,99,100,180,193,269,275,276],obvious:54,oc_add_devic:277,oc_add_resourc:277,oc_app_resourc:[277,279],oc_get:277,oc_if_rw:277,oc_init_platform:277,oc_main_init:[213,277],oc_new_resourc:277,oc_put:277,oc_resource_bind_resource_interfac:277,oc_resource_bind_resource_typ:277,oc_resource_set_default_interfac:277,oc_resource_set_discover:277,oc_resource_set_periodic_observ:277,oc_resource_set_request_handl:277,oc_serv:[213,238,277,279,281],oc_transport_gatt:238,oc_transport_ip:238,oc_transport_seri:238,occasion:90,occur:[27,28,90,92,101,187,188,191,225,251,252,254,255],occurr:226,ocf:[133,275],ocf_sampl:[7,62],ocimgr:132,ock:212,octet:[28,30,32,129],od_init:135,od_nam:209,odd:194,odditi:14,off:[2,14,21,22,32,33,85,88,90,97,98,100,131,135,141,182,183,188,205,207,209,210,214,238,240,241,242,246,247,254,255,258,262,277,279,280,281,282,284,292],off_attr:205,offer:[1,22,133,135,152,185,276],offset1:90,offset2:90,offset:[21,29,72,90,94,101,129,141,149,153,159,163,168,169,171,172,173,175,180,200,223,225,226,278],often:[9,56,94,180,188,191],ogf:275,ohm:276,oic:[7,52,67,133,210,211,282,292],oic_bhd:67,oic_bl:67,oic_seri:67,oic_udp:67,oic_udpconnstr:67,oicmgr:[7,67,132,133,134],okai:14,old:[46,141],older:[14,60,83,260],oldest:[141,146,150,225],olimex:[257,275,287,292],olimex_blinki:262,olimex_stm32:[54,262,288],om1:90,om2:90,om_data:90,om_databuf:90,om_flag:90,om_len:90,om_omp:90,om_pkthdr_len:90,ome:91,omgr:134,omi_block_s:91,omi_min_fre:91,omi_nam:91,omi_num_block:91,omi_num_fre:91,omit:[14,48,225],omp:90,omp_databuf_len:90,omp_flag:90,omp_len:90,omp_next:90,omp_pool:90,on_reset:27,on_sync:27,onboard:[209,210,280,284,289,290,292],onc:[20,30,56,58,62,81,85,87,90,91,92,93,100,129,144,182,191,193,235,237,238,241,242,249,254,257,258,264,269,275,276],one:[1,4,7,8,10,11,12,14,20,21,22,23,24,28,30,31,32,35,36,40,44,46,51,52,54,58,59,60,62,68,86,88,90,92,93,94,97,99,100,129,130,131,137,138,141,153,166,167,174,175,177,178,180,183,188,191,196,206,207,211,212,221,223,224,225,226,242,243,244,246,247,253,254,255,256,257,258,259,260,261,262,263,264,267,268,269,270,271,274,275,276,278,284,285,288,292],ones:[15,90,99,135,182,206,247,292],ongo:28,onli:[1,2,7,8,10,11,12,14,15,20,21,25,28,30,32,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,59,60,61,62,63,67,73,81,84,87,88,90,91,93,94,97,98,99,129,130,131,132,135,136,137,139,151,153,155,156,157,159,162,165,166,168,169,174,175,180,188,191,196,206,207,209,210,212,215,220,223,224,225,226,230,231,233,234,236,238,241,242,243,244,249,251,254,256,258,264,265,267,268,269,270,271,275,276,277,278,281,282,286],onlin:[256,282,289,290],onto:[1,21,43,44,48,85,88,90,94,257,259,260,261,262,263,274,275,278,285,288],oob:[14,21,28,30],opaqu:[153,193,206,207,209,211,282],open:[4,8,9,10,12,14,21,22,39,40,48,56,58,59,60,62,97,133,135,153,154,158,159,161,162,164,165,168,169,170,171,172,173,176,180,208,254,256,259,260,262,263,267,275,280,286],open_test:267,openocd:[12,94,256,259,260,262,263,288],openocd_debug:259,oper:[1,9,12,16,19,21,22,27,32,40,58,59,60,85,90,97,98,99,100,101,131,133,135,153,161,162,163,168,170,174,175,179,180,181,182,183,185,187,194,207,212,224,226,227,236,246,247,251,252,253,254,255,256,264,267,268,270,271,274,275,278,282],oppos:[32,90,271],opt:4,optim:[1,25,33,38,39,44,51,62,90,94,95,102,135,223,237,243,246,247,250,256,259,260,261,262,263,264,268,275,276,278,282,285,288],optimis:32,option:[2,3,4,6,7,8,12,14,23,24,28,37,38,47,52,56,63,67,73,85,88,91,94,129,133,135,151,152,198,207,209,210,215,223,225,226,228,233,244,246,247,253,256,260,262,264,268,269,270,275,276,278,288],orang:[259,263],order:[1,8,9,14,23,34,56,62,64,86,88,90,91,92,98,100,102,129,130,133,180,191,207,225,226,238,242,243,264,267,270,272,275,276,282,289,290],org:[1,4,10,11,14,40,58,59,60,62,81,83,102,131,138,254,256,259,260,262,263,267,275,276,282,289,290],organ:[11,135,224,267,269],origin:[11,47,94,129,262],os_align:[90,91],os_arch:[62,91,101],os_bad_mutex:92,os_bsp_adc0:276,os_bsp_adc0_config:276,os_callout:[62,85,98,130,240,258,282],os_callout_f_queu:85,os_callout_func:[85,90],os_callout_func_init:85,os_callout_init:[85,98,240,258,282],os_callout_queu:85,os_callout_remaining_tick:85,os_callout_reset:[85,98,240,258,282],os_callout_stop:85,os_cfg:62,os_cli:226,os_cputim:[14,62],os_cputime_delay_nsec:87,os_cputime_delay_tick:87,os_cputime_delay_usec:87,os_cputime_freq:25,os_cputime_freq_pwr2:87,os_cputime_get32:87,os_cputime_init:87,os_cputime_nsecs_to_tick:87,os_cputime_ticks_to_nsec:87,os_cputime_ticks_to_usec:87,os_cputime_timer_init:87,os_cputime_timer_num:[25,87],os_cputime_timer_rel:87,os_cputime_timer_start:87,os_cputime_timer_stop:87,os_cputime_usecs_to_tick:87,os_dev:[62,135,207,208,209,276,280],os_dev_clos:[208,280],os_dev_cr:[135,207,208,209,212,276],os_dev_init_func_t:[135,209],os_dev_init_kernel:276,os_dev_init_primari:208,os_dev_init_prio_default:276,os_dev_open:[208,276,280],os_einv:[90,101,205],os_eno:130,os_error_t:[91,92,99],os_ev:[85,88,90,98,130,131,240,258,282],os_event_fn:[85,88,90],os_event_queu:88,os_event_t_mqueue_data:90,os_event_t_tim:85,os_eventq:[62,85,88,90,98,131,217,240,274,276],os_eventq_dflt_get:[27,88,93,100,131,226,240,254,255,258,280,282],os_eventq_get:[88,98],os_eventq_get_no_wait:88,os_eventq_init:[88,90,98,131,240,274],os_eventq_pol:88,os_eventq_put:[88,131,240],os_eventq_remov:88,os_eventq_run:[27,88,90,93,100,226,240,254,255,258,280,282],os_fault:62,os_get_uptim:101,os_get_uptime_usec:101,os_gettimeofdai:101,os_heap:62,os_init:[87,100],os_invalid_parm:[92,99],os_main_task_prio:[226,243],os_main_task_stack_s:226,os_malloc:[62,89],os_mbuf:[62,90,218,219],os_mbuf_adj:90,os_mbuf_append:[90,274,276],os_mbuf_appendfrom:90,os_mbuf_cmpf:90,os_mbuf_cmpm:90,os_mbuf_concat:90,os_mbuf_copydata:90,os_mbuf_copyinto:90,os_mbuf_count:90,os_mbuf_data:90,os_mbuf_dup:90,os_mbuf_extend:90,os_mbuf_f_:90,os_mbuf_f_mask:90,os_mbuf_fre:90,os_mbuf_free_chain:90,os_mbuf_get:90,os_mbuf_get_pkthdr:90,os_mbuf_is_pkthdr:90,os_mbuf_leadingspac:90,os_mbuf_off:90,os_mbuf_pkthdr:90,os_mbuf_pkthdr_to_mbuf:90,os_mbuf_pktlen:90,os_mbuf_pool:90,os_mbuf_pool_init:90,os_mbuf_prepend:90,os_mbuf_prepend_pullup:90,os_mbuf_pullup:90,os_mbuf_trailingspac:90,os_mbuf_trim_front:90,os_mbuf_usrhdr:90,os_mbuf_usrhdr_len:90,os_memblock:91,os_memblock_from:91,os_memblock_get:91,os_memblock_put:91,os_memblock_put_from_cb:91,os_membuf_t:[90,91],os_mempool:[62,90,91],os_mempool_byt:91,os_mempool_clear:91,os_mempool_ext:91,os_mempool_ext_init:91,os_mempool_f_:91,os_mempool_f_ext:91,os_mempool_info:91,os_mempool_info_get_next:91,os_mempool_info_name_len:91,os_mempool_init:[90,91],os_mempool_is_san:91,os_mempool_put_fn:91,os_mempool_s:[90,91],os_mqueu:90,os_mqueue_get:90,os_mqueue_init:90,os_mqueue_put:90,os_msys_count:90,os_msys_get:90,os_msys_get_pkthdr:90,os_msys_num_fre:90,os_msys_regist:90,os_msys_reset:90,os_mutex:[62,92,141,207],os_mutex_init:92,os_mutex_pend:92,os_mutex_releas:92,os_ok:[92,99],os_pkg_init:226,os_san:[62,98],os_sanity_check:[98,100],os_sanity_check_func_t:98,os_sanity_check_init:98,os_sanity_check_regist:98,os_sanity_check_reset:98,os_sanity_check_setfunc:98,os_sanity_task_checkin:98,os_sch:62,os_sched_get_current_t:243,os_sched_get_current_task:[86,98,243],os_sem:[62,93,99,275],os_sem_get_count:99,os_sem_init:[14,93,99,275],os_sem_pend:[14,93,99,275],os_sem_releas:[14,93,99,275],os_sem_test_bas:232,os_sem_test_case_1:232,os_sem_test_case_2:232,os_sem_test_case_3:232,os_sem_test_case_4:232,os_sem_test_suit:232,os_settimeofdai:101,os_stack_align:[243,274,276],os_stack_t:[98,100,218,240,243,274,276],os_start:100,os_stime_t:101,os_sysview:290,os_task:[62,86,88,92,93,98,100,240,243,274,276],os_task_count:100,os_task_flag_evq_wait:100,os_task_flag_mutex_wait:100,os_task_flag_no_timeout:100,os_task_flag_sem_wait:100,os_task_func_t:[98,100],os_task_info:100,os_task_info_get_next:100,os_task_init:[93,98,100,240,243,274],os_task_max_name_len:100,os_task_pri_highest:100,os_task_pri_lowest:100,os_task_readi:100,os_task_remov:100,os_task_sleep:100,os_task_st:100,os_task_stack_defin:100,os_task_state_t:100,os_test:62,os_test_restart:235,os_tick_idl:[190,256,259,282],os_tick_init:190,os_tick_per_sec:14,os_ticks_per_sec:[14,85,98,101,130,190,209,240,243,258,274,275,276,282],os_tim:[62,101,267],os_time_adv:101,os_time_delai:[14,100,101,209,240,242,243,274,276],os_time_get:101,os_time_max:101,os_time_ms_to_tick:101,os_time_t:[85,88,98,100,101,190,207,209],os_time_tick_geq:101,os_time_tick_gt:101,os_time_tick_lt:101,os_time_ticks_to_m:101,os_timeout:[92,99,275],os_timeout_nev:[93,101,208,280,282],os_timeradd:101,os_timersub:101,os_timev:[101,267],os_timezon:[101,267],os_wait_forev:[88,93,100,240,243,274],osmalloc:89,ostask:100,ostick:101,osx:[237,242],ota:238,otg1:262,otg2:[262,288],other:[1,6,10,11,14,21,23,25,30,32,51,56,62,87,88,90,91,93,94,95,98,99,100,101,129,130,131,135,153,154,162,165,170,174,175,177,180,185,188,206,209,211,215,223,224,226,237,240,243,246,247,248,249,251,252,256,257,258,259,265,267,269,274,275,276,277,278,279,282,284,289,290],otherwis:[14,90,91,93,100,143,145,148,187,191,269,270],oti:100,oti_cswcnt:100,oti_last_checkin:100,oti_nam:100,oti_next_checkin:100,oti_prio:100,oti_runtim:100,oti_st:100,oti_stks:100,oti_stkusag:100,oti_taskid:100,oui:[20,264],our:[14,21,56,90,94,223,224,237,238,242,243,246,249,254,255,257,258,267,270,274,276,285,288],our_id_addr:[31,250],our_id_addr_typ:250,our_key_dist:28,our_ota_addr:[31,250],our_ota_addr_typ:[31,250],out:[8,9,11,21,22,23,24,27,28,62,81,82,83,85,90,96,100,129,131,137,141,142,145,147,161,162,174,181,182,183,199,201,202,203,204,223,228,235,246,248,250,254,255,257,262,268,287],out_cpha:191,out_cpol:191,out_data:[163,164],out_dir:[162,163,165],out_fil:[161,163],out_id_addr_typ:31,out_len:[158,163,164,172],out_m:101,out_nam:[137,157,163],out_name_l:157,out_name_len:[157,163],out_off:90,out_tick:101,outdat:59,outfil:[1,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63],outgo:219,outlin:5,output:[1,7,12,14,22,23,28,31,35,36,38,39,40,41,42,43,44,45,46,47,48,50,51,52,53,55,58,59,60,63,70,74,76,77,78,82,89,94,100,101,129,182,187,194,206,223,225,228,237,240,256,258,259,260,262,263,264,267,268,275,278,282,286,289],outsid:[21,22,90,227],outweigh:90,over:[14,21,22,23,24,28,30,32,66,67,68,69,70,71,72,73,74,75,76,77,78,90,129,134,135,137,141,143,151,188,194,206,223,238,243,251,257,258,260,264,268,274,275,277,278,279,281,284,287,289,292],overal:[10,14,25,90,100,174],overhead:90,overlap:[21,180],overrid:[51,62,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,94,206,223,224,238,247],overridden:[24,226,247],oversampl:276,overview:[129,278,279,282],overwrit:[6,50,51,60,61,83,84,94,131,180,256,265,268],overwrite_many_test:267,overwrite_one_test:267,overwrite_three_test:267,overwrite_two_test:267,overwritten:[129,173,180],own:[2,11,14,20,21,40,58,59,60,62,88,92,93,97,99,100,136,180,191,206,223,224,244,245,246,276],own_addr_t:[254,255],own_addr_typ:[28,67,254,255,275],owner:[88,92,271],ownership:[92,180,275,276],pacakg:246,pacif:101,pack:[4,56,82,90,241,259,261,268,278,282,285],packag:[6,9,11,14,24,25,27,35,40,41,42,44,46,51,52,53,54,56,57,59,60,61,80,84,88,93,95,100,129,130,132,133,135,138,139,153,163,174,182,183,196,197,200,208,209,212,213,214,215,223,224,232,233,234,237,240,247,257,258,259,264,266,269,270,276,279,280,281,292],package1:206,package1_log:206,package2:206,package2_log:206,packet:[21,22,28,30,188,215,219,254,264],packet_data:90,pacman:[7,60],pad:[90,129],page:[1,4,5,6,7,8,10,21,23,58,59,61,81,82,84,94,102,136,181,188,189,207,208,209,210,237,242,244,246,248,252,254,255,257,276],page_s:136,pair:[21,22,23,28,67,129,130,180,200,205,226,250,252],pakcag:215,panel:12,paradigm:90,param:[28,215,220,252],param_nam:215,paramet:[1,14,21,27,28,29,31,62,67,73,85,87,88,90,91,92,98,99,100,101,130,137,141,151,183,187,188,190,191,193,194,195,206,208,209,215,226,238,249,251,252,253,254,255,267],parameter_nam:226,parameter_valu:226,parent:[91,155,156,157,162,165,167,173,180],parenthes:90,pariti:194,parlanc:11,parmaet:28,parmet:[28,29],pars:[56,198,215,228,231,254,267],part:[14,23,30,90,96,129,141,169,174,175,180,181,223,249,250,253,275,276,281],parti:[254,256,268],partial:[65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,90,129,174,175],particular:[4,14,21,48,62,90,93,94,97,98,129,131,135,153,182,191,193,200,235,252,254,255],particularli:265,partit:[21,94,129,174,180,223],partner:14,pass:[1,7,12,14,21,28,62,85,87,88,90,91,92,98,99,100,130,131,135,136,140,141,151,161,164,172,180,187,188,191,193,194,200,207,208,209,211,215,218,229,230,231,232,249,253,254,255,267,276,282],passiv:[14,28],passkei:[14,21,23,28],password:[11,59,81,247,271],past:[21,90,276],patch:[259,260,263],path:[2,4,6,11,12,14,30,51,58,59,60,61,62,67,81,82,83,84,94,95,153,160,161,162,163,167,170,172,173,226,269,275,276],pathloss:30,pattern:[28,94,243],payload:[90,133,134,188],pc6:288,pc7:288,pca100040:247,pca:[241,261,275,276],pcb:275,pci:[135,182],pcmcia:[135,182],pdata:188,pdf:[237,288],pdt:[101,267],pdu:[21,28],peek:243,peer:[10,23,29,67,191,241,251,253,254,255],peer_addr:[28,31,67,249],peer_addr_typ:[28,31,67,249],peer_id:67,peer_id_addr:250,peer_id_addr_typ:250,peer_nam:[14,67,241],peer_ota_addr:250,peer_ota_addr_typ:250,pem:[38,47],pencil:10,pend:[21,85,88,92,99,129,188,241],per:[11,14,20,90,92,129,130,174,183,187,191,194,224,243,267,270],perfom:129,perform:[3,4,5,9,11,12,14,21,23,26,28,37,58,59,60,65,81,82,83,90,91,93,94,98,100,102,129,131,136,152,153,167,180,188,193,212,223,226,237,241,251,256,258,259,264,270,274,276,277,278,279,282],perhap:269,period:[9,14,20,23,28,85,98,190,195,240,243],peripher:[9,14,21,22,25,27,30,31,94,97,135,182,183,188,191,224,241,245,246,249,252,253,254,274,275,276],perman:[72,129,180,223,241,249,252],permiss:[275,276],permit:[21,253,256,282,289,290],persist:[14,129,152],perspect:223,pertain:252,petteriaimonen:102,phdr:90,phone:[14,23,32],php:56,phy:[22,28],phy_opt:28,physic:[22,28,30,67,131,184,187,194],pick:[86,93,206,254,255],pictur:[237,259],pid:260,piec:[22,94,275],pig:244,pin:[7,8,21,94,97,100,135,182,184,187,188,191,192,194,207,237,240,258,259,262,264,268,275,276,278,282,288],ping:93,pinout:96,pipe:14,piqu:292,pitfal:90,pkcs15:129,pkg1:225,pkg2:225,pkg:[1,7,11,40,44,51,54,56,58,59,60,62,95,96,102,131,135,136,137,152,153,181,182,206,208,215,224,225,226,238,240,246,258,267,275,276,277,282],pkg_init_func1_nam:226,pkg_init_func1_stag:226,pkg_init_func2_nam:226,pkg_init_func2_stag:226,pkg_init_func:226,pkg_init_funcn_nam:226,pkg_init_funcn_stag:226,pkg_test:234,pkga_syscfg_nam:226,pkga_syscfg_name1:226,pkga_syscfg_name2:226,pkgn_syscfg_name1:226,pkt:275,pkthdr_len:90,pkts_rxd:90,place:[3,56,62,88,101,102,129,141,169,188,191,223,226,233,238,242,243,246,247,253,254,255,262,270,284],plai:[12,14,22,284],plain:[223,260,270],plan:[2,14,135,215],platform:[2,7,9,11,12,24,25,58,59,60,67,81,82,83,85,93,94,95,97,135,183,188,191,193,227,233,241,243,246,256,258,259,260,262,263,268,275,276,278,285,286,287,288],pleas:[14,40,58,59,60,95,96,207,211,212,224,237,242,256,257,269,276,282,289,290],plenti:243,plist:62,plu:[90,157,180,188],plug:[8,181,237,262,263,276],plumb:274,pmode:278,point:[2,4,6,14,32,86,90,92,94,96,100,102,129,130,131,135,142,143,144,145,146,148,149,150,151,162,163,165,180,191,207,246,251,252,254,255,276,277],pointer:[68,85,86,87,88,90,91,92,94,99,100,101,130,131,135,141,142,143,151,154,156,157,158,159,161,163,164,169,171,172,173,180,181,183,188,191,193,198,199,200,206,207,208,209,212,215,216,217,220,221,228,243,251,252],poke:276,polici:[28,269],poll:[14,88,93,211,278,282],poll_du:278,poll_dur:278,poll_interv:278,poll_itvl:278,poller:[207,211,212,282],pong:93,pool:[74,81,93,264,279,286],popul:[1,7,12,51,63,101,176,180,233,257,268,284,287,292],port:[2,12,67,93,131,135,187,194,206,224,238,247,256,258,259,260,261,262,263,268,275,278,282,285,286,287,288,292],portabl:[135,182],portingto:95,portion:[129,147,188,276],posit:[90,101,129,159,169,172,195,262],posix:60,possibilti:[289,290],possibl:[14,22,23,25,28,29,31,33,37,54,90,92,101,129,135,153,174,175,180,182,183,206,223,224,253,269,278,289],post:[50,85,90,135,240,246],potenti:[97,223,270],pour:[59,82],power:[2,9,14,21,22,23,28,30,32,56,94,97,131,135,182,183,191,192,209,238,241,247,256,261,262,264,268,277,278,279,280,282,285,288],ppa:4,pre:[4,9,206,224,269,270,275],precaut:251,prece:90,preced:24,precis:[6,21],predict:243,preempt:[92,93,99,100],preemptiv:[93,100,243],prefer:[3,28,30,139,241,251,275],preference0x01:28,prefix:[62,180,210,226,276],preload:191,prepar:[21,259,261,264,276],prepend:90,preprocessor:[215,224],prerequisit:12,presenc:[94,180,249,254,255,269],present:[1,14,90,94,129,131,180,196,208,223,247,262,267,276],preserv:90,press:[8,12,14,99,240,243,246,268,278,290],presum:[90,264],pretti:[14,276],prev:[100,180],prev_ind:252,prev_notifi:252,prevent:[92,93,129,170,251],previ:[250,252],preview:[244,247],previou:[22,57,58,59,60,79,80,81,82,83,100,129,180,200,225,226,246,247,258,269,274],previous:[6,12,58,59,60,61,81,82,83,84,191,238,250,272,276,278],prevn:[250,252],pri:[78,183,285,288],primari:[28,94,129,133,167,241,253,255,274],primarili:102,primary_phi:28,primo:[257,275],primo_boot:259,primo_debug:259,primoblinki:259,print:[49,58,59,60,63,130,131,137,155,156,157,162,165,172,194,215,225,228],print_statu:172,print_usag:198,printabl:199,printf:[102,137,228,231],prio:[98,100,190,218],prior:[23,25,50,90,93,129,167,176,180,191,193,264],prioriti:[14,78,86,88,92,93,99,100,135,174,183,190,226,240,247,276,292],priv:28,privaci:[20,22,28],privat:[20,23,33,38,47,58,67,81,129,254,255],privileg:2,prng:14,pro:[14,243,256,259],probabl:[7,14,94,248,271,275],probe:[188,259,268,282],problem:[7,99,129,162,223,225],proce:[3,6,11,129,235,256,259,260,261,262,263,267,268,285,288],procedur:[6,11,17,20,21,23,28,29,65,76,81,82,83,129,180,181,223,275,278,281],proceed:[7,248,254,255],process:[3,6,9,10,14,21,23,27,28,32,62,85,86,88,90,94,100,129,131,132,180,212,213,217,223,224,226,237,238,240,243,254,255,275,277,280,281,282,289,290],process_data:170,process_rx_data_queu:90,processor:[4,9,90,100,135,182,183,187,243,256,262,282,289,290],produc:[99,129,224,231,260],product:[14,56,97,175,187,210,247,275,288],profil:[15,16,17,18,22,28,29,32,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,81,82,83,246,256,285,287,288],profile01:[66,68,69,70,71,72,73,74,75,76,77,78],profile0:78,program:[4,6,8,12,24,86,129,131,189,192,237,243,256,258,259,261,264,268,276],programat:131,programm:[260,289,290],programmat:[138,282],progress:[7,14,21,129,135,136,180,191,245],prohibit:168,project:[3,6,8,11,34,35,40,41,42,45,50,51,53,56,58,59,60,62,64,89,100,102,129,131,136,137,139,152,177,178,182,196,206,224,232,233,240,242,243,244,250,267,271,272,277,278,282,283,284,289,292],prompt:[7,8,11,12,48,59,60,94,246,256,258,259,260,261,262,263,278,282],prone:253,proper:[135,275,276],properli:[25,62,93,98,243,247,251,274,276],properti:[12,20,32,60,94,129,134,174,175,180,206,237,248,259],proport:180,propos:10,prot_length:90,prot_tif:90,prot_typ:90,protcol:90,protect:[23,89,129,141],protocol:[14,15,21,22,29,62,67,90,129,133,134,188,279,281,284,287],prototyp:[97,194,226,254,255],provid:[1,2,7,9,11,12,14,20,21,22,23,28,31,32,38,40,46,51,58,59,60,67,71,72,73,76,81,85,87,89,90,91,92,93,94,96,97,98,100,101,129,131,135,136,137,141,152,153,174,182,187,188,191,193,198,207,210,212,213,215,224,233,236,238,248,254,255,256,264,267,268,269,270,275,276,281],provis:[14,22,33],provision:[14,32],proxi:[22,32],pseln:276,pselp:276,pset:191,psm:[14,28],psp:[256,260],pst:[69,101,267],pth:262,ptr:194,public_id:28,public_id_addr:31,public_target_address:30,publish:[14,23],pull:[11,14,50,81,83,88,90,135,187,240,258,262],pulldown:187,pullup:[90,187],purpos:[4,14,23,51,56,94,98,129,182,187,206,209,211,223,224,243,251,264,276,282],push:[10,14,244],put:[1,2,7,44,62,81,83,88,90,91,92,94,99,100,101,134,183,243,249,254,255,267,276],putti:[8,258,268,278],pwd:[2,11],pwm:[9,14],pwr:[260,262],px4:4,python:[34,64],qualifi:251,qualiti:283,quat:278,queri:[9,20,51,56,58,59,60,62,63,90,134,156,157,158,159,172,180,207,209,224,249,278,286],question:246,queu:[21,85,88,194,240],queue:[27,62,85,87,90,93,98,99,100,131,180,193,212,215,217,219,226,238,254,255,274,280,282,284,292],quick:[2,3],quickli:[101,182,243,276,278,281,282,284],quickstart:[2,243],quiet:[1,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63],quit:[20,94,246,249,254,255,256,259,260,262,263,289],quot:67,r_find_n:212,r_lock:212,r_match_:212,r_regist:212,r_unlock:212,radio:[22,25,247],raff:82,rais:92,ram:[49,94,96,174,183,223,246,256,275,276,277],ram_siz:94,ran:98,rand:[14,28],random:[20,21,26,28,31,67,247,253,254,255,274],random_id:28,random_id_addr:31,randomli:20,rang:[9,21,22,30,90,102,180,198,264],rare:90,rate:[14,67,85,131,212,213,247,264,278,281,282],rather:[14,15,21,94,101,102,129,153,167,223,276],raw:[11,58,59,60,81,82,83,131,174,180,226,228,276],rb_bletini:51,rb_blinki:[44,51],rb_blinky_rsa:44,rb_boot:44,rbnano2_blinki:263,rbnano2_boot:263,reach:[98,193],read:[4,6,7,11,12,15,19,20,21,24,28,29,56,62,65,66,69,74,77,78,81,82,83,88,90,100,129,130,131,135,136,137,141,143,146,147,151,153,154,155,156,157,159,161,162,164,165,169,170,172,180,185,187,188,193,200,205,206,211,212,213,214,226,228,237,238,240,241,243,250,252,253,254,255,256,257,260,263,264,267,268,269,274,275,276,277,278,279,281,284,287,289,290],read_acceleromet:282,read_cb:282,read_chr:251,read_config:[154,161,164],read_part1_middl:169,read_rsp_rx:77,read_rsp_tx:77,read_sensor_interv:282,read_test:267,read_type_req_rx:77,read_type_req_tx:[77,238],read_type_rsp_rx:[77,238],read_type_rsp_tx:[77,238],readabl:[247,271],readdesc:7,readdir_test:267,reader:[267,274,276],readi:[10,86,88,100,131,194,200,243,256,275,289],readili:135,readm:[7,11,56,62,94,246,267],readnow:62,real:[1,7,9,14,88,93,101,131,180,200,236,240,246,253,275,282,289],realist:267,realli:[14,90,276],rearm:85,rearrang:90,reason:[14,21,27,28,90,91,129,192,243,250,252,264,267,269],reassembl:22,rebas:11,reboot:[7,14,72,129,192,223,225,241,277,279],reboot_log:73,reboot_log_flash_area:[225,226],reboot_start:280,rebuild:[14,33,62,83,280],rec0:129,rec1:129,rec2:129,recal:[251,269],receiv:[10,14,15,21,28,30,32,56,82,90,131,132,137,188,191,194,207,212,215,218,221,238,249,252,253,260,264,282,285,288],recent:[180,259],recip:6,recipi:30,reclaim:180,recogn:[56,180,276],recommend:[3,4,7,12,14,58,59,81,82,90,131,189,208,209,215,225,226,238,240,249,253,259,263,265,278,284,289],reconfigur:[191,194,280],reconnect:251,record:[129,180,209,224,233,290],recov:129,recover:129,recreat:270,recur:195,recurs:[56,62,91,170],red:[28,29,237,260,262,288],redbear:[257,292],redefin:225,redistribut:[56,256,269,282,289,290],redo:14,reduc:[9,23,25,32,88,102,133,206,238,240,266],redund:223,reenter:265,ref0:68,refer:[7,8,10,14,19,23,24,30,56,68,94,167,170,180,191,210,216,220,223,244,249,254,255,256,258,262,268,276,278,288],referenc:[1,180,187],reflect:250,reformat:180,refrain:27,refresh:[2,50,244,256],refus:[282,289],regard:[174,175,267,275,276],regardless:42,region:[14,90,94,129,168,174,175,180],regist:[14,24,76,86,90,95,130,132,135,139,153,163,166,182,183,188,197,206,207,211,213,216,218,220,221,222,226,243,251,253,275,276,282],register_:211,registr:[18,130,181,224,251,282],registri:[90,209],regress:[229,230,232,233,234],regular:[90,156,267],reject:[21,267],rel:[14,90,93,149],relai:[22,32],relat:[10,28,32,44,136,223,249,252,256,264,282,289,290],relationship:[28,99],releas:[3,4,7,32,50,57,79,80,90,91,92,93,99,135,187,188,215,226,256,268,269,270],release_not:[7,11],relev:[96,129,135,187],reli:[1,7,56,226],reliabl:[14,22,129,152,174,254,255,270],reload:14,remain:[94,164,170,180,223,228,231,243,251],remaind:[94,180,231,249,267,269],rememb:[2,42,81,83,92,256],remind:256,remot:[1,7,9,12,21,28,29,50,56,67,79,81,82,83,133,188,237,238,240,241,247,256,257,258,268,275,276,282,284,286,287,292],remov:[2,4,6,28,36,46,61,84,87,88,90,91,99,100,131,137,180,223,251,256,282],renam:[14,167],rename_test:267,repeat:[2,11,21,188,242,251],repeatedli:[30,129],replac:[4,6,94,96,102,196,223,226,228,231,242,256,258,285,288],repli:28,repo814721459:56,repo:[1,6,7,10,11,14,42,56,58,62,81,94,135,153,223,237,244,246,256,258,259,260,261,262,263,264,267,268,271,275,276,277,278,282,285,286,288,289,290],repop:7,report:[1,4,6,10,14,21,94,183,194,224,228,231,256,260,267,275,282,289,290],reposistori:7,reposit:169,repositori:[1,4,11,12,41,42,45,50,52,53,58,62,81,135,237,244,245,246,248,256,257,264,268,272,275,284,287,292],repres:[1,12,14,62,88,90,99,101,129,131,160,180,207,209,211,212,215,243,253],represent:[129,133],reproduc:[1,62,129,181,254,255],req_api:[62,131,206],req_len:90,request:[12,14,21,28,67,68,75,79,90,92,94,99,129,133,134,137,141,164,180,192,210,211,213,215,223,238,250,251,256,260,262,264,269,270,274,276,277,281,282,285,288],requir:[1,2,4,6,9,11,21,25,31,32,54,60,62,67,81,83,88,90,91,93,95,96,97,99,129,131,133,136,153,163,174,175,180,193,206,208,215,223,224,225,226,230,237,238,240,243,246,249,251,256,259,263,264,267,269,270,274,275,276,278,280,281,282,292],res:277,reserv:[21,90,94,97,142,144,180,207,243,264],reserved16:180,reserved8:180,reset:[26,65,79,81,82,83,85,98,132,133,192,223,235,238,246,247,250,259,260,261,263,276,278,282,289,290],reset_cb:27,reset_config:256,reset_handl:[94,262],resid:[97,129,175,180,242,253,275],resign:[58,59,60],resist:276,resistor:[240,276],resolut:[23,87,193,224,276],resolv:[1,20,21,23,28,33,56,67,82,225,237,254,255,269],resourc:[9,21,30,62,89,92,99,134,210,211,213,215,237,240,256,277,279,281,282,288,289,290],respect:101,respond:[18,26,223,249,251,253,274,275],respons:[14,16,21,29,30,70,86,91,93,131,133,137,213,223,243,249,251,268,275,281,285,286,288],rest:[1,14,47,62,90,180,198,200,228],restart:[2,129,130,141,180,192,256],restor:[14,130,174,177,178,180,259,261,264,276],restrict:[129,141,174,175,180,215,226,251,252],restructuredtext:10,result:[12,14,21,59,63,90,101,161,162,175,180,199,207,224,226,231,233,253,260,267,274,275,276],resum:[22,100,129,180,249,252],resynchron:50,retain:[129,180,226,252],retent:183,retransmit:32,retreiv:134,retri:[263,264],retriev:[58,81,88,90,101,133,153,155,156,157,158,159,162,164,165,172,175,207,209,246,284],reus:[56,82,129,226],reusabl:56,rev:278,revdep:[1,51,63],revers:[1,24,51,63,129,180,251,262],revert:[129,241],review:[10,223,249,267],revis:[4,198,278],revision_num:[269,270],revisit:[246,252],rewrit:180,rewritten:180,rfc:[69,200,267],ribbon:[262,288],rigado:[49,261,276],right:[2,3,10,14,56,62,130,244,249,262,276],rimari:253,ring:99,rise:187,ristic:253,rite_fil:153,robust:152,role:[14,21,22,31,32,99,251],room:[90,180,243],root:[2,4,8,32,81,137,166,180,237,269],rotat:167,rotate_log:167,routin:[102,130,141,142,144,163,181,200,232,275],rpa:[20,28],rpa_pub:[28,67],rpa_rnd:[28,67],rsa2048:129,rsa:129,rsp:28,rssi:[28,30,247],rtc:9,rto:[56,93,243],rtt:[14,131,275,291,292],rtt_buffer_size_down:289,rubi:[11,56,59],rule:[226,260,267],run:[2,3,4,5,6,8,9,11,24,25,31,35,40,42,44,51,53,56,58,59,60,61,62,65,67,68,78,79,81,82,83,84,85,86,87,88,90,92,93,94,97,98,99,100,129,130,132,133,136,137,153,161,162,180,193,213,215,221,223,225,234,235,236,237,238,241,242,243,246,247,254,255,257,259,260,261,262,263,264,267,268,275,276,277,278,279,280,282,285,287,288,292],runner:12,runtest:[7,132,238],runtest_newtmgr:238,runtim:[26,78,100,256,268,285,288],runtimeco:[58,59,60,81,82,83,237,256,268,269,276],rwx:94,rwxr:[81,83],rx_cb:131,rx_data:275,rx_func:194,rx_off:275,rx_phys_mask:28,rx_power:28,rxbuf:191,rxpkt:90,rxpkt_q:90,s_cnt:224,s_dev:207,s_func:207,s_hdr:224,s_itf:207,s_listener_list:207,s_lock:207,s_map:224,s_map_cnt:224,s_mask:207,s_name:224,s_next:[207,224],s_next_run:207,s_pad1:224,s_poll_rat:207,s_size:224,s_st:[207,282],s_type:207,saadc_config_irq_prior:276,saadc_config_oversampl:276,saadc_config_resolut:276,sad:282,sad_i:282,sad_x:282,sad_x_is_valid:282,sad_y_is_valid:282,sad_z:282,sad_z_is_valid:282,safe:[91,153],safeguard:93,safeti:251,sai:[14,62,90,100,256,268,269,270],said:[187,276],sam0:256,sam3u128:[259,261,264,275,276,282],samd21:[256,268],samd21g18a:256,samd21xx:256,samd:256,same:[6,10,12,14,23,30,35,38,48,52,60,62,79,90,92,94,95,99,129,130,131,152,174,180,188,212,223,224,225,226,228,237,240,242,243,249,251,252,257,259,261,264,269,270,271,276,277],sampl:[1,12,22,31,62,90,95,135,213,223,226,276,277,279,281,282,287],sample_buffer1:276,sample_buffer2:276,sample_cmd:222,sample_cmd_handl:222,sample_command:220,sample_modul:[220,222],sample_module_command:220,sample_module_init:220,sample_mpool:220,sample_mpool_help:220,sample_mpool_param:220,sample_target:54,sample_tasks_help:220,sample_tasks_param:220,sane:100,saniti:[78,93,100,246],sanity_interv:98,sanity_itvl:[98,100],sanity_task:98,sanity_task_interv:98,satisfactori:269,satisfi:[180,270],sattempt_stat:224,save:[12,32,50,51,72,101,130,131,188,209,243,251],saw:252,sbrk:[94,259,260,261,262,263],sc_arg:98,sc_checkin_itvl:98,sc_checkin_last:98,sc_cmd:[215,216,220,221,222,275],sc_cmd_f:215,sc_cmd_func:[215,216,220,221,222,275],sc_cmd_func_t:215,sc_func:98,sc_next:153,sc_valtyp:207,scalabl:[152,180],scale:32,scan:[14,16,22,25,27,28,30,180,247,249,277,279],scan_interv:28,scan_req:28,scan_req_notif:28,scan_result:268,scan_rsp:28,scan_window:28,scannabl:[28,31],scenario:[23,99,196],scene:32,schedul:[9,14,25,85,88,93,97,100,101,243],schemat:[94,288],scheme:[14,20,30,94],scientif:22,sck_pin:[136,137],scl:[188,278],sco:21,scope:[12,90,243],scratch:[94,129,141,142,144,223],screen:[8,264],script:[7,43,62,138,140,262],scroll:[12,238,250],sd_get_config:[207,209],sd_read:[207,209],sda:[188,278],sdcard:137,sdk:[46,54,226],search:[12,88,95,135,177,180,212,246,256,262,269,277,282,289,290],searchabl:135,sec000:129,sec125:129,sec126:129,sec127:129,sec:[278,282],second:[14,23,27,28,62,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,85,90,91,94,98,100,101,129,141,195,215,223,237,242,243,249,254,255,258,262,267,274,276,278,282],secondar:253,secondari:[28,72,94,129,241,253],secondary_phi:28,secret:[23,28],section:[1,5,6,7,11,12,14,15,25,26,30,31,62,90,93,94,100,129,130,180,209,223,225,226,227,238,241,243,245,249,252,253,256,257,268,269,270,276,284,286,287],sector:[129,141,142,147,149,150,151,180,185,262],sector_address:[136,185],secur:[14,22,129,223,253,271,274],see:[2,4,5,6,7,8,10,11,12,14,22,23,24,25,34,37,44,56,58,59,60,62,64,65,67,81,82,83,88,90,92,93,94,97,100,129,130,138,148,161,182,188,191,200,206,207,208,209,210,211,212,213,214,215,224,225,226,237,238,241,242,243,244,246,247,249,250,251,253,254,255,256,257,258,259,260,261,262,263,264,265,268,269,270,271,274,275,276,277,278,279,281,282,284,285,287,288,289,290],seek:[90,169,180],seem:[14,249,276],seen:[91,186,189,269,292],segger:[131,241,259,261,264,268,275,276,278,282,285,291,292],segger_rtt:14,segger_rtt_conf:289,segment:[22,90,277],sel:288,select:[4,12,14,20,22,56,60,180,187,191,207,215,256,258,259,260,262,277,279,288,290],selector:207,self:[3,31,95,254,255,267],selftest:267,sem:99,sem_token:99,sema:275,semant:252,semaphor:[14,93,100,275],send:[3,14,15,21,28,29,32,39,43,48,65,67,68,70,75,79,81,82,83,90,131,133,134,188,191,194,213,236,237,242,249,257,274,276,281,286,292],send_pkt:90,sender:249,sens:[21,129,223,276],senseair:275,senseair_cmd:275,senseair_co2:[274,275],senseair_init:275,senseair_read:[274,275],senseair_read_typ:[274,275],senseair_rx_char:275,senseair_shell_func:275,senseair_tx:275,senseair_tx_char:275,sensi:277,sensibl:226,sensor:[9,32,135,224,292],sensor_accel_data:282,sensor_callout:282,sensor_cfg:[207,209],sensor_cli:[214,278,279,282],sensor_cr:[208,278,280],sensor_data_func_t:[209,211],sensor_data_funct_t:209,sensor_dev_cr:208,sensor_devic:207,sensor_driv:[207,209],sensor_ftostr:282,sensor_g:207,sensor_get_config_func_t:[207,209],sensor_get_itf:209,sensor_in:207,sensor_init:[207,209],sensor_itf:[207,208,209],sensor_itf_i2c:[207,208],sensor_itf_spi:207,sensor_itf_uart:207,sensor_listen:[207,211,282],sensor_lo:207,sensor_mg:212,sensor_mgr_find_next_bydevnam:[212,282],sensor_mgr_find_next_bytyp:212,sensor_mgr_l:212,sensor_mgr_lock:212,sensor_mgr_match_bytyp:212,sensor_mgr_regist:[207,209,212],sensor_mgr_unlock:212,sensor_mgr_wakeup_r:[212,282],sensor_nam:278,sensor_o:[213,277,278,279,281,282],sensor_offset:278,sensor_oic_init:[213,277],sensor_oic_obs_r:[213,281],sensor_r:[207,211],sensor_read:[207,211],sensor_read_func_t:[207,209],sensor_register_listen:[211,282],sensor_s:207,sensor_set_driv:[207,209],sensor_set_interfac:[207,209],sensor_set_poll_rate_m:[207,212,282],sensor_set_type_mask:[207,209],sensor_shel:278,sensor_timestamp:207,sensor_type_acceleromet:[207,208,209,280,282],sensor_type_al:207,sensor_type_eul:[209,280],sensor_type_grav:[209,280],sensor_type_gyroscop:[207,209,280],sensor_type_light:207,sensor_type_linear_accel:[209,280],sensor_type_magnetic_field:[207,209,280],sensor_type_non:207,sensor_type_rotation_vector:[209,280],sensor_type_t:[207,209,211,212,282],sensor_type_temperatur:[207,209],sensor_type_user_defined_6:207,sensor_un:[207,211],sensor_unregister_listen:[211,282],sensor_value_type_float:[207,209],sensor_value_type_float_triplet:[207,209],sensor_value_type_int32:207,sensor_value_type_int32_triplet:207,sensor_value_type_opaqu:207,sensor_value_type_temperatur:209,sensornam:[207,208,209,210,278,280,282],sensorname_cli:209,sensorname_ofb:278,sensors_o:279,sensors_test:[277,278,280,281],sensors_test_config_bno055:280,sent:[21,30,131,180,188,191,194,215,251,253,264],sentenc:[63,244],sep:[4,82,83],separ:[21,27,35,36,51,52,67,129,135,177,180,198,206,223,224,251,254,255,256,259,260,262,263,264],seper:289,sequenc:[93,129,131,174,180,228,231],sequenti:[174,175,180],seri:[129,160,192,253,292],serial:[67,88,129,130,131,133,134,135,141,183,188,191,224,238,240,241,259,263,264,275,277,278,279,286,287],serror_stat:224,serv:[19,56,94,141,210,223,277],server:[12,14,15,19,21,22,28,32,134,210,211,213,223,244,253,264,274,277,279,281,282],servic:[14,17,18,22,28,29,30,32,93,97,135,182,236,249,250,251,252,268,270,275,277],service_data_uuid128:[28,30],service_data_uuid16:30,service_data_uuid32:[28,30],sesnor:282,session:[12,39,40,48,56,58,59,60,62,94,256,259,260,262,263,289],set:[1,2,7,8,9,10,12,20,21,24,25,28,29,30,32,33,35,37,38,40,51,54,56,57,59,60,62,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,85,87,90,97,98,99,100,101,129,130,131,135,136,146,153,154,158,161,163,164,168,171,174,176,177,178,180,182,187,188,190,191,193,194,195,200,208,210,212,213,214,215,216,220,221,222,223,224,233,237,240,241,243,247,250,251,254,255,256,257,259,260,261,262,263,264,265,267,268,269,270,271,274,276,278,279,281,282,284,285,287,288,289],setting1:225,setting2:225,settl:26,setup:[11,58,60,61,72,81,83,84,209,223,238,241,246,247,257,258,274,275,276,278,282,284,285,286,287,288],sever:[3,14,21,22,24,28,62,94,95,97,101,129,180,223,226,235,236,253,254,255,261,262,269],sha256:129,sha:129,shadow:130,shall:[14,25,28,30],share:[4,23,89,90,92,93,99,223,240,269],sheet:209,shell:[1,7,8,14,22,31,56,60,81,97,130,131,138,139,206,210,216,217,218,219,220,221,222,224,225,226,237,238,243,257,264,265,275,277,278,279,284,289],shell_cmd:[215,216,220,221,222,275],shell_cmd_argc_max:[215,264],shell_cmd_func_t:215,shell_cmd_h:215,shell_cmd_help:[215,220,265],shell_cmd_regist:[215,221,275],shell_compat:215,shell_complet:215,shell_init:226,shell_max_compat_command:[215,216],shell_max_input_len:139,shell_max_modul:[215,220],shell_modul:215,shell_newtmgr:[215,238],shell_nlip_input_func_t:218,shell_nlip_input_regist:215,shell_os_modul:[215,265],shell_param:[215,220],shell_prompt_modul:[215,258],shell_regist:[215,222],shell_sample_mpool_display_cmd:220,shell_sample_tasks_display_cmd:220,shell_stack:139,shell_task:[215,225,226,238,258,265,275,278,282],shell_task_init:139,shell_task_prio:139,shell_task_prior:225,shell_task_stack_s:139,shield:93,shift:[12,22],ship:[6,14],shortcut:12,shorten:249,shorter:[180,242],shorthand:[90,269],shortli:276,shot:264,should:[4,8,10,12,14,20,27,31,33,56,58,60,62,82,85,86,87,88,90,91,94,97,98,99,100,129,130,131,135,138,139,141,147,151,153,157,158,161,171,174,180,182,183,188,191,193,194,195,198,200,209,212,215,224,226,231,233,237,242,243,247,249,250,251,252,254,255,256,258,259,260,261,262,263,264,267,268,269,272,275,276,277,278,280,282,285,288,289,290],show:[1,4,5,6,7,8,11,12,14,28,29,32,37,40,41,44,51,54,58,59,60,61,62,63,73,81,82,83,84,90,100,130,131,194,206,220,223,225,226,233,236,237,238,240,241,243,244,247,253,256,257,258,259,260,261,262,263,264,268,274,275,276,277,278,279,280,281,282,284,285,286,288,289,290,292],shown:[6,7,12,44,56,62,90,93,129,136,193,209,224,237,251,256,259,264,267,269,271,276,278,280,282,286],si_addr:[207,208],si_cs_pin:207,si_num:[207,208],si_typ:[207,208],sibl:[11,270],sid:28,side:[12,14,22,31,130,275],sierra:[59,82],sig:[21,30,32],sign:[6,10,38,47,48,58,59,60,81,207,242,247,257],signal:[21,22,27,30,100,191,252],signatuar:12,signatur:[28,47,129],signed_imag:129,signifi:188,signific:[20,90,191,223,264],significantli:[14,32],signigic:90,silent:[1,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,226],silicon:33,sim1:[285,286,288],sim:[6,7,62,95,275,285,287,288],sim_slinki:[225,286],similar:[1,8,12,14,93,94,208,247,264,267],similarli:[90,206],simpl:[12,21,22,62,86,90,93,94,99,100,102,130,133,135,152,182,224,237,243,248,249,254,255,258,276,282,284],simplehttpserv:[34,64],simpler:[94,253],simplest:[90,285,288],simpli:[6,10,88,90,91,99,100,131,182,223,237,243,245,250,256,274,275],simplic:[129,254,255],simplifi:[14,21,88,91,188],simul:[2,3,5,6,51,235,243,282,286],simultaen:90,simultan:[14,28,30,31],simultaneosli:153,sinc:[3,14,21,25,33,62,90,93,94,99,101,129,191,215,224,241,242,243,246,247,254,255,256,258,268,269,274,275,276,277],singl:[2,3,7,14,23,40,48,56,58,59,60,88,90,99,100,129,130,135,153,172,174,175,180,209,224,226,248,249,253,254,267,269],singli:180,sissu:192,sit:[15,19,135,182,223],site:[248,259,263],situat:[93,223],six:[23,24],size:[9,21,28,30,40,56,58,59,60,62,74,78,88,90,91,94,100,101,102,129,130,131,133,136,157,174,175,176,180,191,205,206,223,224,225,226,228,236,238,243,256,260,262,264,266,279],size_t:[157,163,200],sizeof:[90,130,137,154,155,156,157,161,162,164,165,172,205,208,228,243,249,251,252,255,274,275,276],skelet:247,skeleton:[7,45,51,237,246,247,256,259,260,261,262,263,264,268,276,285,286,288],skip:[6,11,48,60,129,141,143,256,259,260,261,262,263,268,285,288],sl_arg:[211,282],sl_func:[211,282],sl_next:211,sl_sensor_typ:[211,282],slash:180,slave:[28,30,188,191],slave_interval_rang:30,sleep:[9,86,88,90,92,99,100,101,183,240,243,258],slightli:[97,223],slink:[285,286,288],slinki:[7,46,62,131,153,177,178,223,225,226],slinky_o:[7,62],slinky_sim:225,slinky_task_prior:225,slist_entri:[153,180,207,211],slist_head:[92,207],slot0:129,slot1:129,slot:[7,14,21,62,72,196,223,241,247,250,256,258,259,260,261,262,263,264,265,268,275,278,282,285,288,289,290],slower:[3,97,98],small:[21,25,90,131,135,172,223,224,253,260,267,276],smaller:[14,90,133,195,223,244,256],smallest:[90,180],smart:[22,32,56,62,275,281],smarter:270,smp:[21,22],snapshot:[44,259,263,270],snip:[1,37,44,56,62,238,246,247,276],snippet:251,soc:[14,97],socket:2,soft:[65,81,82,83,192],softwar:[1,3,4,6,22,39,43,48,51,97,98,129,182,236,241,256,259,261,262,268,269,275,276,278,282,285,289],solder:275,solut:[56,182,254,255],solv:[129,223],some:[1,8,12,14,31,65,77,90,91,93,94,97,99,100,102,129,131,137,141,152,153,154,161,164,174,175,183,191,194,206,220,225,233,237,238,243,248,249,250,251,252,254,255,258,259,260,263,264,265,267,268,269,275,276,282,285,288,289,290,292],somebodi:[130,275],somehow:62,someon:[10,86,276],someth:[14,21,237,246,247,268,271,274,289],sometim:[130,256,268,289],somewhat:[93,129,180],somewher:[14,129,180,223,276],soon:[22,270,276],sooner:195,sophist:243,sort:[180,250],sound:14,sourc:[1,4,9,22,25,51,57,59,61,62,80,82,84,90,97,129,130,135,167,180,209,210,226,233,240,248,256,259,260,262,268,269,270,276,282,284,288],space:[12,22,35,36,51,52,67,90,97,141,142,157,174,175,188,196,199,215,223,224,246,254,257,268,284,287,292],spare:14,spec:[14,21],specfi:278,special:[8,90,97,136,223,228,231,253,254,255,267,268,269,270,278],specif:[11,14,21,22,23,24,30,32,58,59,60,62,63,86,88,90,91,93,94,96,97,101,129,133,135,151,153,174,175,182,187,188,190,191,192,193,194,196,206,207,209,223,226,228,232,233,238,243,247,249,251,252,254,255,256,262,264,267,268,269,275,276,285,288],specifi:[1,4,6,7,11,12,14,21,28,31,35,36,38,40,42,44,46,47,51,52,54,56,58,59,60,62,66,67,68,69,70,71,72,73,74,75,76,77,78,85,87,88,90,91,94,97,98,100,101,102,131,133,134,151,153,154,155,156,157,158,159,160,161,162,164,165,167,168,169,170,171,172,173,175,177,178,180,183,187,188,206,207,208,209,210,211,212,213,214,215,216,217,220,225,228,231,233,238,241,246,249,251,252,253,254,255,256,261,262,265,268,269,270,271,276,278,281,282,285,288,289],spectrum:22,speed:[9,22,180,194,256,259,260,261,264,276,289],spew:268,sphinx:[34,64],spi:[8,14,22,97,135,136,137,187],spi_cfg:[136,137],spi_miso_pin:[136,137],spi_mosi_pin:[136,137],spi_num:[136,137,191],spi_sck_pin:[136,137],spi_ss_pin:[136,137],spi_typ:191,spilt:14,spitest:[7,62],split:[7,14,72,94,180,192,225,241,275,276,285,286,288],split_app:7,split_app_init:226,split_config:[285,286],split_elf_nam:62,split_file_test:267,split_load:226,splitti:[7,62,223,225],spot:94,spread:22,spuriou:267,squar:188,sram:262,src:[6,7,11,14,46,51,56,62,71,81,83,90,94,96,135,177,178,181,182,185,189,190,192,198,226,233,242,243,246,256,259,260,261,262,263,264,267,268,274,275,276,278,280,282,285,286,288],src_off:90,ss_op_wr:251,ss_pin:[136,137],ssec:28,sstatic:274,st_cputim:282,st_ostv:282,stabil:[269,270],stabl:[1,7,58,59,81,82,269,270],stack:[1,9,14,19,22,25,27,28,31,56,78,86,88,90,93,100,223,226,245,246,247,248,249,251,252,253,264,275],stack_bottom:100,stack_len:218,stack_ptr:218,stack_siz:[98,100],staff:[81,82],stage:[98,129,135,208,223,226],stai:[14,161,162],stailq_entri:224,stale:[2,256],stand:[14,90,234],standalon:[14,223],standard:[7,22,32,101,133,134,135,136,152,153,161,182,249,254,255,264,274,275],standbi:[22,196],start:[2,4,8,9,10,12,14,27,28,29,31,39,48,60,63,72,83,87,89,90,91,92,93,94,96,100,129,135,138,141,142,144,147,153,160,161,169,172,175,180,188,189,191,192,193,194,195,204,212,223,226,235,237,243,244,245,246,249,256,257,258,259,260,262,263,264,267,269,274,275,276,277,278,279,280,282,286,290,292],starter:242,startup:[20,22,27,31,129,223,226,243,254,255],startup_stm32f40x:[260,262],stash:50,stat:[1,7,65,79,81,82,83,132,133,226,238,246,264,265,275,276,282,289],state:[6,14,22,27,32,53,56,86,88,94,98,100,101,134,141,177,178,182,183,187,200,240,241,243,256,262,270,272],statement:[11,226,238],statist:[1,49,65,74,77,78,81,82,83,227,264,285,286,288,289],stats_cli:[1,265],stats_hdr:[209,224],stats_inc:224,stats_incn:224,stats_init:[209,224],stats_init_and_reg:224,stats_module_init:226,stats_my_stat_sect:224,stats_nam:[1,38,39,77,209,224],stats_name_end:[209,224],stats_name_init_parm:[209,224],stats_name_map:224,stats_name_start:[209,224],stats_newtmgr:[1,225,226,238],stats_regist:[209,224],stats_sect_decl:[209,224],stats_sect_end:[209,224],stats_sect_entri:[209,224],stats_sect_start:[209,224],stats_size_16:224,stats_size_32:[209,224],stats_size_64:224,stats_size_init_parm:[209,224],statu:[10,11,21,137,172,223,241,250,252,254,256,264,275,285,286,288],stdarg:[228,231],stderr:198,stdio:276,stener:211,step:[2,4,6,7,12,48,56,58,60,81,83,93,94,95,129,131,188,208,223,224,244,246,247,254,255,256,259,260,261,262,263,264,268,269,276,285,286,288],sterli:270,sterlinghugh:270,stic:[251,253],still:[5,60,67,87,97,98,250,284,289],stitch:1,stksz:[78,285,288],stkuse:[78,285,288],stlink:260,stm32:[260,262,288],stm32_boot:288,stm32_slinki:288,stm32f2x:260,stm32f303vc:[237,242],stm32f3discoveri:237,stm32f4:[135,136,137,257],stm32f4_adc_dev_init:135,stm32f4_hal_spi_cfg:[136,137],stm32f4disc_blinki:260,stm32f4disc_boot:260,stm32f4discoveri:[54,260],stm32f4discovery_debug:260,stm32f4x:260,stm32f4xx:187,stm32f4xxi:187,stm32l072czy6tr_boot:14,stm32serial:288,stm32x:260,stm34f4xx:187,stm:288,stmf303:237,stmf32f4xx:187,stmf3:237,stmf3_blinki:[237,242],stmf3_boot:[237,242],stop:[2,28,85,87,141,151,188,189,193,194,249,268,278],stopbit:194,storag:[14,21,130,141,168,247,269],store:[1,11,14,23,28,32,35,36,38,51,56,58,60,62,81,86,88,90,101,130,131,141,148,180,191,196,199,200,218,224,246,249,251,252,269,275,276,277,282,284],stori:90,str:[130,131,194,200],straight:[249,275],straightforward:[246,276],strategi:243,strcmp:[130,275],stream:[22,200,205,206,218],strength:30,strict:[251,256],strictli:[174,175,180,276],string:[1,14,28,30,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,102,130,131,134,140,161,172,198,199,200,205,215,216,220,224,226,228,231,254,255,267,269,270,274,275,276,286],strip:[47,90],strlen:[249,251],strongli:153,struct:[85,86,87,88,90,91,92,93,94,98,99,100,101,129,130,131,135,136,137,141,142,143,144,145,146,147,148,149,150,151,154,155,156,157,158,159,161,162,164,165,166,167,169,170,171,174,177,178,180,181,183,186,188,191,193,198,199,200,201,202,203,204,205,206,207,208,209,211,212,215,216,217,218,219,220,221,222,224,228,233,234,240,243,249,251,252,253,254,255,258,267,274,275,276,280,282],structur:[7,11,12,19,29,56,62,79,85,88,90,91,92,93,94,99,100,129,130,131,135,137,147,163,176,179,188,193,198,199,206,208,209,210,216,220,221,224,251,257,267,268,275,276,280,284,287,292],struggl:14,strutur:90,stub:[62,102,206,240,254,255,258,267,275,276],studio:[5,13],stuff:269,style:[131,244],sub:[29,44,46,51,71,72,73,76,77,135,156,255,272],subcmd1:221,subcmd2:221,subcommand:[46,51,63,65,67,71,72,73,76,77,221],subcompon:22,subdirectori:[2,233,267],subfold:259,subject:180,submit:11,subrang:21,subscrib:[14,29,250,252,276],subsequ:[14,22,23,129,161,162,223,249,252,267],subset:[23,177,207,209,212,278],substitut:[6,244,246,247],subsystem:[31,60,88,130,131,136,137,215],subtract:[99,101],subtre:130,succe:[177,267],succesfulli:[241,242,246,247,250,256,258,259,260,261,262,263,264,268,275,278,282,285,288,289,290],success:[3,21,56,85,87,90,93,98,100,101,130,137,142,143,144,145,146,147,149,150,151,153,154,155,157,158,160,161,162,164,165,166,167,168,169,170,171,172,173,177,178,179,180,183,187,188,191,193,194,195,198,201,202,203,204,205,216,218,219,220,231,234,235,237,242,251,253,262,264,267,276],successfuli:[94,267,282],successfulli:[7,14,21,56,91,94,98,223,237,238,241,242,246,247,250,252,254,255,256,259,260,261,262,263,264,268,275,276,277,278,279,282,285,286,288],sudo:[4,6,7,11,58,59,61,81,84,247],suffici:[14,90,91,180],suffix:267,suggest:[3,6,14,212,236,265,292],suit:[6,56,230,232,233,246,266],suitabl:[14,21,94,174],summar:[94,223],summari:[6,11,20,37,215,220,255],supersed:180,supervision_timeout:[31,250],supplement:[30,249],supplementari:94,suppli:[153,171,173,177,192,267],support:[1,3,4,6,7,12,15,20,21,22,23,30,31,33,54,59,67,82,87,93,94,96,102,129,131,133,134,135,136,137,152,180,183,187,191,200,206,207,208,209,212,215,216,220,221,223,224,226,240,241,246,247,248,249,253,254,256,257,259,268,269,270,275,279,284,286,287,292],suppos:[14,44,92,99,187,224],suppress:286,suppresstasknam:12,sure:[2,7,8,14,58,90,199,246,247,249,251,256,258,264,267,269,274,276],suspend:278,svc:253,sw_rev:278,swap:[2,86,94,174,181,223,256,289],swclk:256,swd:[256,259,260,261,262,263,264,268,276,282],swdio:256,sweep:180,swim:260,swo:[259,268,282],symbol:[4,7,12,62,223,256,260,282,289,290],symlink:[61,84],sync:[21,26,40,58,59,60],sync_cb:[27,254,255],synchron:[21,40,50,58,59,60,97,99,135,191],syntax:[226,244,264,265,278],synthes:25,sys:[1,7,14,56,58,62,130,131,132,181,206,215,224,225,226,234,238,240,246,258,267,268,275,276,278,282,290],sys_config:223,sys_config_test:7,sys_console_ful:223,sys_einv:[209,282],sys_enodev:209,sys_flash_map:[260,262],sys_log:223,sys_mfg:[7,256,259,260,261,262,278,285,288],sys_shel:223,sys_stat:223,sys_sysinit:[7,256,259,260,261,262,263,278,285,288],syscfg:[14,24,25,33,38,39,51,62,94,98,130,131,153,174,208,209,210,212,213,214,215,216,220,224,225,238,241,247,256,258,259,264,265,267,268,275,276,278,279,281,282,289,290],sysclock:14,sysconfig:[130,238],sysflash:[256,262],sysinit:[7,26,27,93,100,131,197,208,226,240,254,255,256,258,264,267,268,275,276,282],sysinit_assert_act:226,sysinit_panic_assert:[208,209,226],sysresetreq:256,system:[1,3,6,8,9,26,40,51,58,59,60,62,63,87,90,91,94,97,98,100,101,102,129,130,131,132,141,155,156,157,161,162,163,165,166,168,174,176,177,178,180,183,187,191,194,196,197,206,220,223,224,235,236,243,246,247,256,258,259,262,264,265,268,269,270,275,282,290],system_l:187,system_stm32f4xx:[260,262],systemview:292,sysview:[290,291],sysview_mynewt:290,sytem:189,syuu:60,t_arg:100,t_ctx_sw_cnt:100,t_dev:207,t_driver:207,t_flag:100,t_func:[100,243],t_interfa:207,t_itf:207,t_name:100,t_next_wakeup:100,t_obj:100,t_poll_r:207,t_prio:[86,100],t_run_tim:100,t_sanity_check:100,t_stackptr:100,t_stacksiz:100,t_stacktop:100,t_string:205,t_taskid:100,t_type_m:207,t_uinteg:205,tab:[31,37],tabl:[14,20,21,94,129,132,152,161,180,226,251,253,264,278],tag:270,tail:[90,180],tailq_entri:[180,193],tailq_head:180,take:[6,7,14,24,46,51,56,63,90,93,130,142,199,212,223,224,243,249,251,252,253,254,255,267,274,276],taken:[7,14,62,88,93,251,269,270,274],talk:[14,247,249,286],tap:[4,57,80],tar:[4,58,59,60,61,82,83,84],tarbal:4,target:[3,4,5,7,12,14,26,30,33,35,36,37,38,39,40,43,44,47,48,49,54,56,58,59,60,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,97,130,196,223,224,225,226,233,241,243,245,254,255,257,265,267,275,277,279,281,287],target_nam:35,targetin:[254,255],task1:[93,98,285,288],task1_evq:98,task1_handl:93,task1_init:93,task1_prio:93,task1_sanity_checkin_itvl:98,task1_sem:93,task1_stack:93,task1_stack_s:93,task2:[93,285,288],task2_handl:93,task2_init:93,task2_prio:93,task2_sem:93,task2_stack:93,task2_stack_s:93,task:[9,11,56,65,78,81,82,83,85,86,88,90,91,92,93,94,96,97,99,101,131,135,140,170,203,212,215,217,220,226,235,238,251,258,264,274,275,277,280,282,285,286,288,292],task_l:240,task_prior:[225,226],tasknam:12,taskstat:[65,79,81,82,83,132,134,238,285,288],tbd:[253,276],tc_case_fail_arg:233,tc_case_fail_cb:233,tc_case_init_arg:233,tc_case_init_cb:233,tc_case_pass_arg:233,tc_case_pass_cb:233,tc_print_result:[233,234],tc_restart_arg:233,tc_restart_cb:233,tc_suite_init_arg:233,tc_suite_init_cb:233,tc_system_assert:233,tck:256,tcp:[256,260],tdi:256,tdo:256,teach:243,team:[4,182,244],technic:[10,237],technolog:[22,136],tee:[1,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63],telee02:264,telee02_boot:264,telemetri:254,telenor:264,teli:[254,255],tell:[14,31,56,141,156,194,196,200,223,224,226,237,249,251,254,255,262,270,274,276],telnet:[268,275,282,289],tem:278,temperatur:[160,207,278],templat:[7,46,246,267,274,275,282],temporari:[21,98,129,180],temporarili:[92,98],ten:191,term:[3,129,135,153,187,190,269],termin:[2,4,7,8,10,12,14,21,22,28,60,83,130,131,155,156,157,161,162,165,172,174,175,177,180,247,249,252,253,256,258,259,260,261,262,263,264,268,275,280,282,289],terminato:157,termintor:157,terribl:[7,246],test:[4,6,12,14,40,51,58,59,60,62,65,68,72,76,81,82,83,129,131,132,182,209,210,223,226,228,229,230,231,232,233,234,235,238,241,247,253,254,255,256,258,259,261,266,269,274,276,286,289,292],test_assert:[229,230,232,267],test_assert_fat:[228,267],test_cas:[228,267],test_case_1:230,test_case_2:230,test_case_3:230,test_case_nam:[229,230],test_datetime_parse_simpl:267,test_datetime_suit:267,test_json:267,test_json_util:267,test_project:45,test_suit:[229,230,267],test_suite_nam:232,testbench:[7,62],testcas:[7,267],testnam:76,testutil:[7,181,267],text:[40,49,70,90,131,172,215,223,231,260,285,288],textual:1,tgt:130,tgz:4,than:[3,7,14,15,21,30,73,90,92,93,94,97,99,100,101,102,129,133,153,164,167,180,191,195,212,215,223,225,228,230,243,247,253,254,255,259,276,282,289],thank:31,thee:97,thei:[1,6,14,21,30,31,62,85,88,90,91,93,94,99,100,129,130,135,170,180,193,223,224,226,233,236,242,249,250,251,253,254,255,264,265,267,269,270,272,274,278],their_key_dist:28,them:[2,9,14,56,90,94,99,100,161,178,180,196,223,224,226,243,247,249,254,255,256,267,268,269,276,277,292],themselv:[90,93,253],theori:[14,56,226],therebi:[99,141],therefor:[21,91,129,149,153,161,243,271],thi:[1,2,3,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,30,31,32,33,34,35,42,44,53,54,56,58,59,60,61,62,64,65,67,72,73,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,129,130,131,133,135,136,137,138,139,141,142,143,144,147,153,155,156,157,159,160,161,162,163,165,167,169,170,172,173,174,175,176,177,179,180,181,182,183,184,186,187,188,189,191,193,194,195,196,197,200,201,202,203,204,205,206,207,208,209,210,211,212,213,215,216,217,218,220,222,223,224,225,226,227,229,230,231,232,233,234,235,236,237,238,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,267,268,269,270,271,274,275,276,277,278,279,280,281,282,284,285,286,287,288,289,290,292],thing:[1,14,22,25,27,56,62,91,94,97,98,135,188,207,223,254,255,267,270,274,275,276,280,282],thingi:[208,289,290],thingy_boot:282,thingy_debug:[282,289,290],thingy_my_sensor:282,think:[10,14,129,276],third:[6,20,101,247,249,256,268,276],thorough:270,those:[1,14,32,33,40,56,58,59,60,62,94,97,129,138,142,223,236,270,274,275,276],though:[14,90,129,180,188,212,223],thought:[14,276],thread:[9,246,256,260,262],three:[2,11,20,60,62,90,129,131,167,206,223,224,226,240,243,246,248,249,255,256,262,264],through:[14,22,24,62,63,90,100,129,134,141,147,152,155,156,157,162,165,174,175,182,191,200,212,238,248,250,252,255,256,258,262,267,268,274,276,279,281,284],throughout:[1,94,267],throughput:[14,22],thrown:6,thu:[90,94,99,129,135,174,175,187,188,191,243],tick:[14,85,87,92,97,98,99,101,131,188,193,215,243,258,259,282],ticker:85,ticket:10,tickl:[98,195],tid:[78,285,288],tie:223,tied:[14,153],ties:[90,246],time:[1,7,9,11,12,20,21,22,23,26,28,32,35,44,58,59,60,61,62,78,83,84,85,88,90,93,94,97,98,99,100,129,131,137,141,152,161,162,180,182,195,207,215,223,224,236,240,242,243,246,249,251,253,254,255,259,261,264,267,268,274,275,276,278,282,284,289],time_datetim:[223,282],time_datetime_test:267,time_in_flight:90,timelin:14,timeout:[21,28,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,88,92,99,188,241,275],timer:[14,25,85,87,88,94,98,182,190,195,212,282],timer_0:25,timer_4:264,timer_5:25,timer_ev_cb:[258,282],timer_interrupt_task:240,timer_num:193,timestamp:[73,207],timev:101,timezon:[101,267],timo:88,timo_func:85,timtest:[7,62],ting:[254,255],tini:[262,288],tinycbor:[7,277],tinycrypt:[7,14],tinyprintf:102,tip:98,titl:[8,287],tlm:254,tlv:[28,129],tmp:[58,60,81,83,170,223],tmpstr:282,tmr:193,todo:[62,180,254,255],togeth:[1,44,56,62,90,138,180,223,250,262,276],togetherth:14,toggl:[7,100,187,240,243,258],token:[76,93,99,215,271],told:196,too:[21,90,93,101,135,161,162,180,183,225],took:260,tool:[1,2,3,5,6,7,9,12,13,14,40,55,58,59,62,63,64,67,79,80,81,82,93,94,95,97,134,135,224,225,226,233,237,238,240,241,245,246,247,256,257,262,264,265,267,268,269,270,271,276,277,282,284,286,287,289,290,292],toolbox:2,toolchain:[2,3,5,7,12,14,34,60,64,238,241,247,257,268,284,287,292],toolkit:3,tools_1:[58,59,60,82,83],top:[1,10,12,36,62,90,100,135,174,188,225,247,254,255,267,276],topic:1,total:[9,56,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,90,100,102,129,180,259,261,264,276],tour:248,track:[20,22,23,101,129,180],tradeoff:223,trail:[90,129],trailer:129,transact:[21,188,191],transfer:[23,191,275],transform:180,transit:129,translat:[187,254],transmiss:[21,28,191,194,219,264],transmit:[14,30,32,131,188,191,264],transmitt:194,transport:[21,22,28,81,131,134,226,241,246,247,256,260,275,276,277,279,281,284],travers:[90,155,156,157,162,165],traverse_dir:[155,156,157,162,165],treat:[141,201],tree:[1,6,7,14,51,56,62,94,160,246],tri:[3,65,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,130,137,225,264],trial:94,tricki:100,trig:187,trigger:[6,10,88,187],trim:90,trip:98,triplet:207,troubleshoot:[224,225],truncat:[158,170,171,173],truncate_test:267,trust:[23,28,275],tt_chr_f:253,tt_svc_type_p:253,ttl:[247,288],tty:[8,258,268,278,285,288],ttys002:67,ttys003:67,ttys005:286,ttys012:[285,288],ttys10:8,ttys2:[8,258,268,278,285,288],ttys5:8,ttyusb0:[14,67,247],ttyusb2:[8,268,285,288],ttyusb:[8,258,268,278,285,288],tu_any_fail:[234,267],tu_case_init_fn_t:233,tu_case_report_fn_t:233,tu_config:[233,234],tu_init:233,tu_restart_fn_t:233,tu_suite_init_fn_t:233,tupl:101,turn:[14,25,135,182,183,187,223,238,246,247,257,258,261,269,270,278,285],tutiori:[74,77],tutori:[2,3,6,7,8,12,14,22,24,60,78,208,209,213,214,215,233,237,238,240,241,243,245,246,247,248,249,250,251,252,253,254,255,256,258,259,260,261,262,263,264,267,268,275,276,277,278,279,280,281,282,285,286,288],tv_sec:[101,267,282],tv_usec:[101,267,282],tvp:101,tweak:152,two:[2,3,12,14,19,20,22,23,24,28,32,44,46,51,56,62,67,90,91,92,93,94,96,100,101,129,131,133,174,180,188,206,207,215,221,223,224,225,226,237,238,240,243,246,247,249,251,254,255,256,258,259,260,261,262,263,264,267,268,269,270,271,272,276,277,278,281,282,285,288],tx_data:275,tx_done:194,tx_func:194,tx_len:275,tx_off:275,tx_phys_mask:28,tx_power_level:[28,30],tx_time_on_air:264,txbuf:191,txd:264,txpower:264,txrx:191,txrx_cb:191,txt:[14,71,154,158,161,164,171,172,173,290],type:[1,7,8,10,12,14,20,21,24,28,30,31,32,40,44,46,47,54,56,58,59,60,62,67,85,90,91,94,97,100,129,130,131,134,161,162,177,178,180,187,191,194,200,201,205,206,208,211,213,215,218,225,226,228,229,230,231,232,237,240,241,243,246,247,249,250,251,252,253,254,256,259,260,261,262,264,267,268,269,270,271,274,275,276,280,281,282,285,286,288,289,290],typedef:[27,88,91,98,100,101,130,131,151,187,191,193,194,200,207,215],typic:[3,9,22,27,32,56,62,90,93,94,95,98,129,131,135,174,175,182,184,187,188,191,206,207,223,224,226,233,249,254,255,267],tz_dsttime:[101,267],tz_minuteswest:[101,267],u8_len:137,uart0:[131,286],uart:[7,8,14,22,56,97,131,135,189,218,238,246,247,259,260,261,262,263,264,275,282,289],uart_bitbang:[189,259],uart_flow_control_non:131,uart_hal:[7,260,261,262],uart_rx_char:194,uartno:275,ubuntu:[4,6,7,58,81],uci:24,udev:260,udp:67,uext:288,uicr:24,uid:254,uint16:[28,29],uint16_max:28,uint16_t:[21,90,91,92,98,99,100,129,136,141,142,180,188,191,200,207,218,224,251,274,275,276],uint32:[28,72],uint32_max:28,uint32_t:[85,87,90,91,92,99,100,101,129,136,141,149,153,154,158,159,161,163,164,169,172,173,175,176,180,183,185,188,190,191,193,195,206,207,209,224],uint64:28,uint64_t:200,uint8:28,uint8_max:28,uint8_t:[24,33,88,90,91,92,94,98,100,129,131,135,136,141,149,153,154,155,156,157,161,162,163,164,165,169,172,175,180,183,185,186,188,191,194,200,206,207,209,218,224,249,251,254,255,275,276],uint_max:205,uinteg:[200,205],ultim:251,umbrella:223,unabl:[2,180,256,259,260,263],unaccept:21,unadorn:21,unam:2,unc_t:215,unchang:[94,180],unconfirm:264,und:[28,31],undefin:[83,183,226],under:[4,7,10,11,12,14,21,27,35,56,62,72,102,130,135,215,253,256,260,261,263,275,276],underli:[97,135,141,153,161,162,181,182,191,207],underlin:244,understand:[7,14,101,207,223,236,237,241,264,269,276],understood:[161,228],underwai:129,undesir:93,undirect:[28,249],unexpect:[21,155,156,157,162,165,168],unexpectedli:[21,267],unfortun:14,unicast:32,unicod:152,unidirect:28,unifi:135,uniform:[30,60],uniformli:63,uninstal:7,unint32:72,uninterpret:226,union:[180,200,251],uniqu:[9,20,33,94,180,183,206,224,225,226,254,264],unit:[1,7,14,21,28,40,52,58,59,60,85,100,129,226,267,292],unittest:[7,46,56,62,226,246,267,275],univers:[14,194],unix:[2,60,153,237],unknown:[21,225],unlabel:275,unless:[28,100,129,174,188,196,226,275,276],unlicens:22,unlik:[21,91,267],unlink:[59,61,82,84,154,162,167,170],unlink_test:267,unlock:[207,212],unmet:94,unpack:[58,60],unplug:263,unpredict:162,unprovis:32,unrecogn:14,unregist:211,unresolv:[182,267],unrespons:21,unset:[51,129],unsign:[100,200,224,263,282],unspecifi:[21,43],unstabl:[58,59,81,82],unsuccess:188,unsupport:[21,253],unsur:180,unsync:27,untar:4,until:[14,21,27,62,87,88,90,93,99,131,141,180,188,191,194,249,254,255,264,269],unuesd:252,unus:[72,274,276],unwritten:129,updat:[2,4,14,16,21,28,31,37,38,50,53,58,59,60,61,81,82,84,90,129,143,180,226,250,252,258,259,265,267,274,276,277,282],upgrad:[2,40,57,60,80,94,129,131,237,238,247,256,268,289,292],uplink:264,uplink_cntr:264,uplink_freq:264,upload:[14,44,71,72,153,196,223,241,259],upon:[1,3,10,27,56,90,129,180,224,252],upper:[24,180,194,226],uppercas:210,upstream:133,uri:[28,30,134],url:[28,254,267,269],url_bodi:254,url_body_len:254,url_schem:254,url_suffix:254,usabl:[1,91,94,246,254],usag:[1,9,58,59,60,63,81,82,83,90,100,135,136,153,174,180,188,207,215,220,224,226,243,264,275,286],usart6_rx:288,usart6_tx:288,usb:[2,3,8,14,22,43,67,238,240,241,243,247,256,257,259,260,261,262,263,264,268,276,278,284,285,287,288],usbmodem14211:67,usbmodem14221:67,usbmodem401322:8,usbseri:[8,258,268,278,285,288],usbttlseri:247,use:[1,4,5,6,7,8,11,12,14,15,20,21,22,23,25,28,31,33,42,46,51,52,56,57,59,60,62,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,85,87,88,94,95,97,99,100,129,130,131,132,135,137,141,142,152,153,166,167,170,174,177,178,180,181,188,191,193,200,201,202,203,204,205,206,207,208,209,210,211,212,215,216,217,220,221,223,224,225,226,233,237,238,239,240,241,242,243,245,246,247,249,250,251,252,254,255,256,257,258,259,262,264,265,267,268,270,271,274,275,276,277,278,281,282,284,285,286,287,288,289,290],use_wl:28,use_wl_inita:28,usec:[87,278,282],used:[6,7,11,12,14,20,21,23,24,25,28,30,31,32,35,47,50,62,67,73,85,87,90,91,92,94,99,100,101,102,129,130,131,136,137,141,144,152,153,157,180,185,188,189,191,193,195,200,207,208,209,215,223,224,225,226,228,229,230,231,232,235,236,237,242,243,247,249,251,252,253,254,255,256,264,267,268,269,270,274,275,276,277,278],useful:[3,14,21,93,172,209,246,269],user:[1,2,4,6,7,8,9,19,21,23,25,49,56,59,60,62,79,81,82,83,85,88,90,91,94,95,98,129,131,132,135,136,141,147,153,174,183,191,192,193,194,214,223,224,225,226,234,237,240,253,256,262,264,268,269,270,271,275,276,282,288],user_defined_head:90,user_hdr:90,user_hdr_len:90,user_id:[225,226],user_manu:237,user_pkthdr_len:90,usernam:[10,49,60,269],uses:[2,4,6,7,8,12,15,21,22,23,24,25,31,33,56,66,67,68,69,70,71,72,73,74,75,76,77,78,79,87,88,94,98,101,102,129,131,132,133,134,135,137,141,152,153,180,182,187,188,206,207,208,209,211,212,215,217,221,225,226,233,235,238,240,241,251,252,253,256,258,261,268,269,271,277,278,279,282,285,288],using:[1,2,4,6,7,8,10,11,12,20,21,22,25,27,28,29,30,32,34,37,38,44,45,58,59,60,61,62,64,67,77,81,82,83,84,85,87,88,90,92,93,95,96,97,98,99,100,101,102,129,130,135,141,144,146,151,152,153,161,180,182,187,188,190,191,193,195,200,209,210,212,215,223,224,226,229,230,232,233,237,238,240,241,243,244,246,247,253,255,256,257,258,259,260,261,262,263,264,267,268,275,276,277,279,282,286,287,289,290],usr:[4,6,11,37,58,59,60,61,81,82,83,84],usu:96,usual:[14,25,90,91,102,135,204,206],utc:[69,101,267],utctim:101,utf:30,util:[7,11,21,22,32,93,102,131,152,153,189,191,206,226,238,267],util_cbmem:282,util_cbmem_test:7,util_crc:[282,286,288],util_mem:[7,256,258,259,260,261,262,263,264,268,278,282,285,286,288],util_pars:[264,278,282],uuid128:[28,30,251,253,255],uuid128_is_complet:[28,30],uuid16:[28,29,30,251,274,276],uuid16_is_complet:[28,30],uuid32:[28,30],uuid32_is_complet:[28,30],uuid:[28,29,30,31,33,67,251,253,255,274,276,277],uvp:101,v10:282,v14:260,v25:260,va_arg:209,va_list:[228,231],val:[24,25,40,51,58,59,60,62,94,130,184,187,191,201,206,224,225,226,238,254,255,258,264,275,277],val_len_max:130,val_str:130,valid:[21,40,51,54,58,59,60,62,67,73,90,129,136,141,151,153,170,177,178,180,188,191,207,251,267,275,276],valu:[1,4,7,12,21,24,25,28,29,30,31,38,40,43,47,51,54,58,59,60,62,63,65,66,67,69,72,73,76,81,82,83,86,90,91,94,99,100,101,129,130,135,175,176,180,183,187,188,191,192,193,194,195,200,206,208,210,212,215,223,224,238,240,241,247,250,251,252,253,254,255,265,269,270,274,275,276,278,279,281,282,284,289],valuabl:269,value1:[51,226],value2:[51,226],valuen:226,vanilla:152,vari:[9,90,97,129],variabl:[1,4,11,14,25,35,38,51,60,62,63,66,90,91,100,130,131,174,200,206,207,208,209,212,220,223,228,231,237,243,249,251,264,269,270,277,278,279,282],variant:[23,96,187],variat:12,varieti:[4,252],variou:[24,25,62,90,129,133,135,182,252,257,264],vdd:[14,276],vector:278,vendor:269,ver:[1,7,56,198,199,237,247,256,268,269,270,271,275,276],ver_len:199,ver_str:199,verb:63,verbos:[1,7,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,256,268],veri:[1,9,32,56,90,100,102,129,180,208,244,245,253,258,259,269,276,277,289],verif:23,verifi:[23,58,60,81,83,129,180,182,209,223,241,243,259,260,261,263,264,267,275,276,277],versa:[8,223],version:[1,2,4,6,7,11,12,14,22,23,35,38,40,42,44,48,56,57,61,80,84,85,131,141,180,196,198,199,206,223,226,237,238,241,247,255,256,258,259,260,261,262,263,264,268,272,275,276,278,282,285,288,289,290],via:[8,14,21,27,43,56,90,91,129,131,135,153,155,156,157,162,165,174,175,177,180,181,182,188,212,215,223,224,226,241,247,248,249,251,259,261,264,269,275,276,278,279,281,284],vice:[8,223],vid:260,view:[1,7,10,12,31,51,63,67,210,214,215,223,224,226,269,274,276,281,290],vim:60,vin:278,violat:21,viper:11,virtual:[14,67,184,187],virtualbox:256,visibl:[2,29],visit:[14,40,58,59,60],visual:[5,13,290],visualstudio:12,vol:23,volatil:260,voltag:[135,137,182,192,260,276],volum:[30,152],vp_len:130,vscode:12,vtref:[259,261,264,276],vvp:101,wai:[2,3,9,14,22,31,32,60,62,85,88,93,100,101,131,153,187,188,189,206,223,225,244,269,270,271,275,276],wait:[14,85,86,87,88,90,92,93,99,100,137,183,188,191,226,240,243,262,264,274,275,276,284],waitin:92,wake:[14,86,90,93,99,100,183,212,243],wakeup:[100,212],walk:[90,100,147,151,180,206,276],wall:6,wallclock:[85,101],wanda:82,want:[1,3,11,14,19,51,58,59,60,61,62,81,84,85,86,90,91,92,93,98,99,100,129,130,131,151,153,170,187,206,207,208,211,224,236,238,242,246,248,249,251,253,254,255,256,257,259,260,261,262,264,265,267,269,275,276,279,289,292],warn:[1,6,14,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,63,225,251,259],warranti:[4,256,275,276,282,289,290],wasn:14,watch:246,watchdog:[93,98,192],watchpoint:[256,260],wdog:68,wear:246,wear_level_test:267,wearabl:9,web:[237,244],webfreak:12,websit:244,weird:14,welcom:[8,135,245,268,278],well:[8,14,23,41,56,90,91,97,99,129,130,135,196,228,236,250,264,274,276],were:[30,74,90,129,182,223,270,275],werror:[6,51],wes:264,west:101,wfi:260,wget:[58,60,81,83],what:[7,8,14,21,42,56,97,99,136,141,174,175,180,208,209,223,226,239,243,249,252,253,254,255,267,270,274,275,276],whatev:[24,99,268],wheel:[8,237],when:[1,2,6,7,8,10,12,14,15,21,23,24,25,27,30,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,59,60,62,63,67,73,82,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,129,130,131,132,135,141,142,143,146,152,153,155,156,157,161,162,163,165,170,172,174,175,180,187,188,191,193,194,196,200,203,207,208,209,211,212,213,215,218,221,223,224,225,226,231,233,235,238,240,241,243,244,246,247,248,249,252,253,254,255,256,259,260,262,263,267,269,270,271,275,276,277,278,279,280,281,282,286,289],whenev:[22,27,91,135,180,200,211,251,253,282],where:[8,9,10,11,14,23,30,32,36,38,51,56,60,61,62,84,90,91,94,96,97,100,129,130,131,141,142,143,146,149,151,180,187,190,191,194,199,200,206,223,225,226,238,243,253,254,255,258,259,264,268,276,278,285,288],wherea:[90,270],whether:[10,12,14,23,85,88,91,101,129,141,156,188,191,192,208,209,210,212,213,214,215,224,226,235,249,251,253,267,278,280,281,282],which:[1,2,4,8,11,14,15,20,21,22,31,33,35,40,56,58,59,60,62,63,67,81,82,83,85,86,87,90,91,93,94,97,98,99,100,101,102,129,130,135,136,138,141,151,152,153,180,183,184,187,188,191,193,196,200,207,209,223,224,225,228,231,234,235,237,241,243,249,250,251,252,253,254,255,256,264,267,268,269,270,275,276,286,289],white:[23,28],whitelist:28,who:10,whole:[14,136],whose:[62,63,180,212],why:[10,14,243],wide:[22,223],wifi:[7,268],wifi_connect:268,wifi_init:268,wifi_request_scan:268,wikipedia:[188,191],winc1500_wifi:268,window:[5,6,7,9,12,14,28,57,67,79,80,94,131,241,247,256,258,259,260,261,262,263,264,268,278,285,288,289],winusb:[260,262,288],wipe:145,wire:[8,188,191,264,275,276,288],wireless:22,wish:[6,10,174,175,188,243,269,287],withdraw:10,within:[1,12,21,32,42,56,90,94,95,97,129,135,141,146,149,151,174,175,180,182,187,198,200,206,209,210,211,215,224,233,243,252,262,267,269,275],without:[6,10,14,23,25,29,31,91,129,153,162,174,175,180,181,206,215,222,223,224,226,241,256,267,275,276,280],wno:6,won:[8,223,276],wonder:276,word:[6,56,90,93,99,129,180,191,251,256,269,282,289,290],word_siz:191,work:[2,4,8,10,11,14,23,25,56,62,63,86,90,92,93,94,96,97,99,100,129,131,135,136,161,182,224,237,238,242,243,246,247,250,256,258,264,267,272,274,275,276,279,281,284],work_stack:243,work_stack_s:243,work_task:243,work_task_handl:243,work_task_prio:243,workaround:14,workspac:[1,2,11,40,58,59,60,61,81,83,84],workspaceroot:12,world:[12,22,194,249,254,255,257,271,292],worri:93,worth:[1,95],would:[5,12,14,59,60,82,83,85,90,93,99,129,130,131,138,141,182,187,188,191,203,221,223,224,233,243,246,262,264,267,269,270,275,276,284,288],wrap:[101,224,258],wrapper:88,write:[1,9,14,15,21,29,62,65,66,81,82,83,95,129,130,131,135,136,137,141,142,143,147,152,153,158,159,169,171,173,174,175,182,185,187,188,194,196,198,201,202,203,204,206,219,224,231,240,243,245,250,252,253,264,266,275,276,277,284],write_cmd_rx:[77,238],write_cmd_tx:[77,238],write_config:[158,171],write_id:173,write_req_rx:[77,238],write_req_tx:[77,238],write_rsp_rx:[77,238],write_rsp_tx:[77,238],written:[11,14,21,24,60,83,93,129,141,142,143,146,151,157,158,161,164,170,171,172,174,175,180,188,191,251,253,258,270],wrong:[14,43,276],wsl:[12,60],www:[14,102,237,247,256,275,276,282,288,289,290],x03:275,x86:[4,12],x86_64:[256,282,289,290],xml:[7,89],xpf:4,xpsr:[256,260,262],xtal_32768:94,xtal_32768_synth:25,xxx:[6,94,100,136],xxx_branch_0_8_0:[269,270],xxx_branch_1_0_0:[269,270],xxx_branch_1_0_2:[269,270],xxx_branch_1_1_0:[269,270],xxx_branch_1_1_2:[269,270],xxx_branch_1_2_0:[269,270],xxx_branch_1_2_1:[269,270],xxxx:182,xzf:[58,60,61,83,84],yai:275,yaml:11,year:32,yes:[23,264],yesno:28,yet:[7,14,93,97,130,241,246,269,270,276],yield:93,yml:[1,6,7,42,44,51,53,54,56,62,95,96,102,130,131,136,137,153,174,181,206,208,215,223,224,225,226,237,238,240,246,247,256,258,264,265,267,268,269,271,272,275,276,277,278,282],you:[1,3,4,5,6,7,8,9,10,11,12,14,19,20,31,34,35,36,40,42,44,46,47,48,51,52,53,54,55,56,58,59,60,61,62,64,65,67,69,77,81,82,83,84,85,93,94,95,96,97,102,129,130,131,132,133,135,138,139,141,142,143,147,156,161,162,164,170,172,174,175,181,182,184,187,188,190,200,203,206,207,208,210,211,212,215,216,217,220,221,222,223,224,225,226,227,233,236,238,240,241,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,267,268,269,270,271,274,275,276,277,278,279,280,281,282,284,285,286,287,288,289,290,292],your:[1,3,4,6,8,10,14,20,31,40,51,53,56,57,59,60,61,62,71,72,80,82,83,84,85,93,94,95,96,97,98,100,132,133,134,135,136,137,139,141,152,174,182,206,208,215,221,223,225,226,233,240,241,242,244,245,246,247,248,249,250,252,253,254,255,257,258,264,265,270,274,275,276,277,279,280,284,285,287,288,289,290,292],yourself:[2,10,14,31,93,94,248,275,292],ype:[254,255],yym:6,zadig:[260,262,288],zero:[12,25,85,90,91,94,100,101,130,145,149,151,158,170,171,176,183,187,188,191,192,193,194,200,216,218,219,220,226,243,253,254,255,257,264,267,268,269,282,292],zillion:14,zip:[4,259,276],zone:101},titles:["&lt;no title&gt;","Concepts","Everything You Need in a Docker Container","Setup &amp; Get Started","Installing the Cross Tools for ARM","Native Installation","Installing Native Toolchain","Creating Your First Mynewt Project","Using the Serial Port with Mynewt OS","Mynewt Documentation","FAQ - Administrative","Contributing to Newt or Newtmgr Tools","Developing Mynewt Applications with Visual Studio Code","Appendix","Mynewt OS related FAQ","NimBLE Host ATT Client Reference","NimBLE Host GAP Reference","NimBLE Host GATT Client Reference","NimBLE Host GATT Server Reference","NimBLE Host","NimBLE Host Identity Reference","NimBLE Host Return Codes","BLE User Guide","NimBLE Security","Configure device address","Configure clock for controller","NimBLE Setup","Respond to <em>sync</em> and <em>reset</em> events","GAP API for btshell","GATT feature API for btshell","Advertisement Data Fields","API for btshell app","Bluetooth Mesh","Sample application","Mynewt Newt Tool Documentation","newt build","newt clean","newt complete","newt create-image","newt debug","newt help","newt info","newt install","newt load","newt mfg","newt new","newt pkg","newt resign-image","newt run","newt size","newt sync","newt target","newt test","newt upgrade","newt vals","newt version","Newt Tool Guide","Install","Installing Newt on Linux","Installing Newt on Mac OS","Installing Newt on Windows","Installing Previous Releases of Newt","Theory of Operations","Command Structure","Mynewt Newt Manager Documentation","Command List","newtmgr config","newtmgr conn","newtmgr crash","newtmgr datetime","newtmgr echo","newtmgr fs","newtmgr image","newtmgr log","newtmgr mpstat","newtmgr reset","newtmgr run","newtmgr stat","newtmgr taskstat","Newt Manager Guide","Install","Installing Newtmgr on Linux","Installing Newtmgr on Mac OS","Installing Newtmgr on Windows","Installing Previous Releases of Newtmgr","Callout","Scheduler","CPU Time","Event Queues","Heap","Mbufs","Memory Pools","Mutex","Apache Mynewt Operating System Kernel","BSP Porting","Porting Mynewt to a new CPU Architecture","Porting Mynewt to a new MCU","Porting Mynewt OS","Sanity","Semaphore","Task","OS Time","Baselibc","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","&lt;no title&gt;","Bootloader","Config","Console","Customizing Newt Manager Usage with mgmt","Newt Manager","Using the OIC Framework","Drivers","flash","mmc","elua","lua_init","lua_main","Flash Circular Buffer (FCB)","fcb_append","fcb_append_finish","fcb_append_to_scratch","fcb_clear","fcb_getnext","fcb_init","fcb_is_empty","fcb_offset_last_n","fcb_rotate","fcb_walk","The FAT File System","File System Abstraction","fs_close","fs_closedir","fs_dirent_is_dir","fs_dirent_name","fs_filelen","fs_getpos","fs_mkdir","fs_open","fs_opendir","struct fs_ops","fs_read","fs_readdir","fs_register","fs_rename","fs/fs Return Codes","fs_seek","fs_unlink","fs_write","fsutil_read_file","fsutil_write_file","Newtron Flash Filesystem (nffs)","struct nffs_area_desc","struct nffs_config","nffs_detect","nffs_format","nffs_init","Internals of nffs","Other File Systems","Hardware Abstraction Layer","BSP","Creating New HAL Interfaces","Flash","hal_flash_int","GPIO","I2C","Using HAL in Your Libraries","OS Tick","SPI","System","Timer","UART","Watchdog","Image Manager","imgmgr_module_init","imgr_ver_parse","imgr_ver_str","JSON","json_encode_object_entry","json_encode_object_finish","json_encode_object_key","json_encode_object_start","json_read_object","Logging","Sensor API","Creating and Configuring a Sensor Device","Sensor Device Driver","Mynewt Sensor Framework Overview","Sensor Listener API","Sensor Manager API","OIC Sensor Support","Sensor Shell Command","Shell","shell_cmd_register","shell_evq_set","shell_nlip_input_register","shell_nlip_output","shell_register","shell_register_app_cmd_handler","shell_register_default_module","Split Images","Statistics Module","Validation and Error Messages","Compile-Time Configuration and Initialization","System Modules","TEST_ASSERT","TEST_CASE","TEST_CASE_DECL","TEST_PASS","TEST_SUITE","testutil","tu_init","tu_restart","OS User Guide","Blinky, your \u201cHello World!\u201d, on STM32F303 Discovery","Enabling Newt Manager in Your Application","How to Define a Target","How to Use Event Queues to Manage Multiple Events","Over-the-Air Image Upgrade","Pin Wheel Modifications to \u201cBlinky\u201d on STM32F3 Discovery","Tasks and Priority Management","Try Markdown","Bluetooth Low Energy","Set up a bare bones NimBLE application","Use HCI access to NimBLE controller","BLE Peripheral Project","Advertising","BLE Peripheral App","Characteristic Access","GAP Event callbacks","Service Registration","BLE Eddystone","BLE iBeacon","Blinky, your \u201cHello World!\u201d, on Arduino Zero","Project Blinky","Enabling The Console and Shell for Blinky","Blinky, your \u201cHello World!\u201d, on Arduino Primo","Blinky, your \u201cHello World!\u201d, on STM32F4-Discovery","Blinky, your \u201cHello World!\u201d, on a nRF52 Development Kit","Blinky, your \u201cHello World!\u201d, on Olimex","Blinky, your \u201cHello World!\u201d, on RedBear Nano 2","LoRaWAN App","How to Reduce Application Code Size","Other","Write a Test Suite for a Package","Enable Wi-Fi on Arduino MKR1000","Adding Repositories to your Project","Create a Repo out of a Project","Accessing a private repository","Upgrade a repo","Air Quality Sensor Project","Air quality sensor project via Bluetooth","Air Quality Sensor Project","Adding an Analog Sensor on nRF52","Adding OIC Sensor Support to the bleprph_oic Application","Enabling an Off-Board Sensor in an Existing Application","Enabling OIC Sensor Data Monitoring in the sensors_test Application","Changing the Default Configuration for a Sensor","Enabling OIC Sensor Data Monitoring","Developing an Application for an Onboard Sensor","Sensors","Sensor Tutorials Overview","Project Slinky using the Nordic nRF52 Board","Project Sim Slinky","Project Slinky","Project Slinky Using Olimex Board","SEGGER RTT Console","SEGGER SystemView","Tooling","Tutorials"],titleterms:{"abstract":[153,182],"default":[243,258,280],"function":[14,94,101,102,138,141,196,200,207,209,211,212,226,233,243,251,253,277,280],"import":237,"new":[7,45,95,96,180,184,250,280,282,285,286,288],"public":24,"return":[21,137,139,140,142,143,144,145,146,147,148,149,150,151,154,155,156,157,158,159,160,161,162,164,165,166,167,168,169,170,171,172,173,177,178,179,197,198,199,201,202,203,204,205,216,217,218,219,220,221,222,228,229,230,231,232,234,235],"switch":[102,243],"try":[244,267],Adding:[59,82,224,269,276,277,280,282],For:[4,275],One:14,The:[152,258],Use:[2,238,240,247,258,282,285,288],Used:207,Uses:206,Using:[8,58,81,90,131,134,189,275,278,282,288],acceleromet:280,access:[247,251,271],adafruit:14,adc:276,add:[67,94,254,255,274,275,276,277,282],addit:[269,276],address:[20,24,31,254,255],administr:10,advertis:[14,28,30,31,249,254,255],air:[241,273,274,275],all:[14,240],altern:14,ambigu:225,analog:276,apach:[9,32,93],api:[28,29,31,85,86,87,88,89,90,91,92,98,99,100,101,130,131,152,153,174,181,183,184,185,187,188,190,191,192,193,194,195,206,207,211,212,282],app:[9,31,62,223,247,250,264,282,284,290],app_get_light:277,app_set_light:277,appendix:[13,94],applic:[7,12,33,93,206,207,208,223,237,238,240,243,246,247,254,255,256,258,259,260,261,262,263,264,265,268,276,277,278,279,280,282,285,288],apt:[58,81],architectur:95,arduino:[8,256,259,268],area:[174,180,225],argument:[139,140,142,143,144,145,146,147,148,149,150,151,154,155,156,157,158,159,160,161,162,164,165,166,167,169,170,171,172,173,177,178,197,198,199,201,202,203,204,205,216,217,218,219,220,222,228,229,230,231,232,234,235],arm:[4,14],artifact:62,assert:267,assign:225,associ:12,att:[15,21],attach:247,attribut:[31,253],autocomplet:37,avail:[28,29,40,44,51,257,269,284,287],bare:246,baselibc:102,bash:37,basic:93,beacon:[254,255],bearer:32,begin:[31,249],being:251,belong:31,between:[14,268],binari:[58,60,81,83],bit:6,bitbang:14,ble:[14,22,246,248,250,254,255,276,277],ble_gap_disc_param:14,blehci:247,blemesh:14,bleprph_gap_ev:252,bleprph_oic:277,blink:237,blink_rigado:49,blinki:[7,237,242,256,257,258,259,260,261,262,263],block:[14,180],bluetooth:[14,22,32,245,247,274],bluez:247,bno055:278,bno055_log:209,bno055_stat:209,board:[97,208,256,259,260,261,262,263,264,268,276,277,278,279,285,288],bone:246,boot:[14,129,223],bootload:[14,129,247,256,259,260,261,262,263,264,268,278,282,285,288],branch:[59,82],brew:6,bsp:[54,94,97,183,225],btmgmt:247,btmon:247,btshell:[28,29,31],buffer:141,bug:10,build:[7,9,12,14,35,56,62,237,238,242,243,246,247,256,258,259,260,261,262,263,264,268,276,277,278,279,280,282,285,286,288],cach:180,call:[14,280],callback:252,callout:[85,240],can:10,cannot:280,categori:292,chang:[34,64,280],channel:28,characterist:[31,248,251],check:[58,59,60,81,82,83,94,98,129,212],choos:267,circular:141,clean:36,clear:263,cli:[130,275],client:[15,17],clock:25,close:264,cmsis_nvic:14,code:[12,14,21,94,95,168,224,265,267],collect:180,command:[12,14,28,29,40,44,51,63,65,67,133,209,214,215,238,247,275,286],committ:10,commun:[8,238,258],compil:[14,95,226],complet:[37,215],compon:[22,269],comput:[58,81,268,278,282],concept:[1,223],conclus:[246,254,255,276],condit:226,config:[66,130],configur:[1,12,24,25,28,29,31,130,152,206,207,208,209,212,225,226,237,238,254,255,258,280],conflict:226,congratul:267,conn:67,connect:[14,28,31,238,241,247,256,258,259,260,261,262,263,264,268,276,277,278,279,282,285,286,288,289],consider:243,consol:[131,215,224,258,268,278,282,289],contain:2,content:[34,64],context:243,contribut:11,control:[25,247,254,255,277,278,279,284],copi:[94,277],core:[14,21,93,97],correct:14,cpu:[87,95,97],crash:68,creat:[7,38,90,94,95,184,208,237,238,241,246,247,250,254,255,256,259,260,261,262,263,264,267,268,270,275,276,277,278,279,282,285,286,288],creation:93,cross:4,crystal:25,current:223,custom:[98,132,238],data:[30,101,138,141,153,174,180,188,196,200,207,209,211,212,215,233,249,264,277,278,279,280,281,282],datetim:69,debian:[58,81],debug:[12,39,62,94],debugg:[4,12],declar:224,decod:200,defin:[12,94,209,224,239],definit:[186,225,226],delai:14,delet:[67,277],depend:[7,62,94,97,136,137,181,182,237,238,258,270,277,282],descript:[35,36,38,39,41,42,43,44,45,46,47,48,49,50,51,52,53,54,66,67,68,69,70,71,72,73,74,75,76,77,78,85,86,87,88,89,91,92,97,98,99,100,101,102,131,135,138,141,152,153,174,182,183,185,186,187,188,190,191,192,193,194,195,196,200,215,223,233,278],descriptor:[31,248,253,269],design:[135,182],detail:224,detect:180,determin:251,develop:[12,261,282],devic:[2,14,24,28,31,130,207,208,209,241,247,277,278,279,280,284],differ:14,direct:31,directori:[62,180],disabl:28,discov:31,discoveri:[28,237,242,260],disk:180,disk_op:153,displai:31,docker:2,document:[10,14,34,64],doe:269,download:[11,58,62,81,94,237,242,264,276],driver:[14,135,207,209,275,276,280],duplic:225,eabi:14,earli:14,echo:70,eddyston:254,edit:10,editor:10,elf:14,elua:138,empti:[254,255],emul:278,enabl:[2,28,37,215,223,224,238,258,268,277,278,279,281,282],encod:200,end:14,endif:[208,209],energi:245,enhanc:174,enter:246,environ:11,equip:243,eras:259,error:[14,225],establish:[31,247,268],etap:276,event:[27,88,240,252,258],everyth:[2,264,276],exactli:14,exampl:[8,21,22,27,35,36,38,39,40,44,45,46,47,48,49,51,52,54,55,66,67,68,69,70,71,72,73,74,75,76,77,78,88,93,130,135,136,137,139,140,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,161,162,164,165,167,169,170,171,172,173,177,178,182,186,194,198,199,201,202,203,204,205,216,218,219,221,222,225,226,228,229,230,232,233,234,235,240],execut:[6,237,242,259,260,261,263,264,276,286,289,290],exist:[238,258,269,278],explor:7,express:225,extend:[28,282],extens:[2,12],extern:[237,256,268],faq:[10,14],fat:152,fcb:141,fcb_append:142,fcb_append_finish:143,fcb_append_to_scratch:144,fcb_clear:145,fcb_getnext:146,fcb_init:147,fcb_is_empti:148,fcb_offset_last_n:149,fcb_rotat:150,fcb_walk:151,featur:[7,10,22,23,29,32,93],fetch:[7,256,268],field:30,file:[14,94,136,137,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,175,176,177,178,179,180,181,224,230,270,277,280,282],filesystem:[153,174],fill:94,find:269,firmwar:14,first:[7,9],flag:[35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,66,67,68,69,70,71,72,73,74,75,76,77,78],flash:[94,129,136,141,174,180,185,225,259,263],forget:14,format:[14,129,180],framework:[134,209,210,238,281],from:[58,59,60,81,82,83,131,277,279,280],fs_close:154,fs_closedir:155,fs_dirent_is_dir:156,fs_dirent_nam:157,fs_filelen:158,fs_getpo:159,fs_mkdir:160,fs_op:163,fs_open:161,fs_opendir:162,fs_read:164,fs_readdir:165,fs_regist:166,fs_renam:167,fs_seek:169,fs_unlink:170,fs_write:171,fsutil_read_fil:172,fsutil_write_fil:173,ft232h:8,full:131,futur:174,gap:[16,28,252],garbag:180,gatt:[17,18,29,274],gcc:[6,14],gdb:6,gener:[23,31,135,182,226,240],get:[3,58,81,209],git:[10,60],global:[35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,66,67,68,69,70,71,72,73,74,75,76,77,78],gpio:187,grei:14,group:14,guarante:252,guid:[22,56,79,236],hal:[97,184,189,275],hal_flash_int:186,hal_i2c:188,handler:[130,206,215],hardcod:24,hardwar:[24,182,237,264,276,278,289,290],hci:[21,247],header:[15,16,17,18,20,21,90,136,137,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,175,176,177,178,179,181,224,277,280],heading3:244,heading4:244,heap:89,hello:[237,256,259,260,261,262,263],help:[40,215],high:129,hold:224,homebrew:[59,82],host:[15,16,17,18,19,20,21,254,255],how:[10,102,226,239,240,265,269,277,280],i2c:188,iOS:14,ibeacon:255,ident:20,identifi:269,ignor:225,imag:[14,38,47,72,129,196,223,237,238,241,242,247,259,260,261,262,263,264,268,276,277,278,279,280,282,285,288],imgmgr_module_init:197,imgr_ver_pars:198,imgr_ver_str:199,immedi:14,implement:[95,135,206,209,224],includ:[31,209,224,253],indefinit:[254,255],info:41,inform:215,initi:[31,136,137,174,207,209,224,226,243,280],inod:180,input:[131,215],instal:[2,4,5,6,11,12,14,37,42,57,58,59,60,61,80,81,82,83,84,237,264,276],instead:282,integr:129,interfac:[181,184,207],intern:[174,180],interrupt:240,introduct:[9,15,16,17,18,19,20,21,32,56,94,240,248,267],invalid:225,invert:14,invok:133,issu:14,join:264,json:200,json_encode_object_entri:201,json_encode_object_finish:202,json_encode_object_kei:203,json_encode_object_start:204,json_read_object:205,kei:[14,23,28],kernel:93,kit:261,l2cap:[14,21,28],laptop:10,latest:[58,59,60,81,82,83],launch:290,layer:182,lead:14,led:[237,242],legaci:28,level:[129,206,241],libc:6,librari:[189,237],like:10,limit:129,line:215,link:4,linker:94,linux:[2,4,6,8,11,58,61,81,84],lis2dh12_onb:208,list:[10,65,102,138,141,196,200,207,211,212,223,233,244,254,255,278,282],listen:[211,282],load:[43,238,247,256,259,260,261,262,263,268,277,278,279,280,282,285,288],loader:223,log:[73,206,209,241],look:212,lorawan:264,low:245,lua_init:139,lua_main:140,mac:[2,4,6,8,11,59,61,82,84],macro:101,main:[243,258,277,280,282],make:10,manag:[9,21,56,64,79,132,133,196,212,238,240,243],manual:[58,81],map:[94,129],markdown:244,master:[59,82],mbuf:90,mcu:[14,94,96,97],measur:174,memori:[91,263],merg:10,mesh:[14,22,32],messag:[14,225],method:[24,58,81],mfg:44,mfghash:14,mgmt:132,mingw:60,minim:131,miscellan:[14,174],mkr1000:268,mmc:137,model:32,modif:242,modifi:[238,258,277,282],modul:[14,215,224,227],monitor:[247,279,281],more:[56,237],move:180,mpstat:74,mqueue:90,msy:90,msys2:60,multicast:14,multipl:[12,153,224,225,240],mutex:92,my_sensor_app:282,mynewt:[2,7,8,9,12,14,24,32,34,59,64,82,93,94,95,96,97,131,210,246,269,277,279,284],mynewt_v:[208,209],name:[31,215,224,226],nano:263,nativ:[5,6],need:[2,237,242,264,269,276,278,289,290],newt:[2,9,11,12,14,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,59,60,61,64,79,132,133,238],newtmgr:[11,14,66,67,68,69,70,71,72,73,74,75,76,77,78,81,82,83,84,133,215,224,238,241,285,286,288],newtron:174,next:[6,278],nfc:14,nff:[14,174,180],nffs_area_desc:175,nffs_config:176,nffs_detect:177,nffs_format:178,nffs_init:179,nimbl:[14,15,16,17,18,19,20,21,22,23,26,246,247,254,255],nmp:14,node:32,none:14,nordic:[8,285],normal:90,note:[56,101,138,139,140,142,143,144,145,146,147,148,149,150,151,154,157,159,160,161,162,166,167,169,171,172,175,176,197,198,199,217,224,228,231,276],notnul:225,nrf52840:14,nrf52:[14,261,276,278,285],nrf52_adc:276,nrf52dk:[8,14],nrf:24,object:[180,207,237,242,257,264,276,289,290],off:[208,278],oic:[134,213,277,279,281,284],oicmgr:238,olimex:[262,288],omgr_app_init:277,onboard:[208,282],onto:[256,268],open:[247,264],openocd:4,oper:[14,56,62,93,129,188,191,223],option:[238,259],orient:28,ota:264,other:[7,12,181,238,266,270],out:[14,267,269,270],output:[49,54,131],over:[215,241],overrid:[225,226],overview:[65,210,248,249,250,252,257,277,280,281,284,287],own:10,pack:2,packag:[1,7,58,62,81,94,97,131,181,206,207,210,225,226,238,246,256,267,268,275,277,278,282],packet:90,passiv:31,patch:10,peer:[21,31],perform:31,peripher:[248,250],persist:130,pin:[14,242],pkg:[14,46,94],platform:[8,182],poll:[207,212],pool:[90,91],port:[8,14,94,95,96,97,264],precis:14,preempt:243,prerequisit:[7,238,240,241,243,247,250,256,257,258,259,260,261,262,263,268,275,277,278,279,280,281,282,284,285,286,287,288,292],preview:[34,64],previou:[61,84],primo:259,principl:[135,182],printf:14,prioriti:[225,243],privaci:23,privat:271,pro:8,process:[215,258],produc:[6,62],profil:[14,238,241,286],project:[1,7,10,12,14,22,237,238,246,247,248,256,257,258,259,260,261,262,263,264,268,269,270,273,274,275,276,285,286,287,288],prompt:215,protect:263,protocol:[215,238,254,255],provis:32,pull:[2,10],put:240,qualiti:[273,274,275],queri:[285,288],question:[10,14],queue:[88,240,258],radio:14,ram:180,random:[14,24],rate:207,rational:56,read:[31,207,209,251,280,282],reboot:280,rebuild:[11,282],reconfigur:208,recoveri:129,redbear:263,reduc:[14,241,265],refer:[15,16,17,18,20,21,226],referenc:226,regist:[98,181,209,212,215,224,278],registr:253,relat:14,releas:[58,59,60,61,81,82,83,84],renam:180,repo:[269,270,272],repositori:[7,10,56,269,270,271,276],represent:180,request:10,requir:94,reset:[27,75,129],resign:47,resolut:270,resolv:[62,226,270],respond:27,restart:14,restrict:225,retriev:[223,224],review:[243,251],round:242,rtt:[282,289],run:[7,12,14,48,76,256,258,286,289,290],runtim:[24,130],safeti:153,sampl:[33,278,280],saniti:98,satisfi:94,scale:267,scan:31,schedul:86,scratch:180,script:[2,94],section:224,secur:[21,23,28],segger:[4,289,290],select:2,semant:14,semaphor:99,semiconductor:8,send:[31,247,264],sensor:[207,208,209,210,211,212,213,214,273,274,275,276,277,278,279,280,281,282,283,284],sensor_read:282,sensors_test:279,sequenc:223,serial:[8,14,215,247,258,268,285,288],server:18,servic:[31,248,253,274,276],set:[6,11,14,31,58,81,94,206,207,209,225,226,238,246,249,253,258,275,277,280,286],settl:25,setup:[3,8,14,26,268,289,290],shell:[209,214,215,258,282],shell_cmd_regist:216,shell_evq_set:217,shell_nlip_input_regist:218,shell_nlip_output:219,shell_regist:220,shell_register_app_cmd_handl:221,shell_register_default_modul:222,should:270,show:[31,67],sign:[129,237,259,260,261,262,263,264,268,276,285,288],signatur:251,sim:286,simul:7,singl:223,size:[14,49,265],skeleton:282,slinki:[285,286,287,288],slot:129,smart:[277,279,284],softwar:290,some:10,sourc:[7,11,56,58,60,81,83,238,254,255,275,277],space:180,special:101,specif:[95,270],specifi:[181,226],spi:191,split:223,stack:[243,254,255],start:[3,247,268],startup:94,stat:[77,209,224],state:[129,130,223],statist:224,statu:129,step:[11,241,257,277,278,279,280,282,287],stm32f303:237,stm32f3:[237,242],stm32f4:260,storag:28,struct:[153,163,175,176],structur:[63,101,138,141,153,174,180,196,200,207,211,212,215,233],stub:131,studio:12,sub:67,submit:10,suit:267,summari:21,support:[2,14,32,62,97,153,182,210,213,237,238,277,278,281,282],swap:129,sync:[14,27,50,254,255],syntax:14,syscfg:[206,223,226,277],sysinit_app:226,system:[14,25,56,93,152,153,181,192,225,226,227],systemview:290,tabl:224,talk:268,tap:[59,82],target:[1,24,51,62,94,237,238,239,242,246,247,250,256,258,259,260,261,262,263,264,268,276,278,282,285,286,288,289,290],task:[12,14,98,100,225,240,243,276],taskstat:78,tcp:268,templat:94,termin:278,test:[7,52,94,267,275],test_assert:228,test_cas:[229,230],test_case_decl:230,test_pass:231,test_suit:232,testutil:233,theori:[62,188,191,223],thingi:282,thread:153,through:224,tick:190,time:[14,25,87,101,226],timer:[193,240,258],togeth:240,tool:[4,11,34,56,60,83,291],toolchain:[4,6],topolog:32,transceiv:14,transport:[215,238],tree:275,trigger:14,tu_init:234,tu_restart:235,tutori:[223,257,284,287,292],type:[207,209,212,278],uart:194,undefin:225,under:267,undirect:31,unifi:223,unlink:180,updat:11,upgrad:[14,53,58,59,81,82,223,241,272],upload:258,usag:[35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,66,67,68,69,70,71,72,73,74,75,76,77,78,132,141],usb2:2,use:[10,58,81,90,93,269],user:[22,236],using:[14,56,285,288],val:54,valid:225,valu:[14,137,139,140,142,143,144,145,146,147,148,149,150,151,154,155,156,157,158,159,160,161,162,164,165,166,167,169,170,171,172,173,177,178,179,197,198,199,201,202,203,204,205,207,209,216,217,218,219,220,221,222,225,226,228,229,230,231,232,234,235,277,280],variabl:224,vector:129,verif:[129,280],verifi:280,version:[55,58,59,60,81,82,83,269,270],via:[268,274,282],view:[277,278,279,282],violat:225,virtualbox:2,visual:12,wait:[254,255],want:[10,237],watch:[237,242],watchdog:195,water:276,welcom:9,what:[10,237,242,269],wheel:242,where:270,why:[90,93,269],window:[2,4,8,11,60,61,83,84],work:12,workspac:12,world:[237,256,259,260,261,262,263],would:10,wrapper:2,write:[31,34,64,180,251,263,267],yml:[14,94,270],you:[2,237,242],your:[2,7,9,11,12,58,81,181,189,224,237,238,243,256,259,260,261,262,263,267,268,269,278,282,286],zero:[14,256]}})
\ No newline at end of file
diff --git a/develop/tutorials/sensors/air_quality.html b/develop/tutorials/sensors/air_quality.html
index ea6f99d4a..b95d8fe06 100644
--- a/develop/tutorials/sensors/air_quality.html
+++ b/develop/tutorials/sensors/air_quality.html
@@ -42,7 +42,7 @@
           <link rel="search" title="Search" href="../../search.html"/>
       <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/>
           <link rel="up" title="Sensors" href="sensors.html"/>
-          <link rel="next" title="Air quality sensor project" href="air_quality_sensor.html"/>
+          <link rel="next" title="Air Quality Sensor Project" href="air_quality_sensor.html"/>
           <link rel="prev" title="Adding OIC Sensor Support to the bleprph_oic Application" href="sensor_bleprph_oic.html"/> 
 
     
@@ -291,7 +291,7 @@ <h1>Air Quality Sensor Project<a class="headerlink" href="#air-quality-sensor-pr
                   
     <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
       
-        <a href="air_quality_sensor.html" class="btn btn-neutral float-right" title="Air quality sensor project" accesskey="n">Next: Air quality sensor project <span class="fa fa-arrow-circle-right"></span></a>
+        <a href="air_quality_sensor.html" class="btn btn-neutral float-right" title="Air Quality Sensor Project" accesskey="n">Next: Air Quality Sensor Project <span class="fa fa-arrow-circle-right"></span></a>
       
       
         <a href="sensor_bleprph_oic.html" class="btn btn-neutral" title="Adding OIC Sensor Support to the bleprph_oic Application" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Adding OIC Sensor Support to the bleprph_oic Application</a>
diff --git a/develop/tutorials/sensors/air_quality_ble.html b/develop/tutorials/sensors/air_quality_ble.html
index 678fbaacd..35e69bfcc 100644
--- a/develop/tutorials/sensors/air_quality_ble.html
+++ b/develop/tutorials/sensors/air_quality_ble.html
@@ -43,7 +43,7 @@
       <link rel="top" title="Apache Mynewt 1.3.0 documentation" href="../../index.html"/>
           <link rel="up" title="Air Quality Sensor Project" href="air_quality.html"/>
           <link rel="next" title="Adding an Analog Sensor on nRF52" href="nrf52_adc.html"/>
-          <link rel="prev" title="Air quality sensor project" href="air_quality_sensor.html"/> 
+          <link rel="prev" title="Air Quality Sensor Project" href="air_quality_sensor.html"/> 
 
     
     <script src="../../_static/js/modernizr.min.js"></script>
@@ -282,33 +282,13 @@ <h1>Air quality sensor project via Bluetooth<a class="headerlink" href="#air-qua
 <p>This is a follow-on project to the <a class="reference internal" href="air_quality_sensor.html"><span class="doc">Basic Air Quality
 Sensor</span></a> project; so it is assumed that you
 have worked through that project and have your CO2 sensor working
-properly with your Arduino Primo board.</p>
+properly with your nRF52DK board.</p>
 <p>So let’s get started making this thing Bluetooth enabled!</p>
 <div class="section" id="add-bluetooth-gatt-services">
 <h2>Add Bluetooth GATT Services<a class="headerlink" href="#add-bluetooth-gatt-services" title="Permalink to this headline">¶</a></h2>
-<p>Since we already built the previous demo on the <span class="xref std std-doc">bluetooth
-peripheral</span> basic app most of the bluetooth
-plumbing has already been taken care of for us. What’s left is for us to
-add the required GATT services for advertising the Carbon Dioxide sensor
-so that other devices can get those values.</p>
-<p>First, we’ll define the GATT Services in
-<code class="docutils literal notranslate"><span class="pre">apps/air_quality/src/bleprph.h</span></code>.</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/* Sensor Data */</span>
-<span class="cm">/* e761d2af-1c15-4fa7-af80-b5729002b340 */</span>
-<span class="k">static</span> <span class="k">const</span> <span class="n">ble_uuid128_t</span> <span class="n">gatt_svr_svc_co2_uuid</span> <span class="o">=</span>
-    <span class="n">BLE_UUID128_INIT</span><span class="p">(</span><span class="mh">0x40</span><span class="p">,</span> <span class="mh">0xb3</span><span class="p">,</span> <span class="mh">0x20</span><span class="p">,</span> <span class="mh">0x90</span><span class="p">,</span> <span class="mh">0x72</span><span class="p">,</span> <span class="mh">0xb5</span><span class="p">,</span> <span class="mh">0x80</span><span class="p">,</span> <span class="mh">0xaf</span><span class="p">,</span>
-                     <span class="mh">0xa7</span><span class="p">,</span> <span class="mh">0x4f</span><span class="p">,</span> <span class="mh">0x15</span><span class="p">,</span> <span class="mh">0x1c</span><span class="p">,</span> <span class="mh">0xaf</span><span class="p">,</span> <span class="mh">0xd2</span><span class="p">,</span> <span class="mh">0x61</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">);</span>
-<span class="cp">#define CO2_SNS_TYPE          0xDEAD</span>
-<span class="cp">#define CO2_SNS_STRING &quot;SenseAir K30 CO2 Sensor&quot;</span>
-<span class="cp">#define CO2_SNS_VAL           0xBEAD</span>
-
-<span class="kt">uint16_t</span> <span class="n">gatt_co2_val</span><span class="p">;</span>
-</pre></div>
-</div>
-<p>You can use any hex values you choose for the sensor type and sensor
-values, and you can even forget the sensor type and sensor string
-definitions altogether but they make the results look nice in our
-Bluetooth App for Mac OS X and iOS.</p>
+<p>Since we already built the previous demo on the <span class="xref std std-doc">bluetooth peripheral</span> basic app most of the bluetooth plumbing has already been taken care of for us. What’s left is for us to add the required GATT services for advertising the Carbon Dioxide sensor so that other devices can get those values.</p>
+<p>First, we’ll define the GATT Services in <code class="docutils literal notranslate"><span class="pre">apps/air_quality/src/bleprph.h</span></code>. Be sure to include the header files as well.</p>
+<p>You can use any hex values you choose for the sensor type and sensor values, and you can even forget the sensor type and sensor string definitions altogether but they make the results look nice in our Bluetooth App for Mac OS X and iOS.</p>
 <p>Next we’ll add those services to <code class="docutils literal notranslate"><span class="pre">apps/air_quality/src/gatt_svr.c</span></code>.</p>
 <div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">static</span> <span class="kt">int</span>
 <span class="nf">gatt_svr_sns_access</span><span class="p">(</span><span class="kt">uint16_t</span> <span class="n">conn_handle</span><span class="p">,</span> <span class="kt">uint16_t</span> <span class="n">attr_handle</span><span class="p">,</span>
@@ -362,8 +342,7 @@ <h2>Add Bluetooth GATT Services<a class="headerlink" href="#add-bluetooth-gatt-s
     <span class="p">};</span>
 </pre></div>
 </div>
-<p>Next we need to tell the GATT Server how to handle requests for CO2
-readings :</p>
+<p>Next we need to tell the GATT Server how to handle requests for CO2 readings :</p>
 <div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="n">sstatic</span> <span class="kt">int</span>
 <span class="nf">gatt_svr_sns_access</span><span class="p">(</span><span class="kt">uint16_t</span> <span class="n">conn_handle</span><span class="p">,</span> <span class="kt">uint16_t</span> <span class="n">attr_handle</span><span class="p">,</span>
                           <span class="k">struct</span> <span class="n">ble_gatt_access_ctxt</span> <span class="o">*</span><span class="n">ctxt</span><span class="p">,</span>
@@ -401,22 +380,17 @@ <h2>Add Bluetooth GATT Services<a class="headerlink" href="#add-bluetooth-gatt-s
 <span class="p">}</span>
 </pre></div>
 </div>
-<p>Now it’s time to go into our <code class="docutils literal notranslate"><span class="pre">apps/air_quality/src/main.c</span></code> and change
-how we read CO2 readings and respond to requests.</p>
-<p>We’ll need a task handler with an event queue for the CO2 readings –
-they were handled by the shell task in the previous tutorial but now it
-needs to be replaced by a different handler as shown below.</p>
+<p>Now it’s time to go into our <code class="docutils literal notranslate"><span class="pre">apps/air_quality/src/main.c</span></code> and change how we read CO2 readings and respond to requests.</p>
+<p>We’ll need a task handler with an event queue for the CO2 readings.</p>
 <div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/* CO2 Task settings */</span>
-<span class="cp">#define CO2_TASK_PRIO           5</span>
+<span class="cp">#define CO2_TASK_PRIO           128</span>
 <span class="cp">#define CO2_STACK_SIZE          (OS_STACK_ALIGN(336))</span>
 <span class="k">struct</span> <span class="n">os_eventq</span> <span class="n">co2_evq</span><span class="p">;</span>
 <span class="k">struct</span> <span class="n">os_task</span> <span class="n">co2_task</span><span class="p">;</span>
 <span class="n">bssnz_t</span> <span class="n">os_stack_t</span> <span class="n">co2_stack</span><span class="p">[</span><span class="n">CO2_STACK_SIZE</span><span class="p">];</span>
 </pre></div>
 </div>
-<p>And of course we’ll need to go to our <code class="docutils literal notranslate"><span class="pre">main()</span></code> and do all the standard
-task and event setup we normally do by adding the following. Again,
-remember to delete all the shell event queues and tasks.</p>
+<p>And of course we’ll need to go to our <code class="docutils literal notranslate"><span class="pre">main()</span></code> and do all the standard task and event setup we normally do by adding the following:</p>
 <div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/* Initialize sensor eventq */</span>
 <span class="n">os_eventq_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">co2_evq</span><span class="p">);</span>
 
@@ -470,18 +444,11 @@ <h2>Add Bluetooth GATT Services<a class="headerlink" href="#add-bluetooth-gatt-s
 <span class="p">}</span>
 </pre></div>
 </div>
-<p>You’ll notice that it looks eeirily similar to a portion of the shell
-event we created earlier. This one simply reads and updates the CO2
-value and sends that over BLE to any connected clients instead.</p>
-<p>We can now build, create-image and load the app onto our Arduino Primo
-board, and then connect and see the updated values! The image below
-shows the results using MyNewt Sensor Reader, a Mac OS X app developed
-for connecting to MyNewt devices over Bluetooth but you can also use
-LightBlue or any other application that can connect to, and read,
-Bluetooth data.</p>
+<p>This one simply reads and updates the CO2 value and sends that over BLE to any connected clients instead.</p>
+<p>We can now build, create-image and load the app onto our nRF52DK board, and then connect and see the updated values! To view the results over Bluetooth, you can use LightBlue or any other application that can connect to, and read, Bluetooth data. By default, the device will show up as nimble-bleprph, since we used the <code class="docutils literal notranslate"><span class="pre">bleprph</span></code> app as our template. I’ve changed mine to something a bit more applicable: BLE CO2 Sensor.</p>
 <div class="figure" id="id1">
-<img alt="MyNewt Sensor Reader" src="../../_images/MyNewtSensorReader.jpg" />
-<p class="caption"><span class="caption-text">MyNewt Sensor Reader</span></p>
+<img alt="../../_images/airquality_lightblue.png" src="../../_images/airquality_lightblue.png" />
+<p class="caption"><span class="caption-text">LightBlue app connected to BLE CO2 Sensor</span></p>
 </div>
 <p>Congratulations!!</p>
 </div>
@@ -496,7 +463,7 @@ <h2>Add Bluetooth GATT Services<a class="headerlink" href="#add-bluetooth-gatt-s
         <a href="nrf52_adc.html" class="btn btn-neutral float-right" title="Adding an Analog Sensor on nRF52" accesskey="n">Next: Adding an Analog Sensor on nRF52 <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="air_quality_sensor.html" class="btn btn-neutral" title="Air quality sensor project" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Air quality sensor project</a>
+        <a href="air_quality_sensor.html" class="btn btn-neutral" title="Air Quality Sensor Project" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Air Quality Sensor Project</a>
       
     </div>
 
diff --git a/develop/tutorials/sensors/air_quality_sensor.html b/develop/tutorials/sensors/air_quality_sensor.html
index b10da8b54..746bc339c 100644
--- a/develop/tutorials/sensors/air_quality_sensor.html
+++ b/develop/tutorials/sensors/air_quality_sensor.html
@@ -10,7 +10,7 @@
     
 
     
-    <title>Air quality sensor project &mdash; Apache Mynewt 1.3.0 documentation</title>
+    <title>Air Quality Sensor Project &mdash; Apache Mynewt 1.3.0 documentation</title>
     
 
     
@@ -160,7 +160,7 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
     
       <a href="air_quality.html">Air Quality Sensor Project</a> /
     
-    Air quality sensor project
+    Air Quality Sensor Project
     
   <div class="sourcelink">
     <a href="https://github.com/apache/mynewt-documentation/edit/master/docs/tutorials/sensors/air_quality_sensor.rst" class="icon icon-github"
@@ -278,22 +278,35 @@ <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.3.0</a> released (Dece
                    <div itemprop="articleBody">
                     
   <div class="section" id="air-quality-sensor-project">
-<h1>Air quality sensor project<a class="headerlink" href="#air-quality-sensor-project" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="setting-up-source-tree-for-stuff-you-need">
-<h2>Setting up source tree for stuff you need<a class="headerlink" href="#setting-up-source-tree-for-stuff-you-need" title="Permalink to this headline">¶</a></h2>
-<p>To start with, you need to create a new project under which you will do
-this development. So you type in:</p>
+<h1>Air Quality Sensor Project<a class="headerlink" href="#air-quality-sensor-project" title="Permalink to this headline">¶</a></h1>
+<p>This tutorial will show you how to set up and use the Senseair K30 air quality sensor with the nRF52 Development Kit. Afterwards, you can set it up via Bluetooth so you can read values remotely.</p>
+<div class="contents local topic" id="contents">
+<ul class="simple">
+<li><a class="reference internal" href="#prerequisites" id="id3">Prerequisites</a></li>
+<li><a class="reference internal" href="#setting-up-the-source-tree" id="id4">Setting Up the Source Tree</a></li>
+<li><a class="reference internal" href="#create-a-test-project" id="id5">Create a Test Project</a></li>
+<li><a class="reference internal" href="#create-packages-for-drivers" id="id6">Create Packages For Drivers</a></li>
+<li><a class="reference internal" href="#add-cli-commands-for-testing-drivers" id="id7">Add CLI Commands For Testing Drivers</a></li>
+<li><a class="reference internal" href="#using-hal-for-drivers" id="id8">Using HAL for Drivers</a></li>
+</ul>
+</div>
+<div class="section" id="prerequisites">
+<h2><a class="toc-backref" href="#id3">Prerequisites</a><a class="headerlink" href="#prerequisites" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li>Complete one of the other tutorials (e.g. <span class="xref std std-doc">Project Blinky</span>) to famliarize yourself with Mynewt</li>
+<li>Nordic nRF52 Development - PCA 10040</li>
+<li>Senseair K30 CO2 Sensor</li>
+</ul>
+</div>
+<div class="section" id="setting-up-the-source-tree">
+<h2><a class="toc-backref" href="#id4">Setting Up the Source Tree</a><a class="headerlink" href="#setting-up-the-source-tree" title="Permalink to this headline">¶</a></h2>
+<p>To start, create a new project under which you will do development for this application:</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> mkdir <span class="nv">$HOME</span>/src
 <span class="gp">$</span> <span class="nb">cd</span> <span class="nv">$HOME</span>/src
 <span class="gp">$</span> newt new air_quality
 </pre></div>
 </div>
-<p>Let’s say you are using Arduino Primo – which is based on the Nordic
-Semi NRF52 chip – as the platform. You know you need the board support
-package for that hardware. You can look up its location, add it your
-project, and fetch that along with the core OS components. Luckily, the
-Arduino Primo is supported in the Mynewt Core, so there’s nothing much
-to do here.</p>
+<p>If you are using a different development board, you will need to know the board support package for that hardware. You can look up its location, add it your project, and fetch that along with the core OS components. Since the nRF52DK is supported in the Mynewt Core, we don’t need to do much here.</p>
 <p>Your project.yml file should look like this:</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span>[user@IsMyLaptop:~/src/air_quality]$ emacs project.yml &amp;
 [user@IsMyLaptop:~/src/air_quality]$ cat project.yml
@@ -317,120 +330,49 @@ <h2>Setting up source tree for stuff you need<a class="headerlink" href="#settin
 apache-mynewt-core
 </pre></div>
 </div>
-<p>Good. You want to make sure you have all the needed bits for supporting
-your board; so you decide to build the blinky project for the platform
-first.</p>
-<p>Now create a target for it and build it. Easiest way to proceed is to
-copy the existing target for blinky, and modify it to build for Arduino
-Primo board.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target copy my_blinky_sim blink_primo
-<span class="go">Target successfully copied; targets/my_blinky_sim --&gt; targets/blink_primo</span>
-<span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target <span class="nb">set</span> blink_primo <span class="nv">bsp</span><span class="o">=</span>@apache-mynewt-core/hw/bsp/arduino_primo_nrf52
-<span class="go">Target targets/blink_nrf successfully set target.bsp to @apache-mynewt-core/hw/bsp/arduino_primo_nrf52</span>
-<span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt build blink_primo
-<span class="go">Compiling hal_bsp.c</span>
-<span class="go">...</span>
-<span class="go">Linking blinky.elf</span>
-<span class="go">App successfully built: /Users/user/src/air_quality/bin/blink_primo/apps/blinky/blinky.elf</span>
-</pre></div>
-</div>
-<p>Good.</p>
-<p>You know that this platform uses bootloader, which means you have to
-create a target for that too.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target create boot_primo
-<span class="go">Target targets/boot_nrf successfully created</span>
+<p>Next, create a target for the nRF52DK bootloader:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target create boot_nrf52dk
+<span class="go">Target targets/boot_nrf52dk successfully created</span>
+<span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target <span class="nb">set</span> boot_nrf52dk <span class="nv">bsp</span><span class="o">=</span>@apache-mynewt-core/hw/bsp/nrf52dk
+<span class="go">Target targets/boot_nrf52dk successfully set target.bsp to @apache-mynewt-core/hw/bsp/nrf52dk</span>
+<span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target <span class="nb">set</span> boot_nrf52dk <span class="nv">app</span><span class="o">=</span>@apache-mynewt-core/apps/boot
+<span class="go">Target targets/boot_nrf52dk successfully set target.app to @apache-mynewt-core/apps/boot</span>
+<span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target <span class="nb">set</span> boot_nrf52dk <span class="nv">build_profile</span><span class="o">=</span>optimized
+<span class="go">Target targets/boot_nrf52dk successfully set target.build_profile to optimized</span>
 <span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target show
 <span class="go">@apache-mynewt-core/targets/unittest</span>
 <span class="go">    bsp=hw/bsp/native</span>
 <span class="go">    build_profile=debug</span>
 <span class="go">    compiler=compiler/sim</span>
-<span class="go">targets/blink_primo</span>
-<span class="go">    app=apps/blinky</span>
-<span class="go">    bsp=@apache-mynewt-core/hw/bsp/arduino_primo_nrf52</span>
-<span class="go">    build_profile=debug</span>
-<span class="go">targets/boot_primo</span>
+<span class="go">targets/boot_nrf52dk</span>
+<span class="go">    app=@apache-mynewt-core/apps/boot</span>
+<span class="go">    bsp=@apache-mynewt-core/hw/bsp/nrf52dk</span>
+<span class="go">    build_profile=optimized</span>
 <span class="go">targets/my_blinky_sim</span>
 <span class="go">    app=apps/blinky</span>
 <span class="go">    bsp=@apache-mynewt-core/hw/bsp/native</span>
 <span class="go">    build_profile=debug</span>
-<span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target <span class="nb">set</span> boot_nrf <span class="nv">bsp</span><span class="o">=</span>@apache-mynewt-core/hw/bsp/arduino_primo_nrf52
-<span class="go">Target targets/boot_nrf successfully set target.bsp to @apache-mynewt-core/hw/bsp/arduino_primo_nrf52</span>
-<span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target <span class="nb">set</span> boot_nrf <span class="nv">app</span><span class="o">=</span>@apache-mynewt-core/apps/boot
-<span class="go">Target targets/boot_nrf successfully set target.app to @apache-mynewt-core/apps/boot</span>
-<span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target <span class="nb">set</span> boot_nrf <span class="nv">build_profile</span><span class="o">=</span>optimized
-<span class="go">Target targets/boot_nrf successfully set target.build_profile to optimized</span>
 </pre></div>
 </div>
-<p>And then build it, and load it onto the board.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">newt build boot_primo</span>
+<p>Build the bootloader target and load it onto the board:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">newt build boot_nrf52dk</span>
 <span class="go">....</span>
 <span class="go">Linking boot.elf</span>
-<span class="go">App successfully built: /Users/user/src/air_quality/bin/boot_primo/apps/boot/boot.elf</span>
+<span class="go">App successfully built: /Users/user/src/air_quality/bin/boot_nrf52dk/apps/boot/boot.elf</span>
 <span class="go">[user@IsMyLaptop:~/src/air_quality]</span>
-<span class="gp">$</span> newt load boot_primo
-</pre></div>
-</div>
-<p>At this point, you may (or may not) see a bunch of error messages about
-not being able to connect to your board, not being able to load the
-image, etc. If that’s the case, and you haven’t already, you should most
-definitely go worth through the <a class="reference internal" href="../blinky/blinky_primo.html"><span class="doc">blinky_primo</span></a>
-tutorial so that you can properly communicate with your board.</p>
-<p>Next you must download the targets to board, and see that the LED
-actually blinks. You plug in the Arduino Primo board to your laptop, and
-say:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt load blink_primo
-<span class="go">Loading app image into slot 1</span>
-<span class="go">Error: couldn&#39;t open /Users/user/src/air_quality/bin/blink_primo/apps/blinky/blinky.img</span>
-
-<span class="go">Error: exit status 1</span>
-
-<span class="go">load - Load app image to target for &lt;target-name&gt;.</span>
-
-<span class="go">Usage:</span>
-<span class="go">  newt load [flags]</span>
-
-<span class="go">Examples:</span>
-<span class="go">  newt load &lt;target-name&gt;</span>
-
-
-<span class="go">Global Flags:</span>
-<span class="go">  -l, --loglevel string   Log level, defaults to WARN. (default &quot;WARN&quot;)</span>
-<span class="go">  -o, --outfile string    Filename to tee log output to</span>
-<span class="go">  -q, --quiet             Be quiet; only display error output.</span>
-<span class="go">  -s, --silent            Be silent; don&#39;t output anything.</span>
-<span class="go">  -v, --verbose           Enable verbose output when executing commands.</span>
-<span class="go">exit status 1</span>
-</pre></div>
-</div>
-<p>Ah. Forgot to create an image out of the blinky binary. Note that every
-time you want to build and load a new firmware image to a target board,
-you need to run ‘create-image’ on it.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt create-image blink_primo <span class="m">0</span>.0.1
-<span class="go">App image successfully generated: /Users/user/src/air_quality/bin/blink_primo/apps/blinky/blinky.img</span>
-<span class="go">Build manifest: /Users/user/src/air_quality/bin/blink_nrf/apps/blinky/manifest.json</span>
-<span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt load blink_primo
+<span class="gp">$</span> newt load boot_nrf52dk
 </pre></div>
 </div>
-<p>And it’s blinking.</p>
-<p>Shortcut for doing build/create-image/load/debug steps all in one is
-‘newt run’ command. Check out the usage from command line help.</p>
 </div>
-<div class="section" id="create-test-project">
-<h2>Create test project<a class="headerlink" href="#create-test-project" title="Permalink to this headline">¶</a></h2>
-<p>Now that you have your system setup, you can start creating your own
-stuff. First you want to create a project for yourself - you could start
-by using blinky as a project template, but since we’re going to want to
-be able to access the data via Bluetooth, let’s use the <code class="docutils literal notranslate"><span class="pre">bleprph</span></code>
-Bluetooth Peripheral project instead.</p>
+<div class="section" id="create-a-test-project">
+<h2><a class="toc-backref" href="#id5">Create a Test Project</a><a class="headerlink" href="#create-a-test-project" title="Permalink to this headline">¶</a></h2>
+<p>Now that you have your system setup, you can start building the application. First you want to create a project for yourself - since we’re eventually going to want to be able to access the data via Bluetooth, let’s use the <code class="docutils literal notranslate"><span class="pre">bleprph</span></code> Bluetooth Peripheral project as the project template.</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> mkdir apps/air_quality
 <span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> cp repos/apache-mynewt-core/apps/bleprph/pkg.yml apps/air_quality/
 <span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> cp -Rp repos/apache-mynewt-core/apps/bleprph/src apps/air_quality/
 </pre></div>
 </div>
-<p>Then you modify the apps/air_quality/pkg.yml for air_quality in order
-to change the <em>pkg.name</em> to be <em>apps/air_quality</em>. You’ll need to add
-the <code class="docutils literal notranslate"><span class="pre">&#64;apache-mynewt-core/</span></code> path to all the package dependencies, since
-the app no longer resides within the apache-mynewt-core repository.</p>
+<p>Modify the apps/air_quality/pkg.yml for air_quality in order to change the <em>pkg.name</em> to be <em>apps/air_quality</em>. You’ll need to add the <code class="docutils literal notranslate"><span class="pre">&#64;apache-mynewt-core/</span></code> path to all the package dependencies, since the app no longer resides within the apache-mynewt-core repository.</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> cat apps/air_quality/pkg.yml
 <span class="go">pkg.name: apps/air_quality</span>
 <span class="go">pkg.type: app</span>
@@ -440,10 +382,10 @@ <h2>Create test project<a class="headerlink" href="#create-test-project" title="
 <span class="go">pkg.keywords:</span>
 
 <span class="go">pkg.deps:</span>
+<span class="go">    - &quot;@apache-mynewt-core/boot/split&quot;</span>
+<span class="go">    - &quot;@apache-mynewt-core/boot/bootutil&quot;</span>
 <span class="go">    - &quot;@apache-mynewt-core/kernel/os&quot;</span>
-<span class="go">    - &quot;@apache-mynewt-core/sys/shell&quot;</span>
-<span class="go">    - &quot;@apache-mynewt-core/sys/stats/full&quot;</span>
-<span class="go">    - &quot;@apache-mynewt-core/sys/log/full&quot;</span>
+<span class="go">    - &quot;@apache-mynewt-core/mgmt/imgmgr&quot;</span>
 <span class="go">    - &quot;@apache-mynewt-core/mgmt/newtmgr&quot;</span>
 <span class="go">    - &quot;@apache-mynewt-core/mgmt/newtmgr/transport/ble&quot;</span>
 <span class="go">    - &quot;@apache-mynewt-core/net/nimble/controller&quot;</span>
@@ -451,43 +393,43 @@ <h2>Create test project<a class="headerlink" href="#create-test-project" title="
 <span class="go">    - &quot;@apache-mynewt-core/net/nimble/host/services/ans&quot;</span>
 <span class="go">    - &quot;@apache-mynewt-core/net/nimble/host/services/gap&quot;</span>
 <span class="go">    - &quot;@apache-mynewt-core/net/nimble/host/services/gatt&quot;</span>
-<span class="go">    - &quot;@apache-mynewt-core/net/nimble/host/store/ram&quot;</span>
-<span class="go">    - &quot;@apache-mynewt-core/net/nimble/transport/ram&quot;</span>
+<span class="go">    - &quot;@apache-mynewt-core/net/nimble/host/store/config&quot;</span>
 <span class="go">    - &quot;@apache-mynewt-core/sys/console/full&quot;</span>
+<span class="go">    - &quot;@apache-mynewt-core/sys/log/full&quot;</span>
+<span class="go">    - &quot;@apache-mynewt-core/sys/stats/full&quot;</span>
 <span class="go">    - &quot;@apache-mynewt-core/sys/sysinit&quot;</span>
 <span class="go">    - &quot;@apache-mynewt-core/sys/id&quot;</span>
+<span class="go">    - &quot;@apache-mynewt-core/net/nimble/transport/ram&quot;</span>
+<span class="go">    - &quot;@apache-mynewt-core/sys/shell&quot;</span>
 </pre></div>
 </div>
-<p>And create a target for it:</p>
+<p>Next create a target for it:</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target create air_q
 <span class="go">Target targets/air_q successfully created</span>
-<span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target <span class="nb">set</span> air_q <span class="nv">bsp</span><span class="o">=</span>@apache-mynewt-core/hw/bsp/arduino_primo_nrf52
-<span class="go">Target targets/air_q successfully set target.bsp to @apache-mynewt-core/hw/bsp/arduino_primo_nrf52</span>
+<span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target <span class="nb">set</span> air_q <span class="nv">bsp</span><span class="o">=</span>@apache-mynewt-core/hw/bsp/nrf52dk
+<span class="go">Target targets/air_q successfully set target.bsp to @apache-mynewt-core/hw/bsp/nrf52dk</span>
 <span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target <span class="nb">set</span> air_q <span class="nv">app</span><span class="o">=</span>apps/air_quality
 <span class="go">Target targets/air_q successfully set target.app to apps/air_quality</span>
 <span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt target <span class="nb">set</span> air_q <span class="nv">build_profile</span><span class="o">=</span>debug
 <span class="go">Target targets/air_q successfully set target.build_profile to debug</span>
 <span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt build air_q
 <span class="go"> ....</span>
-<span class="go">Linking /Users/dsimmons/dev/myproj/bin/targets/air_q/app/apps/air_quality/air_quality.elf</span>
+<span class="go">Linking /Users/users/dev/myproj/bin/targets/air_q/app/apps/air_quality/air_quality.elf</span>
 <span class="go">Target successfully built: targets/air_q</span>
 </pre></div>
 </div>
 </div>
 <div class="section" id="create-packages-for-drivers">
-<h2>Create packages for drivers<a class="headerlink" href="#create-packages-for-drivers" title="Permalink to this headline">¶</a></h2>
-<p>One of the sensors you want to enable is SenseAir K30, which will
-connect to the board over a serial port. To start development of the
-driver, you first need to create a package description for it, and add
-stubs for sources.</p>
+<h2><a class="toc-backref" href="#id6">Create Packages For Drivers</a><a class="headerlink" href="#create-packages-for-drivers" title="Permalink to this headline">¶</a></h2>
+<p>We need to enable the SenseAir K30 CO2 sensor, which will connect to the board over a serial port. To start development of the
+driver, you first need to create a package description for it, and add stubs for sources.</p>
 <p>The first thing to do is to create the directory structure for your
 driver:</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> mkdir -p libs/my_drivers/senseair/include/senseair
 <span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> mkdir -p libs/my_drivers/senseair/src
 </pre></div>
 </div>
-<p>Now you can add the files you need. You’ll need a pkg.yml to describe
-the driver, and then header stub followed by source stub.</p>
+<p>Now you can add the files you need. You’ll need a <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> to describe the driver, and then header stub followed by source stub.</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> cat libs/my_drivers/senseair/pkg.yml
 </pre></div>
 </div>
@@ -578,25 +520,25 @@ <h2>Create packages for drivers<a class="headerlink" href="#create-packages-for-
 <span class="p">}</span>
 </pre></div>
 </div>
-<p>And add dependency to this package in your project yml file.</p>
-<p>Here’s the listing from apps/air_quality/pkg.yml</p>
+<p>And add a dependency to this package in your project.yml file.</p>
+<p>Here’s the listing from apps/air_quality/pkg.yml:</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">pkg.name: apps/air_quality</span>
 <span class="go">pkg.type: app</span>
 <span class="go">pkg.description: Air quality sensor test</span>
 <span class="go">pkg.keywords:</span>
 
 <span class="go">pkg.deps:</span>
-<span class="go">    - &quot;@apache-mynewt-core/libs/console/full&quot;</span>
-<span class="go">    - &quot;@apache-mynewt-core/libs/newtmgr&quot;</span>
-<span class="go">    - &quot;@apache-mynewt-core/libs/os&quot;</span>
-<span class="go">    - &quot;@apache-mynewt-core/libs/shell&quot;</span>
-<span class="go">    - &quot;@apache-mynewt-core/sys/config&quot;</span>
-<span class="go">    - &quot;@apache-mynewt-core/sys/log/full&quot;</span>
-<span class="go">    - &quot;@apache-mynewt-core/sys/stats/full&quot;</span>
+<span class="go">    - &quot;@apache-mynewt-core/boot/split&quot;</span>
+<span class="go">    - &quot;@apache-mynewt-core/boot/bootutil&quot;</span>
+<span class="go">    - &quot;@apache-mynewt-core/kernel/os&quot;</span>
+<span class="go">    ....</span>
+<span class="go">    - &quot;@apache-mynewt-core/sys/id&quot;</span>
+<span class="go">    - &quot;@apache-mynewt-core/net/nimble/transport/ram&quot;</span>
+<span class="go">    - &quot;@apache-mynewt-core/sys/shell&quot;</span>
 <span class="go">    - libs/my_drivers/senseair</span>
 </pre></div>
 </div>
-<p>And add a call to your main() to initialize this driver.</p>
+<p>Add a call to your <code class="docutils literal notranslate"><span class="pre">main()</span></code> to initialize this driver:</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> diff project/blinky/src/main.c project/air_quality/src/main.c
 <span class="go">28a29</span>
 <span class="gp">&gt;</span> <span class="c1">#include &lt;senseair/senseair.h&gt;</span>
@@ -605,79 +547,22 @@ <h2>Create packages for drivers<a class="headerlink" href="#create-packages-for-
 <span class="go">[user@IsMyLaptop:~/src/air_quality</span>
 </pre></div>
 </div>
-<p>The ble_prph app runs everything in one task handler. For this project,
-we’re going to add a second task handler to respond to the shell, and
-then handle communicating with the senseair sensor for us.</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/** shell task settings. */</span>
-<span class="cp">#define SHELL_TASK_PRIO           2</span>
-<span class="cp">#define SHELL_STACK_SIZE          (OS_STACK_ALIGN(336))</span>
-
-<span class="k">struct</span> <span class="n">os_eventq</span> <span class="n">shell_evq</span><span class="p">;</span>
-<span class="k">struct</span> <span class="n">os_task</span> <span class="n">shell_task</span><span class="p">;</span>
-<span class="n">bssnz_t</span> <span class="n">os_stack_t</span> <span class="n">shell_stack</span><span class="p">[</span><span class="n">SHELL_STACK_SIZE</span><span class="p">];</span>
-</pre></div>
-</div>
-<p>That defines the task, now we need to initialize it, add a task handler,
-and we’re going to use this task as our default task handler.</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/**</span>
-<span class="cm"> * Event loop for the main shell task.</span>
-<span class="cm"> */</span>
-<span class="k">static</span> <span class="kt">void</span>
-<span class="nf">shell_task_handler</span><span class="p">(</span><span class="kt">void</span> <span class="o">*</span><span class="n">unused</span><span class="p">)</span>
-<span class="p">{</span>
-    <span class="k">while</span> <span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">os_eventq_run</span><span class="p">(</span><span class="o">&amp;</span><span class="n">shell_evq</span><span class="p">);</span>
-    <span class="p">}</span>
-<span class="p">}</span>
-</pre></div>
-</div>
-<p>And in your <code class="docutils literal notranslate"><span class="pre">main()</span></code> add:</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/* Initialize shell eventq */</span>
-<span class="n">os_eventq_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">shell_evq</span><span class="p">);</span>
-
-<span class="cm">/* Create the shell task.</span>
-<span class="cm"> * All shell operations are performed in this task.</span>
-<span class="cm"> */</span>
-<span class="n">os_task_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">shell_task</span><span class="p">,</span> <span class="s">&quot;shell&quot;</span><span class="p">,</span> <span class="n">shell_task_handler</span><span class="p">,</span>
-                          <span class="nb">NULL</span><span class="p">,</span> <span class="n">SHELL_TASK_PRIO</span><span class="p">,</span> <span class="n">OS_WAIT_FOREVER</span><span class="p">,</span>
-                          <span class="n">shell_stack</span><span class="p">,</span> <span class="n">SHELL_STACK_SIZE</span><span class="p">);</span>
-</pre></div>
-</div>
-<p>Don’t forget to change your default task handler!</p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="n">os_eventq_dflt_set</span><span class="p">(</span><span class="o">&amp;</span><span class="n">shell_evq</span><span class="p">);</span>
-</pre></div>
-</div>
-<p>And then build it to make sure all goes well.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> newt build air_q
-<span class="go">Compiling senseair.c</span>
-<span class="go">Archiving senseair.a</span>
-<span class="go">Linking air_quality.elf</span>
-<span class="go">App successfully built: /Users/user/src/air_quality/bin/air_q/apps/air_quality/air_quality.elf</span>
-</pre></div>
-</div>
-<p>All looks good.</p>
 </div>
 <div class="section" id="add-cli-commands-for-testing-drivers">
-<h2>Add CLI commands for testing drivers<a class="headerlink" href="#add-cli-commands-for-testing-drivers" title="Permalink to this headline">¶</a></h2>
-<p>While developing the driver, you want to issue operations from console
-asking it to do stuff. We’ll assume that you’ve already worked through
-the tutorial on how to <a class="reference internal" href="../blinky/blinky_console.html"><span class="doc">enable the CLI</span></a>, so all
-we’ll need to do is add the propper values to the project’s
-<code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file:</p>
+<h2><a class="toc-backref" href="#id7">Add CLI Commands For Testing Drivers</a><a class="headerlink" href="#add-cli-commands-for-testing-drivers" title="Permalink to this headline">¶</a></h2>
+<p>While developing the driver, it would be helpful to issue operations from the console to verify the driver is responding correctly. Since the nRF52DK only has one UART, which will be used to connect to the CO2 sensor, the console we’ll use instead is the <span class="xref std std-doc">Segger RTT Console</span>. To configure this, make the following changes in your project’s <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file:</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~/src/air_quality]$</span> cat targets/air_q/syscfg.yml
 <span class="go">syscfg.vals:</span>
-<span class="gp">    #</span> Set as per blinky_primo
-<span class="go">    OPENOCD_DEBUG: 1</span>
 <span class="gp">    #</span> Enable the shell task.
 <span class="go">    SHELL_TASK: 1</span>
-<span class="go">    STATS_CLI: 1</span>
-<span class="go">    CONSOLE_TICKS: 1</span>
-<span class="go">    CONSOLE_PROMPT: 1</span>
+<span class="gp">    #</span> Use the RTT Console
+<span class="go">    CONSOLE_UART: 0</span>
+<span class="go">    CONSOLE_RTT: 1</span>
 </pre></div>
 </div>
-<p>Then register your senseair command with the shell by adding the
-following to <code class="docutils literal notranslate"><span class="pre">libs/my_drivers/senseair/src/senseair.c</span></code></p>
-<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&lt;shell/shell.h&gt;</span><span class="cp"></span>
+<p>Then register your senseair command with the shell by adding the following to <code class="docutils literal notranslate"><span class="pre">libs/my_drivers/senseair/src/senseair.c</span></code></p>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&lt;syscfg/syscfg.h&gt;</span><span class="cp"></span>
+<span class="cp">#include</span> <span class="cpf">&lt;shell/shell.h&gt;</span><span class="cp"></span>
 <span class="cp">#include</span> <span class="cpf">&lt;console/console.h&gt;</span><span class="cp"></span>
 <span class="cp">#include</span> <span class="cpf">&lt;assert.h&gt;</span><span class="cp"></span>
 
@@ -706,69 +591,47 @@ <h2>Add CLI commands for testing drivers<a class="headerlink" href="#add-cli-com
 <span class="p">}</span>
 </pre></div>
 </div>
-<p>Now you can you build this, download to target, and start minicom on
-your console port. If you haven’t already, familiarize yourself with the
-tutorial on how to connect a serial port to your board
-<a class="reference internal" href="../../get_started/serial_access.html"><span class="doc">here</span></a>.</p>
-<p>You’ll need to wire up your Board to a Serial converter first. On the
-Arduino Primo Board pin 1 is TX and pin 0 is RX so wire 1 to RX on your
-serial board, and 0 to TX on your serial board.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~]$</span> minicom -D /dev/tty.usbserial-AH02MIE2
-
-
-<span class="go">Welcome to minicom 2.7</span>
-
-<span class="go">OPTIONS:</span>
-<span class="go">Compiled on Oct 12 2015, 07:48:30.</span>
-<span class="go">Port /dev/tty.usbserial-AH02MIE2, 13:44:40</span>
-
-<span class="go">Press CTRL-X Z for help on special keys</span>
-
-<span class="go">?</span>
-<span class="go">419: &gt; ?</span>
-<span class="go">Commands:</span>
-<span class="go">641:     stat      echo         ?    prompt     ticks     tasks</span>
-<span class="go">643: mempools      date  senseair</span>
-<span class="go">644: &gt; senseair</span>
-<span class="go">Yay! Somebody called!</span>
-<span class="go">1125: &gt;</span>
-<span class="go">53611: &gt; tasks</span>
-<span class="go">Tasks:</span>
-<span class="go">54047:    task pri tid  runtime      csw    stksz   stkuse   lcheck   ncheck flg</span>
-<span class="go">54057:    idle 255   0    54048    66890       64       30        0        0   0</span>
-<span class="go">54068:  ble_ll   0   1        9    64986       80       58        0        0   0</span>
-<span class="go">54079: bleprph   1   2        0        1      336       32        0        0   0</span>
-<span class="go">54090:   shell   2   3        0     2077      336      262        0        0   0</span>
-<span class="go">54101: &gt;</span>
+<p>Build the target, create an image, and load it onto your board. Then run <code class="docutils literal notranslate"><span class="pre">telnet</span> <span class="pre">localhost</span> <span class="pre">19021</span></code> to start the RTT Console.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">[user@IsMyLaptop:~]$</span> telnet localhost <span class="m">19021</span>
+<span class="go">Trying 127.0.0.1...</span>
+<span class="go">Connected to localhost.</span>
+<span class="go">Escape character is &#39;^]&#39;.</span>
+<span class="go">SEGGER J-Link V6.30j - Real time terminal output</span>
+<span class="go">J-Link OB-SAM3U128-V2-NordicSemi compiled Jan 12 2018 16:05:20 V1.0, SN=682771074</span>
+<span class="go">Process: JLinkGDBServerCLExe</span>
+<span class="go">x03 0x03 0x11 0x18 0x0f 0x09 0x6e 0x69 0x6d 0x62 0x6c 0x65 0x2d 0x62 0x6c 0x65 0x70 0x72 0x70 0x68 0x02 0x0a 0x00 0x00         0x00 0x00 0x00 0x00</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8 ocf=0x8 status=0</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=1] GAP procedure initiated: advertise; disc_mode=2 adv_channel_map=0 own_addr_type=0         adv_filter_policy=0 adv_itvl_min=0 adv_itvl_max=0</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08 ocf=0x0006 len=15</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=0] 0x06 0x20 0x0f 0x30 0x00 0x60 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00           0x07 0x00</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8 ocf=0x6 status=0</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08 ocf=0x000a len=1</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=0] 0x0a 0x20 0x01 0x01</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8 ocf=0xa status=0</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x0 ocf=0x0</span>
+
+<span class="go">001215 compat&gt;</span>
+
+<span class="go">001957 compat&gt; help</span>
+<span class="go">help</span>
+<span class="go">002162 help</span>
+<span class="go">002162 tasks</span>
+<span class="go">002162 mpool</span>
+<span class="go">002162 date</span>
+<span class="go">002162 senseair</span>
+<span class="go">002162 compat&gt; senseair</span>
+<span class="go">senseair</span>
+<span class="go">002514 Yay! Somebody called!</span>
+<span class="go">002514 compat&gt;</span>
 </pre></div>
 </div>
-<p>That’s great. Your shell task is running, and is responding
-appropriately! You can connect the hardware to your board and start
+<p>If you can see the <code class="docutils literal notranslate"><span class="pre">senseair</span></code> command, and get the proper response, you can connect the hardware to your board and start
 developing code for the driver itself.</p>
 </div>
-<div class="section" id="use-of-hal-for-drivers">
-<h2>Use of HAL for drivers<a class="headerlink" href="#use-of-hal-for-drivers" title="Permalink to this headline">¶</a></h2>
-<p>The sensor has a serial port connection, and that’s how you are going to
-connect to it. Your original BSP, hw/bsp/arduino_primo_nrf52, has two
-UARTs set up. We’re using one for our shell/console. It also has a
-second UART set up as a ‘bit-bang’ UART but since the SenseAir only
-needs to communicate at 9600 baud, this bit-banged uart is plenty fast
-enough.</p>
-<p>You’ll have to make a small change to the <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file in your
-project’s target directory to change the pin definitions for this second
-UART. Those changes are as follows:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">UART_0_PIN_TX: 23</span>
-<span class="go">UART_0_PIN_RX: 24</span>
-</pre></div>
-</div>
-<p>With this in place, you can refer to serial port where your SenseAir
-sensor by a logical number. This makes the code more platform
-independent - you could connect this sensor to another board, like
-Olimex. You will also use the HAL UART abstraction to do the UART port
-setup and data transfer. That way you don’t need to have any platform
-dependent pieces within your little driver.</p>
-<p>You will now see what the driver code ends up looking like. Here’s the
-header file, filled in from the stub you created earlier.</p>
+<div class="section" id="using-hal-for-drivers">
+<h2><a class="toc-backref" href="#id8">Using HAL for Drivers</a><a class="headerlink" href="#using-hal-for-drivers" title="Permalink to this headline">¶</a></h2>
+<p>We will connect the CO2 sensor using a serial port connection to the UART. We’ll also use the HAL UART abstraction to do the UART port setup and data transfer. That way you don’t need to have any platform dependent pieces within your little driver. Moreover, this also gives you the option to connect this sensor to another board, like Olimex or the Arduino Primo.</p>
+<p>You will now see what the driver code ends up looking like. Here’s the header file, filled in from the stub you created earlier:</p>
 <div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/*</span>
 <span class="cm"> * Licensed to the Apache Software Foundation (ASF) under one</span>
 <span class="cm"> * or more contributor license agreements.  See the NOTICE file</span>
@@ -801,11 +664,8 @@ <h2>Use of HAL for drivers<a class="headerlink" href="#use-of-hal-for-drivers" t
 <span class="cp">#endif </span><span class="cm">/* _SENSEAIR_H_ */</span><span class="cp"></span>
 </pre></div>
 </div>
-<p>As you can see, logical UART number has been added to the init routine.
-A ‘read’ function has been added, which is a blocking read. If you were
-making a commercial product, you would probably have a callback for
-reporting the results.</p>
-<p>And here is the source for the driver.</p>
+<p>As you can see, logical UART number has been added to the init routine. A ‘read’ function has also been added, which is a blocking read. If you were making a commercial product, you would probably have a callback for reporting the results.</p>
+<p>And here is the source for the driver:</p>
 <div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/**</span>
 <span class="cm"> * Licensed to the Apache Software Foundation (ASF) under one</span>
 <span class="cm"> * or more contributor license agreements.  See the NOTICE file</span>
@@ -825,7 +685,7 @@ <h2>Use of HAL for drivers<a class="headerlink" href="#use-of-hal-for-drivers" t
 <span class="cm"> * under the License.</span>
 <span class="cm"> */</span>
 <span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
-
+<span class="cp">#include</span> <span class="cpf">&lt;syscfg/syscfg.h&gt;</span><span class="cp"></span>
 <span class="cp">#include</span> <span class="cpf">&lt;shell/shell.h&gt;</span><span class="cp"></span>
 <span class="cp">#include</span> <span class="cpf">&lt;console/console.h&gt;</span><span class="cp"></span>
 <span class="cp">#include</span> <span class="cpf">&lt;os/os.h&gt;</span><span class="cp"></span>
@@ -1043,34 +903,18 @@ <h2>Use of HAL for drivers<a class="headerlink" href="#use-of-hal-for-drivers" t
     <span class="p">}</span>
 </pre></div>
 </div>
-<p>You can see from the code that you are using the HAL interface to open a
-UART port, and using OS semaphore as a way of blocking the task when
-waiting for read response to come back from the sensor.</p>
-<p>Now comes the fun part: Hooking up the sensor! It’s fun because a)
-hooking up a sensor is always fun and b) the SenseAir sensor’s PCB is
-entirely unlabeled, so you’ll have to trust us on how to hook it up.</p>
-<p>So here we go.</p>
-<p>You’ll have to do a little soldering. I soldered some header pins to the
-SenseAir K30 board to make connecting wires easier using standard jumper
-wires, but you can also just solder wires straight to the board if you
-prefer.</p>
+<p>You can see from the code that you are using the HAL interface to open a UART port, and using OS semaphore as a way of blocking the task when waiting for read response to come back from the sensor.</p>
+<p>Now comes the fun part: Hooking up the sensor! It’s fun because a) hooking up a sensor is always fun and b) the SenseAir sensor’s PCB is entirely unlabeled, so you’ll have to trust us on how to hook it up.</p>
+<p>You’ll have to do a little soldering. I soldered some header pins to the SenseAir K30 board to make connecting wires easier using standard jumper wires, but you can also just solder wires straight to the board if you prefer.</p>
 <p>Here’s what your SenseAir board should look like once it’s wired up:</p>
 <div class="figure" id="id1">
-<img alt="SenseAir Wiring" src="../../_images/Senseair1.png" />
+<img alt="SenseAir Wiring" src="../../_images/K30labeled.JPG" />
 <p class="caption"><span class="caption-text">SenseAir Wiring</span></p>
 </div>
-<p>Now that you have that wired up, let’s get the Arduino Primo wired up. A
-couple of things to note:</p>
-<ul class="simple">
-<li>The Arduino Primo’s ‘console’ UART is actually UART1.</li>
-<li>The secondary (bit-banged) UART is UART0, so that’s where we’ll have
-to hook up the SenseAir.</li>
-</ul>
-<p>Here’s what your Arduino Primo should now look like with everything
-wired in:</p>
+<p>Now that you have that wired up, let’s connect it to the nRF52DK board. Since we will be using the built-in UART, we can simply connect it to the pre-configured pins for TX (P.06) and RX (P.08). Here’s what your board should look like once everything is connected:</p>
 <div class="figure" id="id2">
-<img alt="SenseAir and Arduino Primo Wiring" src="../../_images/Senseair2.png" />
-<p class="caption"><span class="caption-text">SenseAir and Arduino Primo Wiring</span></p>
+<img alt="SenseAir and nRF52DK Wiring" src="../../_images/nrf52labeled.JPG" />
+<p class="caption"><span class="caption-text">SenseAir and nRF52DK Wiring</span></p>
 </div>
 <p>Everything is wired and you’re ready to go! Build and load your new app:</p>
 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> newt build air_q
@@ -1086,25 +930,43 @@ <h2>Use of HAL for drivers<a class="headerlink" href="#use-of-hal-for-drivers" t
 </pre></div>
 </div>
 <p>Now, you should be able to connect to your serial port and read values:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">user@IsMyLaptop:~]$</span> minicom -D /dev/tty.usbserial-AH02MIE2
-
-
-<span class="go">    Welcome to minicom 2.7</span>
-
-<span class="go">    OPTIONS:</span>
-<span class="go">    Compiled on Oct 12 2015, 07:48:30.</span>
-<span class="go">    Port /dev/tty.usbserial-AH02MIE2, 13:44:40</span>
-
-<span class="go">    Press CTRL-X Z for help on special keys</span>
-
-<span class="go">    1185: &gt; ?</span>
-<span class="go">    Commands:</span>
-<span class="go">    1382:     stat      echo         ?    prompt     ticks     tasks</span>
-<span class="go">    1390: mempools      date  senseair</span>
-<span class="go">    1395: &gt; senseair</span>
-<span class="go">    senseair co2</span>
-<span class="go">    2143: &gt; senseair co2</span>
-<span class="go">    Got 973</span>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">user@IsMyLaptop:~]$</span> telnet localhost <span class="m">19021</span>
+<span class="go">Trying 127.0.0.1...</span>
+<span class="go">Connected to localhost.</span>
+<span class="go">Escape character is &#39;^]&#39;.</span>
+<span class="go">SEGGER J-Link V6.30j - Real time terminal output</span>
+<span class="go">J-Link OB-SAM3U128-V2-NordicSemi compiled Jan 12 2018 16:05:20 V1.0, SN=682771074</span>
+<span class="go">Process: JLinkGDBServerCLExe</span>
+<span class="go">x03 0x03 0x11 0x18 0x0f 0x09 0x6e 0x69 0x6d 0x62 0x6c 0x65 0x2d 0x62 0x6c 0x65 0x70 0x72 0x70 0x68 0x02 0x0a 0x00 0x00         0x00 0x00 0x00 0x00</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8 ocf=0x8 status=0</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=1] GAP procedure initiated: advertise; disc_mode=2 adv_channel_map=0 own_addr_type=0         adv_filter_policy=0 adv_itvl_min=0 adv_itvl_max=0</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08 ocf=0x0006 len=15</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=0] 0x06 0x20 0x0f 0x30 0x00 0x60 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x07       0x00</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8 ocf=0x6 status=0</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08 ocf=0x000a len=1</span>
+<span class="go">000006 [ts=46872ssb, mod=4 level=0] 0x0a 0x20 0x01 0x01</span>
+<span class="go">000007 [ts=54684ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8 ocf=0xa status=0</span>
+<span class="go">000007 [ts=54684ssb, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x0 ocf=0x0</span>
+
+
+<span class="go">000895 compat&gt;</span>
+
+<span class="go">000998 compat&gt; help</span>
+<span class="go">help</span>
+<span class="go">001414 help</span>
+<span class="go">001414 tasks</span>
+<span class="go">001414 mpool</span>
+<span class="go">001414 date</span>
+<span class="go">001414 senseair</span>
+<span class="go">001414 compat&gt; senseair</span>
+<span class="go">senseair</span>
+<span class="go">001714 senseair co2</span>
+<span class="go">001714 compat&gt; senseair co2</span>
+<span class="go">senseair co2</span>
+<span class="go">002098 Got 0</span>
+<span class="go">002098 compat&gt; senseair co2</span>
+<span class="go">senseair co2</span>
+<span class="go">002719 Got 1168</span>
 </pre></div>
 </div>
 <p>And you’re getting valid readings! Congratulations!</p>
diff --git a/master/mkdocs/search_index.json b/master/mkdocs/search_index.json
index d723bb66d..1685c0757 100644
--- a/master/mkdocs/search_index.json
+++ b/master/mkdocs/search_index.json
@@ -1392,7 +1392,7 @@
         }, 
         {
             "location": "/os/tutorials/bleprph/bleprph-svc-reg/", 
-            "text": "BLE Peripheral Project\n\n\nService Registration\n\n\n\n\nAttribute Set\n\n\nThe NimBLE host uses a table-based design for GATT server configuration.  The\nset of supported attributes are expressed as a series of tables that resides in\nyour C code.  When possible, we recommend using a single monolithic table, as\nit results in code that is simpler and less error prone.  Multiple tables\ncan be used if it is impractical for the entire attribute set to live in one\nplace in your code.\n\n\nbleprph\n uses a single attribute table located in the \ngatt_svr.c\n file,\nso let's take a look at that now.  The attribute table is called\n\ngatt_svr_svcs\n; here are the first several lines from this table:\n\n\n\n\nstatic\n \nconst\n \nstruct\n \nble_gatt_svc_def\n \ngatt_svr_svcs\n[] \n=\n {\n    {\n        \n/*** Service: Security test. */\n\n        .\ntype\n \n=\n \nBLE_GATT_SVC_TYPE_PRIMARY\n,\n        .\nuuid\n \n=\n \ngatt_svr_svc_sec_test_uuid\n.\nu\n,\n        .\ncharacteristics\n \n=\n (\nstruct\n \nble_gatt_chr_def\n[]) { {\n            \n/*** Characteristic: Random number generator. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_rand_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n        }, {\n            \n/*** Characteristic: Static value. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_static_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n    \n// [...]\n\n\n\n\n\n\n\n\nAs you can see, the table is an array of service definitions (\n\nstruct ble_gatt_svc_def\n). Let's now consider the contents of this table in more\ndetail.\n\n\nA service definition consists of the following fields:\n\n\n\n\n\n\n\n\nField\n\n\nMeaning\n\n\nNotes\n\n\n\n\n\n\n\n\n\n\ntype\n\n\nSpecifies whether this is a primary or secondary service.\n\n\nSecondary services are not very common.  When in doubt, specify \nBLE_GATT_SVC_TYPE_PRIMARY\n for new services.\n\n\n\n\n\n\nuuid\n\n\nThe UUID of this characteristic.\n\n\nThis field accepts a pointer to a variable of type \nble_uuid_t\n. You could directly use the \nBLE_UUID16_DECLARE()\n macro or to pass a pointer to a \nble_uuid16_t\n variable you could type \nuuid_variable.u\n\n\n\n\n\n\ncharacteristics\n\n\nThe array of characteristics that belong to this service.\n\n\n\n\n\n\n\n\n\n\n\n\nA service is little more than a container of characteristics; the\ncharacteristics themselves are where the real action happens. A characteristic\ndefinition consists of the following fields:\n\n\n\n\n\n\n\n\nField\n\n\nMeaning\n\n\nNotes\n\n\n\n\n\n\n\n\n\n\nuuid\n\n\nThe UUID of this characteristic.\n\n\nThis field accepts a pointer to a variable of type \nble_uuid_t\n. You could directly use the \nBLE_UUID16_DECLARE()\n macro or to pass a pointer to a \nble_uuid16_t\n variable you could type \nuuid_variable.u\n\n\n\n\n\n\naccess_cb\n\n\nA callback function that gets executed whenever a peer device accesses this characteristic.\n\n\nFor reads:\n this function generates the value that gets sent back to the peer.\nFor writes:\n this function receives the written value as an argument.\n\n\n\n\n\n\nflags\n\n\nIndicates which operations are permitted for this characteristic.  The NimBLE stack responds negatively when a peer attempts an unsupported operation.\n\n\nThe full list of flags can be found under \nble_gatt_chr_flags\n in \nnet/nimble/host/include/host/ble_gatt.h\n.\n\n\n\n\n\n\n\n\nThe access callback is what implements the characteristic's behavior. Access\ncallbacks are described in detail in the next section:\n\nBLE Peripheral - Characteristic Access\n.\n\n\nThe service definition array and each characteristic definition array is\nterminated with an empty entry, represented with a 0. The below code listing\nshows the last service in the array, including terminating zeros for the\ncharacteristic array and service array.\n\n\n\n\n    {\n        \n/*** Service: Security test. */\n\n        .\ntype\n \n=\n \nBLE_GATT_SVC_TYPE_PRIMARY\n,\n        .\nuuid\n \n=\n \ngatt_svr_svc_sec_test_uuid\n.\nu\n,\n        .\ncharacteristics\n \n=\n (\nstruct\n \nble_gatt_chr_def\n[]) { {\n            \n/*** Characteristic: Random number generator. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_rand_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n        }, {\n            \n/*** Characteristic: Static value. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_static_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n        }, {\n\n            \n0\n, \n/* No more characteristics in this service. */\n\n\n        } },\n    },\n\n    {\n\n        \n0\n, \n/* No more services. */\n\n\n    },\n\n\n\n\n\n\n\nRegistration function\n\n\nAfter you have created your service table, your app needs to register it with the NimBLE stack.  This is done by calling the following function:\n\n\nint\n\n\nble_gatts_add_svcs\n(\nconst\n \nstruct\n \nble_gatt_svc_def\n \n*svcs\n)\n\n\n\n\n\nThe function parameters are documented below.\n\n\n\n\n\n\n\n\nParameter\n\n\nMeaning\n\n\nNotes\n\n\n\n\n\n\n\n\n\n\nsvcs\n\n\nAn array of service definitions to queue for registration. This array must be terminated with an entry whose 'type' equals 0.\n\n\n\n\n\n\n\n\n\n\nThe \nble_gatts_register_svcs()\n function returns 0 on success, or a\n\nBLE_HS_E[...]\n error code on failure.\n\n\nThe \nbleprph\n app registers its services as follows:\n\n\n    \nrc\n \n=\n \nble_gatts_add_svcs\n(\ngatt_svr_svcs\n);\n    \nif\n (\nrc\n \n!=\n \n0\n) {\n        \nreturn\n \nrc\n;\n    }\n\n\n\n\n\nMore detailed information about the registration function can be found\nin the BLE User Guide: \nble_gatts_add_svcs\n.\n\n\n\n\nRegistration callback function\n\n\nIt is possible to set a callback function that gets executed each time a service, characteristic, or descriptor is registered. This is done by setting the following attribute:\n\n\nble_hs_cfg\n.\ngatts_register_cb\n \n=\n \ngatt_svr_register_cb\n;\n\n\n\n\n\nIn the above example \ngatt_svr_register_cb\n is the function that will be called. This line can be found in \nbleprph\n's \nmain.c\n file\n\n\nMore detailed information about the registration callback function can be found\nin the \nBLE User Guide\n (TBD).\n\n\n\n\nDescriptors and Included Services\n\n\nYour peripheral can also expose descriptors and included services.  These are\nless common, so they are not covered in this tutorial.  For more information,\nsee the \nBLE User Guide\n.", 
+            "text": "BLE Peripheral Project\n\n\nService Registration\n\n\n\n\nAttribute Set\n\n\nThe NimBLE host uses a table-based design for GATT server configuration.  The\nset of supported attributes are expressed as a series of tables that resides in\nyour C code.  When possible, we recommend using a single monolithic table, as\nit results in code that is simpler and less error prone.  Multiple tables\ncan be used if it is impractical for the entire attribute set to live in one\nplace in your code.\n\n\nbleprph\n uses a single attribute table located in the \ngatt_svr.c\n file,\nso let's take a look at that now.  The attribute table is called\n\ngatt_svr_svcs\n; here are the first several lines from this table:\n\n\n\n\nstatic\n \nconst\n \nstruct\n \nble_gatt_svc_def\n \ngatt_svr_svcs\n[] \n=\n {\n    {\n        \n/*** Service: Security test. */\n\n        .\ntype\n \n=\n \nBLE_GATT_SVC_TYPE_PRIMARY\n,\n        .\nuuid\n \n=\n \ngatt_svr_svc_sec_test_uuid\n.\nu\n,\n        .\ncharacteristics\n \n=\n (\nstruct\n \nble_gatt_chr_def\n[]) { {\n            \n/*** Characteristic: Random number generator. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_rand_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n        }, {\n            \n/*** Characteristic: Static value. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_static_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n    \n// [...]\n\n\n\n\n\n\n\n\nAs you can see, the table is an array of service definitions (\n\nstruct ble_gatt_svc_def\n). Let's now consider the contents of this table in more\ndetail.\n\n\nA service definition consists of the following fields:\n\n\n\n\n\n\n\n\nField\n\n\nMeaning\n\n\nNotes\n\n\n\n\n\n\n\n\n\n\ntype\n\n\nSpecifies whether this is a primary or secondary service.\n\n\nSecondary services are not very common.  When in doubt, specify \nBLE_GATT_SVC_TYPE_PRIMARY\n for new services.\n\n\n\n\n\n\nuuid\n\n\nThe UUID of this characteristic.\n\n\nThis field accepts a pointer to a variable of type \nble_uuid_t\n. You could directly use the \nBLE_UUID16_DECLARE()\n macro or to pass a pointer to a \nble_uuid16_t\n variable you could type \nuuid_variable.u\n\n\n\n\n\n\ncharacteristics\n\n\nThe array of characteristics that belong to this service.\n\n\n\n\n\n\n\n\n\n\n\n\nA service is little more than a container of characteristics; the\ncharacteristics themselves are where the real action happens. A characteristic\ndefinition consists of the following fields:\n\n\n\n\n\n\n\n\nField\n\n\nMeaning\n\n\nNotes\n\n\n\n\n\n\n\n\n\n\nuuid\n\n\nThe UUID of this characteristic.\n\n\nThis field accepts a pointer to a variable of type \nble_uuid_t\n. You could directly use the \nBLE_UUID16_DECLARE()\n macro or to pass a pointer to a \nble_uuid16_t\n variable you could type \nuuid_variable.u\n\n\n\n\n\n\naccess_cb\n\n\nA callback function that gets executed whenever a peer device accesses this characteristic.\n\n\nFor reads:\n this function generates the value that gets sent back to the peer.\nFor writes:\n this function receives the written value as an argument.\n\n\n\n\n\n\nflags\n\n\nIndicates which operations are permitted for this characteristic.  The NimBLE stack responds negatively when a peer attempts an unsupported operation.\n\n\nThe full list of flags can be found under \nble_gatt_chr_flags\n in \nnimble/host/include/host/ble_gatt.h\n.\n\n\n\n\n\n\n\n\nThe access callback is what implements the characteristic's behavior. Access\ncallbacks are described in detail in the next section:\n\nBLE Peripheral - Characteristic Access\n.\n\n\nThe service definition array and each characteristic definition array is\nterminated with an empty entry, represented with a 0. The below code listing\nshows the last service in the array, including terminating zeros for the\ncharacteristic array and service array.\n\n\n\n\n    {\n        \n/*** Service: Security test. */\n\n        .\ntype\n \n=\n \nBLE_GATT_SVC_TYPE_PRIMARY\n,\n        .\nuuid\n \n=\n \ngatt_svr_svc_sec_test_uuid\n.\nu\n,\n        .\ncharacteristics\n \n=\n (\nstruct\n \nble_gatt_chr_def\n[]) { {\n            \n/*** Characteristic: Random number generator. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_rand_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n        }, {\n            \n/*** Characteristic: Static value. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_static_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n        }, {\n\n            \n0\n, \n/* No more characteristics in this service. */\n\n\n        } },\n    },\n\n    {\n\n        \n0\n, \n/* No more services. */\n\n\n    },\n\n\n\n\n\n\n\nRegistration function\n\n\nAfter you have created your service table, your app needs to register it with the NimBLE stack.  This is done by calling the following function:\n\n\nint\n\n\nble_gatts_add_svcs\n(\nconst\n \nstruct\n \nble_gatt_svc_def\n \n*svcs\n)\n\n\n\n\n\nThe function parameters are documented below.\n\n\n\n\n\n\n\n\nParameter\n\n\nMeaning\n\n\nNotes\n\n\n\n\n\n\n\n\n\n\nsvcs\n\n\nAn array of service definitions to queue for registration. This array must be terminated with an entry whose 'type' equals 0.\n\n\n\n\n\n\n\n\n\n\nThe \nble_gatts_register_svcs()\n function returns 0 on success, or a\n\nBLE_HS_E[...]\n error code on failure.\n\n\nThe \nbleprph\n app registers its services as follows:\n\n\n    \nrc\n \n=\n \nble_gatts_add_svcs\n(\ngatt_svr_svcs\n);\n    \nif\n (\nrc\n \n!=\n \n0\n) {\n        \nreturn\n \nrc\n;\n    }\n\n\n\n\n\nMore detailed information about the registration function can be found\nin the BLE User Guide: \nble_gatts_add_svcs\n.\n\n\n\n\nRegistration callback function\n\n\nIt is possible to set a callback function that gets executed each time a service, characteristic, or descriptor is registered. This is done by setting the following attribute:\n\n\nble_hs_cfg\n.\ngatts_register_cb\n \n=\n \ngatt_svr_register_cb\n;\n\n\n\n\n\nIn the above example \ngatt_svr_register_cb\n is the function that will be called. This line can be found in \nbleprph\n's \nmain.c\n file\n\n\nMore detailed information about the registration callback function can be found\nin the \nBLE User Guide\n (TBD).\n\n\n\n\nDescriptors and Included Services\n\n\nYour peripheral can also expose descriptors and included services.  These are\nless common, so they are not covered in this tutorial.  For more information,\nsee the \nBLE User Guide\n.", 
             "title": "Service Registration"
         }, 
         {
@@ -1407,7 +1407,7 @@
         }, 
         {
             "location": "/os/tutorials/bleprph/bleprph-svc-reg/#attribute-set", 
-            "text": "The NimBLE host uses a table-based design for GATT server configuration.  The\nset of supported attributes are expressed as a series of tables that resides in\nyour C code.  When possible, we recommend using a single monolithic table, as\nit results in code that is simpler and less error prone.  Multiple tables\ncan be used if it is impractical for the entire attribute set to live in one\nplace in your code.  bleprph  uses a single attribute table located in the  gatt_svr.c  file,\nso let's take a look at that now.  The attribute table is called gatt_svr_svcs ; here are the first several lines from this table:   static   const   struct   ble_gatt_svc_def   gatt_svr_svcs []  =  {\n    {\n         /*** Service: Security test. */ \n        . type   =   BLE_GATT_SVC_TYPE_PRIMARY ,\n        . uuid   =   gatt_svr_svc_sec_test_uuid . u ,\n        . characteristics   =  ( struct   ble_gatt_chr_def []) { {\n             /*** Characteristic: Random number generator. */ \n            . uuid   =   gatt_svr_chr_sec_test_rand_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n        }, {\n             /*** Characteristic: Static value. */ \n            . uuid   =   gatt_svr_chr_sec_test_static_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n     // [...]    As you can see, the table is an array of service definitions ( struct ble_gatt_svc_def ). Let's now consider the contents of this table in more\ndetail.  A service definition consists of the following fields:     Field  Meaning  Notes      type  Specifies whether this is a primary or secondary service.  Secondary services are not very common.  When in doubt, specify  BLE_GATT_SVC_TYPE_PRIMARY  for new services.    uuid  The UUID of this characteristic.  This field accepts a pointer to a variable of type  ble_uuid_t . You could directly use the  BLE_UUID16_DECLARE()  macro or to pass a pointer to a  ble_uuid16_t  variable you could type  uuid_variable.u    characteristics  The array of characteristics that belong to this service.       A service is little more than a container of characteristics; the\ncharacteristics themselves are where the real action happens. A characteristic\ndefinition consists of the following fields:     Field  Meaning  Notes      uuid  The UUID of this characteristic.  This field accepts a pointer to a variable of type  ble_uuid_t . You could directly use the  BLE_UUID16_DECLARE()  macro or to pass a pointer to a  ble_uuid16_t  variable you could type  uuid_variable.u    access_cb  A callback function that gets executed whenever a peer device accesses this characteristic.  For reads:  this function generates the value that gets sent back to the peer. For writes:  this function receives the written value as an argument.    flags  Indicates which operations are permitted for this characteristic.  The NimBLE stack responds negatively when a peer attempts an unsupported operation.  The full list of flags can be found under  ble_gatt_chr_flags  in  net/nimble/host/include/host/ble_gatt.h .     The access callback is what implements the characteristic's behavior. Access\ncallbacks are described in detail in the next section: BLE Peripheral - Characteristic Access .  The service definition array and each characteristic definition array is\nterminated with an empty entry, represented with a 0. The below code listing\nshows the last service in the array, including terminating zeros for the\ncharacteristic array and service array.       {\n         /*** Service: Security test. */ \n        . type   =   BLE_GATT_SVC_TYPE_PRIMARY ,\n        . uuid   =   gatt_svr_svc_sec_test_uuid . u ,\n        . characteristics   =  ( struct   ble_gatt_chr_def []) { {\n             /*** Characteristic: Random number generator. */ \n            . uuid   =   gatt_svr_chr_sec_test_rand_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n        }, {\n             /*** Characteristic: Static value. */ \n            . uuid   =   gatt_svr_chr_sec_test_static_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n        }, {              0 ,  /* No more characteristics in this service. */          } },\n    },\n\n    {          0 ,  /* No more services. */      },", 
+            "text": "The NimBLE host uses a table-based design for GATT server configuration.  The\nset of supported attributes are expressed as a series of tables that resides in\nyour C code.  When possible, we recommend using a single monolithic table, as\nit results in code that is simpler and less error prone.  Multiple tables\ncan be used if it is impractical for the entire attribute set to live in one\nplace in your code.  bleprph  uses a single attribute table located in the  gatt_svr.c  file,\nso let's take a look at that now.  The attribute table is called gatt_svr_svcs ; here are the first several lines from this table:   static   const   struct   ble_gatt_svc_def   gatt_svr_svcs []  =  {\n    {\n         /*** Service: Security test. */ \n        . type   =   BLE_GATT_SVC_TYPE_PRIMARY ,\n        . uuid   =   gatt_svr_svc_sec_test_uuid . u ,\n        . characteristics   =  ( struct   ble_gatt_chr_def []) { {\n             /*** Characteristic: Random number generator. */ \n            . uuid   =   gatt_svr_chr_sec_test_rand_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n        }, {\n             /*** Characteristic: Static value. */ \n            . uuid   =   gatt_svr_chr_sec_test_static_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n     // [...]    As you can see, the table is an array of service definitions ( struct ble_gatt_svc_def ). Let's now consider the contents of this table in more\ndetail.  A service definition consists of the following fields:     Field  Meaning  Notes      type  Specifies whether this is a primary or secondary service.  Secondary services are not very common.  When in doubt, specify  BLE_GATT_SVC_TYPE_PRIMARY  for new services.    uuid  The UUID of this characteristic.  This field accepts a pointer to a variable of type  ble_uuid_t . You could directly use the  BLE_UUID16_DECLARE()  macro or to pass a pointer to a  ble_uuid16_t  variable you could type  uuid_variable.u    characteristics  The array of characteristics that belong to this service.       A service is little more than a container of characteristics; the\ncharacteristics themselves are where the real action happens. A characteristic\ndefinition consists of the following fields:     Field  Meaning  Notes      uuid  The UUID of this characteristic.  This field accepts a pointer to a variable of type  ble_uuid_t . You could directly use the  BLE_UUID16_DECLARE()  macro or to pass a pointer to a  ble_uuid16_t  variable you could type  uuid_variable.u    access_cb  A callback function that gets executed whenever a peer device accesses this characteristic.  For reads:  this function generates the value that gets sent back to the peer. For writes:  this function receives the written value as an argument.    flags  Indicates which operations are permitted for this characteristic.  The NimBLE stack responds negatively when a peer attempts an unsupported operation.  The full list of flags can be found under  ble_gatt_chr_flags  in  nimble/host/include/host/ble_gatt.h .     The access callback is what implements the characteristic's behavior. Access\ncallbacks are described in detail in the next section: BLE Peripheral - Characteristic Access .  The service definition array and each characteristic definition array is\nterminated with an empty entry, represented with a 0. The below code listing\nshows the last service in the array, including terminating zeros for the\ncharacteristic array and service array.       {\n         /*** Service: Security test. */ \n        . type   =   BLE_GATT_SVC_TYPE_PRIMARY ,\n        . uuid   =   gatt_svr_svc_sec_test_uuid . u ,\n        . characteristics   =  ( struct   ble_gatt_chr_def []) { {\n             /*** Characteristic: Random number generator. */ \n            . uuid   =   gatt_svr_chr_sec_test_rand_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n        }, {\n             /*** Characteristic: Static value. */ \n            . uuid   =   gatt_svr_chr_sec_test_static_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n        }, {              0 ,  /* No more characteristics in this service. */          } },\n    },\n\n    {          0 ,  /* No more services. */      },", 
             "title": "Attribute Set"
         }, 
         {
@@ -4687,7 +4687,7 @@
         }, 
         {
             "location": "/os/core_os/mbuf/mbuf/", 
-            "text": "Mbufs\n\n\nThe mbuf (short for memory buffer) is a common concept in networking stacks. The mbuf is used to hold packet data as it traverses the stack. The mbuf also generally stores header information or other networking stack information that is carried around with the packet. The mbuf and its associated library of functions were developed to make common networking stack operations (like stripping and adding protocol headers) efficient and as copy-free as possible.\n\n\nIn its simplest form, an mbuf is a memory block with some space reserved for internal information and a pointer which is used to \"chain\" memory blocks together in order to create a \"packet\". This is a very important aspect of the mbuf: the ability to chain mbufs together to create larger \"packets\" (chains of mbufs).\n\n\nWhy use mbufs?\n\n\nThe main reason is to conserve memory. Consider a networking protocol that generally sends small packets but occasionally sends large ones. The Bluetooth Low Energy (BLE) protocol is one such example. A flat buffer would need to be sized so that the maximum packet size could be contained by the buffer. With the mbuf, a number of mbufs can be chained together so that the occasional large packet can be handled while leaving more packet buffers available to the networking stack for smaller packets.\n\n\nPacket Header mbuf\n\n\nNot all mbufs are created equal. The first mbuf in a chain of mbufs is a special mbuf called a \"packet header mbuf\". The reason that this mbuf is special is that it contains the length of all the data contained by the chain of mbufs (the packet length, in other words). The packet header mbuf may also contain a user defined structure (called a \"user header\") so that networking protocol specific information can be conveyed to various layers of the networking stack. Any mbufs that are part of the packet (i.e. in the mbuf chain but not the first one) are \"normal\" (i.e. non-packet header) mbufs. A normal mbuf does not have any packet header or user packet header structures in them; they only contain the basic mbuf header (\nstruct os_mbuf\n). Figure 1 illustrates these two types of mbufs. Note that the numbers/text in parentheses denote the size of the structures/elements (in bytes) and that MBLEN is the memory block length of the memory pool used by the mbuf pool.\n\n\n\n\nNormal mbuf\n\n\nNow let's take a deeper dive into the mbuf structure. Figure 2 illustrates a normal mbuf and breaks out the various fields in the \nos_mbuf\n structure. \n\n\n\n\nThe \nom_data\n field is a pointer to where the data starts inside the data buffer. Typically, mbufs that are allocated from the mbuf pool (discussed later) have their om_data pointer set to the start of the data buffer but there are cases where this may not be desirable (added a protocol header to a packet, for example). \n\n\nThe \nom_flags\n field is a set of flags used internally by the mbuf library. Currently, no flags have been defined. \n\n\nThe \nom_pkthdr_len\n field is the total length of all packet headers in the mbuf. For normal mbufs this is set to 0 as there is no packet or user packet headers. For packet header mbufs, this would be set to the length of the packet header structure (16) plus the size of the user packet header (if any). Note that it is this field which differentiates packet header mbufs from normal mbufs (i.e. if \nom_pkthdr_len\n is zero, this is a normal mbuf; otherwise it is a packet header mbuf). \n\n\nThe \nom_len\n field contains the amount of user data in the data buffer. When initially allocated, this field is 0 as there is no user data in the mbuf. \n\n\nThe \nomp_pool\n field is a pointer to the pool from which this mbuf has been allocated. This is used internally by the mbuf library. \n\n\nThe \nomp_next\n field is a linked list element which is used to chain mbufs.\n\n\n\n\nFigure 2 also shows a normal mbuf with actual values in the \nos_mbuf\n structure. This mbuf starts at address 0x1000 and is 256 bytes in total length. In this example, the user has copied 33 bytes into the data buffer starting at address 0x1010 (this is where om_data points). Note that the packet header length in this mbuf is 0 as it is not a packet header mbuf.\n\n\n\n\nFigure 3 illustrates the packet header mbuf along with some chained mbufs (i.e a \"packet\"). In this example, the user header structure is defined to be 8 bytes. Note that in figure 3 we show a number of different mbufs with varying \nom_data\n pointers and lengths since we want to show various examples of valid mbufs. For all the mbufs (both packet header and normal ones) the total length of the memory block is 128 bytes.\n\n\n\n\nMbuf pools\n\n\nMbufs are collected into \"mbuf pools\" much like memory blocks. The mbuf pool itself contains a pointer to a memory pool. The memory blocks in this memory pool are the actual mbufs; both normal and packet header mbufs. Thus, the memory block (and corresponding memory pool) must be sized correctly. In other words, the memory blocks which make up the memory pool used by the mbuf pool must be at least: sizeof(struct os_mbuf) + sizeof(struct os_mbuf_pkthdr) + sizeof(struct user_defined_header) + desired minimum data buffer length. For example, if the developer wants mbufs to contain at least 64 bytes of user data and they have a user header of 12 bytes, the size of the memory block would be (at least): 64 + 12 + 16 + 8, or 100 bytes. Yes, this is a fair amount of overhead. However, the flexibility provided by the mbuf library usually outweighs overhead concerns.\n\n\nCreate mbuf pool\n\n\nCreating an mbuf pool is fairly simple: create a memory pool and then create the mbuf pool using that memory pool. Once the developer has determined the size of the user data needed per mbuf (this is based on the application/networking stack and is outside the scope of this discussion) and the size of the user header (if any), the memory blocks can be sized. In the example shown below, the application requires 64 bytes of user data per mbuf and also allocates a user header (called struct user_hdr). Note that we do not show the user header data structure as there really is no need; all we need to do is to account for it when creating the memory pool. In the example, we use the macro \nMBUF_PKTHDR_OVERHEAD\n to denote the amount of packet header overhead per mbuf and \nMBUF_MEMBLOCK_OVERHEAD\n to denote the total amount of overhead required per memory block. The macro \nMBUF_BUF_SIZE\n is used to denote the amount of payload that the application requires (aligned on a 32-bit boundary in this case). All this leads to the total memory block size required, denoted by the macro \nMBUF_MEMBLOCK_OVERHEAD\n.\n\n\n#define MBUF_PKTHDR_OVERHEAD    sizeof(struct os_mbuf_pkthdr) + sizeof(struct user_hdr)\n\n\n#define MBUF_MEMBLOCK_OVERHEAD  sizeof(struct os_mbuf) + MBUF_PKTHDR_OVERHEAD\n\n\n\n#define MBUF_NUM_MBUFS      (32)\n\n\n#define MBUF_PAYLOAD_SIZE   (64)\n\n\n#define MBUF_BUF_SIZE       OS_ALIGN(MBUF_PAYLOAD_SIZE, 4)\n\n\n#define MBUF_MEMBLOCK_SIZE  (MBUF_BUF_SIZE + MBUF_MEMBLOCK_OVERHEAD)\n\n\n#define MBUF_MEMPOOL_SIZE   OS_MEMPOOL_SIZE(MBUF_NUM_MBUFS, MBUF_MEMBLOCK_SIZE)\n\n\n\nstruct\n \nos_mbuf_pool\n \ng_mbuf_pool\n; \n\nstruct\n \nos_mempool\n \ng_mbuf_mempool\n;\n\nos_membuf_t\n \ng_mbuf_buffer\n[\nMBUF_MEMPOOL_SIZE\n];\n\n\nvoid\n\n\ncreate_mbuf_pool\n(\nvoid\n)\n{\n    \nint\n \nrc\n;\n\n    \nrc\n \n=\n \nos_mempool_init\n(\ng_mbuf_mempool\n, \nMBUF_NUM_MBUFS\n, \n                          \nMBUF_MEMBLOCK_SIZE\n, \ng_mbuf_buffer\n[\n0\n], \nmbuf_pool\n);\n    \nassert\n(\nrc\n \n==\n \n0\n);\n\n    \nrc\n \n=\n \nos_mbuf_pool_init\n(\ng_mbuf_pool\n, \ng_mbuf_mempool\n, \nMBUF_MEMBLOCK_SIZE\n, \n                           \nMBUF_NUM_MBUFS\n);\n    \nassert\n(\nrc\n \n==\n \n0\n);\n}\n\n\n\n\n\nUsing mbufs\n\n\nThe following examples illustrate typical mbuf usage. There are two basic mbuf allocation API: \nos_mbuf_get()\n and \nos_mbuf_get_pkthdr()\n. The first API obtains a normal mbuf whereas the latter obtains a packet header mbuf. Typically, application developers use \nos_mbuf_get_pkthdr()\n and rarely, if ever, need to call \nos_mbuf_get()\n as the rest of the mbuf API (e.g. \nos_mbuf_append()\n, \nos_mbuf_copyinto()\n, etc.) typically deal with allocating and chaining mbufs. It is recommended to use the provided API to copy data into/out of mbuf chains and/or manipulate mbufs.\n\n\nIn \nexample1\n, the developer creates a packet and then sends the packet to a networking interface. The code sample also provides an example of copying data out of an mbuf as well as use of the \"pullup\" api (another very common mbuf api).\n\n\nvoid\n\n\nmbuf_usage_example1\n(\nuint8_t\n \n*mydata\n, \nint\n \nmydata_length\n)\n{\n    \nint\n \nrc\n;\n    \nstruct\n \nos_mbuf\n \n*om\n;\n\n    \n/* get a packet header mbuf */\n\n    \nom\n \n=\n \nos_mbuf_get_pkthdr\n(\ng_mbuf_pool\n, \nsizeof\n(\nstruct\n \nuser_hdr\n));\n    \nif\n (\nom\n) {\n        \n/* \n\n\n         * Copy user data into mbuf. NOTE: if mydata_length is greater than the\n\n\n         * mbuf payload size (64 bytes using above example), mbufs are allocated\n\n\n         * and chained together to accommodate the total packet length.\n\n\n         */\n\n        \nrc\n \n=\n \nos_mbuf_copyinto\n(\nom\n, \n0\n, \nmydata\n, \nlen\n);\n        \nif\n (\nrc\n) {\n            \n/* Error! Could not allocate enough mbufs for total packet length */\n\n            \nreturn\n \n-\n1\n;\n        }\n\n        \n/* Send packet to networking interface */\n\n        \nsend_pkt\n(\nom\n);\n    }\n}\n\n\n\n\n\nIn \nexample2\n we show use of the pullup api as this illustrates some of the typical pitfalls developers encounter when using mbufs. The first pitfall is one of alignment/padding. Depending on the processor and/or compiler, the sizeof() a structure may vary. Thus, the size of \nmy_protocol_header\n may be different inside the packet data of the mbuf than the size of the structure on the stack or as a global variable, for instance. While some networking protcols may align protocol information on convenient processor boundaries many others try to conserve bytes \"on the air\" (i.e inside the packet data). Typical methods used to deal with this are \"packing\" the structure (i.e. force compiler to not pad) or creating protocol headers that do not require padding. \nexample2\n assumes that one of these methods was used when defining the \nmy_protocol_header\n structure.\n\n\nAnother common pitfall occurs around endianness. A network protocol may be little endian or big endian; it all depends on the protocol specification. Processors also have an endianness; this means that the developer has to be careful that the processor endianness and the protocol endianness are handled correctly. In \nexample2\n, some common networking functions are used: \nntohs()\n and \nntohl()\n. These are shorthand for \"network order to host order, short\" and \"network order to host order, long\". Basically, these functions convert data of a certain size (i.e. 16 bits, 32 bits, etc) to the endianness of the host. Network byte order is big-endian (most significant byte first), so these functions convert big-endian byte order to host order (thus, the implementation of these functions is host dependent). Note that the BLE networking stack \"on the air\" format is least signigicant byte first (i.e. little endian), so a \"bletoh\" function would have to take little endian format and convert to host format.\n\n\nA long story short: the developer must take care when copying structure data to/from mbufs and flat buffers!\n\n\nA final note: these examples assume the same mbuf struture and definitions used in the first example. \n\n\nvoid\n\n\nmbuf_usage_example2\n(\nstruct\n \nmbuf\n \n*rxpkt\n)\n{\n    \nint\n \nrc\n;\n    \nuint8_t\n \npacket_data\n[\n16\n];\n    \nstruct\n \nmbuf\n \n*om\n;\n    \nstruct\n \nmy_protocol_header\n \n*phdr\n;\n\n    \n/* Make sure that \nmy_protocol_header\n bytes are contiguous in mbuf */\n\n    \nom\n \n=\n \nos_mbuf_pullup\n(\ng_mbuf_pool\n, \nsizeof\n(\nstruct\n \nmy_protocol_header\n));\n    \nif\n (\n!om\n) {\n        \n/* Not able to pull up data into contiguous area */\n\n        \nreturn\n \n-\n1\n;\n    }\n\n    \n/* \n\n\n     * Get the protocol information from the packet. In this example we presume that we\n\n\n     * are interested in protocol types that are equal to MY_PROTOCOL_TYPE, are not zero\n\n\n     * length, and have had some time in flight.\n\n\n     */\n\n    \nphdr\n \n=\n \nOS_MBUF_DATA\n(\nom\n, \nstruct\n \nmy_protocol_header\n \n*\n);\n    \ntype\n \n=\n \nntohs\n(\nphdr-\nprot_type\n);\n    \nlength\n \n=\n \nntohs\n(\nphdr-\nprot_length\n);\n    \ntime_in_flight\n \n=\n \nntohl\n(\nphdr-\nprot_tif\n);\n\n    \nif\n ((\ntype\n \n==\n \nMY_PROTOCOL_TYPE\n) \n (\nlength\n \n \n0\n) \n (\ntime_in_flight\n \n \n0\n)) {\n        \nrc\n \n=\n \nos_mbuf_copydata\n(\nrxpkt\n, \nsizeof\n(\nstruct\n \nmy_protocol_header\n), \n16\n, \npacket_data\n);\n        \nif\n (\n!rc\n) {\n            \n/* Success! Perform operations on packet data */\n\n            \n... \nuser\n \ncode\n \nhere\n ...\n\n        }\n    }\n\n    \n/* Free passed in packet (mbuf chain) since we don\nt need it anymore */\n\n    \nos_mbuf_free_chain\n(\nom\n);\n}\n\n\n\n\n\n\n\nData Structures\n\n\nstruct\n \nos_mbuf_pool\n {\n    \nuint16_t\n \nomp_databuf_len\n;\n    \nuint16_t\n \nomp_mbuf_count\n;\n    \nstruct\n \nos_mempool\n \n*omp_pool\n;\n    \nSTAILQ_ENTRY\n(\nos_mbuf_pool\n) \nomp_next\n;\n};\n\n\n\n\n\n\n\n\n\n\n\nElement\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nomp_databuf_len\n\n\nThe length, in bytes, of the \"data buffer\" of the mbuf. The data buffer of the mbuf is everything except the os_mbuf structure (which is present in all types of mbufs)\n\n\n\n\n\n\nomp_mbuf_count\n\n\nTotal number of mbufs in the pool when allocated. This is NOT the number of free mbufs in the pool!\n\n\n\n\n\n\nomp_pool\n\n\nThe memory pool from which the mbufs are allocated\n\n\n\n\n\n\nomp_next\n\n\nThis is a linked list pointer which chains memory pools. It is used by the system memory pool library\n\n\n\n\n\n\n\n\n\n\nstruct\n \nos_mbuf_pkthdr\n {\n    \nuint16_t\n \nomp_len\n;\n    \nuint16_t\n \nomp_flags\n;\n    \nSTAILQ_ENTRY\n(\nos_mbuf_pkthdr\n) \nomp_next\n;\n};\n\n\n\n\n\n\n\n\n\n\n\nElement\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nomp_len\n\n\nLength, in bytes, of the \"packet\". This is the sum of the user data in all the mbufs chained to the packet header mbuf (including the packet header mbuf)\n\n\n\n\n\n\nomp_flags\n\n\nPacket header flags.\n\n\n\n\n\n\nomp_next\n\n\nLinked list pointer to chain \"packets\". This can be used to add mbuf chains to a queue or linked list and is there for convenience.\n\n\n\n\n\n\n\n\n\n\nstruct\n \nos_mbuf\n {\n    \nuint8_t\n \n*om_data\n;\n    \nuint8_t\n \nom_flags\n;\n    \nuint8_t\n \nom_pkthdr_len\n;\n    \nuint16_t\n \nom_len\n;\n    \nstruct\n \nos_mbuf_pool\n \n*om_omp\n;\n    \nSLIST_ENTRY\n(\nos_mbuf\n) \nom_next\n;\n    \nuint8_t\n \nom_databuf\n[\n0\n];\n};\n\n\n\n\n\n\n\n\n\n\n\nElement\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nom_data\n\n\nPointer to start of user data in mbuf data buffer\n\n\n\n\n\n\nom_flags\n\n\nmbuf flags field. Currently all flags unused.\n\n\n\n\n\n\nom_pkthdr_len\n\n\nThe total length of all packet headers in the mbuf (mbuf packet header plus user packet header), in bytes\n\n\n\n\n\n\nom_len\n\n\nThe length of the user data contained in this mbuf, in bytes\n\n\n\n\n\n\nom_omp\n\n\nMemory pool pointer. This is the mbuf pool from which this mbuf was allocated.\n\n\n\n\n\n\nom_next\n\n\nPointer to next mbuf in packet chain\n\n\n\n\n\n\nom_databuf\n\n\nmbuf data buffer (accessor to start of mbuf data buffer). Note that the mbuf data buffer refers to the start of either the user data in normal mbufs or the start of the os mbuf packet header for packet header mbufs\n\n\n\n\n\n\n\n\nList of Functions/Macros\n\n\nThe functions/macros available in mbuf are:\n\n\n\n\n\n\n\n\nFunction/Macro\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nOS_MBUF_PKTHDR\n\n\nGet a pointer to the os mbuf packet header of an mbuf.\n\n\n\n\n\n\nOS_MBUF_PKTHDR_TO_MBUF\n\n\nGet a pointer to the mbuf given a pointer to the os mbuf packet header.\n\n\n\n\n\n\nOS_MBUF_PKTLEN\n\n\nGet the length of an entire mbuf chain.\n\n\n\n\n\n\nOS_MBUF_DATA\n\n\nCast the data pointer of an mbuf to a given type.\n\n\n\n\n\n\nOS_MBUF_USRHDR\n\n\nGet a pointer to the user packet header of an mbuf.\n\n\n\n\n\n\nOS_MBUF_USRHDR_LEN\n\n\nRetrieve the length of the user packet header in an mbuf.\n\n\n\n\n\n\nOS_MBUF_LEADINGSPACE\n\n\nGet the amount of leading space in an mbuf (in bytes).\n\n\n\n\n\n\nOS_MBUF_TRAILINGSPACE\n\n\nGet the amount of trailing space in an mbuf (in bytes).\n\n\n\n\n\n\nos_mbuf_adj\n\n\nTrims the given number of bytes from either the head (if positive) or tail (if negative) of an mbuf chain.\n\n\n\n\n\n\nos_mbuf_append\n\n\nAppends a data buffer of the given length to the end of an mbuf chain.\n\n\n\n\n\n\nos_mbuf_concat\n\n\nAttaches a second mbuf chain onto the end of the first.\n\n\n\n\n\n\nos_mbuf_copydata\n\n\nCopy data from an mbuf chain.\n\n\n\n\n\n\nos_mbuf_copyinto\n\n\nCopies the contents of a flat buffer into an mbuf chain.\n\n\n\n\n\n\nos_mbuf_dup\n\n\nDuplicate a chain of mbufs.\n\n\n\n\n\n\nos_mbuf_extend\n\n\nIncreases the length of an mbuf chain by the specified amount.\n\n\n\n\n\n\nos_mbuf_free_chain\n\n\nFrees a chain of mbufs.\n\n\n\n\n\n\nos_mbuf_get\n\n\nGet an mbuf from the mbuf pool.\n\n\n\n\n\n\nos_mbuf_get_pkthdr\n\n\nAllocates a packet header mbuf from the given mbuf pool. Adds a user header to the packet header mbuf.\n\n\n\n\n\n\nos_mbuf_memcmp\n\n\nPerforms a memory compare of the specified region of an mbuf chain against a flat buffer.\n\n\n\n\n\n\nos_mbuf_off\n\n\nGiven an offset in the packet, return the mbuf and the offset in that mbuf where byte 'off' is located.\n\n\n\n\n\n\nos_mbuf_pool_init\n\n\nnitialize an mbuf pool.\n\n\n\n\n\n\nos_mbuf_prepend\n\n\nIncreases the length of an mbuf chain by adding data to the front.\n\n\n\n\n\n\nos_mbuf_pullup\n\n\nRearrange an mbuf chain so that the given length of bytes are contiguous and in the data area of an mbuf.", 
+            "text": "Mbufs\n\n\nThe mbuf (short for memory buffer) is a common concept in networking stacks. The mbuf is used to hold packet data as it traverses the stack. The mbuf also generally stores header information or other networking stack information that is carried around with the packet. The mbuf and its associated library of functions were developed to make common networking stack operations (like stripping and adding protocol headers) efficient and as copy-free as possible.\n\n\nIn its simplest form, an mbuf is a memory block with some space reserved for internal information and a pointer which is used to \"chain\" memory blocks together in order to create a \"packet\". This is a very important aspect of the mbuf: the ability to chain mbufs together to create larger \"packets\" (chains of mbufs).\n\n\nWhy use mbufs?\n\n\nThe main reason is to conserve memory. Consider a networking protocol that generally sends small packets but occasionally sends large ones. The Bluetooth Low Energy (BLE) protocol is one such example. A flat buffer would need to be sized so that the maximum packet size could be contained by the buffer. With the mbuf, a number of mbufs can be chained together so that the occasional large packet can be handled while leaving more packet buffers available to the networking stack for smaller packets.\n\n\nPacket Header mbuf\n\n\nNot all mbufs are created equal. The first mbuf in a chain of mbufs is a special mbuf called a \"packet header mbuf\". The reason that this mbuf is special is that it contains the length of all the data contained by the chain of mbufs (the packet length, in other words). The packet header mbuf may also contain a user defined structure (called a \"user header\") so that networking protocol specific information can be conveyed to various layers of the networking stack. Any mbufs that are part of the packet (i.e. in the mbuf chain but not the first one) are \"normal\" (i.e. non-packet header) mbufs. A normal mbuf does not have any packet header or user packet header structures in them; they only contain the basic mbuf header (\nstruct os_mbuf\n). Figure 1 illustrates these two types of mbufs. Note that the numbers/text in parentheses denote the size of the structures/elements (in bytes) and that MBLEN is the memory block length of the memory pool used by the mbuf pool.\n\n\n\n\nNormal mbuf\n\n\nNow let's take a deeper dive into the mbuf structure. Figure 2 illustrates a normal mbuf and breaks out the various fields in the \nos_mbuf\n structure. \n\n\n\n\nThe \nom_data\n field is a pointer to where the data starts inside the data buffer. Typically, mbufs that are allocated from the mbuf pool (discussed later) have their om_data pointer set to the start of the data buffer but there are cases where this may not be desirable (added a protocol header to a packet, for example). \n\n\nThe \nom_flags\n field is a set of flags used internally by the mbuf library. Currently, no flags have been defined. \n\n\nThe \nom_pkthdr_len\n field is the total length of all packet headers in the mbuf. For normal mbufs this is set to 0 as there is no packet or user packet headers. For packet header mbufs, this would be set to the length of the packet header structure (16) plus the size of the user packet header (if any). Note that it is this field which differentiates packet header mbufs from normal mbufs (i.e. if \nom_pkthdr_len\n is zero, this is a normal mbuf; otherwise it is a packet header mbuf). \n\n\nThe \nom_len\n field contains the amount of user data in the data buffer. When initially allocated, this field is 0 as there is no user data in the mbuf. \n\n\nThe \nomp_pool\n field is a pointer to the pool from which this mbuf has been allocated. This is used internally by the mbuf library. \n\n\nThe \nomp_next\n field is a linked list element which is used to chain mbufs.\n\n\n\n\nFigure 2 also shows a normal mbuf with actual values in the \nos_mbuf\n structure. This mbuf starts at address 0x1000 and is 256 bytes in total length. In this example, the user has copied 33 bytes into the data buffer starting at address 0x1010 (this is where om_data points). Note that the packet header length in this mbuf is 0 as it is not a packet header mbuf.\n\n\n\n\nFigure 3 illustrates the packet header mbuf along with some chained mbufs (i.e a \"packet\"). In this example, the user header structure is defined to be 8 bytes. Note that in figure 3 we show a number of different mbufs with varying \nom_data\n pointers and lengths since we want to show various examples of valid mbufs. For all the mbufs (both packet header and normal ones) the total length of the memory block is 128 bytes.\n\n\n\n\nMbuf pools\n\n\nMbufs are collected into \"mbuf pools\" much like memory blocks. The mbuf pool itself contains a pointer to a memory pool. The memory blocks in this memory pool are the actual mbufs; both normal and packet header mbufs. Thus, the memory block (and corresponding memory pool) must be sized correctly. In other words, the memory blocks which make up the memory pool used by the mbuf pool must be at least: sizeof(struct os_mbuf) + sizeof(struct os_mbuf_pkthdr) + sizeof(struct user_defined_header) + desired minimum data buffer length. For example, if the developer wants mbufs to contain at least 64 bytes of user data and they have a user header of 12 bytes, the size of the memory block would be (at least): 64 + 12 + 16 + 8, or 100 bytes. Yes, this is a fair amount of overhead. However, the flexibility provided by the mbuf library usually outweighs overhead concerns.\n\n\nCreate mbuf pool\n\n\nCreating an mbuf pool is fairly simple: create a memory pool and then create the mbuf pool using that memory pool. Once the developer has determined the size of the user data needed per mbuf (this is based on the application/networking stack and is outside the scope of this discussion) and the size of the user header (if any), the memory blocks can be sized. In the example shown below, the application requires 64 bytes of user data per mbuf and also allocates a user header (called struct user_hdr). Note that we do not show the user header data structure as there really is no need; all we need to do is to account for it when creating the memory pool. In the example, we use the macro \nMBUF_PKTHDR_OVERHEAD\n to denote the amount of packet header overhead per mbuf and \nMBUF_MEMBLOCK_OVERHEAD\n to denote the total amount of overhead required per memory block. The macro \nMBUF_BUF_SIZE\n is used to denote the amount of payload that the application requires (aligned on a 32-bit boundary in this case). All this leads to the total memory block size required, denoted by the macro \nMBUF_MEMBLOCK_OVERHEAD\n.\n\n\n#define MBUF_PKTHDR_OVERHEAD    sizeof(struct os_mbuf_pkthdr) + sizeof(struct user_hdr)\n\n\n#define MBUF_MEMBLOCK_OVERHEAD  sizeof(struct os_mbuf) + MBUF_PKTHDR_OVERHEAD\n\n\n\n#define MBUF_NUM_MBUFS      (32)\n\n\n#define MBUF_PAYLOAD_SIZE   (64)\n\n\n#define MBUF_BUF_SIZE       OS_ALIGN(MBUF_PAYLOAD_SIZE, 4)\n\n\n#define MBUF_MEMBLOCK_SIZE  (MBUF_BUF_SIZE + MBUF_MEMBLOCK_OVERHEAD)\n\n\n#define MBUF_MEMPOOL_SIZE   OS_MEMPOOL_SIZE(MBUF_NUM_MBUFS, MBUF_MEMBLOCK_SIZE)\n\n\n\nstruct\n \nos_mbuf_pool\n \ng_mbuf_pool\n; \n\nstruct\n \nos_mempool\n \ng_mbuf_mempool\n;\n\nos_membuf_t\n \ng_mbuf_buffer\n[\nMBUF_MEMPOOL_SIZE\n];\n\n\nvoid\n\n\ncreate_mbuf_pool\n(\nvoid\n)\n{\n    \nint\n \nrc\n;\n\n    \nrc\n \n=\n \nos_mempool_init\n(\ng_mbuf_mempool\n, \nMBUF_NUM_MBUFS\n, \n                          \nMBUF_MEMBLOCK_SIZE\n, \ng_mbuf_buffer\n[\n0\n], \nmbuf_pool\n);\n    \nassert\n(\nrc\n \n==\n \n0\n);\n\n    \nrc\n \n=\n \nos_mbuf_pool_init\n(\ng_mbuf_pool\n, \ng_mbuf_mempool\n, \nMBUF_MEMBLOCK_SIZE\n, \n                           \nMBUF_NUM_MBUFS\n);\n    \nassert\n(\nrc\n \n==\n \n0\n);\n}\n\n\n\n\n\nUsing mbufs\n\n\nThe following examples illustrate typical mbuf usage. There are two basic mbuf allocation API: \nos_mbuf_get()\n and \nos_mbuf_get_pkthdr()\n. The first API obtains a normal mbuf whereas the latter obtains a packet header mbuf. Typically, application developers use \nos_mbuf_get_pkthdr()\n and rarely, if ever, need to call \nos_mbuf_get()\n as the rest of the mbuf API (e.g. \nos_mbuf_append()\n, \nos_mbuf_copyinto()\n, etc.) typically deal with allocating and chaining mbufs. It is recommended to use the provided API to copy data into/out of mbuf chains and/or manipulate mbufs.\n\n\nIn \nexample1\n, the developer creates a packet and then sends the packet to a networking interface. The code sample also provides an example of copying data out of an mbuf as well as use of the \"pullup\" api (another very common mbuf api).\n\n\nvoid\n\n\nmbuf_usage_example1\n(\nuint8_t\n \n*mydata\n, \nint\n \nmydata_length\n)\n{\n    \nint\n \nrc\n;\n    \nstruct\n \nos_mbuf\n \n*om\n;\n\n    \n/* get a packet header mbuf */\n\n    \nom\n \n=\n \nos_mbuf_get_pkthdr\n(\ng_mbuf_pool\n, \nsizeof\n(\nstruct\n \nuser_hdr\n));\n    \nif\n (\nom\n) {\n        \n/* \n\n\n         * Copy user data into mbuf. NOTE: if mydata_length is greater than the\n\n\n         * mbuf payload size (64 bytes using above example), mbufs are allocated\n\n\n         * and chained together to accommodate the total packet length.\n\n\n         */\n\n        \nrc\n \n=\n \nos_mbuf_copyinto\n(\nom\n, \n0\n, \nmydata\n, \nmydata_length\n);\n        \nif\n (\nrc\n) {\n            \n/* Error! Could not allocate enough mbufs for total packet length */\n\n            \nreturn\n \n-\n1\n;\n        }\n\n        \n/* Send packet to networking interface */\n\n        \nsend_pkt\n(\nom\n);\n    }\n}\n\n\n\n\n\nIn \nexample2\n we show use of the pullup api as this illustrates some of the typical pitfalls developers encounter when using mbufs. The first pitfall is one of alignment/padding. Depending on the processor and/or compiler, the sizeof() a structure may vary. Thus, the size of \nmy_protocol_header\n may be different inside the packet data of the mbuf than the size of the structure on the stack or as a global variable, for instance. While some networking protcols may align protocol information on convenient processor boundaries many others try to conserve bytes \"on the air\" (i.e inside the packet data). Typical methods used to deal with this are \"packing\" the structure (i.e. force compiler to not pad) or creating protocol headers that do not require padding. \nexample2\n assumes that one of these methods was used when defining the \nmy_protocol_header\n structure.\n\n\nAnother common pitfall occurs around endianness. A network protocol may be little endian or big endian; it all depends on the protocol specification. Processors also have an endianness; this means that the developer has to be careful that the processor endianness and the protocol endianness are handled correctly. In \nexample2\n, some common networking functions are used: \nntohs()\n and \nntohl()\n. These are shorthand for \"network order to host order, short\" and \"network order to host order, long\". Basically, these functions convert data of a certain size (i.e. 16 bits, 32 bits, etc) to the endianness of the host. Network byte order is big-endian (most significant byte first), so these functions convert big-endian byte order to host order (thus, the implementation of these functions is host dependent). Note that the BLE networking stack \"on the air\" format is least signigicant byte first (i.e. little endian), so a \"bletoh\" function would have to take little endian format and convert to host format.\n\n\nA long story short: the developer must take care when copying structure data to/from mbufs and flat buffers!\n\n\nA final note: these examples assume the same mbuf struture and definitions used in the first example. \n\n\nvoid\n\n\nmbuf_usage_example2\n(\nstruct\n \nmbuf\n \n*rxpkt\n)\n{\n    \nint\n \nrc\n;\n    \nuint8_t\n \npacket_data\n[\n16\n];\n    \nstruct\n \nmbuf\n \n*om\n;\n    \nstruct\n \nmy_protocol_header\n \n*phdr\n;\n\n    \n/* Make sure that \nmy_protocol_header\n bytes are contiguous in mbuf */\n\n    \nom\n \n=\n \nos_mbuf_pullup\n(\ng_mbuf_pool\n, \nsizeof\n(\nstruct\n \nmy_protocol_header\n));\n    \nif\n (\n!om\n) {\n        \n/* Not able to pull up data into contiguous area */\n\n        \nreturn\n \n-\n1\n;\n    }\n\n    \n/* \n\n\n     * Get the protocol information from the packet. In this example we presume that we\n\n\n     * are interested in protocol types that are equal to MY_PROTOCOL_TYPE, are not zero\n\n\n     * length, and have had some time in flight.\n\n\n     */\n\n    \nphdr\n \n=\n \nOS_MBUF_DATA\n(\nom\n, \nstruct\n \nmy_protocol_header\n \n*\n);\n    \ntype\n \n=\n \nntohs\n(\nphdr-\nprot_type\n);\n    \nlength\n \n=\n \nntohs\n(\nphdr-\nprot_length\n);\n    \ntime_in_flight\n \n=\n \nntohl\n(\nphdr-\nprot_tif\n);\n\n    \nif\n ((\ntype\n \n==\n \nMY_PROTOCOL_TYPE\n) \n (\nlength\n \n \n0\n) \n (\ntime_in_flight\n \n \n0\n)) {\n        \nrc\n \n=\n \nos_mbuf_copydata\n(\nrxpkt\n, \nsizeof\n(\nstruct\n \nmy_protocol_header\n), \n16\n, \npacket_data\n);\n        \nif\n (\n!rc\n) {\n            \n/* Success! Perform operations on packet data */\n\n            \n... \nuser\n \ncode\n \nhere\n ...\n\n        }\n    }\n\n    \n/* Free passed in packet (mbuf chain) since we don\nt need it anymore */\n\n    \nos_mbuf_free_chain\n(\nom\n);\n}\n\n\n\n\n\n\n\nData Structures\n\n\nstruct\n \nos_mbuf_pool\n {\n    \nuint16_t\n \nomp_databuf_len\n;\n    \nuint16_t\n \nomp_mbuf_count\n;\n    \nstruct\n \nos_mempool\n \n*omp_pool\n;\n    \nSTAILQ_ENTRY\n(\nos_mbuf_pool\n) \nomp_next\n;\n};\n\n\n\n\n\n\n\n\n\n\n\nElement\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nomp_databuf_len\n\n\nThe length, in bytes, of the \"data buffer\" of the mbuf. The data buffer of the mbuf is everything except the os_mbuf structure (which is present in all types of mbufs)\n\n\n\n\n\n\nomp_mbuf_count\n\n\nTotal number of mbufs in the pool when allocated. This is NOT the number of free mbufs in the pool!\n\n\n\n\n\n\nomp_pool\n\n\nThe memory pool from which the mbufs are allocated\n\n\n\n\n\n\nomp_next\n\n\nThis is a linked list pointer which chains memory pools. It is used by the system memory pool library\n\n\n\n\n\n\n\n\n\n\nstruct\n \nos_mbuf_pkthdr\n {\n    \nuint16_t\n \nomp_len\n;\n    \nuint16_t\n \nomp_flags\n;\n    \nSTAILQ_ENTRY\n(\nos_mbuf_pkthdr\n) \nomp_next\n;\n};\n\n\n\n\n\n\n\n\n\n\n\nElement\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nomp_len\n\n\nLength, in bytes, of the \"packet\". This is the sum of the user data in all the mbufs chained to the packet header mbuf (including the packet header mbuf)\n\n\n\n\n\n\nomp_flags\n\n\nPacket header flags.\n\n\n\n\n\n\nomp_next\n\n\nLinked list pointer to chain \"packets\". This can be used to add mbuf chains to a queue or linked list and is there for convenience.\n\n\n\n\n\n\n\n\n\n\nstruct\n \nos_mbuf\n {\n    \nuint8_t\n \n*om_data\n;\n    \nuint8_t\n \nom_flags\n;\n    \nuint8_t\n \nom_pkthdr_len\n;\n    \nuint16_t\n \nom_len\n;\n    \nstruct\n \nos_mbuf_pool\n \n*om_omp\n;\n    \nSLIST_ENTRY\n(\nos_mbuf\n) \nom_next\n;\n    \nuint8_t\n \nom_databuf\n[\n0\n];\n};\n\n\n\n\n\n\n\n\n\n\n\nElement\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nom_data\n\n\nPointer to start of user data in mbuf data buffer\n\n\n\n\n\n\nom_flags\n\n\nmbuf flags field. Currently all flags unused.\n\n\n\n\n\n\nom_pkthdr_len\n\n\nThe total length of all packet headers in the mbuf (mbuf packet header plus user packet header), in bytes\n\n\n\n\n\n\nom_len\n\n\nThe length of the user data contained in this mbuf, in bytes\n\n\n\n\n\n\nom_omp\n\n\nMemory pool pointer. This is the mbuf pool from which this mbuf was allocated.\n\n\n\n\n\n\nom_next\n\n\nPointer to next mbuf in packet chain\n\n\n\n\n\n\nom_databuf\n\n\nmbuf data buffer (accessor to start of mbuf data buffer). Note that the mbuf data buffer refers to the start of either the user data in normal mbufs or the start of the os mbuf packet header for packet header mbufs\n\n\n\n\n\n\n\n\nList of Functions/Macros\n\n\nThe functions/macros available in mbuf are:\n\n\n\n\n\n\n\n\nFunction/Macro\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nOS_MBUF_PKTHDR\n\n\nGet a pointer to the os mbuf packet header of an mbuf.\n\n\n\n\n\n\nOS_MBUF_PKTHDR_TO_MBUF\n\n\nGet a pointer to the mbuf given a pointer to the os mbuf packet header.\n\n\n\n\n\n\nOS_MBUF_PKTLEN\n\n\nGet the length of an entire mbuf chain.\n\n\n\n\n\n\nOS_MBUF_DATA\n\n\nCast the data pointer of an mbuf to a given type.\n\n\n\n\n\n\nOS_MBUF_USRHDR\n\n\nGet a pointer to the user packet header of an mbuf.\n\n\n\n\n\n\nOS_MBUF_USRHDR_LEN\n\n\nRetrieve the length of the user packet header in an mbuf.\n\n\n\n\n\n\nOS_MBUF_LEADINGSPACE\n\n\nGet the amount of leading space in an mbuf (in bytes).\n\n\n\n\n\n\nOS_MBUF_TRAILINGSPACE\n\n\nGet the amount of trailing space in an mbuf (in bytes).\n\n\n\n\n\n\nos_mbuf_adj\n\n\nTrims the given number of bytes from either the head (if positive) or tail (if negative) of an mbuf chain.\n\n\n\n\n\n\nos_mbuf_append\n\n\nAppends a data buffer of the given length to the end of an mbuf chain.\n\n\n\n\n\n\nos_mbuf_concat\n\n\nAttaches a second mbuf chain onto the end of the first.\n\n\n\n\n\n\nos_mbuf_copydata\n\n\nCopy data from an mbuf chain.\n\n\n\n\n\n\nos_mbuf_copyinto\n\n\nCopies the contents of a flat buffer into an mbuf chain.\n\n\n\n\n\n\nos_mbuf_dup\n\n\nDuplicate a chain of mbufs.\n\n\n\n\n\n\nos_mbuf_extend\n\n\nIncreases the length of an mbuf chain by the specified amount.\n\n\n\n\n\n\nos_mbuf_free_chain\n\n\nFrees a chain of mbufs.\n\n\n\n\n\n\nos_mbuf_get\n\n\nGet an mbuf from the mbuf pool.\n\n\n\n\n\n\nos_mbuf_get_pkthdr\n\n\nAllocates a packet header mbuf from the given mbuf pool. Adds a user header to the packet header mbuf.\n\n\n\n\n\n\nos_mbuf_memcmp\n\n\nPerforms a memory compare of the specified region of an mbuf chain against a flat buffer.\n\n\n\n\n\n\nos_mbuf_off\n\n\nGiven an offset in the packet, return the mbuf and the offset in that mbuf where byte 'off' is located.\n\n\n\n\n\n\nos_mbuf_pool_init\n\n\nnitialize an mbuf pool.\n\n\n\n\n\n\nos_mbuf_prepend\n\n\nIncreases the length of an mbuf chain by adding data to the front.\n\n\n\n\n\n\nos_mbuf_pullup\n\n\nRearrange an mbuf chain so that the given length of bytes are contiguous and in the data area of an mbuf.", 
             "title": "toc"
         }, 
         {
@@ -4722,7 +4722,7 @@
         }, 
         {
             "location": "/os/core_os/mbuf/mbuf/#using-mbufs", 
-            "text": "The following examples illustrate typical mbuf usage. There are two basic mbuf allocation API:  os_mbuf_get()  and  os_mbuf_get_pkthdr() . The first API obtains a normal mbuf whereas the latter obtains a packet header mbuf. Typically, application developers use  os_mbuf_get_pkthdr()  and rarely, if ever, need to call  os_mbuf_get()  as the rest of the mbuf API (e.g.  os_mbuf_append() ,  os_mbuf_copyinto() , etc.) typically deal with allocating and chaining mbufs. It is recommended to use the provided API to copy data into/out of mbuf chains and/or manipulate mbufs.  In  example1 , the developer creates a packet and then sends the packet to a networking interface. The code sample also provides an example of copying data out of an mbuf as well as use of the \"pullup\" api (another very common mbuf api).  void  mbuf_usage_example1 ( uint8_t   *mydata ,  int   mydata_length )\n{\n     int   rc ;\n     struct   os_mbuf   *om ;\n\n     /* get a packet header mbuf */ \n     om   =   os_mbuf_get_pkthdr ( g_mbuf_pool ,  sizeof ( struct   user_hdr ));\n     if  ( om ) {\n         /*            * Copy user data into mbuf. NOTE: if mydata_length is greater than the           * mbuf payload size (64 bytes using above example), mbufs are allocated           * and chained together to accommodate the total packet length.           */ \n         rc   =   os_mbuf_copyinto ( om ,  0 ,  mydata ,  len );\n         if  ( rc ) {\n             /* Error! Could not allocate enough mbufs for total packet length */ \n             return   - 1 ;\n        }\n\n         /* Send packet to networking interface */ \n         send_pkt ( om );\n    }\n}  In  example2  we show use of the pullup api as this illustrates some of the typical pitfalls developers encounter when using mbufs. The first pitfall is one of alignment/padding. Depending on the processor and/or compiler, the sizeof() a structure may vary. Thus, the size of  my_protocol_header  may be different inside the packet data of the mbuf than the size of the structure on the stack or as a global variable, for instance. While some networking protcols may align protocol information on convenient processor boundaries many others try to conserve bytes \"on the air\" (i.e inside the packet data). Typical methods used to deal with this are \"packing\" the structure (i.e. force compiler to not pad) or creating protocol headers that do not require padding.  example2  assumes that one of these methods was used when defining the  my_protocol_header  structure.  Another common pitfall occurs around endianness. A network protocol may be little endian or big endian; it all depends on the protocol specification. Processors also have an endianness; this means that the developer has to be careful that the processor endianness and the protocol endianness are handled correctly. In  example2 , some common networking functions are used:  ntohs()  and  ntohl() . These are shorthand for \"network order to host order, short\" and \"network order to host order, long\". Basically, these functions convert data of a certain size (i.e. 16 bits, 32 bits, etc) to the endianness of the host. Network byte order is big-endian (most significant byte first), so these functions convert big-endian byte order to host order (thus, the implementation of these functions is host dependent). Note that the BLE networking stack \"on the air\" format is least signigicant byte first (i.e. little endian), so a \"bletoh\" function would have to take little endian format and convert to host format.  A long story short: the developer must take care when copying structure data to/from mbufs and flat buffers!  A final note: these examples assume the same mbuf struture and definitions used in the first example.   void  mbuf_usage_example2 ( struct   mbuf   *rxpkt )\n{\n     int   rc ;\n     uint8_t   packet_data [ 16 ];\n     struct   mbuf   *om ;\n     struct   my_protocol_header   *phdr ;\n\n     /* Make sure that  my_protocol_header  bytes are contiguous in mbuf */ \n     om   =   os_mbuf_pullup ( g_mbuf_pool ,  sizeof ( struct   my_protocol_header ));\n     if  ( !om ) {\n         /* Not able to pull up data into contiguous area */ \n         return   - 1 ;\n    }\n\n     /*        * Get the protocol information from the packet. In this example we presume that we       * are interested in protocol types that are equal to MY_PROTOCOL_TYPE, are not zero       * length, and have had some time in flight.       */ \n     phdr   =   OS_MBUF_DATA ( om ,  struct   my_protocol_header   * );\n     type   =   ntohs ( phdr- prot_type );\n     length   =   ntohs ( phdr- prot_length );\n     time_in_flight   =   ntohl ( phdr- prot_tif );\n\n     if  (( type   ==   MY_PROTOCOL_TYPE )   ( length     0 )   ( time_in_flight     0 )) {\n         rc   =   os_mbuf_copydata ( rxpkt ,  sizeof ( struct   my_protocol_header ),  16 ,  packet_data );\n         if  ( !rc ) {\n             /* Success! Perform operations on packet data */ \n             ...  user   code   here  ... \n        }\n    }\n\n     /* Free passed in packet (mbuf chain) since we don t need it anymore */ \n     os_mbuf_free_chain ( om );\n}", 
+            "text": "The following examples illustrate typical mbuf usage. There are two basic mbuf allocation API:  os_mbuf_get()  and  os_mbuf_get_pkthdr() . The first API obtains a normal mbuf whereas the latter obtains a packet header mbuf. Typically, application developers use  os_mbuf_get_pkthdr()  and rarely, if ever, need to call  os_mbuf_get()  as the rest of the mbuf API (e.g.  os_mbuf_append() ,  os_mbuf_copyinto() , etc.) typically deal with allocating and chaining mbufs. It is recommended to use the provided API to copy data into/out of mbuf chains and/or manipulate mbufs.  In  example1 , the developer creates a packet and then sends the packet to a networking interface. The code sample also provides an example of copying data out of an mbuf as well as use of the \"pullup\" api (another very common mbuf api).  void  mbuf_usage_example1 ( uint8_t   *mydata ,  int   mydata_length )\n{\n     int   rc ;\n     struct   os_mbuf   *om ;\n\n     /* get a packet header mbuf */ \n     om   =   os_mbuf_get_pkthdr ( g_mbuf_pool ,  sizeof ( struct   user_hdr ));\n     if  ( om ) {\n         /*            * Copy user data into mbuf. NOTE: if mydata_length is greater than the           * mbuf payload size (64 bytes using above example), mbufs are allocated           * and chained together to accommodate the total packet length.           */ \n         rc   =   os_mbuf_copyinto ( om ,  0 ,  mydata ,  mydata_length );\n         if  ( rc ) {\n             /* Error! Could not allocate enough mbufs for total packet length */ \n             return   - 1 ;\n        }\n\n         /* Send packet to networking interface */ \n         send_pkt ( om );\n    }\n}  In  example2  we show use of the pullup api as this illustrates some of the typical pitfalls developers encounter when using mbufs. The first pitfall is one of alignment/padding. Depending on the processor and/or compiler, the sizeof() a structure may vary. Thus, the size of  my_protocol_header  may be different inside the packet data of the mbuf than the size of the structure on the stack or as a global variable, for instance. While some networking protcols may align protocol information on convenient processor boundaries many others try to conserve bytes \"on the air\" (i.e inside the packet data). Typical methods used to deal with this are \"packing\" the structure (i.e. force compiler to not pad) or creating protocol headers that do not require padding.  example2  assumes that one of these methods was used when defining the  my_protocol_header  structure.  Another common pitfall occurs around endianness. A network protocol may be little endian or big endian; it all depends on the protocol specification. Processors also have an endianness; this means that the developer has to be careful that the processor endianness and the protocol endianness are handled correctly. In  example2 , some common networking functions are used:  ntohs()  and  ntohl() . These are shorthand for \"network order to host order, short\" and \"network order to host order, long\". Basically, these functions convert data of a certain size (i.e. 16 bits, 32 bits, etc) to the endianness of the host. Network byte order is big-endian (most significant byte first), so these functions convert big-endian byte order to host order (thus, the implementation of these functions is host dependent). Note that the BLE networking stack \"on the air\" format is least signigicant byte first (i.e. little endian), so a \"bletoh\" function would have to take little endian format and convert to host format.  A long story short: the developer must take care when copying structure data to/from mbufs and flat buffers!  A final note: these examples assume the same mbuf struture and definitions used in the first example.   void  mbuf_usage_example2 ( struct   mbuf   *rxpkt )\n{\n     int   rc ;\n     uint8_t   packet_data [ 16 ];\n     struct   mbuf   *om ;\n     struct   my_protocol_header   *phdr ;\n\n     /* Make sure that  my_protocol_header  bytes are contiguous in mbuf */ \n     om   =   os_mbuf_pullup ( g_mbuf_pool ,  sizeof ( struct   my_protocol_header ));\n     if  ( !om ) {\n         /* Not able to pull up data into contiguous area */ \n         return   - 1 ;\n    }\n\n     /*        * Get the protocol information from the packet. In this example we presume that we       * are interested in protocol types that are equal to MY_PROTOCOL_TYPE, are not zero       * length, and have had some time in flight.       */ \n     phdr   =   OS_MBUF_DATA ( om ,  struct   my_protocol_header   * );\n     type   =   ntohs ( phdr- prot_type );\n     length   =   ntohs ( phdr- prot_length );\n     time_in_flight   =   ntohl ( phdr- prot_tif );\n\n     if  (( type   ==   MY_PROTOCOL_TYPE )   ( length     0 )   ( time_in_flight     0 )) {\n         rc   =   os_mbuf_copydata ( rxpkt ,  sizeof ( struct   my_protocol_header ),  16 ,  packet_data );\n         if  ( !rc ) {\n             /* Success! Perform operations on packet data */ \n             ...  user   code   here  ... \n        }\n    }\n\n     /* Free passed in packet (mbuf chain) since we don t need it anymore */ \n     os_mbuf_free_chain ( om );\n}", 
             "title": "Using mbufs"
         }, 
         {
diff --git a/master/os/core_os/mbuf/mbuf/index.html b/master/os/core_os/mbuf/mbuf/index.html
index e53263088..5bcb50140 100644
--- a/master/os/core_os/mbuf/mbuf/index.html
+++ b/master/os/core_os/mbuf/mbuf/index.html
@@ -874,7 +874,7 @@ <h3 id="using-mbufs">Using mbufs</h3>
 <span style="color: #177500">         * mbuf payload size (64 bytes using above example), mbufs are allocated</span>
 <span style="color: #177500">         * and chained together to accommodate the total packet length.</span>
 <span style="color: #177500">         */</span>
-        <span style="color: #000000">rc</span> <span style="color: #000000">=</span> <span style="color: #000000">os_mbuf_copyinto</span>(<span style="color: #000000">om</span>, <span style="color: #1C01CE">0</span>, <span style="color: #000000">mydata</span>, <span style="color: #000000">len</span>);
+        <span style="color: #000000">rc</span> <span style="color: #000000">=</span> <span style="color: #000000">os_mbuf_copyinto</span>(<span style="color: #000000">om</span>, <span style="color: #1C01CE">0</span>, <span style="color: #000000">mydata</span>, <span style="color: #000000">mydata_length</span>);
         <span style="color: #A90D91">if</span> (<span style="color: #000000">rc</span>) {
             <span style="color: #177500">/* Error! Could not allocate enough mbufs for total packet length */</span>
             <span style="color: #A90D91">return</span> <span style="color: #000000">-</span><span style="color: #1C01CE">1</span>;
diff --git a/master/os/tutorials/bleprph/bleprph-svc-reg/index.html b/master/os/tutorials/bleprph/bleprph-svc-reg/index.html
index 968ddde65..36ae21d68 100644
--- a/master/os/tutorials/bleprph/bleprph-svc-reg/index.html
+++ b/master/os/tutorials/bleprph/bleprph-svc-reg/index.html
@@ -691,7 +691,7 @@ <h4 id="attribute-set">Attribute Set</h4>
 <tr>
 <td>flags</td>
 <td>Indicates which operations are permitted for this characteristic.  The NimBLE stack responds negatively when a peer attempts an unsupported operation.</td>
-<td>The full list of flags can be found under <code>ble_gatt_chr_flags</code> in <a href="https://github.com/apache/mynewt-core/blob/master/net/nimble/host/include/host/ble_gatt.h">net/nimble/host/include/host/ble_gatt.h</a>.</td>
+<td>The full list of flags can be found under <code>ble_gatt_chr_flags</code> in <a href="https://github.com/apache/mynewt-nimble/blob/master/nimble/host/include/host/ble_gatt.h">nimble/host/include/host/ble_gatt.h</a>.</td>
 </tr>
 </tbody>
 </table>
diff --git a/mkdocs/search_index.json b/mkdocs/search_index.json
index d723bb66d..1685c0757 100644
--- a/mkdocs/search_index.json
+++ b/mkdocs/search_index.json
@@ -1392,7 +1392,7 @@
         }, 
         {
             "location": "/os/tutorials/bleprph/bleprph-svc-reg/", 
-            "text": "BLE Peripheral Project\n\n\nService Registration\n\n\n\n\nAttribute Set\n\n\nThe NimBLE host uses a table-based design for GATT server configuration.  The\nset of supported attributes are expressed as a series of tables that resides in\nyour C code.  When possible, we recommend using a single monolithic table, as\nit results in code that is simpler and less error prone.  Multiple tables\ncan be used if it is impractical for the entire attribute set to live in one\nplace in your code.\n\n\nbleprph\n uses a single attribute table located in the \ngatt_svr.c\n file,\nso let's take a look at that now.  The attribute table is called\n\ngatt_svr_svcs\n; here are the first several lines from this table:\n\n\n\n\nstatic\n \nconst\n \nstruct\n \nble_gatt_svc_def\n \ngatt_svr_svcs\n[] \n=\n {\n    {\n        \n/*** Service: Security test. */\n\n        .\ntype\n \n=\n \nBLE_GATT_SVC_TYPE_PRIMARY\n,\n        .\nuuid\n \n=\n \ngatt_svr_svc_sec_test_uuid\n.\nu\n,\n        .\ncharacteristics\n \n=\n (\nstruct\n \nble_gatt_chr_def\n[]) { {\n            \n/*** Characteristic: Random number generator. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_rand_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n        }, {\n            \n/*** Characteristic: Static value. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_static_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n    \n// [...]\n\n\n\n\n\n\n\n\nAs you can see, the table is an array of service definitions (\n\nstruct ble_gatt_svc_def\n). Let's now consider the contents of this table in more\ndetail.\n\n\nA service definition consists of the following fields:\n\n\n\n\n\n\n\n\nField\n\n\nMeaning\n\n\nNotes\n\n\n\n\n\n\n\n\n\n\ntype\n\n\nSpecifies whether this is a primary or secondary service.\n\n\nSecondary services are not very common.  When in doubt, specify \nBLE_GATT_SVC_TYPE_PRIMARY\n for new services.\n\n\n\n\n\n\nuuid\n\n\nThe UUID of this characteristic.\n\n\nThis field accepts a pointer to a variable of type \nble_uuid_t\n. You could directly use the \nBLE_UUID16_DECLARE()\n macro or to pass a pointer to a \nble_uuid16_t\n variable you could type \nuuid_variable.u\n\n\n\n\n\n\ncharacteristics\n\n\nThe array of characteristics that belong to this service.\n\n\n\n\n\n\n\n\n\n\n\n\nA service is little more than a container of characteristics; the\ncharacteristics themselves are where the real action happens. A characteristic\ndefinition consists of the following fields:\n\n\n\n\n\n\n\n\nField\n\n\nMeaning\n\n\nNotes\n\n\n\n\n\n\n\n\n\n\nuuid\n\n\nThe UUID of this characteristic.\n\n\nThis field accepts a pointer to a variable of type \nble_uuid_t\n. You could directly use the \nBLE_UUID16_DECLARE()\n macro or to pass a pointer to a \nble_uuid16_t\n variable you could type \nuuid_variable.u\n\n\n\n\n\n\naccess_cb\n\n\nA callback function that gets executed whenever a peer device accesses this characteristic.\n\n\nFor reads:\n this function generates the value that gets sent back to the peer.\nFor writes:\n this function receives the written value as an argument.\n\n\n\n\n\n\nflags\n\n\nIndicates which operations are permitted for this characteristic.  The NimBLE stack responds negatively when a peer attempts an unsupported operation.\n\n\nThe full list of flags can be found under \nble_gatt_chr_flags\n in \nnet/nimble/host/include/host/ble_gatt.h\n.\n\n\n\n\n\n\n\n\nThe access callback is what implements the characteristic's behavior. Access\ncallbacks are described in detail in the next section:\n\nBLE Peripheral - Characteristic Access\n.\n\n\nThe service definition array and each characteristic definition array is\nterminated with an empty entry, represented with a 0. The below code listing\nshows the last service in the array, including terminating zeros for the\ncharacteristic array and service array.\n\n\n\n\n    {\n        \n/*** Service: Security test. */\n\n        .\ntype\n \n=\n \nBLE_GATT_SVC_TYPE_PRIMARY\n,\n        .\nuuid\n \n=\n \ngatt_svr_svc_sec_test_uuid\n.\nu\n,\n        .\ncharacteristics\n \n=\n (\nstruct\n \nble_gatt_chr_def\n[]) { {\n            \n/*** Characteristic: Random number generator. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_rand_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n        }, {\n            \n/*** Characteristic: Static value. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_static_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n        }, {\n\n            \n0\n, \n/* No more characteristics in this service. */\n\n\n        } },\n    },\n\n    {\n\n        \n0\n, \n/* No more services. */\n\n\n    },\n\n\n\n\n\n\n\nRegistration function\n\n\nAfter you have created your service table, your app needs to register it with the NimBLE stack.  This is done by calling the following function:\n\n\nint\n\n\nble_gatts_add_svcs\n(\nconst\n \nstruct\n \nble_gatt_svc_def\n \n*svcs\n)\n\n\n\n\n\nThe function parameters are documented below.\n\n\n\n\n\n\n\n\nParameter\n\n\nMeaning\n\n\nNotes\n\n\n\n\n\n\n\n\n\n\nsvcs\n\n\nAn array of service definitions to queue for registration. This array must be terminated with an entry whose 'type' equals 0.\n\n\n\n\n\n\n\n\n\n\nThe \nble_gatts_register_svcs()\n function returns 0 on success, or a\n\nBLE_HS_E[...]\n error code on failure.\n\n\nThe \nbleprph\n app registers its services as follows:\n\n\n    \nrc\n \n=\n \nble_gatts_add_svcs\n(\ngatt_svr_svcs\n);\n    \nif\n (\nrc\n \n!=\n \n0\n) {\n        \nreturn\n \nrc\n;\n    }\n\n\n\n\n\nMore detailed information about the registration function can be found\nin the BLE User Guide: \nble_gatts_add_svcs\n.\n\n\n\n\nRegistration callback function\n\n\nIt is possible to set a callback function that gets executed each time a service, characteristic, or descriptor is registered. This is done by setting the following attribute:\n\n\nble_hs_cfg\n.\ngatts_register_cb\n \n=\n \ngatt_svr_register_cb\n;\n\n\n\n\n\nIn the above example \ngatt_svr_register_cb\n is the function that will be called. This line can be found in \nbleprph\n's \nmain.c\n file\n\n\nMore detailed information about the registration callback function can be found\nin the \nBLE User Guide\n (TBD).\n\n\n\n\nDescriptors and Included Services\n\n\nYour peripheral can also expose descriptors and included services.  These are\nless common, so they are not covered in this tutorial.  For more information,\nsee the \nBLE User Guide\n.", 
+            "text": "BLE Peripheral Project\n\n\nService Registration\n\n\n\n\nAttribute Set\n\n\nThe NimBLE host uses a table-based design for GATT server configuration.  The\nset of supported attributes are expressed as a series of tables that resides in\nyour C code.  When possible, we recommend using a single monolithic table, as\nit results in code that is simpler and less error prone.  Multiple tables\ncan be used if it is impractical for the entire attribute set to live in one\nplace in your code.\n\n\nbleprph\n uses a single attribute table located in the \ngatt_svr.c\n file,\nso let's take a look at that now.  The attribute table is called\n\ngatt_svr_svcs\n; here are the first several lines from this table:\n\n\n\n\nstatic\n \nconst\n \nstruct\n \nble_gatt_svc_def\n \ngatt_svr_svcs\n[] \n=\n {\n    {\n        \n/*** Service: Security test. */\n\n        .\ntype\n \n=\n \nBLE_GATT_SVC_TYPE_PRIMARY\n,\n        .\nuuid\n \n=\n \ngatt_svr_svc_sec_test_uuid\n.\nu\n,\n        .\ncharacteristics\n \n=\n (\nstruct\n \nble_gatt_chr_def\n[]) { {\n            \n/*** Characteristic: Random number generator. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_rand_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n        }, {\n            \n/*** Characteristic: Static value. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_static_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n    \n// [...]\n\n\n\n\n\n\n\n\nAs you can see, the table is an array of service definitions (\n\nstruct ble_gatt_svc_def\n). Let's now consider the contents of this table in more\ndetail.\n\n\nA service definition consists of the following fields:\n\n\n\n\n\n\n\n\nField\n\n\nMeaning\n\n\nNotes\n\n\n\n\n\n\n\n\n\n\ntype\n\n\nSpecifies whether this is a primary or secondary service.\n\n\nSecondary services are not very common.  When in doubt, specify \nBLE_GATT_SVC_TYPE_PRIMARY\n for new services.\n\n\n\n\n\n\nuuid\n\n\nThe UUID of this characteristic.\n\n\nThis field accepts a pointer to a variable of type \nble_uuid_t\n. You could directly use the \nBLE_UUID16_DECLARE()\n macro or to pass a pointer to a \nble_uuid16_t\n variable you could type \nuuid_variable.u\n\n\n\n\n\n\ncharacteristics\n\n\nThe array of characteristics that belong to this service.\n\n\n\n\n\n\n\n\n\n\n\n\nA service is little more than a container of characteristics; the\ncharacteristics themselves are where the real action happens. A characteristic\ndefinition consists of the following fields:\n\n\n\n\n\n\n\n\nField\n\n\nMeaning\n\n\nNotes\n\n\n\n\n\n\n\n\n\n\nuuid\n\n\nThe UUID of this characteristic.\n\n\nThis field accepts a pointer to a variable of type \nble_uuid_t\n. You could directly use the \nBLE_UUID16_DECLARE()\n macro or to pass a pointer to a \nble_uuid16_t\n variable you could type \nuuid_variable.u\n\n\n\n\n\n\naccess_cb\n\n\nA callback function that gets executed whenever a peer device accesses this characteristic.\n\n\nFor reads:\n this function generates the value that gets sent back to the peer.\nFor writes:\n this function receives the written value as an argument.\n\n\n\n\n\n\nflags\n\n\nIndicates which operations are permitted for this characteristic.  The NimBLE stack responds negatively when a peer attempts an unsupported operation.\n\n\nThe full list of flags can be found under \nble_gatt_chr_flags\n in \nnimble/host/include/host/ble_gatt.h\n.\n\n\n\n\n\n\n\n\nThe access callback is what implements the characteristic's behavior. Access\ncallbacks are described in detail in the next section:\n\nBLE Peripheral - Characteristic Access\n.\n\n\nThe service definition array and each characteristic definition array is\nterminated with an empty entry, represented with a 0. The below code listing\nshows the last service in the array, including terminating zeros for the\ncharacteristic array and service array.\n\n\n\n\n    {\n        \n/*** Service: Security test. */\n\n        .\ntype\n \n=\n \nBLE_GATT_SVC_TYPE_PRIMARY\n,\n        .\nuuid\n \n=\n \ngatt_svr_svc_sec_test_uuid\n.\nu\n,\n        .\ncharacteristics\n \n=\n (\nstruct\n \nble_gatt_chr_def\n[]) { {\n            \n/*** Characteristic: Random number generator. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_rand_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n        }, {\n            \n/*** Characteristic: Static value. */\n\n            .\nuuid\n \n=\n \ngatt_svr_chr_sec_test_static_uuid\n.\nu\n,\n            .\naccess_cb\n \n=\n \ngatt_svr_chr_access_sec_test\n,\n            .\nflags\n \n=\n \nBLE_GATT_CHR_F_READ\n,\n        }, {\n\n            \n0\n, \n/* No more characteristics in this service. */\n\n\n        } },\n    },\n\n    {\n\n        \n0\n, \n/* No more services. */\n\n\n    },\n\n\n\n\n\n\n\nRegistration function\n\n\nAfter you have created your service table, your app needs to register it with the NimBLE stack.  This is done by calling the following function:\n\n\nint\n\n\nble_gatts_add_svcs\n(\nconst\n \nstruct\n \nble_gatt_svc_def\n \n*svcs\n)\n\n\n\n\n\nThe function parameters are documented below.\n\n\n\n\n\n\n\n\nParameter\n\n\nMeaning\n\n\nNotes\n\n\n\n\n\n\n\n\n\n\nsvcs\n\n\nAn array of service definitions to queue for registration. This array must be terminated with an entry whose 'type' equals 0.\n\n\n\n\n\n\n\n\n\n\nThe \nble_gatts_register_svcs()\n function returns 0 on success, or a\n\nBLE_HS_E[...]\n error code on failure.\n\n\nThe \nbleprph\n app registers its services as follows:\n\n\n    \nrc\n \n=\n \nble_gatts_add_svcs\n(\ngatt_svr_svcs\n);\n    \nif\n (\nrc\n \n!=\n \n0\n) {\n        \nreturn\n \nrc\n;\n    }\n\n\n\n\n\nMore detailed information about the registration function can be found\nin the BLE User Guide: \nble_gatts_add_svcs\n.\n\n\n\n\nRegistration callback function\n\n\nIt is possible to set a callback function that gets executed each time a service, characteristic, or descriptor is registered. This is done by setting the following attribute:\n\n\nble_hs_cfg\n.\ngatts_register_cb\n \n=\n \ngatt_svr_register_cb\n;\n\n\n\n\n\nIn the above example \ngatt_svr_register_cb\n is the function that will be called. This line can be found in \nbleprph\n's \nmain.c\n file\n\n\nMore detailed information about the registration callback function can be found\nin the \nBLE User Guide\n (TBD).\n\n\n\n\nDescriptors and Included Services\n\n\nYour peripheral can also expose descriptors and included services.  These are\nless common, so they are not covered in this tutorial.  For more information,\nsee the \nBLE User Guide\n.", 
             "title": "Service Registration"
         }, 
         {
@@ -1407,7 +1407,7 @@
         }, 
         {
             "location": "/os/tutorials/bleprph/bleprph-svc-reg/#attribute-set", 
-            "text": "The NimBLE host uses a table-based design for GATT server configuration.  The\nset of supported attributes are expressed as a series of tables that resides in\nyour C code.  When possible, we recommend using a single monolithic table, as\nit results in code that is simpler and less error prone.  Multiple tables\ncan be used if it is impractical for the entire attribute set to live in one\nplace in your code.  bleprph  uses a single attribute table located in the  gatt_svr.c  file,\nso let's take a look at that now.  The attribute table is called gatt_svr_svcs ; here are the first several lines from this table:   static   const   struct   ble_gatt_svc_def   gatt_svr_svcs []  =  {\n    {\n         /*** Service: Security test. */ \n        . type   =   BLE_GATT_SVC_TYPE_PRIMARY ,\n        . uuid   =   gatt_svr_svc_sec_test_uuid . u ,\n        . characteristics   =  ( struct   ble_gatt_chr_def []) { {\n             /*** Characteristic: Random number generator. */ \n            . uuid   =   gatt_svr_chr_sec_test_rand_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n        }, {\n             /*** Characteristic: Static value. */ \n            . uuid   =   gatt_svr_chr_sec_test_static_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n     // [...]    As you can see, the table is an array of service definitions ( struct ble_gatt_svc_def ). Let's now consider the contents of this table in more\ndetail.  A service definition consists of the following fields:     Field  Meaning  Notes      type  Specifies whether this is a primary or secondary service.  Secondary services are not very common.  When in doubt, specify  BLE_GATT_SVC_TYPE_PRIMARY  for new services.    uuid  The UUID of this characteristic.  This field accepts a pointer to a variable of type  ble_uuid_t . You could directly use the  BLE_UUID16_DECLARE()  macro or to pass a pointer to a  ble_uuid16_t  variable you could type  uuid_variable.u    characteristics  The array of characteristics that belong to this service.       A service is little more than a container of characteristics; the\ncharacteristics themselves are where the real action happens. A characteristic\ndefinition consists of the following fields:     Field  Meaning  Notes      uuid  The UUID of this characteristic.  This field accepts a pointer to a variable of type  ble_uuid_t . You could directly use the  BLE_UUID16_DECLARE()  macro or to pass a pointer to a  ble_uuid16_t  variable you could type  uuid_variable.u    access_cb  A callback function that gets executed whenever a peer device accesses this characteristic.  For reads:  this function generates the value that gets sent back to the peer. For writes:  this function receives the written value as an argument.    flags  Indicates which operations are permitted for this characteristic.  The NimBLE stack responds negatively when a peer attempts an unsupported operation.  The full list of flags can be found under  ble_gatt_chr_flags  in  net/nimble/host/include/host/ble_gatt.h .     The access callback is what implements the characteristic's behavior. Access\ncallbacks are described in detail in the next section: BLE Peripheral - Characteristic Access .  The service definition array and each characteristic definition array is\nterminated with an empty entry, represented with a 0. The below code listing\nshows the last service in the array, including terminating zeros for the\ncharacteristic array and service array.       {\n         /*** Service: Security test. */ \n        . type   =   BLE_GATT_SVC_TYPE_PRIMARY ,\n        . uuid   =   gatt_svr_svc_sec_test_uuid . u ,\n        . characteristics   =  ( struct   ble_gatt_chr_def []) { {\n             /*** Characteristic: Random number generator. */ \n            . uuid   =   gatt_svr_chr_sec_test_rand_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n        }, {\n             /*** Characteristic: Static value. */ \n            . uuid   =   gatt_svr_chr_sec_test_static_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n        }, {              0 ,  /* No more characteristics in this service. */          } },\n    },\n\n    {          0 ,  /* No more services. */      },", 
+            "text": "The NimBLE host uses a table-based design for GATT server configuration.  The\nset of supported attributes are expressed as a series of tables that resides in\nyour C code.  When possible, we recommend using a single monolithic table, as\nit results in code that is simpler and less error prone.  Multiple tables\ncan be used if it is impractical for the entire attribute set to live in one\nplace in your code.  bleprph  uses a single attribute table located in the  gatt_svr.c  file,\nso let's take a look at that now.  The attribute table is called gatt_svr_svcs ; here are the first several lines from this table:   static   const   struct   ble_gatt_svc_def   gatt_svr_svcs []  =  {\n    {\n         /*** Service: Security test. */ \n        . type   =   BLE_GATT_SVC_TYPE_PRIMARY ,\n        . uuid   =   gatt_svr_svc_sec_test_uuid . u ,\n        . characteristics   =  ( struct   ble_gatt_chr_def []) { {\n             /*** Characteristic: Random number generator. */ \n            . uuid   =   gatt_svr_chr_sec_test_rand_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n        }, {\n             /*** Characteristic: Static value. */ \n            . uuid   =   gatt_svr_chr_sec_test_static_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n     // [...]    As you can see, the table is an array of service definitions ( struct ble_gatt_svc_def ). Let's now consider the contents of this table in more\ndetail.  A service definition consists of the following fields:     Field  Meaning  Notes      type  Specifies whether this is a primary or secondary service.  Secondary services are not very common.  When in doubt, specify  BLE_GATT_SVC_TYPE_PRIMARY  for new services.    uuid  The UUID of this characteristic.  This field accepts a pointer to a variable of type  ble_uuid_t . You could directly use the  BLE_UUID16_DECLARE()  macro or to pass a pointer to a  ble_uuid16_t  variable you could type  uuid_variable.u    characteristics  The array of characteristics that belong to this service.       A service is little more than a container of characteristics; the\ncharacteristics themselves are where the real action happens. A characteristic\ndefinition consists of the following fields:     Field  Meaning  Notes      uuid  The UUID of this characteristic.  This field accepts a pointer to a variable of type  ble_uuid_t . You could directly use the  BLE_UUID16_DECLARE()  macro or to pass a pointer to a  ble_uuid16_t  variable you could type  uuid_variable.u    access_cb  A callback function that gets executed whenever a peer device accesses this characteristic.  For reads:  this function generates the value that gets sent back to the peer. For writes:  this function receives the written value as an argument.    flags  Indicates which operations are permitted for this characteristic.  The NimBLE stack responds negatively when a peer attempts an unsupported operation.  The full list of flags can be found under  ble_gatt_chr_flags  in  nimble/host/include/host/ble_gatt.h .     The access callback is what implements the characteristic's behavior. Access\ncallbacks are described in detail in the next section: BLE Peripheral - Characteristic Access .  The service definition array and each characteristic definition array is\nterminated with an empty entry, represented with a 0. The below code listing\nshows the last service in the array, including terminating zeros for the\ncharacteristic array and service array.       {\n         /*** Service: Security test. */ \n        . type   =   BLE_GATT_SVC_TYPE_PRIMARY ,\n        . uuid   =   gatt_svr_svc_sec_test_uuid . u ,\n        . characteristics   =  ( struct   ble_gatt_chr_def []) { {\n             /*** Characteristic: Random number generator. */ \n            . uuid   =   gatt_svr_chr_sec_test_rand_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n        }, {\n             /*** Characteristic: Static value. */ \n            . uuid   =   gatt_svr_chr_sec_test_static_uuid . u ,\n            . access_cb   =   gatt_svr_chr_access_sec_test ,\n            . flags   =   BLE_GATT_CHR_F_READ ,\n        }, {              0 ,  /* No more characteristics in this service. */          } },\n    },\n\n    {          0 ,  /* No more services. */      },", 
             "title": "Attribute Set"
         }, 
         {
@@ -4687,7 +4687,7 @@
         }, 
         {
             "location": "/os/core_os/mbuf/mbuf/", 
-            "text": "Mbufs\n\n\nThe mbuf (short for memory buffer) is a common concept in networking stacks. The mbuf is used to hold packet data as it traverses the stack. The mbuf also generally stores header information or other networking stack information that is carried around with the packet. The mbuf and its associated library of functions were developed to make common networking stack operations (like stripping and adding protocol headers) efficient and as copy-free as possible.\n\n\nIn its simplest form, an mbuf is a memory block with some space reserved for internal information and a pointer which is used to \"chain\" memory blocks together in order to create a \"packet\". This is a very important aspect of the mbuf: the ability to chain mbufs together to create larger \"packets\" (chains of mbufs).\n\n\nWhy use mbufs?\n\n\nThe main reason is to conserve memory. Consider a networking protocol that generally sends small packets but occasionally sends large ones. The Bluetooth Low Energy (BLE) protocol is one such example. A flat buffer would need to be sized so that the maximum packet size could be contained by the buffer. With the mbuf, a number of mbufs can be chained together so that the occasional large packet can be handled while leaving more packet buffers available to the networking stack for smaller packets.\n\n\nPacket Header mbuf\n\n\nNot all mbufs are created equal. The first mbuf in a chain of mbufs is a special mbuf called a \"packet header mbuf\". The reason that this mbuf is special is that it contains the length of all the data contained by the chain of mbufs (the packet length, in other words). The packet header mbuf may also contain a user defined structure (called a \"user header\") so that networking protocol specific information can be conveyed to various layers of the networking stack. Any mbufs that are part of the packet (i.e. in the mbuf chain but not the first one) are \"normal\" (i.e. non-packet header) mbufs. A normal mbuf does not have any packet header or user packet header structures in them; they only contain the basic mbuf header (\nstruct os_mbuf\n). Figure 1 illustrates these two types of mbufs. Note that the numbers/text in parentheses denote the size of the structures/elements (in bytes) and that MBLEN is the memory block length of the memory pool used by the mbuf pool.\n\n\n\n\nNormal mbuf\n\n\nNow let's take a deeper dive into the mbuf structure. Figure 2 illustrates a normal mbuf and breaks out the various fields in the \nos_mbuf\n structure. \n\n\n\n\nThe \nom_data\n field is a pointer to where the data starts inside the data buffer. Typically, mbufs that are allocated from the mbuf pool (discussed later) have their om_data pointer set to the start of the data buffer but there are cases where this may not be desirable (added a protocol header to a packet, for example). \n\n\nThe \nom_flags\n field is a set of flags used internally by the mbuf library. Currently, no flags have been defined. \n\n\nThe \nom_pkthdr_len\n field is the total length of all packet headers in the mbuf. For normal mbufs this is set to 0 as there is no packet or user packet headers. For packet header mbufs, this would be set to the length of the packet header structure (16) plus the size of the user packet header (if any). Note that it is this field which differentiates packet header mbufs from normal mbufs (i.e. if \nom_pkthdr_len\n is zero, this is a normal mbuf; otherwise it is a packet header mbuf). \n\n\nThe \nom_len\n field contains the amount of user data in the data buffer. When initially allocated, this field is 0 as there is no user data in the mbuf. \n\n\nThe \nomp_pool\n field is a pointer to the pool from which this mbuf has been allocated. This is used internally by the mbuf library. \n\n\nThe \nomp_next\n field is a linked list element which is used to chain mbufs.\n\n\n\n\nFigure 2 also shows a normal mbuf with actual values in the \nos_mbuf\n structure. This mbuf starts at address 0x1000 and is 256 bytes in total length. In this example, the user has copied 33 bytes into the data buffer starting at address 0x1010 (this is where om_data points). Note that the packet header length in this mbuf is 0 as it is not a packet header mbuf.\n\n\n\n\nFigure 3 illustrates the packet header mbuf along with some chained mbufs (i.e a \"packet\"). In this example, the user header structure is defined to be 8 bytes. Note that in figure 3 we show a number of different mbufs with varying \nom_data\n pointers and lengths since we want to show various examples of valid mbufs. For all the mbufs (both packet header and normal ones) the total length of the memory block is 128 bytes.\n\n\n\n\nMbuf pools\n\n\nMbufs are collected into \"mbuf pools\" much like memory blocks. The mbuf pool itself contains a pointer to a memory pool. The memory blocks in this memory pool are the actual mbufs; both normal and packet header mbufs. Thus, the memory block (and corresponding memory pool) must be sized correctly. In other words, the memory blocks which make up the memory pool used by the mbuf pool must be at least: sizeof(struct os_mbuf) + sizeof(struct os_mbuf_pkthdr) + sizeof(struct user_defined_header) + desired minimum data buffer length. For example, if the developer wants mbufs to contain at least 64 bytes of user data and they have a user header of 12 bytes, the size of the memory block would be (at least): 64 + 12 + 16 + 8, or 100 bytes. Yes, this is a fair amount of overhead. However, the flexibility provided by the mbuf library usually outweighs overhead concerns.\n\n\nCreate mbuf pool\n\n\nCreating an mbuf pool is fairly simple: create a memory pool and then create the mbuf pool using that memory pool. Once the developer has determined the size of the user data needed per mbuf (this is based on the application/networking stack and is outside the scope of this discussion) and the size of the user header (if any), the memory blocks can be sized. In the example shown below, the application requires 64 bytes of user data per mbuf and also allocates a user header (called struct user_hdr). Note that we do not show the user header data structure as there really is no need; all we need to do is to account for it when creating the memory pool. In the example, we use the macro \nMBUF_PKTHDR_OVERHEAD\n to denote the amount of packet header overhead per mbuf and \nMBUF_MEMBLOCK_OVERHEAD\n to denote the total amount of overhead required per memory block. The macro \nMBUF_BUF_SIZE\n is used to denote the amount of payload that the application requires (aligned on a 32-bit boundary in this case). All this leads to the total memory block size required, denoted by the macro \nMBUF_MEMBLOCK_OVERHEAD\n.\n\n\n#define MBUF_PKTHDR_OVERHEAD    sizeof(struct os_mbuf_pkthdr) + sizeof(struct user_hdr)\n\n\n#define MBUF_MEMBLOCK_OVERHEAD  sizeof(struct os_mbuf) + MBUF_PKTHDR_OVERHEAD\n\n\n\n#define MBUF_NUM_MBUFS      (32)\n\n\n#define MBUF_PAYLOAD_SIZE   (64)\n\n\n#define MBUF_BUF_SIZE       OS_ALIGN(MBUF_PAYLOAD_SIZE, 4)\n\n\n#define MBUF_MEMBLOCK_SIZE  (MBUF_BUF_SIZE + MBUF_MEMBLOCK_OVERHEAD)\n\n\n#define MBUF_MEMPOOL_SIZE   OS_MEMPOOL_SIZE(MBUF_NUM_MBUFS, MBUF_MEMBLOCK_SIZE)\n\n\n\nstruct\n \nos_mbuf_pool\n \ng_mbuf_pool\n; \n\nstruct\n \nos_mempool\n \ng_mbuf_mempool\n;\n\nos_membuf_t\n \ng_mbuf_buffer\n[\nMBUF_MEMPOOL_SIZE\n];\n\n\nvoid\n\n\ncreate_mbuf_pool\n(\nvoid\n)\n{\n    \nint\n \nrc\n;\n\n    \nrc\n \n=\n \nos_mempool_init\n(\ng_mbuf_mempool\n, \nMBUF_NUM_MBUFS\n, \n                          \nMBUF_MEMBLOCK_SIZE\n, \ng_mbuf_buffer\n[\n0\n], \nmbuf_pool\n);\n    \nassert\n(\nrc\n \n==\n \n0\n);\n\n    \nrc\n \n=\n \nos_mbuf_pool_init\n(\ng_mbuf_pool\n, \ng_mbuf_mempool\n, \nMBUF_MEMBLOCK_SIZE\n, \n                           \nMBUF_NUM_MBUFS\n);\n    \nassert\n(\nrc\n \n==\n \n0\n);\n}\n\n\n\n\n\nUsing mbufs\n\n\nThe following examples illustrate typical mbuf usage. There are two basic mbuf allocation API: \nos_mbuf_get()\n and \nos_mbuf_get_pkthdr()\n. The first API obtains a normal mbuf whereas the latter obtains a packet header mbuf. Typically, application developers use \nos_mbuf_get_pkthdr()\n and rarely, if ever, need to call \nos_mbuf_get()\n as the rest of the mbuf API (e.g. \nos_mbuf_append()\n, \nos_mbuf_copyinto()\n, etc.) typically deal with allocating and chaining mbufs. It is recommended to use the provided API to copy data into/out of mbuf chains and/or manipulate mbufs.\n\n\nIn \nexample1\n, the developer creates a packet and then sends the packet to a networking interface. The code sample also provides an example of copying data out of an mbuf as well as use of the \"pullup\" api (another very common mbuf api).\n\n\nvoid\n\n\nmbuf_usage_example1\n(\nuint8_t\n \n*mydata\n, \nint\n \nmydata_length\n)\n{\n    \nint\n \nrc\n;\n    \nstruct\n \nos_mbuf\n \n*om\n;\n\n    \n/* get a packet header mbuf */\n\n    \nom\n \n=\n \nos_mbuf_get_pkthdr\n(\ng_mbuf_pool\n, \nsizeof\n(\nstruct\n \nuser_hdr\n));\n    \nif\n (\nom\n) {\n        \n/* \n\n\n         * Copy user data into mbuf. NOTE: if mydata_length is greater than the\n\n\n         * mbuf payload size (64 bytes using above example), mbufs are allocated\n\n\n         * and chained together to accommodate the total packet length.\n\n\n         */\n\n        \nrc\n \n=\n \nos_mbuf_copyinto\n(\nom\n, \n0\n, \nmydata\n, \nlen\n);\n        \nif\n (\nrc\n) {\n            \n/* Error! Could not allocate enough mbufs for total packet length */\n\n            \nreturn\n \n-\n1\n;\n        }\n\n        \n/* Send packet to networking interface */\n\n        \nsend_pkt\n(\nom\n);\n    }\n}\n\n\n\n\n\nIn \nexample2\n we show use of the pullup api as this illustrates some of the typical pitfalls developers encounter when using mbufs. The first pitfall is one of alignment/padding. Depending on the processor and/or compiler, the sizeof() a structure may vary. Thus, the size of \nmy_protocol_header\n may be different inside the packet data of the mbuf than the size of the structure on the stack or as a global variable, for instance. While some networking protcols may align protocol information on convenient processor boundaries many others try to conserve bytes \"on the air\" (i.e inside the packet data). Typical methods used to deal with this are \"packing\" the structure (i.e. force compiler to not pad) or creating protocol headers that do not require padding. \nexample2\n assumes that one of these methods was used when defining the \nmy_protocol_header\n structure.\n\n\nAnother common pitfall occurs around endianness. A network protocol may be little endian or big endian; it all depends on the protocol specification. Processors also have an endianness; this means that the developer has to be careful that the processor endianness and the protocol endianness are handled correctly. In \nexample2\n, some common networking functions are used: \nntohs()\n and \nntohl()\n. These are shorthand for \"network order to host order, short\" and \"network order to host order, long\". Basically, these functions convert data of a certain size (i.e. 16 bits, 32 bits, etc) to the endianness of the host. Network byte order is big-endian (most significant byte first), so these functions convert big-endian byte order to host order (thus, the implementation of these functions is host dependent). Note that the BLE networking stack \"on the air\" format is least signigicant byte first (i.e. little endian), so a \"bletoh\" function would have to take little endian format and convert to host format.\n\n\nA long story short: the developer must take care when copying structure data to/from mbufs and flat buffers!\n\n\nA final note: these examples assume the same mbuf struture and definitions used in the first example. \n\n\nvoid\n\n\nmbuf_usage_example2\n(\nstruct\n \nmbuf\n \n*rxpkt\n)\n{\n    \nint\n \nrc\n;\n    \nuint8_t\n \npacket_data\n[\n16\n];\n    \nstruct\n \nmbuf\n \n*om\n;\n    \nstruct\n \nmy_protocol_header\n \n*phdr\n;\n\n    \n/* Make sure that \nmy_protocol_header\n bytes are contiguous in mbuf */\n\n    \nom\n \n=\n \nos_mbuf_pullup\n(\ng_mbuf_pool\n, \nsizeof\n(\nstruct\n \nmy_protocol_header\n));\n    \nif\n (\n!om\n) {\n        \n/* Not able to pull up data into contiguous area */\n\n        \nreturn\n \n-\n1\n;\n    }\n\n    \n/* \n\n\n     * Get the protocol information from the packet. In this example we presume that we\n\n\n     * are interested in protocol types that are equal to MY_PROTOCOL_TYPE, are not zero\n\n\n     * length, and have had some time in flight.\n\n\n     */\n\n    \nphdr\n \n=\n \nOS_MBUF_DATA\n(\nom\n, \nstruct\n \nmy_protocol_header\n \n*\n);\n    \ntype\n \n=\n \nntohs\n(\nphdr-\nprot_type\n);\n    \nlength\n \n=\n \nntohs\n(\nphdr-\nprot_length\n);\n    \ntime_in_flight\n \n=\n \nntohl\n(\nphdr-\nprot_tif\n);\n\n    \nif\n ((\ntype\n \n==\n \nMY_PROTOCOL_TYPE\n) \n (\nlength\n \n \n0\n) \n (\ntime_in_flight\n \n \n0\n)) {\n        \nrc\n \n=\n \nos_mbuf_copydata\n(\nrxpkt\n, \nsizeof\n(\nstruct\n \nmy_protocol_header\n), \n16\n, \npacket_data\n);\n        \nif\n (\n!rc\n) {\n            \n/* Success! Perform operations on packet data */\n\n            \n... \nuser\n \ncode\n \nhere\n ...\n\n        }\n    }\n\n    \n/* Free passed in packet (mbuf chain) since we don\nt need it anymore */\n\n    \nos_mbuf_free_chain\n(\nom\n);\n}\n\n\n\n\n\n\n\nData Structures\n\n\nstruct\n \nos_mbuf_pool\n {\n    \nuint16_t\n \nomp_databuf_len\n;\n    \nuint16_t\n \nomp_mbuf_count\n;\n    \nstruct\n \nos_mempool\n \n*omp_pool\n;\n    \nSTAILQ_ENTRY\n(\nos_mbuf_pool\n) \nomp_next\n;\n};\n\n\n\n\n\n\n\n\n\n\n\nElement\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nomp_databuf_len\n\n\nThe length, in bytes, of the \"data buffer\" of the mbuf. The data buffer of the mbuf is everything except the os_mbuf structure (which is present in all types of mbufs)\n\n\n\n\n\n\nomp_mbuf_count\n\n\nTotal number of mbufs in the pool when allocated. This is NOT the number of free mbufs in the pool!\n\n\n\n\n\n\nomp_pool\n\n\nThe memory pool from which the mbufs are allocated\n\n\n\n\n\n\nomp_next\n\n\nThis is a linked list pointer which chains memory pools. It is used by the system memory pool library\n\n\n\n\n\n\n\n\n\n\nstruct\n \nos_mbuf_pkthdr\n {\n    \nuint16_t\n \nomp_len\n;\n    \nuint16_t\n \nomp_flags\n;\n    \nSTAILQ_ENTRY\n(\nos_mbuf_pkthdr\n) \nomp_next\n;\n};\n\n\n\n\n\n\n\n\n\n\n\nElement\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nomp_len\n\n\nLength, in bytes, of the \"packet\". This is the sum of the user data in all the mbufs chained to the packet header mbuf (including the packet header mbuf)\n\n\n\n\n\n\nomp_flags\n\n\nPacket header flags.\n\n\n\n\n\n\nomp_next\n\n\nLinked list pointer to chain \"packets\". This can be used to add mbuf chains to a queue or linked list and is there for convenience.\n\n\n\n\n\n\n\n\n\n\nstruct\n \nos_mbuf\n {\n    \nuint8_t\n \n*om_data\n;\n    \nuint8_t\n \nom_flags\n;\n    \nuint8_t\n \nom_pkthdr_len\n;\n    \nuint16_t\n \nom_len\n;\n    \nstruct\n \nos_mbuf_pool\n \n*om_omp\n;\n    \nSLIST_ENTRY\n(\nos_mbuf\n) \nom_next\n;\n    \nuint8_t\n \nom_databuf\n[\n0\n];\n};\n\n\n\n\n\n\n\n\n\n\n\nElement\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nom_data\n\n\nPointer to start of user data in mbuf data buffer\n\n\n\n\n\n\nom_flags\n\n\nmbuf flags field. Currently all flags unused.\n\n\n\n\n\n\nom_pkthdr_len\n\n\nThe total length of all packet headers in the mbuf (mbuf packet header plus user packet header), in bytes\n\n\n\n\n\n\nom_len\n\n\nThe length of the user data contained in this mbuf, in bytes\n\n\n\n\n\n\nom_omp\n\n\nMemory pool pointer. This is the mbuf pool from which this mbuf was allocated.\n\n\n\n\n\n\nom_next\n\n\nPointer to next mbuf in packet chain\n\n\n\n\n\n\nom_databuf\n\n\nmbuf data buffer (accessor to start of mbuf data buffer). Note that the mbuf data buffer refers to the start of either the user data in normal mbufs or the start of the os mbuf packet header for packet header mbufs\n\n\n\n\n\n\n\n\nList of Functions/Macros\n\n\nThe functions/macros available in mbuf are:\n\n\n\n\n\n\n\n\nFunction/Macro\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nOS_MBUF_PKTHDR\n\n\nGet a pointer to the os mbuf packet header of an mbuf.\n\n\n\n\n\n\nOS_MBUF_PKTHDR_TO_MBUF\n\n\nGet a pointer to the mbuf given a pointer to the os mbuf packet header.\n\n\n\n\n\n\nOS_MBUF_PKTLEN\n\n\nGet the length of an entire mbuf chain.\n\n\n\n\n\n\nOS_MBUF_DATA\n\n\nCast the data pointer of an mbuf to a given type.\n\n\n\n\n\n\nOS_MBUF_USRHDR\n\n\nGet a pointer to the user packet header of an mbuf.\n\n\n\n\n\n\nOS_MBUF_USRHDR_LEN\n\n\nRetrieve the length of the user packet header in an mbuf.\n\n\n\n\n\n\nOS_MBUF_LEADINGSPACE\n\n\nGet the amount of leading space in an mbuf (in bytes).\n\n\n\n\n\n\nOS_MBUF_TRAILINGSPACE\n\n\nGet the amount of trailing space in an mbuf (in bytes).\n\n\n\n\n\n\nos_mbuf_adj\n\n\nTrims the given number of bytes from either the head (if positive) or tail (if negative) of an mbuf chain.\n\n\n\n\n\n\nos_mbuf_append\n\n\nAppends a data buffer of the given length to the end of an mbuf chain.\n\n\n\n\n\n\nos_mbuf_concat\n\n\nAttaches a second mbuf chain onto the end of the first.\n\n\n\n\n\n\nos_mbuf_copydata\n\n\nCopy data from an mbuf chain.\n\n\n\n\n\n\nos_mbuf_copyinto\n\n\nCopies the contents of a flat buffer into an mbuf chain.\n\n\n\n\n\n\nos_mbuf_dup\n\n\nDuplicate a chain of mbufs.\n\n\n\n\n\n\nos_mbuf_extend\n\n\nIncreases the length of an mbuf chain by the specified amount.\n\n\n\n\n\n\nos_mbuf_free_chain\n\n\nFrees a chain of mbufs.\n\n\n\n\n\n\nos_mbuf_get\n\n\nGet an mbuf from the mbuf pool.\n\n\n\n\n\n\nos_mbuf_get_pkthdr\n\n\nAllocates a packet header mbuf from the given mbuf pool. Adds a user header to the packet header mbuf.\n\n\n\n\n\n\nos_mbuf_memcmp\n\n\nPerforms a memory compare of the specified region of an mbuf chain against a flat buffer.\n\n\n\n\n\n\nos_mbuf_off\n\n\nGiven an offset in the packet, return the mbuf and the offset in that mbuf where byte 'off' is located.\n\n\n\n\n\n\nos_mbuf_pool_init\n\n\nnitialize an mbuf pool.\n\n\n\n\n\n\nos_mbuf_prepend\n\n\nIncreases the length of an mbuf chain by adding data to the front.\n\n\n\n\n\n\nos_mbuf_pullup\n\n\nRearrange an mbuf chain so that the given length of bytes are contiguous and in the data area of an mbuf.", 
+            "text": "Mbufs\n\n\nThe mbuf (short for memory buffer) is a common concept in networking stacks. The mbuf is used to hold packet data as it traverses the stack. The mbuf also generally stores header information or other networking stack information that is carried around with the packet. The mbuf and its associated library of functions were developed to make common networking stack operations (like stripping and adding protocol headers) efficient and as copy-free as possible.\n\n\nIn its simplest form, an mbuf is a memory block with some space reserved for internal information and a pointer which is used to \"chain\" memory blocks together in order to create a \"packet\". This is a very important aspect of the mbuf: the ability to chain mbufs together to create larger \"packets\" (chains of mbufs).\n\n\nWhy use mbufs?\n\n\nThe main reason is to conserve memory. Consider a networking protocol that generally sends small packets but occasionally sends large ones. The Bluetooth Low Energy (BLE) protocol is one such example. A flat buffer would need to be sized so that the maximum packet size could be contained by the buffer. With the mbuf, a number of mbufs can be chained together so that the occasional large packet can be handled while leaving more packet buffers available to the networking stack for smaller packets.\n\n\nPacket Header mbuf\n\n\nNot all mbufs are created equal. The first mbuf in a chain of mbufs is a special mbuf called a \"packet header mbuf\". The reason that this mbuf is special is that it contains the length of all the data contained by the chain of mbufs (the packet length, in other words). The packet header mbuf may also contain a user defined structure (called a \"user header\") so that networking protocol specific information can be conveyed to various layers of the networking stack. Any mbufs that are part of the packet (i.e. in the mbuf chain but not the first one) are \"normal\" (i.e. non-packet header) mbufs. A normal mbuf does not have any packet header or user packet header structures in them; they only contain the basic mbuf header (\nstruct os_mbuf\n). Figure 1 illustrates these two types of mbufs. Note that the numbers/text in parentheses denote the size of the structures/elements (in bytes) and that MBLEN is the memory block length of the memory pool used by the mbuf pool.\n\n\n\n\nNormal mbuf\n\n\nNow let's take a deeper dive into the mbuf structure. Figure 2 illustrates a normal mbuf and breaks out the various fields in the \nos_mbuf\n structure. \n\n\n\n\nThe \nom_data\n field is a pointer to where the data starts inside the data buffer. Typically, mbufs that are allocated from the mbuf pool (discussed later) have their om_data pointer set to the start of the data buffer but there are cases where this may not be desirable (added a protocol header to a packet, for example). \n\n\nThe \nom_flags\n field is a set of flags used internally by the mbuf library. Currently, no flags have been defined. \n\n\nThe \nom_pkthdr_len\n field is the total length of all packet headers in the mbuf. For normal mbufs this is set to 0 as there is no packet or user packet headers. For packet header mbufs, this would be set to the length of the packet header structure (16) plus the size of the user packet header (if any). Note that it is this field which differentiates packet header mbufs from normal mbufs (i.e. if \nom_pkthdr_len\n is zero, this is a normal mbuf; otherwise it is a packet header mbuf). \n\n\nThe \nom_len\n field contains the amount of user data in the data buffer. When initially allocated, this field is 0 as there is no user data in the mbuf. \n\n\nThe \nomp_pool\n field is a pointer to the pool from which this mbuf has been allocated. This is used internally by the mbuf library. \n\n\nThe \nomp_next\n field is a linked list element which is used to chain mbufs.\n\n\n\n\nFigure 2 also shows a normal mbuf with actual values in the \nos_mbuf\n structure. This mbuf starts at address 0x1000 and is 256 bytes in total length. In this example, the user has copied 33 bytes into the data buffer starting at address 0x1010 (this is where om_data points). Note that the packet header length in this mbuf is 0 as it is not a packet header mbuf.\n\n\n\n\nFigure 3 illustrates the packet header mbuf along with some chained mbufs (i.e a \"packet\"). In this example, the user header structure is defined to be 8 bytes. Note that in figure 3 we show a number of different mbufs with varying \nom_data\n pointers and lengths since we want to show various examples of valid mbufs. For all the mbufs (both packet header and normal ones) the total length of the memory block is 128 bytes.\n\n\n\n\nMbuf pools\n\n\nMbufs are collected into \"mbuf pools\" much like memory blocks. The mbuf pool itself contains a pointer to a memory pool. The memory blocks in this memory pool are the actual mbufs; both normal and packet header mbufs. Thus, the memory block (and corresponding memory pool) must be sized correctly. In other words, the memory blocks which make up the memory pool used by the mbuf pool must be at least: sizeof(struct os_mbuf) + sizeof(struct os_mbuf_pkthdr) + sizeof(struct user_defined_header) + desired minimum data buffer length. For example, if the developer wants mbufs to contain at least 64 bytes of user data and they have a user header of 12 bytes, the size of the memory block would be (at least): 64 + 12 + 16 + 8, or 100 bytes. Yes, this is a fair amount of overhead. However, the flexibility provided by the mbuf library usually outweighs overhead concerns.\n\n\nCreate mbuf pool\n\n\nCreating an mbuf pool is fairly simple: create a memory pool and then create the mbuf pool using that memory pool. Once the developer has determined the size of the user data needed per mbuf (this is based on the application/networking stack and is outside the scope of this discussion) and the size of the user header (if any), the memory blocks can be sized. In the example shown below, the application requires 64 bytes of user data per mbuf and also allocates a user header (called struct user_hdr). Note that we do not show the user header data structure as there really is no need; all we need to do is to account for it when creating the memory pool. In the example, we use the macro \nMBUF_PKTHDR_OVERHEAD\n to denote the amount of packet header overhead per mbuf and \nMBUF_MEMBLOCK_OVERHEAD\n to denote the total amount of overhead required per memory block. The macro \nMBUF_BUF_SIZE\n is used to denote the amount of payload that the application requires (aligned on a 32-bit boundary in this case). All this leads to the total memory block size required, denoted by the macro \nMBUF_MEMBLOCK_OVERHEAD\n.\n\n\n#define MBUF_PKTHDR_OVERHEAD    sizeof(struct os_mbuf_pkthdr) + sizeof(struct user_hdr)\n\n\n#define MBUF_MEMBLOCK_OVERHEAD  sizeof(struct os_mbuf) + MBUF_PKTHDR_OVERHEAD\n\n\n\n#define MBUF_NUM_MBUFS      (32)\n\n\n#define MBUF_PAYLOAD_SIZE   (64)\n\n\n#define MBUF_BUF_SIZE       OS_ALIGN(MBUF_PAYLOAD_SIZE, 4)\n\n\n#define MBUF_MEMBLOCK_SIZE  (MBUF_BUF_SIZE + MBUF_MEMBLOCK_OVERHEAD)\n\n\n#define MBUF_MEMPOOL_SIZE   OS_MEMPOOL_SIZE(MBUF_NUM_MBUFS, MBUF_MEMBLOCK_SIZE)\n\n\n\nstruct\n \nos_mbuf_pool\n \ng_mbuf_pool\n; \n\nstruct\n \nos_mempool\n \ng_mbuf_mempool\n;\n\nos_membuf_t\n \ng_mbuf_buffer\n[\nMBUF_MEMPOOL_SIZE\n];\n\n\nvoid\n\n\ncreate_mbuf_pool\n(\nvoid\n)\n{\n    \nint\n \nrc\n;\n\n    \nrc\n \n=\n \nos_mempool_init\n(\ng_mbuf_mempool\n, \nMBUF_NUM_MBUFS\n, \n                          \nMBUF_MEMBLOCK_SIZE\n, \ng_mbuf_buffer\n[\n0\n], \nmbuf_pool\n);\n    \nassert\n(\nrc\n \n==\n \n0\n);\n\n    \nrc\n \n=\n \nos_mbuf_pool_init\n(\ng_mbuf_pool\n, \ng_mbuf_mempool\n, \nMBUF_MEMBLOCK_SIZE\n, \n                           \nMBUF_NUM_MBUFS\n);\n    \nassert\n(\nrc\n \n==\n \n0\n);\n}\n\n\n\n\n\nUsing mbufs\n\n\nThe following examples illustrate typical mbuf usage. There are two basic mbuf allocation API: \nos_mbuf_get()\n and \nos_mbuf_get_pkthdr()\n. The first API obtains a normal mbuf whereas the latter obtains a packet header mbuf. Typically, application developers use \nos_mbuf_get_pkthdr()\n and rarely, if ever, need to call \nos_mbuf_get()\n as the rest of the mbuf API (e.g. \nos_mbuf_append()\n, \nos_mbuf_copyinto()\n, etc.) typically deal with allocating and chaining mbufs. It is recommended to use the provided API to copy data into/out of mbuf chains and/or manipulate mbufs.\n\n\nIn \nexample1\n, the developer creates a packet and then sends the packet to a networking interface. The code sample also provides an example of copying data out of an mbuf as well as use of the \"pullup\" api (another very common mbuf api).\n\n\nvoid\n\n\nmbuf_usage_example1\n(\nuint8_t\n \n*mydata\n, \nint\n \nmydata_length\n)\n{\n    \nint\n \nrc\n;\n    \nstruct\n \nos_mbuf\n \n*om\n;\n\n    \n/* get a packet header mbuf */\n\n    \nom\n \n=\n \nos_mbuf_get_pkthdr\n(\ng_mbuf_pool\n, \nsizeof\n(\nstruct\n \nuser_hdr\n));\n    \nif\n (\nom\n) {\n        \n/* \n\n\n         * Copy user data into mbuf. NOTE: if mydata_length is greater than the\n\n\n         * mbuf payload size (64 bytes using above example), mbufs are allocated\n\n\n         * and chained together to accommodate the total packet length.\n\n\n         */\n\n        \nrc\n \n=\n \nos_mbuf_copyinto\n(\nom\n, \n0\n, \nmydata\n, \nmydata_length\n);\n        \nif\n (\nrc\n) {\n            \n/* Error! Could not allocate enough mbufs for total packet length */\n\n            \nreturn\n \n-\n1\n;\n        }\n\n        \n/* Send packet to networking interface */\n\n        \nsend_pkt\n(\nom\n);\n    }\n}\n\n\n\n\n\nIn \nexample2\n we show use of the pullup api as this illustrates some of the typical pitfalls developers encounter when using mbufs. The first pitfall is one of alignment/padding. Depending on the processor and/or compiler, the sizeof() a structure may vary. Thus, the size of \nmy_protocol_header\n may be different inside the packet data of the mbuf than the size of the structure on the stack or as a global variable, for instance. While some networking protcols may align protocol information on convenient processor boundaries many others try to conserve bytes \"on the air\" (i.e inside the packet data). Typical methods used to deal with this are \"packing\" the structure (i.e. force compiler to not pad) or creating protocol headers that do not require padding. \nexample2\n assumes that one of these methods was used when defining the \nmy_protocol_header\n structure.\n\n\nAnother common pitfall occurs around endianness. A network protocol may be little endian or big endian; it all depends on the protocol specification. Processors also have an endianness; this means that the developer has to be careful that the processor endianness and the protocol endianness are handled correctly. In \nexample2\n, some common networking functions are used: \nntohs()\n and \nntohl()\n. These are shorthand for \"network order to host order, short\" and \"network order to host order, long\". Basically, these functions convert data of a certain size (i.e. 16 bits, 32 bits, etc) to the endianness of the host. Network byte order is big-endian (most significant byte first), so these functions convert big-endian byte order to host order (thus, the implementation of these functions is host dependent). Note that the BLE networking stack \"on the air\" format is least signigicant byte first (i.e. little endian), so a \"bletoh\" function would have to take little endian format and convert to host format.\n\n\nA long story short: the developer must take care when copying structure data to/from mbufs and flat buffers!\n\n\nA final note: these examples assume the same mbuf struture and definitions used in the first example. \n\n\nvoid\n\n\nmbuf_usage_example2\n(\nstruct\n \nmbuf\n \n*rxpkt\n)\n{\n    \nint\n \nrc\n;\n    \nuint8_t\n \npacket_data\n[\n16\n];\n    \nstruct\n \nmbuf\n \n*om\n;\n    \nstruct\n \nmy_protocol_header\n \n*phdr\n;\n\n    \n/* Make sure that \nmy_protocol_header\n bytes are contiguous in mbuf */\n\n    \nom\n \n=\n \nos_mbuf_pullup\n(\ng_mbuf_pool\n, \nsizeof\n(\nstruct\n \nmy_protocol_header\n));\n    \nif\n (\n!om\n) {\n        \n/* Not able to pull up data into contiguous area */\n\n        \nreturn\n \n-\n1\n;\n    }\n\n    \n/* \n\n\n     * Get the protocol information from the packet. In this example we presume that we\n\n\n     * are interested in protocol types that are equal to MY_PROTOCOL_TYPE, are not zero\n\n\n     * length, and have had some time in flight.\n\n\n     */\n\n    \nphdr\n \n=\n \nOS_MBUF_DATA\n(\nom\n, \nstruct\n \nmy_protocol_header\n \n*\n);\n    \ntype\n \n=\n \nntohs\n(\nphdr-\nprot_type\n);\n    \nlength\n \n=\n \nntohs\n(\nphdr-\nprot_length\n);\n    \ntime_in_flight\n \n=\n \nntohl\n(\nphdr-\nprot_tif\n);\n\n    \nif\n ((\ntype\n \n==\n \nMY_PROTOCOL_TYPE\n) \n (\nlength\n \n \n0\n) \n (\ntime_in_flight\n \n \n0\n)) {\n        \nrc\n \n=\n \nos_mbuf_copydata\n(\nrxpkt\n, \nsizeof\n(\nstruct\n \nmy_protocol_header\n), \n16\n, \npacket_data\n);\n        \nif\n (\n!rc\n) {\n            \n/* Success! Perform operations on packet data */\n\n            \n... \nuser\n \ncode\n \nhere\n ...\n\n        }\n    }\n\n    \n/* Free passed in packet (mbuf chain) since we don\nt need it anymore */\n\n    \nos_mbuf_free_chain\n(\nom\n);\n}\n\n\n\n\n\n\n\nData Structures\n\n\nstruct\n \nos_mbuf_pool\n {\n    \nuint16_t\n \nomp_databuf_len\n;\n    \nuint16_t\n \nomp_mbuf_count\n;\n    \nstruct\n \nos_mempool\n \n*omp_pool\n;\n    \nSTAILQ_ENTRY\n(\nos_mbuf_pool\n) \nomp_next\n;\n};\n\n\n\n\n\n\n\n\n\n\n\nElement\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nomp_databuf_len\n\n\nThe length, in bytes, of the \"data buffer\" of the mbuf. The data buffer of the mbuf is everything except the os_mbuf structure (which is present in all types of mbufs)\n\n\n\n\n\n\nomp_mbuf_count\n\n\nTotal number of mbufs in the pool when allocated. This is NOT the number of free mbufs in the pool!\n\n\n\n\n\n\nomp_pool\n\n\nThe memory pool from which the mbufs are allocated\n\n\n\n\n\n\nomp_next\n\n\nThis is a linked list pointer which chains memory pools. It is used by the system memory pool library\n\n\n\n\n\n\n\n\n\n\nstruct\n \nos_mbuf_pkthdr\n {\n    \nuint16_t\n \nomp_len\n;\n    \nuint16_t\n \nomp_flags\n;\n    \nSTAILQ_ENTRY\n(\nos_mbuf_pkthdr\n) \nomp_next\n;\n};\n\n\n\n\n\n\n\n\n\n\n\nElement\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nomp_len\n\n\nLength, in bytes, of the \"packet\". This is the sum of the user data in all the mbufs chained to the packet header mbuf (including the packet header mbuf)\n\n\n\n\n\n\nomp_flags\n\n\nPacket header flags.\n\n\n\n\n\n\nomp_next\n\n\nLinked list pointer to chain \"packets\". This can be used to add mbuf chains to a queue or linked list and is there for convenience.\n\n\n\n\n\n\n\n\n\n\nstruct\n \nos_mbuf\n {\n    \nuint8_t\n \n*om_data\n;\n    \nuint8_t\n \nom_flags\n;\n    \nuint8_t\n \nom_pkthdr_len\n;\n    \nuint16_t\n \nom_len\n;\n    \nstruct\n \nos_mbuf_pool\n \n*om_omp\n;\n    \nSLIST_ENTRY\n(\nos_mbuf\n) \nom_next\n;\n    \nuint8_t\n \nom_databuf\n[\n0\n];\n};\n\n\n\n\n\n\n\n\n\n\n\nElement\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nom_data\n\n\nPointer to start of user data in mbuf data buffer\n\n\n\n\n\n\nom_flags\n\n\nmbuf flags field. Currently all flags unused.\n\n\n\n\n\n\nom_pkthdr_len\n\n\nThe total length of all packet headers in the mbuf (mbuf packet header plus user packet header), in bytes\n\n\n\n\n\n\nom_len\n\n\nThe length of the user data contained in this mbuf, in bytes\n\n\n\n\n\n\nom_omp\n\n\nMemory pool pointer. This is the mbuf pool from which this mbuf was allocated.\n\n\n\n\n\n\nom_next\n\n\nPointer to next mbuf in packet chain\n\n\n\n\n\n\nom_databuf\n\n\nmbuf data buffer (accessor to start of mbuf data buffer). Note that the mbuf data buffer refers to the start of either the user data in normal mbufs or the start of the os mbuf packet header for packet header mbufs\n\n\n\n\n\n\n\n\nList of Functions/Macros\n\n\nThe functions/macros available in mbuf are:\n\n\n\n\n\n\n\n\nFunction/Macro\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nOS_MBUF_PKTHDR\n\n\nGet a pointer to the os mbuf packet header of an mbuf.\n\n\n\n\n\n\nOS_MBUF_PKTHDR_TO_MBUF\n\n\nGet a pointer to the mbuf given a pointer to the os mbuf packet header.\n\n\n\n\n\n\nOS_MBUF_PKTLEN\n\n\nGet the length of an entire mbuf chain.\n\n\n\n\n\n\nOS_MBUF_DATA\n\n\nCast the data pointer of an mbuf to a given type.\n\n\n\n\n\n\nOS_MBUF_USRHDR\n\n\nGet a pointer to the user packet header of an mbuf.\n\n\n\n\n\n\nOS_MBUF_USRHDR_LEN\n\n\nRetrieve the length of the user packet header in an mbuf.\n\n\n\n\n\n\nOS_MBUF_LEADINGSPACE\n\n\nGet the amount of leading space in an mbuf (in bytes).\n\n\n\n\n\n\nOS_MBUF_TRAILINGSPACE\n\n\nGet the amount of trailing space in an mbuf (in bytes).\n\n\n\n\n\n\nos_mbuf_adj\n\n\nTrims the given number of bytes from either the head (if positive) or tail (if negative) of an mbuf chain.\n\n\n\n\n\n\nos_mbuf_append\n\n\nAppends a data buffer of the given length to the end of an mbuf chain.\n\n\n\n\n\n\nos_mbuf_concat\n\n\nAttaches a second mbuf chain onto the end of the first.\n\n\n\n\n\n\nos_mbuf_copydata\n\n\nCopy data from an mbuf chain.\n\n\n\n\n\n\nos_mbuf_copyinto\n\n\nCopies the contents of a flat buffer into an mbuf chain.\n\n\n\n\n\n\nos_mbuf_dup\n\n\nDuplicate a chain of mbufs.\n\n\n\n\n\n\nos_mbuf_extend\n\n\nIncreases the length of an mbuf chain by the specified amount.\n\n\n\n\n\n\nos_mbuf_free_chain\n\n\nFrees a chain of mbufs.\n\n\n\n\n\n\nos_mbuf_get\n\n\nGet an mbuf from the mbuf pool.\n\n\n\n\n\n\nos_mbuf_get_pkthdr\n\n\nAllocates a packet header mbuf from the given mbuf pool. Adds a user header to the packet header mbuf.\n\n\n\n\n\n\nos_mbuf_memcmp\n\n\nPerforms a memory compare of the specified region of an mbuf chain against a flat buffer.\n\n\n\n\n\n\nos_mbuf_off\n\n\nGiven an offset in the packet, return the mbuf and the offset in that mbuf where byte 'off' is located.\n\n\n\n\n\n\nos_mbuf_pool_init\n\n\nnitialize an mbuf pool.\n\n\n\n\n\n\nos_mbuf_prepend\n\n\nIncreases the length of an mbuf chain by adding data to the front.\n\n\n\n\n\n\nos_mbuf_pullup\n\n\nRearrange an mbuf chain so that the given length of bytes are contiguous and in the data area of an mbuf.", 
             "title": "toc"
         }, 
         {
@@ -4722,7 +4722,7 @@
         }, 
         {
             "location": "/os/core_os/mbuf/mbuf/#using-mbufs", 
-            "text": "The following examples illustrate typical mbuf usage. There are two basic mbuf allocation API:  os_mbuf_get()  and  os_mbuf_get_pkthdr() . The first API obtains a normal mbuf whereas the latter obtains a packet header mbuf. Typically, application developers use  os_mbuf_get_pkthdr()  and rarely, if ever, need to call  os_mbuf_get()  as the rest of the mbuf API (e.g.  os_mbuf_append() ,  os_mbuf_copyinto() , etc.) typically deal with allocating and chaining mbufs. It is recommended to use the provided API to copy data into/out of mbuf chains and/or manipulate mbufs.  In  example1 , the developer creates a packet and then sends the packet to a networking interface. The code sample also provides an example of copying data out of an mbuf as well as use of the \"pullup\" api (another very common mbuf api).  void  mbuf_usage_example1 ( uint8_t   *mydata ,  int   mydata_length )\n{\n     int   rc ;\n     struct   os_mbuf   *om ;\n\n     /* get a packet header mbuf */ \n     om   =   os_mbuf_get_pkthdr ( g_mbuf_pool ,  sizeof ( struct   user_hdr ));\n     if  ( om ) {\n         /*            * Copy user data into mbuf. NOTE: if mydata_length is greater than the           * mbuf payload size (64 bytes using above example), mbufs are allocated           * and chained together to accommodate the total packet length.           */ \n         rc   =   os_mbuf_copyinto ( om ,  0 ,  mydata ,  len );\n         if  ( rc ) {\n             /* Error! Could not allocate enough mbufs for total packet length */ \n             return   - 1 ;\n        }\n\n         /* Send packet to networking interface */ \n         send_pkt ( om );\n    }\n}  In  example2  we show use of the pullup api as this illustrates some of the typical pitfalls developers encounter when using mbufs. The first pitfall is one of alignment/padding. Depending on the processor and/or compiler, the sizeof() a structure may vary. Thus, the size of  my_protocol_header  may be different inside the packet data of the mbuf than the size of the structure on the stack or as a global variable, for instance. While some networking protcols may align protocol information on convenient processor boundaries many others try to conserve bytes \"on the air\" (i.e inside the packet data). Typical methods used to deal with this are \"packing\" the structure (i.e. force compiler to not pad) or creating protocol headers that do not require padding.  example2  assumes that one of these methods was used when defining the  my_protocol_header  structure.  Another common pitfall occurs around endianness. A network protocol may be little endian or big endian; it all depends on the protocol specification. Processors also have an endianness; this means that the developer has to be careful that the processor endianness and the protocol endianness are handled correctly. In  example2 , some common networking functions are used:  ntohs()  and  ntohl() . These are shorthand for \"network order to host order, short\" and \"network order to host order, long\". Basically, these functions convert data of a certain size (i.e. 16 bits, 32 bits, etc) to the endianness of the host. Network byte order is big-endian (most significant byte first), so these functions convert big-endian byte order to host order (thus, the implementation of these functions is host dependent). Note that the BLE networking stack \"on the air\" format is least signigicant byte first (i.e. little endian), so a \"bletoh\" function would have to take little endian format and convert to host format.  A long story short: the developer must take care when copying structure data to/from mbufs and flat buffers!  A final note: these examples assume the same mbuf struture and definitions used in the first example.   void  mbuf_usage_example2 ( struct   mbuf   *rxpkt )\n{\n     int   rc ;\n     uint8_t   packet_data [ 16 ];\n     struct   mbuf   *om ;\n     struct   my_protocol_header   *phdr ;\n\n     /* Make sure that  my_protocol_header  bytes are contiguous in mbuf */ \n     om   =   os_mbuf_pullup ( g_mbuf_pool ,  sizeof ( struct   my_protocol_header ));\n     if  ( !om ) {\n         /* Not able to pull up data into contiguous area */ \n         return   - 1 ;\n    }\n\n     /*        * Get the protocol information from the packet. In this example we presume that we       * are interested in protocol types that are equal to MY_PROTOCOL_TYPE, are not zero       * length, and have had some time in flight.       */ \n     phdr   =   OS_MBUF_DATA ( om ,  struct   my_protocol_header   * );\n     type   =   ntohs ( phdr- prot_type );\n     length   =   ntohs ( phdr- prot_length );\n     time_in_flight   =   ntohl ( phdr- prot_tif );\n\n     if  (( type   ==   MY_PROTOCOL_TYPE )   ( length     0 )   ( time_in_flight     0 )) {\n         rc   =   os_mbuf_copydata ( rxpkt ,  sizeof ( struct   my_protocol_header ),  16 ,  packet_data );\n         if  ( !rc ) {\n             /* Success! Perform operations on packet data */ \n             ...  user   code   here  ... \n        }\n    }\n\n     /* Free passed in packet (mbuf chain) since we don t need it anymore */ \n     os_mbuf_free_chain ( om );\n}", 
+            "text": "The following examples illustrate typical mbuf usage. There are two basic mbuf allocation API:  os_mbuf_get()  and  os_mbuf_get_pkthdr() . The first API obtains a normal mbuf whereas the latter obtains a packet header mbuf. Typically, application developers use  os_mbuf_get_pkthdr()  and rarely, if ever, need to call  os_mbuf_get()  as the rest of the mbuf API (e.g.  os_mbuf_append() ,  os_mbuf_copyinto() , etc.) typically deal with allocating and chaining mbufs. It is recommended to use the provided API to copy data into/out of mbuf chains and/or manipulate mbufs.  In  example1 , the developer creates a packet and then sends the packet to a networking interface. The code sample also provides an example of copying data out of an mbuf as well as use of the \"pullup\" api (another very common mbuf api).  void  mbuf_usage_example1 ( uint8_t   *mydata ,  int   mydata_length )\n{\n     int   rc ;\n     struct   os_mbuf   *om ;\n\n     /* get a packet header mbuf */ \n     om   =   os_mbuf_get_pkthdr ( g_mbuf_pool ,  sizeof ( struct   user_hdr ));\n     if  ( om ) {\n         /*            * Copy user data into mbuf. NOTE: if mydata_length is greater than the           * mbuf payload size (64 bytes using above example), mbufs are allocated           * and chained together to accommodate the total packet length.           */ \n         rc   =   os_mbuf_copyinto ( om ,  0 ,  mydata ,  mydata_length );\n         if  ( rc ) {\n             /* Error! Could not allocate enough mbufs for total packet length */ \n             return   - 1 ;\n        }\n\n         /* Send packet to networking interface */ \n         send_pkt ( om );\n    }\n}  In  example2  we show use of the pullup api as this illustrates some of the typical pitfalls developers encounter when using mbufs. The first pitfall is one of alignment/padding. Depending on the processor and/or compiler, the sizeof() a structure may vary. Thus, the size of  my_protocol_header  may be different inside the packet data of the mbuf than the size of the structure on the stack or as a global variable, for instance. While some networking protcols may align protocol information on convenient processor boundaries many others try to conserve bytes \"on the air\" (i.e inside the packet data). Typical methods used to deal with this are \"packing\" the structure (i.e. force compiler to not pad) or creating protocol headers that do not require padding.  example2  assumes that one of these methods was used when defining the  my_protocol_header  structure.  Another common pitfall occurs around endianness. A network protocol may be little endian or big endian; it all depends on the protocol specification. Processors also have an endianness; this means that the developer has to be careful that the processor endianness and the protocol endianness are handled correctly. In  example2 , some common networking functions are used:  ntohs()  and  ntohl() . These are shorthand for \"network order to host order, short\" and \"network order to host order, long\". Basically, these functions convert data of a certain size (i.e. 16 bits, 32 bits, etc) to the endianness of the host. Network byte order is big-endian (most significant byte first), so these functions convert big-endian byte order to host order (thus, the implementation of these functions is host dependent). Note that the BLE networking stack \"on the air\" format is least signigicant byte first (i.e. little endian), so a \"bletoh\" function would have to take little endian format and convert to host format.  A long story short: the developer must take care when copying structure data to/from mbufs and flat buffers!  A final note: these examples assume the same mbuf struture and definitions used in the first example.   void  mbuf_usage_example2 ( struct   mbuf   *rxpkt )\n{\n     int   rc ;\n     uint8_t   packet_data [ 16 ];\n     struct   mbuf   *om ;\n     struct   my_protocol_header   *phdr ;\n\n     /* Make sure that  my_protocol_header  bytes are contiguous in mbuf */ \n     om   =   os_mbuf_pullup ( g_mbuf_pool ,  sizeof ( struct   my_protocol_header ));\n     if  ( !om ) {\n         /* Not able to pull up data into contiguous area */ \n         return   - 1 ;\n    }\n\n     /*        * Get the protocol information from the packet. In this example we presume that we       * are interested in protocol types that are equal to MY_PROTOCOL_TYPE, are not zero       * length, and have had some time in flight.       */ \n     phdr   =   OS_MBUF_DATA ( om ,  struct   my_protocol_header   * );\n     type   =   ntohs ( phdr- prot_type );\n     length   =   ntohs ( phdr- prot_length );\n     time_in_flight   =   ntohl ( phdr- prot_tif );\n\n     if  (( type   ==   MY_PROTOCOL_TYPE )   ( length     0 )   ( time_in_flight     0 )) {\n         rc   =   os_mbuf_copydata ( rxpkt ,  sizeof ( struct   my_protocol_header ),  16 ,  packet_data );\n         if  ( !rc ) {\n             /* Success! Perform operations on packet data */ \n             ...  user   code   here  ... \n        }\n    }\n\n     /* Free passed in packet (mbuf chain) since we don t need it anymore */ \n     os_mbuf_free_chain ( om );\n}", 
             "title": "Using mbufs"
         }, 
         {
diff --git a/os/core_os/mbuf/mbuf/index.html b/os/core_os/mbuf/mbuf/index.html
index e53263088..5bcb50140 100644
--- a/os/core_os/mbuf/mbuf/index.html
+++ b/os/core_os/mbuf/mbuf/index.html
@@ -874,7 +874,7 @@ <h3 id="using-mbufs">Using mbufs</h3>
 <span style="color: #177500">         * mbuf payload size (64 bytes using above example), mbufs are allocated</span>
 <span style="color: #177500">         * and chained together to accommodate the total packet length.</span>
 <span style="color: #177500">         */</span>
-        <span style="color: #000000">rc</span> <span style="color: #000000">=</span> <span style="color: #000000">os_mbuf_copyinto</span>(<span style="color: #000000">om</span>, <span style="color: #1C01CE">0</span>, <span style="color: #000000">mydata</span>, <span style="color: #000000">len</span>);
+        <span style="color: #000000">rc</span> <span style="color: #000000">=</span> <span style="color: #000000">os_mbuf_copyinto</span>(<span style="color: #000000">om</span>, <span style="color: #1C01CE">0</span>, <span style="color: #000000">mydata</span>, <span style="color: #000000">mydata_length</span>);
         <span style="color: #A90D91">if</span> (<span style="color: #000000">rc</span>) {
             <span style="color: #177500">/* Error! Could not allocate enough mbufs for total packet length */</span>
             <span style="color: #A90D91">return</span> <span style="color: #000000">-</span><span style="color: #1C01CE">1</span>;
diff --git a/os/tutorials/bleprph/bleprph-svc-reg/index.html b/os/tutorials/bleprph/bleprph-svc-reg/index.html
index 968ddde65..36ae21d68 100644
--- a/os/tutorials/bleprph/bleprph-svc-reg/index.html
+++ b/os/tutorials/bleprph/bleprph-svc-reg/index.html
@@ -691,7 +691,7 @@ <h4 id="attribute-set">Attribute Set</h4>
 <tr>
 <td>flags</td>
 <td>Indicates which operations are permitted for this characteristic.  The NimBLE stack responds negatively when a peer attempts an unsupported operation.</td>
-<td>The full list of flags can be found under <code>ble_gatt_chr_flags</code> in <a href="https://github.com/apache/mynewt-core/blob/master/net/nimble/host/include/host/ble_gatt.h">net/nimble/host/include/host/ble_gatt.h</a>.</td>
+<td>The full list of flags can be found under <code>ble_gatt_chr_flags</code> in <a href="https://github.com/apache/mynewt-nimble/blob/master/nimble/host/include/host/ble_gatt.h">nimble/host/include/host/ble_gatt.h</a>.</td>
 </tr>
 </tbody>
 </table>


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services