You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ad...@apache.org on 2016/05/10 23:28:42 UTC

incubator-mynewt-site git commit: iBeacon tutorial added. Pull request #80 closed. About page updated with latest release and roadmap.

Repository: incubator-mynewt-site
Updated Branches:
  refs/heads/asf-site fa8942575 -> 735a02b27


iBeacon tutorial added. Pull request #80 closed. About page updated with latest release and roadmap.


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/commit/735a02b2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/tree/735a02b2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/diff/735a02b2

Branch: refs/heads/asf-site
Commit: 735a02b274c6c3d35f8024b57c8246509ac70385
Parents: fa89425
Author: aditihilbert <ad...@runtime.io>
Authored: Tue May 10 16:28:34 2016 -0700
Committer: aditihilbert <ad...@runtime.io>
Committed: Tue May 10 16:28:34 2016 -0700

----------------------------------------------------------------------
 about/index.html                                |  75 +-
 mkdocs/search_index.json                        |  34 +-
 os/os_user_guide/index.html                     |   4 +-
 os/tutorials/STM32F303/index.html               |  10 +
 os/tutorials/add_repos/index.html               |  10 +
 os/tutorials/air_quality_sensor/index.html      |  10 +
 os/tutorials/arduino_zero/index.html            |  10 +
 os/tutorials/bleprph/bleprph-adv/index.html     |  10 +
 .../bleprph/bleprph-chr-access/index.html       |  10 +
 os/tutorials/bleprph/bleprph-conn/index.html    |  14 +-
 os/tutorials/bleprph/bleprph-intro/index.html   |  10 +
 os/tutorials/bleprph/bleprph-svc-reg/index.html |  10 +
 os/tutorials/bletiny_project/index.html         |  10 +
 os/tutorials/blinky_sram_olimex/index.html      |  10 +
 os/tutorials/create_repo/index.html             |  10 +
 os/tutorials/event_queue/index.html             |  10 +
 os/tutorials/ibeacon/index.html                 | 720 +++++++++++++++++++
 os/tutorials/nRF52/index.html                   |  10 +
 os/tutorials/olimex/index.html                  |  10 +
 os/tutorials/project-slinky/index.html          |  10 +
 os/tutorials/project-target-slinky/index.html   |  10 +
 os/tutorials/tutorials/index.html               |  10 +
 os/tutorials/unit_test/index.html               |  10 +
 os/tutorials/upgrade_repo/index.html            |  10 +
 24 files changed, 985 insertions(+), 52 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/about/index.html
----------------------------------------------------------------------
diff --git a/about/index.html b/about/index.html
index 4b715ee..e01fb4b 100644
--- a/about/index.html
+++ b/about/index.html
@@ -164,7 +164,7 @@
             <div class="container">
                 <div class="row">
                     <div class="col-md-12 text-center">
-                        <h3>Latest News: The second beta release of Apache Mynewt is available now. </h3>
+                        <h3>Latest News: Beta release version 0.8.0 of Apache Mynewt is available now. </h3>
                         <p>For more news about Apache Mynewt see below.</p>
                     </div>
                 </div>
@@ -200,6 +200,11 @@
 </ul>
 </li>
 </ul>
+<p><br></p>
+<h1 id="latest-release">Latest Release<a class="headerlink" href="#latest-release" title="Permanent link">&para;</a></h1>
+<p>The latest release is <a href="http://www.apache.org/dyn/closer.lua/incubator/mynewt/apache-mynewt-0.8.0-incubating">Version 0.8.0</a> for which Release Notes are available <a href="https://cwiki.apache.org/confluence/display/MYNEWT/RN-0.8.0-incubating">here</a>.</p>
+<p>For details on download and previous releases, check out <a href="https://mynewt.apache.org/download/">Download</a>.</p>
+<p><br></p>
 <h1 id="roadmap">Roadmap<a class="headerlink" href="#roadmap" title="Permanent link">&para;</a></h1>
 <table>
 <thead>
@@ -212,50 +217,8 @@
 </thead>
 <tbody>
 <tr>
-<td>0.8.0</td>
-<td>pre-GA release #1</td>
-<td>late-April, 2016</td>
-<td>* HAL extensions in OS</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td>* Arduino DUE support</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td>* Image verification</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td>* Stats and logs enhancement</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td>* HAL additions: ADC, DAC, I2C, PWM, SPI</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td>* BLE 4.2: LE legacy pairing, no bonding</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td>* BLE 4.2: Code size optimization</td>
-</tr>
-<tr>
 <td>0.9.0</td>
-<td>pre-GA release #2</td>
+<td>pre-GA release</td>
 <td>May, 2016</td>
 <td>* Support images in external flash</td>
 </tr>
@@ -263,7 +226,7 @@
 <td></td>
 <td></td>
 <td></td>
-<td>* HAL for Nordic nRF52</td>
+<td>* HAL for Nordic nRF52, STMicro</td>
 </tr>
 <tr>
 <td></td>
@@ -291,7 +254,7 @@
 </tr>
 <tr>
 <td>0.10.0</td>
-<td>pre-GA release #3</td>
+<td>pre-GA release</td>
 <td>June, 2016</td>
 <td>* Test coverage improvements</td>
 </tr>
@@ -331,12 +294,32 @@
 <td></td>
 <td>* BLE 4.2: Configurability improvements</td>
 </tr>
+<tr>
+<td>0.11.0</td>
+<td>pre-GA release</td>
+<td>July, 2016</td>
+<td>* Wi-Fi support</td>
+</tr>
+<tr>
+<td></td>
+<td></td>
+<td></td>
+<td>* Add second scripting module</td>
+</tr>
+<tr>
+<td></td>
+<td></td>
+<td></td>
+<td>* C++ friendly external header files</td>
+</tr>
 </tbody>
 </table>
 <p><font color="#F2853F"> The detailed roadmap is tracked on <a href="https://issues.apache.org/jira/browse/MYNEWT/?selectedTab=com.atlassian.jira.jira-projects-plugin:roadmap-panel">JIRA for Mynewt</a>. </font></p>
+<p><br></p>
 <h1 id="feature-request">Feature Request<a class="headerlink" href="#feature-request" title="Permanent link">&para;</a></h1>
 <p>The WISHLIST at the top of the roadmap on <a href="https://issues.apache.org/jira/browse/MYNEWT/?selectedTab=com.atlassian.jira.jira-projects-plugin:roadmap-panel">JIRA for Mynewt</a> features all the new ideas awaiting discussion and review. Once the community decides to go ahead with a request, it is scheduled into a release. Generally, effort is made to schedule a requested feature into a particular version no later than 6 weeks prior to the planned release date.</p>
 <p>If you have suggestions for a new feature, use case, or implementation improvements, file a JIRA ticket with Issue Type set to "Wish". Introduce it in the <a href="../dev@mynewt.incubator.apache.org">dev@</a> mailing list with a link to the JIRA ticket. This assumes you have signed up for an account on JIRA and submitted a request to the dev@ mailing list for your JIRA username to be added to the Apache Mynewt (MYNEWT) project. </p>
+<p><br></p>
 <h1 id="faq">FAQ<a class="headerlink" href="#faq" title="Permanent link">&para;</a></h1>
 <p><font color="#F2853F"> Questions? </font> Click <a href="../faq/answers/">here</a></p>
             

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/mkdocs/search_index.json
----------------------------------------------------------------------
diff --git a/mkdocs/search_index.json b/mkdocs/search_index.json
index 9f99582..3bdbe8d 100644
--- a/mkdocs/search_index.json
+++ b/mkdocs/search_index.json
@@ -7,7 +7,7 @@
         }, 
         {
             "location": "/about/", 
-            "text": "Features\n\n\nApache Mynewt's open-source embedded software is designed with the following components:\n\n\n\n\nMynewt OS: Real-time operating system kernel (Scheduler, Mutexes, Semaphores, etc.)\n\n\nNewt tool: Command line package management and build system \n\n\nHardware Abstraction Layer unifying common MCU features (e.g. GPIOs, High Resolution Timers, PWM interfaces, UARTs, ADCs, etc.)\n\n\nBoard Support Infrastructure, that defines the framework for building software for various board architectures.\n\n\nImage management and upgrade using the secure bootloader, and flash filesystem.\n\n\nSystem configuration that allows collection of logs and statistics for all packages (with filtering options) ranging from OS-level resources such as memory pools, priorities to interface level counters such as packet exchange and queues\n\n\nCore dump captures to enable remote diagnosis of device failures and hiccups\n\n\nNetwork protocol stacks \n\n\nWorld's first fully 
 open-source BLE 4.2 stack\n\n\nSupport for PDUs of up to 251 bytes for high throughput\n\n\nSupport for all 4 roles to be run concurrently - Broadcaster, Observer, Peripheral, Central\n\n\nRandom addresses for link-layer security\n\n\nSecurity Manager Protocol\n\n\nLE Secure Connections\n\n\n\n\n\n\n\n\n\n\n\n\nRoadmap\n\n\n\n\n\n\n\n\nRelease Version\n\n\nDescriptor\n\n\nDate\n\n\nFeatures\n\n\n\n\n\n\n\n\n\n\n0.8.0\n\n\npre-GA release #1\n\n\nlate-April, 2016\n\n\n* HAL extensions in OS\n\n\n\n\n\n\n\n\n\n\n\n\n* Arduino DUE support\n\n\n\n\n\n\n\n\n\n\n\n\n* Image verification\n\n\n\n\n\n\n\n\n\n\n\n\n* Stats and logs enhancement\n\n\n\n\n\n\n\n\n\n\n\n\n* HAL additions: ADC, DAC, I2C, PWM, SPI\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: LE legacy pairing, no bonding\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Code size optimization\n\n\n\n\n\n\n0.9.0\n\n\npre-GA release #2\n\n\nMay, 2016\n\n\n* Support images in external flash\n\n\n\n\n\n\n\n\n\n\n\n\n* HAL for Nordic nRF52\n\n\n\n\n\n\n\n\n\n\
 n\n\n* Support for low power modes in multiple SoCs\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: LE Secure Connections Pairing, including bonding\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Host and Controller separation\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Random private resolvable addresses\n\n\n\n\n\n\n0.10.0\n\n\npre-GA release #3\n\n\nJune, 2016\n\n\n* Test coverage improvements\n\n\n\n\n\n\n\n\n\n\n\n\n* System watchdog\n\n\n\n\n\n\n\n\n\n\n\n\n* Support for additional Arduino boards\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Remote configuration, upgrade, factory reset over BLE 4.2\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Factory reset\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: GATT based BLE profiles for Mynewt\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Configurability improvements\n\n\n\n\n\n\n\n\n The detailed roadmap is tracked on \nJIRA for Mynewt\n. \n\n\nFeature Request\n\n\nThe WISHLIST at the top of the roadmap on \nJIRA for Mynewt\n features all the new ideas awaiting discussion and review. Once the community
  decides to go ahead with a request, it is scheduled into a release. Generally, effort is made to schedule a requested feature into a particular version no later than 6 weeks prior to the planned release date.\n\n\nIf you have suggestions for a new feature, use case, or implementation improvements, file a JIRA ticket with Issue Type set to \"Wish\". Introduce it in the \ndev@\n mailing list with a link to the JIRA ticket. This assumes you have signed up for an account on JIRA and submitted a request to the dev@ mailing list for your JIRA username to be added to the Apache Mynewt (MYNEWT) project. \n\n\nFAQ\n\n\n Questions? \n Click \nhere", 
+            "text": "Features\n\n\nApache Mynewt's open-source embedded software is designed with the following components:\n\n\n\n\nMynewt OS: Real-time operating system kernel (Scheduler, Mutexes, Semaphores, etc.)\n\n\nNewt tool: Command line package management and build system \n\n\nHardware Abstraction Layer unifying common MCU features (e.g. GPIOs, High Resolution Timers, PWM interfaces, UARTs, ADCs, etc.)\n\n\nBoard Support Infrastructure, that defines the framework for building software for various board architectures.\n\n\nImage management and upgrade using the secure bootloader, and flash filesystem.\n\n\nSystem configuration that allows collection of logs and statistics for all packages (with filtering options) ranging from OS-level resources such as memory pools, priorities to interface level counters such as packet exchange and queues\n\n\nCore dump captures to enable remote diagnosis of device failures and hiccups\n\n\nNetwork protocol stacks \n\n\nWorld's first fully 
 open-source BLE 4.2 stack\n\n\nSupport for PDUs of up to 251 bytes for high throughput\n\n\nSupport for all 4 roles to be run concurrently - Broadcaster, Observer, Peripheral, Central\n\n\nRandom addresses for link-layer security\n\n\nSecurity Manager Protocol\n\n\nLE Secure Connections\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nLatest Release\n\n\nThe latest release is \nVersion 0.8.0\n for which Release Notes are available \nhere\n.\n\n\nFor details on download and previous releases, check out \nDownload\n.\n\n\n\n\nRoadmap\n\n\n\n\n\n\n\n\nRelease Version\n\n\nDescriptor\n\n\nDate\n\n\nFeatures\n\n\n\n\n\n\n\n\n\n\n0.9.0\n\n\npre-GA release\n\n\nMay, 2016\n\n\n* Support images in external flash\n\n\n\n\n\n\n\n\n\n\n\n\n* HAL for Nordic nRF52, STMicro\n\n\n\n\n\n\n\n\n\n\n\n\n* Support for low power modes in multiple SoCs\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: LE Secure Connections Pairing, including bonding\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Host and Controller separation\n\n\n\n\n\n\n\n\n\n\n\n
 \n* BLE 4.2: Random private resolvable addresses\n\n\n\n\n\n\n0.10.0\n\n\npre-GA release\n\n\nJune, 2016\n\n\n* Test coverage improvements\n\n\n\n\n\n\n\n\n\n\n\n\n* System watchdog\n\n\n\n\n\n\n\n\n\n\n\n\n* Support for additional Arduino boards\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Remote configuration, upgrade, factory reset over BLE 4.2\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Factory reset\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: GATT based BLE profiles for Mynewt\n\n\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Configurability improvements\n\n\n\n\n\n\n0.11.0\n\n\npre-GA release\n\n\nJuly, 2016\n\n\n* Wi-Fi support\n\n\n\n\n\n\n\n\n\n\n\n\n* Add second scripting module\n\n\n\n\n\n\n\n\n\n\n\n\n* C++ friendly external header files\n\n\n\n\n\n\n\n\n The detailed roadmap is tracked on \nJIRA for Mynewt\n. \n\n\n\n\nFeature Request\n\n\nThe WISHLIST at the top of the roadmap on \nJIRA for Mynewt\n features all the new ideas awaiting discussion and review. Once the community decides to go ahead with a requ
 est, it is scheduled into a release. Generally, effort is made to schedule a requested feature into a particular version no later than 6 weeks prior to the planned release date.\n\n\nIf you have suggestions for a new feature, use case, or implementation improvements, file a JIRA ticket with Issue Type set to \"Wish\". Introduce it in the \ndev@\n mailing list with a link to the JIRA ticket. This assumes you have signed up for an account on JIRA and submitted a request to the dev@ mailing list for your JIRA username to be added to the Apache Mynewt (MYNEWT) project. \n\n\n\n\nFAQ\n\n\n Questions? \n Click \nhere", 
             "title": "About"
         }, 
         {
@@ -16,8 +16,13 @@
             "title": "Features"
         }, 
         {
+            "location": "/about/#latest-release", 
+            "text": "The latest release is  Version 0.8.0  for which Release Notes are available  here .  For details on download and previous releases, check out  Download .", 
+            "title": "Latest Release"
+        }, 
+        {
             "location": "/about/#roadmap", 
-            "text": "Release Version  Descriptor  Date  Features      0.8.0  pre-GA release #1  late-April, 2016  * HAL extensions in OS       * Arduino DUE support       * Image verification       * Stats and logs enhancement       * HAL additions: ADC, DAC, I2C, PWM, SPI       * BLE 4.2: LE legacy pairing, no bonding       * BLE 4.2: Code size optimization    0.9.0  pre-GA release #2  May, 2016  * Support images in external flash       * HAL for Nordic nRF52       * Support for low power modes in multiple SoCs       * BLE 4.2: LE Secure Connections Pairing, including bonding       * BLE 4.2: Host and Controller separation       * BLE 4.2: Random private resolvable addresses    0.10.0  pre-GA release #3  June, 2016  * Test coverage improvements       * System watchdog       * Support for additional Arduino boards       * BLE 4.2: Remote configuration, upgrade, factory reset over BLE 4.2       * BLE 4.2: Factory reset       * BLE 4.2: GATT based BLE profiles for Mynewt       * BLE 4
 .2: Configurability improvements      The detailed roadmap is tracked on  JIRA for Mynewt .", 
+            "text": "Release Version  Descriptor  Date  Features      0.9.0  pre-GA release  May, 2016  * Support images in external flash       * HAL for Nordic nRF52, STMicro       * Support for low power modes in multiple SoCs       * BLE 4.2: LE Secure Connections Pairing, including bonding       * BLE 4.2: Host and Controller separation       * BLE 4.2: Random private resolvable addresses    0.10.0  pre-GA release  June, 2016  * Test coverage improvements       * System watchdog       * Support for additional Arduino boards       * BLE 4.2: Remote configuration, upgrade, factory reset over BLE 4.2       * BLE 4.2: Factory reset       * BLE 4.2: GATT based BLE profiles for Mynewt       * BLE 4.2: Configurability improvements    0.11.0  pre-GA release  July, 2016  * Wi-Fi support       * Add second scripting module       * C++ friendly external header files      The detailed roadmap is tracked on  JIRA for Mynewt .", 
             "title": "Roadmap"
         }, 
         {
@@ -1191,6 +1196,31 @@
             "title": "Guarantees"
         }, 
         {
+            "location": "/os/tutorials/ibeacon/", 
+            "text": "BLE iBeacon\n\n\n\n\niBeacon Protocol\n\n\nA beaconing device announces its presence to the world by broadcasting\nadvertisements.  The iBeacon protocol is built on top of the standard BLE\nadvertisement specification.  An iBeacon advertisement contains a single field:\n\nManufacturer Specific Data\n; this field contains the iBeacon-specific\nsub-fields.  \nThis page\n\nprovides a good summary of the iBeacon sub-fields.\n\n\n\n\nConfiguration\n\n\nUse the following function to configure your NimBLE device to send iBeacons:\n\n\nint\n\n\nble_ibeacon_set_adv_data\n(\nvoid\n \n*uuid128\n, \nuint16_t\n \nmajor\n, \nuint16_t\n \nminor\n)\n\n\n\n\n\nThis function's parameters are documented below.\n\n\n\n\n\n\n\n\nParameter\n\n\nPurpose\n\n\n\n\n\n\n\n\n\n\nUUID\n\n\n128-bit UUID identifying the application\n\n\n\n\n\n\nMajor version number\n\n\nFirst number in your app's version\n\n\n\n\n\n\nMinor version number\n\n\nSecond number in your app's version\n\n\n\n\n\n\n\
 n\n\n\nModify bleprph\n\n\nTo demonstrate how the above function is used, we will now modify the \nbleprph\n\nexample application to send iBeacons.  For some background behind the \nbleprph\n\napp, we recommend you take a look at the \nbleprph project\ntutorial\n.  If you plan on making these modifications\nyourself, it might be a good idea to copy \nbleprph\n to your local repository\nand work with the copy.  In general, you should avoid changing a package that\nnewt downloads, as you will lose your changes the next time you upgrade the\npackage.\n\n\nbleprph\n sets its advertisement data and begins advertising as follows (\nmain.c\n):\n\n\nstatic\n \nvoid\n\n\nbleprph_advertise\n(\nvoid\n)\n{\n    \nstruct\n \nble_hs_adv_fields\n \nfields\n;\n    \nint\n \nrc\n;\n\n    \n/* Set the advertisement data included in our advertisements. */\n\n    \nmemset\n(\nfields\n, \n0\n, \nsizeof\n \nfields\n);\n    \nfields\n.\nname\n \n=\n (\nuint8_t\n \n*\n)\nbleprph_device_name\n;\n    \nfield
 s\n.\nname_len\n \n=\n \nstrlen\n(\nbleprph_device_name\n);\n    \nfields\n.\nname_is_complete\n \n=\n \n1\n;\n    \nrc\n \n=\n \nble_gap_adv_set_fields\n(\nfields\n);\n    \nif\n (\nrc\n \n!=\n \n0\n) {\n        \nBLEPRPH_LOG\n(\nERROR\n, \nerror setting advertisement data; rc=%d\\n\n, \nrc\n);\n        \nreturn\n;\n    }\n\n    \n/* Begin advertising. */\n\n    \nrc\n \n=\n \nble_gap_adv_start\n(\nBLE_GAP_DISC_MODE_GEN\n, \nBLE_GAP_CONN_MODE_UND\n,\n                           \nNULL\n, \n0\n, \nNULL\n, \nbleprph_on_connect\n, \nNULL\n);\n    \nif\n (\nrc\n \n!=\n \n0\n) {\n        \nBLEPRPH_LOG\n(\nERROR\n, \nerror enabling advertisement; rc=%d\\n\n, \nrc\n);\n        \nreturn\n;\n    }\n}\n\n\n\n\n\nThe call to \nble_gap_adv_set_fields()\n configures the device with normal\n(non-iBeacon) advertisements; the call to \nble_gap_adv_start()\n tells the\nNimBLE stack to start broadcasting.  We are now going to create an iBeacon app\nby making the following to changes:\n\n\n\n\nCall \n
 ble_ibeacon_set_adv_data()\n instead of \nble_gap_adv_set_fields()\n.\n\n\nModify the call to \nble_gap_adv_start()\n such that the device is non-discoverable and non-connectable.\n\n\n\n\n\n\nstatic\n \nvoid\n\n\nbleprph_advertise\n(\nvoid\n)\n{\n\n    \nuint8_t\n \nuuid128\n[\n16\n];\n\n    \nint\n \nrc\n;\n\n\n    \n/* Arbitrarily et the UUID to a string of 0x11 bytes. */\n\n\n    \nmemset\n(\nuuid128\n, \n0x11\n, \nsizeof\n \nuuid128\n);\n\n\n\n    \n/* Major version=2; minor version=10. */\n\n\n    \nrc\n \n=\n \nble_ibeacon_set_adv_data\n(\nuuid128\n, \n2\n, \n10\n);\n\n    \nif\n (\nrc\n \n!=\n \n0\n) {\n        \nBLEPRPH_LOG\n(\nERROR\n, \nerror setting iBeacon advertisement data; rc=%d\\n\n,\n                    \nrc\n);\n        \nreturn\n;\n    }\n\n    \n/* Begin advertising. */\n\n\n    \nrc\n \n=\n \nble_gap_adv_start\n(\nBLE_GAP_DISC_MODE_NON\n, \nBLE_GAP_CONN_MODE_NON\n,\n\n                           \nNULL\n, \n0\n, \nNULL\n, \nbleprph_on_connect\n, \nNULL\n);\n    
 \nif\n (\nrc\n \n!=\n \n0\n) {\n        \nBLEPRPH_LOG\n(\nERROR\n, \nerror enabling advertisement; rc=%d\\n\n, \nrc\n);\n        \nreturn\n;\n    }\n}\n\n\n\n\n\nNow when you run this app on your board, you should be able to see it with all\nyour iBeacon-aware devices.", 
+            "title": "BLE iBeacon"
+        }, 
+        {
+            "location": "/os/tutorials/ibeacon/#ble-ibeacon", 
+            "text": "", 
+            "title": "BLE iBeacon"
+        }, 
+        {
+            "location": "/os/tutorials/ibeacon/#ibeacon-protocol", 
+            "text": "A beaconing device announces its presence to the world by broadcasting\nadvertisements.  The iBeacon protocol is built on top of the standard BLE\nadvertisement specification.  An iBeacon advertisement contains a single field: Manufacturer Specific Data ; this field contains the iBeacon-specific\nsub-fields.   This page \nprovides a good summary of the iBeacon sub-fields.", 
+            "title": "iBeacon Protocol"
+        }, 
+        {
+            "location": "/os/tutorials/ibeacon/#configuration", 
+            "text": "Use the following function to configure your NimBLE device to send iBeacons:  int  ble_ibeacon_set_adv_data ( void   *uuid128 ,  uint16_t   major ,  uint16_t   minor )  This function's parameters are documented below.     Parameter  Purpose      UUID  128-bit UUID identifying the application    Major version number  First number in your app's version    Minor version number  Second number in your app's version", 
+            "title": "Configuration"
+        }, 
+        {
+            "location": "/os/tutorials/ibeacon/#modify-bleprph", 
+            "text": "To demonstrate how the above function is used, we will now modify the  bleprph \nexample application to send iBeacons.  For some background behind the  bleprph \napp, we recommend you take a look at the  bleprph project\ntutorial .  If you plan on making these modifications\nyourself, it might be a good idea to copy  bleprph  to your local repository\nand work with the copy.  In general, you should avoid changing a package that\nnewt downloads, as you will lose your changes the next time you upgrade the\npackage.  bleprph  sets its advertisement data and begins advertising as follows ( main.c ):  static   void  bleprph_advertise ( void )\n{\n     struct   ble_hs_adv_fields   fields ;\n     int   rc ;\n\n     /* Set the advertisement data included in our advertisements. */ \n     memset ( fields ,  0 ,  sizeof   fields );\n     fields . name   =  ( uint8_t   * ) bleprph_device_name ;\n     fields . name_len   =   strlen ( bleprph_device_name );\n     fields . nam
 e_is_complete   =   1 ;\n     rc   =   ble_gap_adv_set_fields ( fields );\n     if  ( rc   !=   0 ) {\n         BLEPRPH_LOG ( ERROR ,  error setting advertisement data; rc=%d\\n ,  rc );\n         return ;\n    }\n\n     /* Begin advertising. */ \n     rc   =   ble_gap_adv_start ( BLE_GAP_DISC_MODE_GEN ,  BLE_GAP_CONN_MODE_UND ,\n                            NULL ,  0 ,  NULL ,  bleprph_on_connect ,  NULL );\n     if  ( rc   !=   0 ) {\n         BLEPRPH_LOG ( ERROR ,  error enabling advertisement; rc=%d\\n ,  rc );\n         return ;\n    }\n}  The call to  ble_gap_adv_set_fields()  configures the device with normal\n(non-iBeacon) advertisements; the call to  ble_gap_adv_start()  tells the\nNimBLE stack to start broadcasting.  We are now going to create an iBeacon app\nby making the following to changes:   Call  ble_ibeacon_set_adv_data()  instead of  ble_gap_adv_set_fields() .  Modify the call to  ble_gap_adv_start()  such that the device is non-discoverable and non-connectable.    
 static   void  bleprph_advertise ( void )\n{      uint8_t   uuid128 [ 16 ];      int   rc ;      /* Arbitrarily et the UUID to a string of 0x11 bytes. */       memset ( uuid128 ,  0x11 ,  sizeof   uuid128 );       /* Major version=2; minor version=10. */       rc   =   ble_ibeacon_set_adv_data ( uuid128 ,  2 ,  10 );      if  ( rc   !=   0 ) {\n         BLEPRPH_LOG ( ERROR ,  error setting iBeacon advertisement data; rc=%d\\n ,\n                     rc );\n         return ;\n    }\n\n     /* Begin advertising. */       rc   =   ble_gap_adv_start ( BLE_GAP_DISC_MODE_NON ,  BLE_GAP_CONN_MODE_NON ,                             NULL ,  0 ,  NULL ,  bleprph_on_connect ,  NULL );\n     if  ( rc   !=   0 ) {\n         BLEPRPH_LOG ( ERROR ,  error enabling advertisement; rc=%d\\n ,  rc );\n         return ;\n    }\n}  Now when you run this app on your board, you should be able to see it with all\nyour iBeacon-aware devices.", 
+            "title": "Modify bleprph"
+        }, 
+        {
             "location": "/os/os_user_guide/", 
             "text": "OS User Guide\n\n\nThis guide provides comprehensive information about Mynewt OS, the real-time operating system for embedded systems.\n\n\nIt is intended both for an embedded real-time software developer as well as higher-level applications developer wanting to understand the features and benefits of the system. \n\n\nMynewt OS is highly composable and flexible. Only those features actually used by the application are compiled into the run-time image. Hence, the actual size of Mynewt is completely determined by the application. The guide covers all the features and services available in the OS and contains several examples showing how they can be used.\n\n\nSend us an email on the dev@ mailing list if you have comments or suggestions!\n If you haven't joined the mailing list, you will find the links \nhere\n.", 
             "title": "toc"

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/os_user_guide/index.html
----------------------------------------------------------------------
diff --git a/os/os_user_guide/index.html b/os/os_user_guide/index.html
index 0ddab29..af4bbd4 100644
--- a/os/os_user_guide/index.html
+++ b/os/os_user_guide/index.html
@@ -543,9 +543,9 @@
 <ul class="nav nav-pills" style="margin-bottom: 10px">
     <li>
     
-    <a href=../tutorials/bleprph/bleprph-conn/>
+    <a href=../tutorials/ibeacon/>
         <span class="fa fa-arrow-left"></span>
-        Previous: Connection Callbacks
+        Previous: BLE iBeacon
     </a>
     
     </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/STM32F303/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/STM32F303/index.html b/os/tutorials/STM32F303/index.html
index f28c95f..211339a 100644
--- a/os/tutorials/STM32F303/index.html
+++ b/os/tutorials/STM32F303/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/add_repos/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/add_repos/index.html b/os/tutorials/add_repos/index.html
index d39f009..6252a1f 100644
--- a/os/tutorials/add_repos/index.html
+++ b/os/tutorials/add_repos/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/air_quality_sensor/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/air_quality_sensor/index.html b/os/tutorials/air_quality_sensor/index.html
index 6284de7..4973f8a 100644
--- a/os/tutorials/air_quality_sensor/index.html
+++ b/os/tutorials/air_quality_sensor/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/arduino_zero/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/arduino_zero/index.html b/os/tutorials/arduino_zero/index.html
index 2d6441e..a606390 100644
--- a/os/tutorials/arduino_zero/index.html
+++ b/os/tutorials/arduino_zero/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/bleprph/bleprph-adv/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/bleprph/bleprph-adv/index.html b/os/tutorials/bleprph/bleprph-adv/index.html
index 52f9f4a..98adc86 100644
--- a/os/tutorials/bleprph/bleprph-adv/index.html
+++ b/os/tutorials/bleprph/bleprph-adv/index.html
@@ -427,6 +427,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/bleprph/bleprph-chr-access/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/bleprph/bleprph-chr-access/index.html b/os/tutorials/bleprph/bleprph-chr-access/index.html
index 8bc7408..6380062 100644
--- a/os/tutorials/bleprph/bleprph-chr-access/index.html
+++ b/os/tutorials/bleprph/bleprph-chr-access/index.html
@@ -427,6 +427,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/bleprph/bleprph-conn/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/bleprph/bleprph-conn/index.html b/os/tutorials/bleprph/bleprph-conn/index.html
index db1c656..6ac0c61 100644
--- a/os/tutorials/bleprph/bleprph-conn/index.html
+++ b/os/tutorials/bleprph/bleprph-conn/index.html
@@ -427,6 +427,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>
@@ -738,8 +748,8 @@ to retain some data from a context object, it needs to make a copy.</p>
     </li>
     <li class="pull-right">
     
-    <a href=../../../os_user_guide/>
-        Next: OS User Guide
+    <a href=../../ibeacon/>
+        Next: BLE iBeacon
         <span class="fa fa-arrow-right"></span>
     </a>
     

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/bleprph/bleprph-intro/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/bleprph/bleprph-intro/index.html b/os/tutorials/bleprph/bleprph-intro/index.html
index 29bef09..b325e88 100644
--- a/os/tutorials/bleprph/bleprph-intro/index.html
+++ b/os/tutorials/bleprph/bleprph-intro/index.html
@@ -427,6 +427,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/bleprph/bleprph-svc-reg/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/bleprph/bleprph-svc-reg/index.html b/os/tutorials/bleprph/bleprph-svc-reg/index.html
index cf00638..45e8d12 100644
--- a/os/tutorials/bleprph/bleprph-svc-reg/index.html
+++ b/os/tutorials/bleprph/bleprph-svc-reg/index.html
@@ -427,6 +427,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/bletiny_project/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/bletiny_project/index.html b/os/tutorials/bletiny_project/index.html
index 3b56d83..533c9e3 100644
--- a/os/tutorials/bletiny_project/index.html
+++ b/os/tutorials/bletiny_project/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/blinky_sram_olimex/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/blinky_sram_olimex/index.html b/os/tutorials/blinky_sram_olimex/index.html
index 14ff3f0..037a1d1 100644
--- a/os/tutorials/blinky_sram_olimex/index.html
+++ b/os/tutorials/blinky_sram_olimex/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/create_repo/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/create_repo/index.html b/os/tutorials/create_repo/index.html
index 0f313a3..15bc949 100644
--- a/os/tutorials/create_repo/index.html
+++ b/os/tutorials/create_repo/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/event_queue/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/event_queue/index.html b/os/tutorials/event_queue/index.html
index abd8a6b..3869e7d 100644
--- a/os/tutorials/event_queue/index.html
+++ b/os/tutorials/event_queue/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/ibeacon/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/ibeacon/index.html b/os/tutorials/ibeacon/index.html
new file mode 100644
index 0000000..1b0499c
--- /dev/null
+++ b/os/tutorials/ibeacon/index.html
@@ -0,0 +1,720 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=edge">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        
+        
+        <link rel="canonical" href="http://mynewt.apache.org/os/tutorials/ibeacon/">
+        <link rel="shortcut icon" href="../../../img/favicon.ico">
+
+	<title>BLE iBeacon - Apache Mynewt</title>
+
+        <link href="../../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
+        <link href="../../../css/font-awesome-4.0.3.css" rel="stylesheet">
+        <link rel="stylesheet" href="../../../css/highlight.css">
+        <link href="../../../css/base.css" rel="stylesheet">
+        <link href="../../../css/custom.css" rel="stylesheet">
+        <link href='https://fonts.googleapis.com/css?family=Roboto:400,500,700,900,300,100' rel='stylesheet' type='text/css'>
+        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
+        <link href="../../../extra.css" rel="stylesheet">
+
+        <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
+        <!--[if lt IE 9]>
+            <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+            <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
+        <![endif]-->
+
+        
+            <script>
+                (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+                })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+                ga('create', 'UA-72162311-1', 'auto');
+                ga('send', 'pageview');
+            </script>
+        
+    </head>
+
+
+    <body class="BLE iBeacon">
+
+
+        <div id="navbar" class="navbar navbar-default navbar-fixed-top" role="navigation">
+    <div class="logo-container">
+        <img src="/img/logo.svg">
+    </div>
+    <div class="container-fluid">
+        <!-- Collapsed navigation -->
+        <div class="navbar-header">
+            <!-- Expander button -->
+            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+
+        </div>
+
+        <!-- Expanded navigation -->
+        <div class="navbar-collapse collapse">
+            <!-- Main navigation -->
+            <ul class="nav navbar-nav navbar-right">
+                <li>
+                    <a href="/">Home</a>
+                </li>
+                <li>
+                    <a href="/about/">About</a>
+                </li>
+                <li class="dropdown">
+                    <a href="/documentation/" class="dropdown-toggle" data-toggle="dropdown">Docs <b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        
+                        
+                        
+                        
+                        
+                        
+                        <li >
+                            <a href="../../../documentation/">
+                                Overview
+                            </a>
+                        </li>
+                        
+                        
+                        
+                        
+                        
+                        
+                        
+                        
+                        
+                        <li class="active">
+                            <a href="../../get_started/introduction/">
+                                Mynewt OS Manual
+                            </a>
+                        </li>
+                        
+                        
+                        
+                        <li >
+                            <a href="../../../newt/newt_intro/">
+                                Newt Tool Manual
+                            </a>
+                        </li>
+                        
+                        
+                        
+                        <li >
+                            <a href="../../../newtmgr/overview/">
+                                Newt Manager Manual
+                            </a>
+                        </li>
+                        
+                        
+                        
+                        <li >
+                            <a href="../how_to_edit_docs/">
+                                Appendix
+                            </a>
+                        </li>
+                        
+                        
+                    </ul>
+                </li>
+                <li>
+                    <a href="/download/">Download</a>
+                </li>
+                <li>
+                    <a href="/community/">Community</a>
+                </li>
+                <li>
+                    <a href="/events/">Events</a>
+                </li>
+            </ul>
+
+            <!-- Search, Navigation and Repo links -->
+            <ul class="nav navbar-nav navbar-right">
+                
+            </ul>
+        </div>
+    </div>
+</div>
+
+        
+
+        <div class="container-fluid">
+            
+                <div class="row sm-extra-padding">
+                    <div id="docSidebar" class="col-md-3 bg-grey sidebar-container"><div class="bs-sidebar hidden-print" role="complementary">
+    <div class="sidebar-top">
+        <img class="hidden-xs hidden-sm logo-small" src="/img/logo.svg" alt="MyNewt" title="MyNewt">
+        <div class="small" role="search">
+            <form id ="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+                <div class="form-group">
+                    <input type="text" name="q" placeholder="Search documentation" />
+                    <button class="search-button" type="submit"><i class="fa fa-search"></i></button>
+                </div>
+            </form>
+        </div>
+    </div>
+    <ul class="nav bs-sidenav">
+      
+        
+      
+        
+      
+        
+      
+        
+      
+        
+      
+        
+      
+        
+          
+  
+  
+    <li><a href="
+  ../../get_started/introduction/
+">Mynewt OS Manual</a>
+  
+    
+      <ul class="current-toc">
+          
+              
+                
+  
+    <li>
+      <a href="../../get_started/introduction/">Introduction</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+  
+    <li ><a href="../../get_started/get_started/">Quick Start</a></li>
+  
+    
+  </li>
+
+              
+          
+              
+                
+  
+  
+    <li ><a href="../../get_started/vocabulary/">Concepts</a></li>
+  
+    
+  </li>
+
+              
+          
+              
+                
+  
+  
+    <li ><a href="../tutorials/">Tutorials</a></li>
+  
+    
+      <ul class="current-toc">
+          
+              
+          
+              
+                
+  
+    <li>
+      <a href="../arduino_zero/">Blinky on Arduino Zero</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+    <li>
+      <a href="../olimex/">Blinky on Olimex</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+    <li>
+      <a href="../STM32F303/">Blinky on STM32F303</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+    <li>
+      <a href="../nRF52/">Blinky on nRF52</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+    <li>
+      <a href="../blinky_sram_olimex/">Run Blinky from SRAM, no bootloader</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+    <li>
+      <a href="../add_repos/">Add repo to project</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+    <li>
+      <a href="../create_repo/">Create a repo</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+    <li>
+      <a href="../upgrade_repo/">Upgrade a repo</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+    <li>
+      <a href="../bletiny_project/">Use BLE app to check stats via console</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+    <li>
+      <a href="../project-slinky/">Enable remote comms on sim device</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+    <li>
+      <a href="../project-target-slinky/">Enable remote comms on STM32 board</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+    <li>
+      <a href="../unit_test/">Write a Test Suite for a Package</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+    <li>
+      <a href="../air_quality_sensor/">Air-quality Sensor project</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+    <li>
+      <a href="../event_queue/">Add task to manage multiple events</a>
+    </li>
+  
+
+              
+          
+              
+                
+  
+  
+    <li ><a href="../bleprph/bleprph-intro/">BLE peripheral project</a></li>
+  
+    
+  </li>
+
+              
+          
+              
+                
+  
+    <li class="active">
+      BLE iBeacon
+    </li>
+  
+
+              
+          
+      </ul>
+    
+  </li>
+
+              
+          
+              
+                
+  
+  
+    <li ><a href="../../os_user_guide/">OS User Guide</a></li>
+  
+    
+  </li>
+
+              
+          
+              
+                
+  
+  
+    <li><a href="
+  ../../../network/ble/ble_intro/
+">BLE User Guide</a>
+  
+    
+  </li>
+
+              
+          
+      </ul>
+    
+  </li>
+
+        
+      
+        
+          
+  
+  
+    <li><a href="
+  ../../../newt/newt_intro/
+">Newt Tool Manual</a>
+  
+    
+  </li>
+
+        
+      
+        
+          
+  
+  
+    <li><a href="
+  ../../../newtmgr/overview/
+">Newt Manager Manual</a>
+  
+    
+  </li>
+
+        
+      
+        
+          
+  
+  
+    <li><a href="
+  ../how_to_edit_docs/
+">Appendix</a>
+  
+    
+  </li>
+
+        
+      
+    </ul>
+</div></div>
+
+                    <div class="show-sidebar-container">
+                        <button class="show-sidebar">Docs Menu</button>
+                    </div>
+
+                    <div class="col-md-offset-3 col-md-9 documentation-viewer" role="main">
+                        <div class="row doc-header">
+                            <div class="col-sm-6">
+                                
+<ul class="nav nav-pills">
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    <li class="active" role="presentation"><a href="../../get_started/introduction/">Mynewt OS</a></li>
+    
+    
+    
+    <li  role="presentation"><a href="../../../newt/newt_intro/">Newt Tool</a></li>
+    
+    
+    
+    <li  role="presentation"><a href="../../../newtmgr/overview/">Newt Mgr</a></li>
+    
+    
+    
+    
+</ul>
+                            </div>
+                            <div class="col-sm-6">
+                                <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="/documentation/">Docs</a></li>
+    
+    
+        
+          <li>&raquo; <a href="../../get_started/introduction/">Mynewt OS Manual</a></li>
+        
+      
+        
+          <li>&raquo; <a href="../tutorials/">Tutorials</a></li>
+        
+      
+      
+        <li>&raquo; BLE iBeacon</li>
+      
+    
+    
+  </ul>
+</div>
+                            </div>
+                        </div>
+                        
+                            <h2 id="ble-ibeacon">BLE iBeacon<a class="headerlink" href="#ble-ibeacon" title="Permanent link">&para;</a></h2>
+<p><br></p>
+<h3 id="ibeacon-protocol">iBeacon Protocol<a class="headerlink" href="#ibeacon-protocol" title="Permanent link">&para;</a></h3>
+<p>A beaconing device announces its presence to the world by broadcasting
+advertisements.  The iBeacon protocol is built on top of the standard BLE
+advertisement specification.  An iBeacon advertisement contains a single field:
+<em>Manufacturer Specific Data</em>; this field contains the iBeacon-specific
+sub-fields.  <a href="http://www.warski.org/blog/2014/01/how-ibeacons-work/">This page</a>
+provides a good summary of the iBeacon sub-fields.</p>
+<p><br></p>
+<h3 id="configuration">Configuration<a class="headerlink" href="#configuration" title="Permanent link">&para;</a></h3>
+<p>Use the following function to configure your NimBLE device to send iBeacons:</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span>
+<span style="color: #000000">ble_ibeacon_set_adv_data</span>(<span style="color: #A90D91">void</span> <span style="color: #000000">*uuid128</span>, <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">major</span>, <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">minor</span>)
+</pre></div>
+
+
+<p>This function's parameters are documented below.</p>
+<table>
+<thead>
+<tr>
+<th><em>Parameter</em></th>
+<th><em>Purpose</em></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>UUID</td>
+<td>128-bit UUID identifying the application</td>
+</tr>
+<tr>
+<td>Major version number</td>
+<td>First number in your app's version</td>
+</tr>
+<tr>
+<td>Minor version number</td>
+<td>Second number in your app's version</td>
+</tr>
+</tbody>
+</table>
+<p><br></p>
+<h3 id="modify-bleprph">Modify bleprph<a class="headerlink" href="#modify-bleprph" title="Permanent link">&para;</a></h3>
+<p>To demonstrate how the above function is used, we will now modify the <em>bleprph</em>
+example application to send iBeacons.  For some background behind the <em>bleprph</em>
+app, we recommend you take a look at the <a href="../bleprph/bleprph_intro/">bleprph project
+tutorial</a>.  If you plan on making these modifications
+yourself, it might be a good idea to copy <em>bleprph</em> to your local repository
+and work with the copy.  In general, you should avoid changing a package that
+newt downloads, as you will lose your changes the next time you upgrade the
+package.</p>
+<p><em>bleprph</em> sets its advertisement data and begins advertising as follows (<em>main.c</em>):</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">static</span> <span style="color: #A90D91">void</span>
+<span style="color: #000000">bleprph_advertise</span>(<span style="color: #A90D91">void</span>)
+{
+    <span style="color: #A90D91">struct</span> <span style="color: #000000">ble_hs_adv_fields</span> <span style="color: #000000">fields</span>;
+    <span style="color: #A90D91">int</span> <span style="color: #000000">rc</span>;
+
+    <span style="color: #177500">/* Set the advertisement data included in our advertisements. */</span>
+    <span style="color: #000000">memset</span>(<span style="color: #000000">&amp;fields</span>, <span style="color: #1C01CE">0</span>, <span style="color: #A90D91">sizeof</span> <span style="color: #000000">fields</span>);
+    <span style="color: #000000">fields</span>.<span style="color: #000000">name</span> <span style="color: #000000">=</span> (<span style="color: #A90D91">uint8_t</span> <span style="color: #000000">*</span>)<span style="color: #000000">bleprph_device_name</span>;
+    <span style="color: #000000">fields</span>.<span style="color: #000000">name_len</span> <span style="color: #000000">=</span> <span style="color: #000000">strlen</span>(<span style="color: #000000">bleprph_device_name</span>);
+    <span style="color: #000000">fields</span>.<span style="color: #000000">name_is_complete</span> <span style="color: #000000">=</span> <span style="color: #1C01CE">1</span>;
+    <span style="color: #000000">rc</span> <span style="color: #000000">=</span> <span style="color: #000000">ble_gap_adv_set_fields</span>(<span style="color: #000000">&amp;fields</span>);
+    <span style="color: #A90D91">if</span> (<span style="color: #000000">rc</span> <span style="color: #000000">!=</span> <span style="color: #1C01CE">0</span>) {
+        <span style="color: #000000">BLEPRPH_LOG</span>(<span style="color: #000000">ERROR</span>, <span style="color: #C41A16">&quot;error setting advertisement data; rc=%d\n&quot;</span>, <span style="color: #000000">rc</span>);
+        <span style="color: #A90D91">return</span>;
+    }
+
+    <span style="color: #177500">/* Begin advertising. */</span>
+    <span style="color: #000000">rc</span> <span style="color: #000000">=</span> <span style="color: #000000">ble_gap_adv_start</span>(<span style="color: #000000">BLE_GAP_DISC_MODE_GEN</span>, <span style="color: #000000">BLE_GAP_CONN_MODE_UND</span>,
+                           <span style="color: #A90D91">NULL</span>, <span style="color: #1C01CE">0</span>, <span style="color: #A90D91">NULL</span>, <span style="color: #000000">bleprph_on_connect</span>, <span style="color: #A90D91">NULL</span>);
+    <span style="color: #A90D91">if</span> (<span style="color: #000000">rc</span> <span style="color: #000000">!=</span> <span style="color: #1C01CE">0</span>) {
+        <span style="color: #000000">BLEPRPH_LOG</span>(<span style="color: #000000">ERROR</span>, <span style="color: #C41A16">&quot;error enabling advertisement; rc=%d\n&quot;</span>, <span style="color: #000000">rc</span>);
+        <span style="color: #A90D91">return</span>;
+    }
+}
+</pre></div>
+
+
+<p>The call to <code>ble_gap_adv_set_fields()</code> configures the device with normal
+(non-iBeacon) advertisements; the call to <code>ble_gap_adv_start()</code> tells the
+NimBLE stack to start broadcasting.  We are now going to create an iBeacon app
+by making the following to changes:</p>
+<ul>
+<li>Call <code>ble_ibeacon_set_adv_data()</code> instead of <code>ble_gap_adv_set_fields()</code>.</li>
+<li>Modify the call to <code>ble_gap_adv_start()</code> such that the device is non-discoverable and non-connectable.</li>
+</ul>
+<p><br></p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">static</span> <span style="color: #A90D91">void</span>
+<span style="color: #000000">bleprph_advertise</span>(<span style="color: #A90D91">void</span>)
+{
+<span style="background-color: #ffffcc">    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">uuid128</span>[<span style="color: #1C01CE">16</span>];
+</span>    <span style="color: #A90D91">int</span> <span style="color: #000000">rc</span>;
+
+<span style="background-color: #ffffcc">    <span style="color: #177500">/* Arbitrarily et the UUID to a string of 0x11 bytes. */</span>
+</span><span style="background-color: #ffffcc">    <span style="color: #000000">memset</span>(<span style="color: #000000">uuid128</span>, <span style="color: #1C01CE">0x11</span>, <span style="color: #A90D91">sizeof</span> <span style="color: #000000">uuid128</span>);
+</span>
+<span style="background-color: #ffffcc">    <span style="color: #177500">/* Major version=2; minor version=10. */</span>
+</span><span style="background-color: #ffffcc">    <span style="color: #000000">rc</span> <span style="color: #000000">=</span> <span style="color: #000000">ble_ibeacon_set_adv_data</span>(<span style="color: #000000">uuid128</span>, <span style="color: #1C01CE">2</span>, <span style="color: #1C01CE">10</span>);
+</span>    <span style="color: #A90D91">if</span> (<span style="color: #000000">rc</span> <span style="color: #000000">!=</span> <span style="color: #1C01CE">0</span>) {
+        <span style="color: #000000">BLEPRPH_LOG</span>(<span style="color: #000000">ERROR</span>, <span style="color: #C41A16">&quot;error setting iBeacon advertisement data; rc=%d\n&quot;</span>,
+                    <span style="color: #000000">rc</span>);
+        <span style="color: #A90D91">return</span>;
+    }
+
+    <span style="color: #177500">/* Begin advertising. */</span>
+<span style="background-color: #ffffcc">    <span style="color: #000000">rc</span> <span style="color: #000000">=</span> <span style="color: #000000">ble_gap_adv_start</span>(<span style="color: #000000">BLE_GAP_DISC_MODE_NON</span>, <span style="color: #000000">BLE_GAP_CONN_MODE_NON</span>,
+</span>                           <span style="color: #A90D91">NULL</span>, <span style="color: #1C01CE">0</span>, <span style="color: #A90D91">NULL</span>, <span style="color: #000000">bleprph_on_connect</span>, <span style="color: #A90D91">NULL</span>);
+    <span style="color: #A90D91">if</span> (<span style="color: #000000">rc</span> <span style="color: #000000">!=</span> <span style="color: #1C01CE">0</span>) {
+        <span style="color: #000000">BLEPRPH_LOG</span>(<span style="color: #000000">ERROR</span>, <span style="color: #C41A16">&quot;error enabling advertisement; rc=%d\n&quot;</span>, <span style="color: #000000">rc</span>);
+        <span style="color: #A90D91">return</span>;
+    }
+}
+</pre></div>
+
+
+<p>Now when you run this app on your board, you should be able to see it with all
+your iBeacon-aware devices.</p>
+                        
+                        <div class="row">
+                            
+
+
+
+<ul class="nav nav-pills" style="margin-bottom: 10px">
+    <li>
+    
+    <a href=../bleprph/bleprph-conn/>
+        <span class="fa fa-arrow-left"></span>
+        Previous: Connection Callbacks
+    </a>
+    
+    </li>
+    <li class="pull-right">
+    
+    <a href=../../os_user_guide/>
+        Next: OS User Guide
+        <span class="fa fa-arrow-right"></span>
+    </a>
+    
+    </li>
+</ul>
+                        </div>
+                        <div class="row">
+                            <footer>
+    <div class="row">
+        <div class="col-md-12">
+            
+                <p class="copyright">Copyright &copy; 2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0 Apache and the Apache feather logo are trademarks of The Apache Software Foundation.<br>The Apache Software Foundation Apache Incubator</p>
+            
+        </div>
+    </div>
+    <div class="copyright-logos">
+        <div class="row">
+            <div class="col-xs-6 text-right">
+                <img src="/img/apache-feather.png" alt="Apache" title="Apache">
+            </div>
+            <div class="col-xs-6 text-left">
+                <img src="/img/apache-logo.png" alt="Apache Incubator" title="Apache Incubator">
+            </div>
+        </div>
+    </div>
+    <div class="row">
+        <div class="col-md-12">
+            <small class="footnote">
+                MyNewt is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
+            </small>
+        </div>
+    </div>
+</footer>
+                        </div>
+                    </div>
+                </div>
+            
+            
+        </div>
+
+        <script src="../../../js/jquery-1.10.2.min.js"></script>
+        <script src="../../../js/bootstrap-3.0.3.min.js"></script>
+        <script src="../../../js/highlight.pack.js"></script>
+        <script src="../../../js/base.js"></script>
+        <script src="../../../js/custom.js"></script>
+
+    </body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/nRF52/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/nRF52/index.html b/os/tutorials/nRF52/index.html
index 254f8c2..d7f2096 100644
--- a/os/tutorials/nRF52/index.html
+++ b/os/tutorials/nRF52/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/olimex/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/olimex/index.html b/os/tutorials/olimex/index.html
index 8a78819..2782f05 100644
--- a/os/tutorials/olimex/index.html
+++ b/os/tutorials/olimex/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/project-slinky/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/project-slinky/index.html b/os/tutorials/project-slinky/index.html
index c1d23d1..6379c9f 100644
--- a/os/tutorials/project-slinky/index.html
+++ b/os/tutorials/project-slinky/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/project-target-slinky/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/project-target-slinky/index.html b/os/tutorials/project-target-slinky/index.html
index e3ec716..798d480 100644
--- a/os/tutorials/project-target-slinky/index.html
+++ b/os/tutorials/project-target-slinky/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/tutorials/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/tutorials/index.html b/os/tutorials/tutorials/index.html
index d708068..59f01a0 100644
--- a/os/tutorials/tutorials/index.html
+++ b/os/tutorials/tutorials/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/unit_test/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/unit_test/index.html b/os/tutorials/unit_test/index.html
index 4eeaab1..750970b 100644
--- a/os/tutorials/unit_test/index.html
+++ b/os/tutorials/unit_test/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/735a02b2/os/tutorials/upgrade_repo/index.html
----------------------------------------------------------------------
diff --git a/os/tutorials/upgrade_repo/index.html b/os/tutorials/upgrade_repo/index.html
index e047323..1713c6e 100644
--- a/os/tutorials/upgrade_repo/index.html
+++ b/os/tutorials/upgrade_repo/index.html
@@ -381,6 +381,16 @@
 
               
           
+              
+                
+  
+    <li>
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+  
+
+              
+          
       </ul>
     
   </li>