Fixes for Eddystone - Temporary fork to have fixes without breaking API changes

Fork of BLE_API by Bluetooth Low Energy

History

Synchronized with git rev 9d92facf default tip

2015-11-02, by rgrover1 [Mon, 02 Nov 2015 17:51:42 +0000] rev 870

Synchronized with git rev 9d92facf
Author: Rohit Grover
version v2.0.1


Synchronized with git rev 4fe124f2

2015-11-02, by rgrover1 [Mon, 02 Nov 2015 17:51:41 +0000] rev 869

Synchronized with git rev 4fe124f2
Author: Andres Amaya Garcia
Use correct not-implemented value for Voltage/Temp


Synchronized with git rev 058243f3

2015-11-02, by rgrover1 [Mon, 02 Nov 2015 17:51:41 +0000] rev 868

Synchronized with git rev 058243f3
Author: Andres Amaya Garcia
Fixed period settings for adv packets

Fixed the period settings for beacon advertisement packets. Changes through
the config service now take effect and defaults can be set through code.


Synchronized with git rev 2f92904f

2015-11-02, by rgrover1 [Mon, 02 Nov 2015 09:09:08 +0000] rev 867

Synchronized with git rev 2f92904f
Author: Rohit Grover
Release 2.0.0
=============

* Major change to the APIs around stack initialization. BLE::init() is now
meant to only trigger the initialization of the underlying BLE stack. init()
now takes a completion callback as an optional parameter; this callback gets
invoked when initialization completes.

- There's a new type: BLE::InitializationCompleteCallback_t

- There's a new API: BLEInstanceBase::hasInitialized() which transports
need to implement.

- If no init-completion callback is setup, the application can still
determine the status of initialization using BLE::hasInitialized().

!This update may require in a minor change to existing apps!

mbed-classic demos would look something like:

```
main() {
BLE::Instance().init();
while (!BLE::Instance().hasInitialized()) {
/* spin wait */
}

/* rest of the initialization ending in the waitForEvent loop */

}
```

whereas mbedOS demos would look like:

```
void bleInitComplete(BLE &ble, ble_error_t error)
{
WsfTrace("bleInitComplete");

if (error != BLE_ERROR_NONE) {
WsfTrace("initailization failed with error: %u", error);
return;
}

if (ble.getInstanceID() == BLE::DEFAULT_INSTANCE) {
/* use the BLE instance */
}
}

extern "C" void app_start(int argc, char *argv[])
{
BLE::Instance().init(bleInitComplete);
}
```

The Nordic stack initializes right-away, and so existing demos based on Nordic should continue to work.

* There's a new API: BLE::getInstanceID(), which simply returns the ID of an
instance.

* Reduce the memory footprint consumed by a FunctionPointerWithContext to 20
bytes (originally, it was 32 bytes !). Also enforce alignment constraints
of the embedded pointer to member function. This should help with the size
of a GattCharacteristic.

* Add EnvironmentalService.h under services/.

* There have been minor improvements to EddystoneService and EddystoneConfigService.

* We've added a CONTRIBUTING.md to help guide user contributions.


Synchronized with git rev be09e516

2015-11-02, by rgrover1 [Mon, 02 Nov 2015 09:09:08 +0000] rev 866

Synchronized with git rev be09e516
Author: Rohit Grover
use types like ReadOnlyGattCharacteristic<TemperatureType_t>


Synchronized with git rev bdc1ca08

2015-11-02, by rgrover1 [Mon, 02 Nov 2015 09:09:07 +0000] rev 865

Synchronized with git rev bdc1ca08
Author: Rohit Grover
introduce types for temperature/humidity/pressure.


Synchronized with git rev 45e80c8b

2015-11-02, by rgrover1 [Mon, 02 Nov 2015 09:09:07 +0000] rev 864

Synchronized with git rev 45e80c8b
Author: Rohit Grover
white space diffs; mostly alignment


Synchronized with git rev e1bce4e5

2015-11-02, by rgrover1 [Mon, 02 Nov 2015 09:09:07 +0000] rev 863

Synchronized with git rev e1bce4e5
Author: Rohit Grover
Merge branch 'master' of https://github.com/xcrespo/ble into xcrespo-master


Synchronized with git rev 99ba55ba

2015-11-02, by rgrover1 [Mon, 02 Nov 2015 09:09:07 +0000] rev 862

Synchronized with git rev 99ba55ba
Author: Rohit Grover
Merge pull request #81 from pan-/functionPointerOptimisation

Reduce the memory consumed by FunctionPointerWithContext instances


Synchronized with git rev e0ef88f4

2015-11-02, by rgrover1 [Mon, 02 Nov 2015 09:09:07 +0000] rev 861

Synchronized with git rev e0ef88f4
Author: Rohit Grover
Merge branch 'master' into develop.