Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: microbit-dal microbit-dal microbit-ble-open microbit-dal ... more
Fork of BLE_API by
Revision 872:5d0c85f8ce20, committed 2015-11-03
- Comitter:
- rgrover1
- Date:
- Tue Nov 03 12:51:24 2015 +0000
- Parent:
- 871:5ef320358146
- Child:
- 873:2e1a7bcf6590
- Commit message:
- Synchronized with git rev 2a11965b
Author: Rohit Grover
Merge branch 'develop'. Minor improvement to EddystoneBeacon.
Changed in this revision
--- a/ble/services/EddystoneConfigService.h Tue Nov 03 12:51:24 2015 +0000
+++ b/ble/services/EddystoneConfigService.h Tue Nov 03 12:51:24 2015 +0000
@@ -215,7 +215,7 @@
DBG("Setting Default TLM Data, version = %d, advPeriodInMind= %f", tlmVersionIn, advPeriodInSec);
defaultTlmVersion = tlmVersionIn;
TlmBatteryVoltage = 0;
- TlmBeaconTemp = 0;
+ TlmBeaconTemp = 0x8000;
TlmPduCount = 0;
TlmTimeSinceBoot = 0;
defaultTlmAdvPeriod = advPeriodInSec;
@@ -389,7 +389,7 @@
params.flags = 0x10;
memcpy(params.advPowerLevels, defaultAdvPowerLevels, sizeof(PowerLevels_t));
params.txPowerMode = TX_POWER_MODE_LOW;
- params.beaconPeriod = 1000;
+ params.beaconPeriod = (uint16_t) defaultUriAdvPeriod * 1000;
// TLM Frame
params.tlmVersion = defaultTlmVersion;
--- a/ble/services/EddystoneService.h Tue Nov 03 12:51:24 2015 +0000
+++ b/ble/services/EddystoneService.h Tue Nov 03 12:51:24 2015 +0000
@@ -101,9 +101,9 @@
void setUIDFrameData(int8_t power,
UIDNamespaceID_t namespaceID,
UIDInstanceID_t instanceID,
- uint32_t uidAdvPeriodIn,
+ float uidAdvPeriodIn,
uint16_t RFU = 0x0000) {
- if (0 == uidAdvPeriodIn) {
+ if (0.0f == uidAdvPeriodIn) {
uidIsSet = false;
return;
}
@@ -170,8 +170,8 @@
* @param[in] urlAdvPeriodIn How long to advertise the URL frame (measured in # of adv periods)
* @return false on success, true on failure.
*/
- bool setURLFrameData(int8_t power, const char *urlIn, uint32_t urlAdvPeriodIn) {
- if (0 == urlAdvPeriodIn) {
+ bool setURLFrameData(int8_t power, const char *urlIn, float urlAdvPeriodIn) {
+ if (0.0f == urlAdvPeriodIn) {
urlIsSet = false;
return false;
}
@@ -193,8 +193,8 @@
* @param[in] urlAdvPeriodIn How long to advertise the URL frame (measured in # of adv periods)
* @return false on success, true on failure.
*/
- bool setURLFrameEncodedData(int8_t power, const char *encodedUrlIn, uint8_t encodedUrlInLength, uint32_t urlAdvPeriodIn) {
- if (0 == urlAdvPeriodIn) {
+ bool setURLFrameEncodedData(int8_t power, const char *encodedUrlIn, uint8_t encodedUrlInLength, float urlAdvPeriodIn) {
+ if (0.0f == urlAdvPeriodIn) {
urlIsSet = false;
return false;
}
@@ -235,12 +235,12 @@
*
*/
void setTLMFrameData(uint8_t version = 0,
- uint32_t advPeriod = 60,
+ float advPeriod = 60.0f,
uint16_t batteryVoltage = 0,
- uint16_t beaconTemp = 0,
+ uint16_t beaconTemp = 0x8000,
uint32_t pduCount = 0,
uint32_t timeSinceBoot = 0) {
- if (0 == advPeriod) {
+ if (0.0f == advPeriod) {
tlmIsSet = false;
return;
}
@@ -507,7 +507,7 @@
// Initialize Frame transition, start with URL to pass eddystone validator app on first try
if (urlIsSet) {
frameIndex = url;
- urlTicker.attach(this, &EddystoneService::urlCallback, urlAdvPeriod);
+ urlTicker.attach(this, &EddystoneService::urlCallback, (float) advPeriodus / 1000.0f);
DBG("attached urlCallback every %d seconds", urlAdvPeriod);
}
if (uidIsSet) {
@@ -552,7 +552,7 @@
UriData_t defaultUriData;
int8_t defaultUrlPower;
bool urlIsSet; // flag that enables / disable URI Frames
- uint32_t urlAdvPeriod; // how long the url frame will be advertised for
+ float urlAdvPeriod; // how long the url frame will be advertised for
Ticker urlTicker;
// UID Frame Variables
@@ -561,7 +561,7 @@
int8_t defaultUidPower;
uint16_t uidRFU;
bool uidIsSet; // flag that enables / disable UID Frames
- uint32_t uidAdvPeriod; // how long the uid frame will be advertised for
+ float uidAdvPeriod; // how long the uid frame will be advertised for
Ticker uidTicker;
// TLM Frame Variables
@@ -571,7 +571,7 @@
volatile uint32_t TlmPduCount;
volatile uint32_t TlmTimeSinceBoot;
bool tlmIsSet; // flag that enables / disables TLM frames
- uint32_t TlmAdvPeriod; // number of minutes between adv frames
+ float TlmAdvPeriod; // number of minutes between adv frames
Ticker tlmTicker;
public:
--- a/module.json Tue Nov 03 12:51:24 2015 +0000
+++ b/module.json Tue Nov 03 12:51:24 2015 +0000
@@ -1,6 +1,6 @@
{
"name": "ble",
- "version": "2.0.0",
+ "version": "2.0.1",
"description": "The BLE module offers a high level abstraction for using Bluetooth Low Energy on multiple platforms.",
"keywords": [
"Bluetooth",
