Repository: incubator-mynewt-site Updated Branches: refs/heads/asf-site b4077d022 -> e1ea942d8
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/eddystone/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/eddystone/index.html b/latest/os/tutorials/eddystone/index.html new file mode 100644 index 0000000..74531b6 --- /dev/null +++ b/latest/os/tutorials/eddystone/index.html @@ -0,0 +1,726 @@ +<!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"> + + + <!-- This is broken by doc revisioning. + <link rel="canonical" href="http://mynewt.apache.org/os/tutorials/eddystone/"> --> + <link rel="shortcut icon" href="../../../img/favicon.ico"> + + <title>BLE Eddystone - Apache Mynewt</title> + + <link href="../../../css/bootstrap-3.0.3.min.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="../../../css/v2.css" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet"> + <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 Eddystone"> + + + <div class="container"> + <div class="row v2-main-banner"> + <a class="logo-cell" href="/"> + <img class="logo" src="/img/logo.png"> + </a> + <div class="tagline-cell"> + <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4> + </div> + <div class="news-cell"> + <div class="well"> + <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.0.0-b1</a> released (Dec 13, 2016) + </div> + </div> + </div> +</div> + + + + + + + + +<nav id="navbar" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="150" role="navigation"> + <div class="container"> + <!-- 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 + class="" +> + <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a> + </li> + <li + class="important" +> + <a href="/quick-start/">Quick Start</a> + </li> + <li + class="" +> + <a href="/about/">About</a> + </li> + <li + class="" +> + <a href="/talks/">Talks</a> + </li> + <li + class="active" +> + <a href="/latest/os/introduction">Documentation</a> + </li> + <li + class="" +> + <a href="/download/">Download</a> + </li> + <li + class="" +> + <a href="/community/">Community</a> + </li> + <li + class="" +> + <a href="/events/">Events</a> + </li> + </ul> + + <!-- Search, Navigation and Repo links --> + <ul class="nav navbar-nav navbar-right"> + + </ul> + </div> + </div> +</nav> + + + + <div class="container"> + + <div class="row"> + <div class="col-md-3 v2-sidebar sidebar-container"><div id="docSidebar" class="hidden-print" role="complementary"> + <div class="top"> + <div role="search"> + <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get"> + <div class="form-group"> + <input type="text" name="q" class="form-control" placeholder="Search documentation" /> + </div> + </form> + </div> + </div> + <ul class="toc-nav"> + <li class="doc-version"> +<select class="form-control" onchange="if (this.value) window.location.href=this.value"> + + <option + value="/develop/os/introduction" + selected="selected" + > + Version: develop (latest) + </option> + + <option + value="/v0_9_0/os/introduction" + + > + Version: 0.9.0 + </option> + +</select> +</li> + + + + + + + + + + + + + + + + + + + + + + <li ><a href="../../introduction/">Mynewt Documentation</a> + + + <ul> + + + + + + + + <li ><a href="../../get_started/get_started/">Basic Setup</a> + + + </li> + + + + + + <li > + <a href="../../get_started/vocabulary/">Concepts</a> + </li> + + + + + + + + <li ><a href="../tutorials/">Tutorials</a> + + + <ul> + + + + + + + + <li><a href=" + ../arduino_zero/ +">Project Blinky</a> + + + </li> + + + + + + + + <li ><a href="../repo/add_repos/">Work with repositories</a> + + + </li> + + + + + + <li > + <a href="../tasks_lesson/">Tasks and Priority Management</a> + </li> + + + + + + <li > + <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</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=" + ../project-slinky/ +">Project Slinky for remote comms</a> + + + </li> + + + + + + <li > + <a href="../add_newtmgr/">Enable Newt Manager in any app</a> + </li> + + + + + + <li > + <a href="../add_shell/">Enable the OS Shell and Console</a> + </li> + + + + + + <li > + <a href="../bletiny_project/">BLE app to check stats via console</a> + </li> + + + + + + + + <li ><a href="../bleprph/bleprph-intro/">BLE peripheral project</a> + + + </li> + + + + + + <li > + <a href="../ibeacon/">BLE iBeacon</a> + </li> + + + + + + <li class="active"> + <a href="./">BLE Eddystone</a> + </li> + + + + + + <li > + <a href="../blehci_project/">BLE HCI interface</a> + </li> + + + + </ul> + + </li> + + + + + + + + <li ><a href="../../os_user_guide/">OS User Guide</a> + + + </li> + + + + + + + + <li><a href=" + ../../../network/ble/ble_intro/ +">BLE User Guide</a> + + + </li> + + + + + + + + <li ><a href="../../../newt/newt_intro/">Newt Tool Guide</a> + + + </li> + + + + + + + + <li ><a href="../../../newtmgr/overview/">Newt Manager Guide</a> + + + </li> + + + + </ul> + + </li> + + + + + + + + <li><a href=" + ../../../faq/how_to_edit_docs/ +">Appendix</a> + + + </li> + + + + </ul> +</div></div> + + <div class="col-md-9" role="main"> + <div class="doc-header"> + <div role="navigation" aria-label="breadcrumbs navigation"> + <ul class="wy-breadcrumbs pull-right"> + <li><a href="/latest/os/introduction">Docs</a></li> + + + + <li>» <a href="../../introduction/">Mynewt Documentation</a></li> + + + + <li>» <a href="../tutorials/">Tutorials</a></li> + + + + <li>» BLE Eddystone</li> + + + + </ul> +</div> + </div> + + <h2 id="ble-eddystone">BLE Eddystone</h2> +<p><br></p> +<h3 id="eddystone-beacon-protocol">Eddystone Beacon Protocol</h3> +<p>A beaconing device announces its presence to the world by broadcasting +advertisements. The Eddystone protocol is built on top of the standard BLE +advertisement specification. Eddystone supports multiple data packet types</p> +<ul> +<li>Eddystone-UID: a unique, static ID with a 10-byte Namespace component and a 6-byte Instance component.</li> +<li>Eddystone-URL: a compressed URL that, once parsed and decompressed, is directly usable by the client.</li> +<li>Eddystone-TLM: "telemetry" packets that are broadcast alongside the Eddystone-UID or Eddystone-URL packets and contains beaconâs âhealth statusâ (e.g., battery life).</li> +<li>Eddystone-EID to broadcast an ephemeral identifier that changes every few minutes and allow only parties that can resolve the identifier to use the beacon. </li> +</ul> +<p><a href="https://developers.google.com/beacons/eddystone">This page</a> describes the Eddystone open beacon format developed by Google.</p> +<p>Apache Mynewt currently supports Eddystone-UID and Eddystone-URL formats only. This tutorial will explain how to get an Eddystone-URL beacon going on a peripheral device.</p> +<p><br></p> +<h3 id="configuration">Configuration</h3> +<p>Use the following function to configure your NimBLE device to send Eddystone-URL beacons:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span> +<span style="color: #000000">ble_eddystone_set_adv_data_url</span>(<span style="color: #A90D91">struct</span> <span style="color: #000000">ble_hs_adv_fields</span> <span style="color: #000000">*adv_fields</span>, + <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">url_scheme</span>, <span style="color: #A90D91">char</span> <span style="color: #000000">*url_body</span>, + <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">url_body_len</span>, <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">url_suffix</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>adv_fields</td> +<td>The base advertisement fields to transform into an eddystone beacon.</td> +</tr> +<tr> +<td>url_scheme</td> +<td>The prefix of the URL; one of the BLE_EDDYSTONE_URL_SCHEME values from ble_eddystone.h</td> +</tr> +<tr> +<td>url_body</td> +<td>The middle of the url specified within "".</td> +</tr> +<tr> +<td>url_body_len</td> +<td>The string length of the url_body argument.</td> +</tr> +<tr> +<td>url_suffix</td> +<td>The suffix of the URL; one of the BLE_EDDYSTONE_URL_SUFFIX values from ble_eddystone.h</td> +</tr> +</tbody> +</table> +<p><br></p> +<h3 id="modify-bleprph">Modify bleprph</h3> +<p>To demonstrate how the above function is used, we will now modify the <em>bleprph</em> +example application to send Eddystone beacons. 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_gap_adv_params</span> <span style="color: #000000">adv_params</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">const</span> <span style="color: #A90D91">char</span> <span style="color: #000000">*name</span>; + <span style="color: #A90D91">int</span> <span style="color: #000000">rc</span>; + + <span style="color: #177500">/**</span> +<span style="color: #177500"> * Set the advertisement data included in our advertisements:</span> +<span style="color: #177500"> * o Flags (indicates advertisement type and other general info).</span> +<span style="color: #177500"> * o Advertising tx power.</span> +<span style="color: #177500"> * o Device name.</span> +<span style="color: #177500"> * o 16-bit service UUIDs (alert notifications).</span> +<span style="color: #177500"> */</span> + + <span style="color: #000000">memset</span>(<span style="color: #000000">&fields</span>, <span style="color: #1C01CE">0</span>, <span style="color: #A90D91">sizeof</span> <span style="color: #000000">fields</span>); + + <span style="color: #177500">/* Advertise two flags:</span> +<span style="color: #177500"> * o Discoverability in forthcoming advertisement (general)</span> +<span style="color: #177500"> * o BLE-only (BR/EDR unsupported).</span> +<span style="color: #177500"> */</span> + <span style="color: #000000">fields</span>.<span style="color: #000000">flags</span> <span style="color: #000000">=</span> <span style="color: #000000">BLE_HS_ADV_F_DISC_GEN</span> <span style="color: #000000">|</span> + <span style="color: #000000">BLE_HS_ADV_F_BREDR_UNSUP</span>; + + <span style="color: #177500">/* Indicate that the TX power level field should be included; have the</span> +<span style="color: #177500"> * stack fill this value automatically. This is done by assiging the</span> +<span style="color: #177500"> * special value BLE_HS_ADV_TX_PWR_LVL_AUTO.</span> +<span style="color: #177500"> */</span> + <span style="color: #000000">fields</span>.<span style="color: #000000">tx_pwr_lvl_is_present</span> <span style="color: #000000">=</span> <span style="color: #1C01CE">1</span>; + <span style="color: #000000">fields</span>.<span style="color: #000000">tx_pwr_lvl</span> <span style="color: #000000">=</span> <span style="color: #000000">BLE_HS_ADV_TX_PWR_LVL_AUTO</span>; + + <span style="color: #000000">name</span> <span style="color: #000000">=</span> <span style="color: #000000">ble_svc_gap_device_name</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">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">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">fields</span>.<span style="color: #000000">uuids16</span> <span style="color: #000000">=</span> (<span style="color: #A90D91">ble_uuid16_t</span>[]){ + <span style="color: #000000">BLE_UUID16_INIT</span>(<span style="color: #000000">GATT_SVR_SVC_ALERT_UUID</span>) + }; + <span style="color: #000000">fields</span>.<span style="color: #000000">num_uuids16</span> <span style="color: #000000">=</span> <span style="color: #1C01CE">1</span>; + <span style="color: #000000">fields</span>.<span style="color: #000000">uuids16_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">&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">"error setting advertisement data; rc=%d\n"</span>, <span style="color: #000000">rc</span>); + <span style="color: #A90D91">return</span>; + } + + <span style="color: #177500">/* Begin advertising. */</span> + <span style="color: #000000">memset</span>(<span style="color: #000000">&adv_params</span>, <span style="color: #1C01CE">0</span>, <span style="color: #A90D91">sizeof</span> <span style="color: #000000">adv_params</span>); + <span style="color: #000000">adv_params</span>.<span style="color: #000000">conn_mode</span> <span style="color: #000000">=</span> <span style="color: #000000">BLE_GAP_CONN_MODE_UND</span>; + <span style="color: #000000">adv_params</span>.<span style="color: #000000">disc_mode</span> <span style="color: #000000">=</span> <span style="color: #000000">BLE_GAP_DISC_MODE_GEN</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_OWN_ADDR_PUBLIC</span>, <span style="color: #A90D91">NULL</span>, <span style="color: #000000">BLE_HS_FOREVER</span>, + <span style="color: #000000">&adv_params</span>, <span style="color: #000000">bleprph_gap_event</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">"error enabling advertisement; rc=%d\n"</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-Eddystone) advertisements; the call to <code>ble_gap_adv_start()</code> tells the +NimBLE stack to start broadcasting. We are now going to create an Eddystone app +by making the following changes:</p> +<ul> +<li>Call <code>ble_eddystone_set_adv_data()</code> instead of <code>ble_gap_adv_set_fields()</code>. The tutorial shows how to emit "`https://mynewt.apache.org".</li> +<li>Remove advertisement data such as device name, flags, tx levels etc. that are not required. </li> +<li>Remove unnecessary local variables e.g. <code>name</code> pointer. </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="color: #A90D91">struct</span> <span style="color: #000000">ble_gap_adv_params</span> <span style="color: #000000">adv_params</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">/** </span> +<span style="background-color: #ffffcc"><span style="color: #177500"> * Remove the advertisement data typically included in our advertisements: </span> +</span><span style="color: #177500"> * o Flags (indicates advertisement type and other general info).</span> +<span style="color: #177500"> * o Advertising tx power.</span> +<span style="color: #177500"> * o Device name.</span> +<span style="color: #177500"> * o 16-bit service UUIDs (alert notifications).</span> +<span style="color: #177500"> */</span> + + <span style="color: #000000">memset</span>(<span style="color: #000000">&fields</span>, <span style="color: #1C01CE">0</span>, <span style="color: #A90D91">sizeof</span> <span style="color: #000000">fields</span>); + +<span style="background-color: #ffffcc"> <span style="color: #177500">/* No flags are needed for Eddystone URL. Remove all from default app.*/</span> +</span> +<span style="background-color: #ffffcc"> <span style="color: #000000">rc</span> <span style="color: #000000">=</span> <span style="color: #000000">ble_eddystone_set_adv_data_url</span>(<span style="color: #000000">&fields</span>, <span style="color: #000000">BLE_EDDYSTONE_URL_SCHEME_HTTPS</span>, <span style="color: #C41A16">"mynewt.apache"</span>, +</span> <span style="color: #1C01CE">13</span>, <span style="color: #000000">BLE_EDDYSTONE_URL_SUFFIX_ORG</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">"error setting eddystone advertisement data; rc=%d\n"</span>, <span style="color: #000000">rc</span>); + <span style="color: #A90D91">return</span>; + } + + <span style="color: #177500">/* Begin advertising. */</span> + <span style="color: #000000">memset</span>(<span style="color: #000000">&adv_params</span>, <span style="color: #1C01CE">0</span>, <span style="color: #A90D91">sizeof</span> <span style="color: #000000">adv_params</span>); +<span style="background-color: #ffffcc"> <span style="color: #000000">adv_params</span>.<span style="color: #000000">conn_mode</span> <span style="color: #000000">=</span> <span style="color: #000000">BLE_GAP_CONN_MODE_NON</span>; +</span><span style="background-color: #ffffcc"> <span style="color: #000000">adv_params</span>.<span style="color: #000000">disc_mode</span> <span style="color: #000000">=</span> <span style="color: #000000">BLE_GAP_DISC_MODE_NON</span>; +</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_OWN_ADDR_PUBLIC</span>, <span style="color: #A90D91">NULL</span>, <span style="color: #000000">BLE_HS_FOREVER</span>, + <span style="color: #000000">&adv_params</span>, <span style="color: #000000">bleprph_gap_event</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">"error enabling advertisement; rc=%d\n"</span>, <span style="color: #000000">rc</span>); + <span style="color: #A90D91">return</span>; + } +} +</pre></div> + + +<p>Also include the header file for the eddystone beacon <code>ble_eddystone.h</code> in the app's main.c file. </p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #633820">#include "host/ble_eddystone.h"</span> +</pre></div> + + +<p>If you have copied the bleprph app into your local repository then make sure that the pkg.yml for the app has the <code>@apache-mynewt-core/</code> prefix; otherwise the package dependencies will not be resolved correctly.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">pkg.deps: + - "@apache-mynewt-core/boot/split" + - "@apache-mynewt-core/kernel/os" +<snip> +</pre></div> + + +<p>Finally, enable the <code>BLE_EDDYSTONE</code> sysconfig in the syscfg.yml of either your target or your app.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">syscfg.vals: + <snip> + BLE_EDDYSTONE: 1 +</pre></div> + + +<p>Now when you run this app on your board, you should be able to see it with all +your Eddystone-aware devices.</p> + + <div class="row"> + + + + +<ul class="nav nav-pills" style="margin-bottom: 10px"> + <li> + + <a href=../ibeacon/> + <span class="fa fa-arrow-left"></span> + Previous: BLE iBeacon + </a> + + </li> + <li class="pull-right"> + + <a href=../blehci_project/> + Next: BLE HCI interface + <span class="fa fa-arrow-right"></span> + </a> + + </li> +</ul> + </div> + <footer class="row"> + <div class="col-xs-12"> + + <p class="copyright">Apache Mynewt (incubating) is available under Apache License, version 2.0.</p> + + </div> + <div class="col-xs-12"> + <div class="logos"> + <img src="/img/asf_logo_wide_small.png" alt="Apache" title="Apache"> + <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> + <img src="/img/egg-logo2.png" alt="Apache Incubator" title="Apache Incubator"> + </div> + </div> +</footer> + </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/e1ea942d/latest/os/tutorials/event_queue/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/event_queue/index.html b/latest/os/tutorials/event_queue/index.html index c6893c3..2548aec 100644 --- a/latest/os/tutorials/event_queue/index.html +++ b/latest/os/tutorials/event_queue/index.html @@ -356,6 +356,14 @@ <li > + <a href="../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../blehci_project/">BLE HCI interface</a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/ibeacon/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/ibeacon/index.html b/latest/os/tutorials/ibeacon/index.html index 252127d..5b7099e 100644 --- a/latest/os/tutorials/ibeacon/index.html +++ b/latest/os/tutorials/ibeacon/index.html @@ -356,6 +356,14 @@ <li > + <a href="../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../blehci_project/">BLE HCI interface</a> </li> @@ -513,14 +521,46 @@ package.</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_gap_adv_params</span> <span style="color: #000000">adv_params</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">const</span> <span style="color: #A90D91">char</span> <span style="color: #000000">*name</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: #177500">/**</span> +<span style="color: #177500"> * Set the advertisement data included in our advertisements:</span> +<span style="color: #177500"> * o Flags (indicates advertisement type and other general info).</span> +<span style="color: #177500"> * o Advertising tx power.</span> +<span style="color: #177500"> * o Device name.</span> +<span style="color: #177500"> * o 16-bit service UUIDs (alert notifications).</span> +<span style="color: #177500"> */</span> + <span style="color: #000000">memset</span>(<span style="color: #000000">&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: #177500">/* Advertise two flags:</span> +<span style="color: #177500"> * o Discoverability in forthcoming advertisement (general)</span> +<span style="color: #177500"> * o BLE-only (BR/EDR unsupported).</span> +<span style="color: #177500"> */</span> + <span style="color: #000000">fields</span>.<span style="color: #000000">flags</span> <span style="color: #000000">=</span> <span style="color: #000000">BLE_HS_ADV_F_DISC_GEN</span> <span style="color: #000000">|</span> + <span style="color: #000000">BLE_HS_ADV_F_BREDR_UNSUP</span>; + + <span style="color: #177500">/* Indicate that the TX power level field should be included; have the</span> +<span style="color: #177500"> * stack fill this value automatically. This is done by assiging the</span> +<span style="color: #177500"> * special value BLE_HS_ADV_TX_PWR_LVL_AUTO.</span> +<span style="color: #177500"> */</span> + <span style="color: #000000">fields</span>.<span style="color: #000000">tx_pwr_lvl_is_present</span> <span style="color: #000000">=</span> <span style="color: #1C01CE">1</span>; + <span style="color: #000000">fields</span>.<span style="color: #000000">tx_pwr_lvl</span> <span style="color: #000000">=</span> <span style="color: #000000">BLE_HS_ADV_TX_PWR_LVL_AUTO</span>; + + <span style="color: #000000">name</span> <span style="color: #000000">=</span> <span style="color: #000000">ble_svc_gap_device_name</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">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">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">fields</span>.<span style="color: #000000">uuids16</span> <span style="color: #000000">=</span> (<span style="color: #A90D91">ble_uuid16_t</span>[]){ + <span style="color: #000000">BLE_UUID16_INIT</span>(<span style="color: #000000">GATT_SVR_SVC_ALERT_UUID</span>) + }; + <span style="color: #000000">fields</span>.<span style="color: #000000">num_uuids16</span> <span style="color: #000000">=</span> <span style="color: #1C01CE">1</span>; + <span style="color: #000000">fields</span>.<span style="color: #000000">uuids16_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">&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">"error setting advertisement data; rc=%d\n"</span>, <span style="color: #000000">rc</span>); @@ -528,8 +568,11 @@ package.</p> } <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: #000000">memset</span>(<span style="color: #000000">&adv_params</span>, <span style="color: #1C01CE">0</span>, <span style="color: #A90D91">sizeof</span> <span style="color: #000000">adv_params</span>); + <span style="color: #000000">adv_params</span>.<span style="color: #000000">conn_mode</span> <span style="color: #000000">=</span> <span style="color: #000000">BLE_GAP_CONN_MODE_UND</span>; + <span style="color: #000000">adv_params</span>.<span style="color: #000000">disc_mode</span> <span style="color: #000000">=</span> <span style="color: #000000">BLE_GAP_DISC_MODE_GEN</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_OWN_ADDR_PUBLIC</span>, <span style="color: #A90D91">NULL</span>, <span style="color: #000000">BLE_HS_FOREVER</span>, + <span style="color: #000000">&adv_params</span>, <span style="color: #000000">bleprph_gap_event</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">"error enabling advertisement; rc=%d\n"</span>, <span style="color: #000000">rc</span>); <span style="color: #A90D91">return</span>; @@ -541,7 +584,7 @@ package.</p> <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> +by making the following two 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> @@ -550,10 +593,11 @@ by making the following to changes:</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 style="background-color: #ffffcc"> <span style="color: #A90D91">struct</span> <span style="color: #000000">ble_gap_adv_params</span> <span style="color: #000000">adv_params</span>; +</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 style="background-color: #ffffcc"> +</span><span style="background-color: #ffffcc"> <span style="color: #177500">/* Arbitrarily set 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> @@ -565,8 +609,11 @@ by making the following to changes:</p> } <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: #000000">memset</span>(<span style="color: #000000">&adv_params</span>, <span style="color: #1C01CE">0</span>, <span style="color: #A90D91">sizeof</span> <span style="color: #000000">adv_params</span>); +<span style="background-color: #ffffcc"> <span style="color: #000000">adv_params</span>.<span style="color: #000000">conn_mode</span> <span style="color: #000000">=</span> <span style="color: #000000">BLE_GAP_CONN_MODE_NON</span>; +</span><span style="background-color: #ffffcc"> <span style="color: #000000">adv_params</span>.<span style="color: #000000">disc_mode</span> <span style="color: #000000">=</span> <span style="color: #000000">BLE_GAP_DISC_MODE_NON</span>; +</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_OWN_ADDR_PUBLIC</span>, <span style="color: #A90D91">NULL</span>, <span style="color: #000000">BLE_HS_FOREVER</span>, + <span style="color: #000000">&adv_params</span>, <span style="color: #000000">bleprph_gap_event</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">"error enabling advertisement; rc=%d\n"</span>, <span style="color: #000000">rc</span>); <span style="color: #A90D91">return</span>; @@ -594,8 +641,8 @@ your iBeacon-aware devices.</p> </li> <li class="pull-right"> - <a href=../blehci_project/> - Next: BLE HCI interface + <a href=../eddystone/> + Next: BLE Eddystone <span class="fa fa-arrow-right"></span> </a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/nRF52/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/nRF52/index.html b/latest/os/tutorials/nRF52/index.html index 4628563..f785404 100644 --- a/latest/os/tutorials/nRF52/index.html +++ b/latest/os/tutorials/nRF52/index.html @@ -419,6 +419,14 @@ <li > + <a href="../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../blehci_project/">BLE HCI interface</a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/olimex/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/olimex/index.html b/latest/os/tutorials/olimex/index.html index ab7791e..4fa4ac8 100644 --- a/latest/os/tutorials/olimex/index.html +++ b/latest/os/tutorials/olimex/index.html @@ -419,6 +419,14 @@ <li > + <a href="../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../blehci_project/">BLE HCI interface</a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/pin-wheel-mods/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/pin-wheel-mods/index.html b/latest/os/tutorials/pin-wheel-mods/index.html index 5a46702..87305e6 100644 --- a/latest/os/tutorials/pin-wheel-mods/index.html +++ b/latest/os/tutorials/pin-wheel-mods/index.html @@ -433,6 +433,14 @@ <li > + <a href="../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../blehci_project/">BLE HCI interface</a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/project-slinky/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/project-slinky/index.html b/latest/os/tutorials/project-slinky/index.html index 344763b..84ad02c 100644 --- a/latest/os/tutorials/project-slinky/index.html +++ b/latest/os/tutorials/project-slinky/index.html @@ -376,6 +376,14 @@ <li > + <a href="../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../blehci_project/">BLE HCI interface</a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/project-target-slinky/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/project-target-slinky/index.html b/latest/os/tutorials/project-target-slinky/index.html index 967f0d7..c358141 100644 --- a/latest/os/tutorials/project-target-slinky/index.html +++ b/latest/os/tutorials/project-target-slinky/index.html @@ -376,6 +376,14 @@ <li > + <a href="../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../blehci_project/">BLE HCI interface</a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/repo/add_repos/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/repo/add_repos/index.html b/latest/os/tutorials/repo/add_repos/index.html index 1b3dbd8..d583da3 100644 --- a/latest/os/tutorials/repo/add_repos/index.html +++ b/latest/os/tutorials/repo/add_repos/index.html @@ -386,6 +386,14 @@ <li > + <a href="../../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../../blehci_project/">BLE HCI interface</a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/repo/create_repo/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/repo/create_repo/index.html b/latest/os/tutorials/repo/create_repo/index.html index c72ea37..772c160 100644 --- a/latest/os/tutorials/repo/create_repo/index.html +++ b/latest/os/tutorials/repo/create_repo/index.html @@ -386,6 +386,14 @@ <li > + <a href="../../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../../blehci_project/">BLE HCI interface</a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/repo/private_repo/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/repo/private_repo/index.html b/latest/os/tutorials/repo/private_repo/index.html index 4251331..269b7f1 100644 --- a/latest/os/tutorials/repo/private_repo/index.html +++ b/latest/os/tutorials/repo/private_repo/index.html @@ -386,6 +386,14 @@ <li > + <a href="../../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../../blehci_project/">BLE HCI interface</a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/repo/upgrade_repo/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/repo/upgrade_repo/index.html b/latest/os/tutorials/repo/upgrade_repo/index.html index b674b0c..b549fd9 100644 --- a/latest/os/tutorials/repo/upgrade_repo/index.html +++ b/latest/os/tutorials/repo/upgrade_repo/index.html @@ -386,6 +386,14 @@ <li > + <a href="../../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../../blehci_project/">BLE HCI interface</a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/tasks_lesson/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/tasks_lesson/index.html b/latest/os/tutorials/tasks_lesson/index.html index b1a1de5..1f6e925 100644 --- a/latest/os/tutorials/tasks_lesson/index.html +++ b/latest/os/tutorials/tasks_lesson/index.html @@ -356,6 +356,14 @@ <li > + <a href="../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../blehci_project/">BLE HCI interface</a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/tutorials/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/tutorials/index.html b/latest/os/tutorials/tutorials/index.html index 69b176e..5d8b7b3 100644 --- a/latest/os/tutorials/tutorials/index.html +++ b/latest/os/tutorials/tutorials/index.html @@ -356,6 +356,14 @@ <li > + <a href="../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../blehci_project/">BLE HCI interface</a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/unit_test/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/unit_test/index.html b/latest/os/tutorials/unit_test/index.html index 96a269c..3761b49 100644 --- a/latest/os/tutorials/unit_test/index.html +++ b/latest/os/tutorials/unit_test/index.html @@ -356,6 +356,14 @@ <li > + <a href="../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../blehci_project/">BLE HCI interface</a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/os/tutorials/wi-fi_on_arduino/index.html ---------------------------------------------------------------------- diff --git a/latest/os/tutorials/wi-fi_on_arduino/index.html b/latest/os/tutorials/wi-fi_on_arduino/index.html index d2af4da..df0a476 100644 --- a/latest/os/tutorials/wi-fi_on_arduino/index.html +++ b/latest/os/tutorials/wi-fi_on_arduino/index.html @@ -356,6 +356,14 @@ <li > + <a href="../eddystone/">BLE Eddystone</a> + </li> + + + + + + <li > <a href="../blehci_project/">BLE HCI interface</a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/latest/sitemap.xml ---------------------------------------------------------------------- diff --git a/latest/sitemap.xml b/latest/sitemap.xml index 3233145..86b28f4 100644 --- a/latest/sitemap.xml +++ b/latest/sitemap.xml @@ -4,7 +4,7 @@ <url> <loc>http://mynewt.apache.org/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -13,7 +13,7 @@ <url> <loc>http://mynewt.apache.org/pages/ble/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -22,7 +22,7 @@ <url> <loc>http://mynewt.apache.org/quick-start/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -30,7 +30,7 @@ <url> <loc>http://mynewt.apache.org/about/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -38,7 +38,7 @@ <url> <loc>http://mynewt.apache.org/talks/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -46,7 +46,7 @@ <url> <loc>http://mynewt.apache.org/download/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -54,7 +54,7 @@ <url> <loc>http://mynewt.apache.org/community/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -62,7 +62,7 @@ <url> <loc>http://mynewt.apache.org/events/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -71,7 +71,7 @@ <url> <loc>http://mynewt.apache.org/os/introduction/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -83,7 +83,7 @@ <url> <loc>http://mynewt.apache.org/os/get_started/vocabulary/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -123,13 +123,13 @@ <url> <loc>http://mynewt.apache.org/faq/how_to_edit_docs/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>http://mynewt.apache.org/faq/answers/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/sitemap.xml ---------------------------------------------------------------------- diff --git a/sitemap.xml b/sitemap.xml index 648d503..9b8bff2 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -4,7 +4,7 @@ <url> <loc>http://mynewt.apache.org/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -13,13 +13,13 @@ <url> <loc>http://mynewt.apache.org/pages/ble/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>http://mynewt.apache.org/pages/securitybullets/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -28,7 +28,7 @@ <url> <loc>http://mynewt.apache.org/quick-start/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -36,7 +36,7 @@ <url> <loc>http://mynewt.apache.org/about/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -44,7 +44,7 @@ <url> <loc>http://mynewt.apache.org/talks/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -52,7 +52,7 @@ <url> <loc>http://mynewt.apache.org/download/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -60,7 +60,7 @@ <url> <loc>http://mynewt.apache.org/community/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -68,7 +68,7 @@ <url> <loc>http://mynewt.apache.org/events/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -77,7 +77,7 @@ <url> <loc>http://mynewt.apache.org/os/introduction/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -89,7 +89,7 @@ <url> <loc>http://mynewt.apache.org/os/get_started/vocabulary/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -129,13 +129,13 @@ <url> <loc>http://mynewt.apache.org/faq/how_to_edit_docs/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>http://mynewt.apache.org/faq/answers/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/e1ea942d/v0_9_0/sitemap.xml ---------------------------------------------------------------------- diff --git a/v0_9_0/sitemap.xml b/v0_9_0/sitemap.xml index 648d503..9b8bff2 100644 --- a/v0_9_0/sitemap.xml +++ b/v0_9_0/sitemap.xml @@ -4,7 +4,7 @@ <url> <loc>http://mynewt.apache.org/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -13,13 +13,13 @@ <url> <loc>http://mynewt.apache.org/pages/ble/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>http://mynewt.apache.org/pages/securitybullets/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -28,7 +28,7 @@ <url> <loc>http://mynewt.apache.org/quick-start/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -36,7 +36,7 @@ <url> <loc>http://mynewt.apache.org/about/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -44,7 +44,7 @@ <url> <loc>http://mynewt.apache.org/talks/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -52,7 +52,7 @@ <url> <loc>http://mynewt.apache.org/download/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -60,7 +60,7 @@ <url> <loc>http://mynewt.apache.org/community/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -68,7 +68,7 @@ <url> <loc>http://mynewt.apache.org/events/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -77,7 +77,7 @@ <url> <loc>http://mynewt.apache.org/os/introduction/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -89,7 +89,7 @@ <url> <loc>http://mynewt.apache.org/os/get_started/vocabulary/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> @@ -129,13 +129,13 @@ <url> <loc>http://mynewt.apache.org/faq/how_to_edit_docs/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>http://mynewt.apache.org/faq/answers/</loc> - <lastmod>2017-02-13</lastmod> + <lastmod>2017-02-15</lastmod> <changefreq>daily</changefreq> </url>
