PBL mbed final
Fork of nRF51822 by
Revision 458:b42881afcc6e, committed 2015-11-02
- Comitter:
- rgrover1
- Date:
- Mon Nov 02 09:05:11 2015 +0000
- Parent:
- 457:4b6a1f794460
- Child:
- 459:98c44deafc70
- Commit message:
- Synchronized with git rev 20b07e38
Author: Rohit Grover
update init() to match the chagnes around initializationCompleteCallback.
refer to https://github.com/ARMmbed/ble/pull/91 and https://github.com/ARMmbed/ble/issues/90
Changed in this revision
source/nRF5xn.cpp | Show annotated file Show diff for this revision Revisions of this file |
source/nRF5xn.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/source/nRF5xn.cpp Mon Nov 02 09:05:11 2015 +0000 +++ b/source/nRF5xn.cpp Mon Nov 02 09:05:11 2015 +0000 @@ -38,7 +38,7 @@ return (&deviceInstance); } -nRF5xn::nRF5xn(void) +nRF5xn::nRF5xn(void) : initialized(false), instanceID(BLE::DEFAULT_INSTANCE) { } @@ -72,11 +72,24 @@ return versionString; } -ble_error_t nRF5xn::init(void) +ble_error_t nRF5xn::init(BLE::InstanceID_t instanceID, BLE::InitializationCompleteCallback_t callback) { + if (initialized) { + if (callback) { + callback(BLE::Instance(instanceID), BLE_ERROR_ALREADY_INITIALIZED); + } + return BLE_ERROR_ALREADY_INITIALIZED; + } + + instanceID = instanceID; + /* ToDo: Clear memory contents, reset the SD, etc. */ btle_init(); + initialized = true; + if (callback) { + callback(BLE::Instance(instanceID), BLE_ERROR_NONE); + } return BLE_ERROR_NONE; }
--- a/source/nRF5xn.h Mon Nov 02 09:05:11 2015 +0000 +++ b/source/nRF5xn.h Mon Nov 02 09:05:11 2015 +0000 @@ -17,13 +17,15 @@ #ifndef __NRF51822_H__ #define __NRF51822_H__ -#include "mbed.h" +#include "ble/BLE.h" #include "ble/blecommon.h" -#include "ble/BLE.h" +#include "ble/BLEInstanceBase.h" + #include "nRF5xGap.h" #include "nRF5xGattServer.h" #include "nRF5xGattClient.h" #include "nRF5xSecurityManager.h" + #include "btle.h" class nRF5xn : public BLEInstanceBase @@ -32,7 +34,10 @@ nRF5xn(void); virtual ~nRF5xn(void); - virtual ble_error_t init(void); + virtual ble_error_t init(BLE::InstanceID_t instanceID, BLE::InitializationCompleteCallback_t); + virtual bool hasInitialized(void) const { + return initialized; + } virtual ble_error_t shutdown(void); virtual const char *getVersion(void); @@ -58,6 +63,10 @@ return nRF5xSecurityManager::getInstance(); } virtual void waitForEvent(void); + +private: + bool initialized; + BLE::InstanceID_t instanceID; }; #endif \ No newline at end of file