mirror of https://github.com/ARMmbed/mbed-os.git
broadcaster role cordio pass
parent
c198603c63
commit
eb16fb6053
|
@ -676,17 +676,22 @@ public:
|
|||
{
|
||||
}
|
||||
};
|
||||
#endif // BLE_FEATURE_CONNECTABLE
|
||||
|
||||
#endif // BLE_FEATURE_CONNECTABLE
|
||||
#if BLE_FEATURE_PRIVACY
|
||||
#if BLE_ROLE_PERIPHERAL
|
||||
/**
|
||||
* @copydoc ble::peripheral_privacy_configuration_t
|
||||
*/
|
||||
typedef ble::peripheral_privacy_configuration_t PeripheralPrivacyConfiguration_t;
|
||||
|
||||
#endif // BLE_ROLE_PERIPHERAL
|
||||
#if BLE_ROLE_CENTRAL
|
||||
/**
|
||||
* @copydoc ble::central_privay_configuration_t
|
||||
*/
|
||||
typedef ble::central_privay_configuration_t CentralPrivacyConfiguration_t;
|
||||
#endif // BLE_ROLE_CENTRAL
|
||||
#endif // BLE_FEATURE_PRIVACY
|
||||
|
||||
/**
|
||||
* Number of microseconds in 1.25 milliseconds.
|
||||
|
@ -722,7 +727,7 @@ public:
|
|||
*/
|
||||
typedef CallChainOfFunctionPointersWithContext<TimeoutSource_t>
|
||||
TimeoutEventCallbackChain_t;
|
||||
|
||||
#if BLE_FEATURE_CONNECTABLE
|
||||
/**
|
||||
* Connection event handler.
|
||||
*
|
||||
|
@ -754,7 +759,7 @@ public:
|
|||
*/
|
||||
typedef CallChainOfFunctionPointersWithContext<const DisconnectionCallbackParams_t *>
|
||||
DisconnectionEventCallbackChain_t;
|
||||
|
||||
#endif // BLE_FEATURE_CONNECTABLE
|
||||
/**
|
||||
* Radio notification event handler.
|
||||
*
|
||||
|
|
|
@ -511,6 +511,7 @@ public:
|
|||
)
|
||||
{
|
||||
}
|
||||
#endif // BLE_FEATURE_PHY_MANAGEMENT
|
||||
|
||||
/**
|
||||
* Function invoked when the connections changes the maximum number of octets
|
||||
|
@ -531,7 +532,6 @@ public:
|
|||
)
|
||||
{
|
||||
}
|
||||
#endif // BLE_FEATURE_PHY_MANAGEMENT
|
||||
protected:
|
||||
/**
|
||||
* Prevent polymorphic deletion and avoid unnecessary virtual destructor
|
||||
|
|
|
@ -126,8 +126,10 @@ public:
|
|||
*/
|
||||
GenericGap(
|
||||
pal::EventQueue &event_queue,
|
||||
PalGap &pal_gap,
|
||||
pal::GenericAccessService &generic_access_service
|
||||
PalGap &pal_gap
|
||||
#if BLE_FEATURE_GATT_SERVER
|
||||
, pal::GenericAccessService &generic_access_service
|
||||
#endif
|
||||
#if BLE_FEATURE_SECURITY
|
||||
PalSecurityManager &pal_sm
|
||||
#endif
|
||||
|
@ -553,6 +555,8 @@ public:
|
|||
*/
|
||||
ble_error_t enablePrivacy_(bool enable);
|
||||
|
||||
#if BLE_FEATURE_PRIVACY
|
||||
#if BLE_ROLE_BROADCASTER
|
||||
/**
|
||||
* @see Gap::setPeripheralPrivacyConfiguration
|
||||
*/
|
||||
|
@ -566,7 +570,8 @@ public:
|
|||
ble_error_t getPeripheralPrivacyConfiguration_(
|
||||
PeripheralPrivacyConfiguration_t *configuration
|
||||
);
|
||||
|
||||
#endif // BLE_ROLE_BROADCASTER
|
||||
#if BLE_ROLE_OBSERVER
|
||||
/**
|
||||
* @see Gap::setCentralPrivacyConfiguration
|
||||
*/
|
||||
|
@ -580,6 +585,8 @@ public:
|
|||
ble_error_t getCentralPrivacyConfiguration_(
|
||||
CentralPrivacyConfiguration_t *configuration
|
||||
);
|
||||
#endif // BLE_ROLE_OBSERVER
|
||||
#endif // BLE_FEATURE_PRIVACY
|
||||
|
||||
/**
|
||||
* @see Gap::setAdvertisingData
|
||||
|
|
|
@ -1,75 +1,75 @@
|
|||
{
|
||||
"name": "ble",
|
||||
"config": {
|
||||
"ble-role-observer": {
|
||||
"help": "Include observer BLE role support (scanning for and processing advertising packets).",
|
||||
"value": true,
|
||||
"macro_name": "BLE_ROLE_OBSERVER"
|
||||
},
|
||||
"ble-role-broadcaster": {
|
||||
"help": "Include broadcaster BLE role support (sending advertising packets).",
|
||||
"value": true,
|
||||
"macro_name": "BLE_ROLE_BROADCASTER"
|
||||
},
|
||||
"ble-role-central": {
|
||||
"help": "Include central BLE role support (initiates connections), depends on observer role.",
|
||||
"value": true,
|
||||
"macro_name": "BLE_ROLE_CENTRAL"
|
||||
},
|
||||
"ble-role-peripheral": {
|
||||
"help": "Include peripheral BLE role support (accepts connections), depends on broadcaster role.",
|
||||
"value": true,
|
||||
"macro_name": "BLE_ROLE_PERIPHERAL"
|
||||
},
|
||||
"ble-feature-gatt-client": {
|
||||
"help": "Include Gatt Client BLE role support (requests remote operations on attributes), depends on peripheral and central role.",
|
||||
"value": true,
|
||||
"macro_name": "BLE_FEATURE_GATT_CLIENT"
|
||||
},
|
||||
"ble-feature-gatt-server": {
|
||||
"help": "Include Gatt Server BLE role support (executes operations on stored attributes), depends on peripheral or central role.",
|
||||
"value": true,
|
||||
"macro_name": "BLE_FEATURE_GATT_SERVER"
|
||||
},
|
||||
"ble-feature-security": {
|
||||
"help": "Include security support (key management), depends on peripheral or central role.",
|
||||
"value": true,
|
||||
"macro_name": "BLE_FEATURE_SECURITY"
|
||||
},
|
||||
"ble-feature-secure-connections": {
|
||||
"help": "Include secure connections support, depends on the security feature.",
|
||||
"value": true,
|
||||
"macro_name": "BLE_FEATURE_SECURE_CONNECTIONS"
|
||||
},
|
||||
"ble-feature-signing": {
|
||||
"help": "Include signing support (signed attribute writes), depends on the security feature.",
|
||||
"value": true,
|
||||
"macro_name": "BLE_FEATURE_SIGNING"
|
||||
},
|
||||
"ble-feature-whitelist": {
|
||||
"help": "Include whitelist support (peer filtering), depends on the security feature.",
|
||||
"value": true,
|
||||
"macro_name": "BLE_FEATURE_WHITELIST"
|
||||
},
|
||||
"ble-feature-privacy": {
|
||||
"help": "Include privacy support (random resolvable addresses), depends on the security feature.",
|
||||
"value": true,
|
||||
"macro_name": "BLE_FEATURE_PRIVACY"
|
||||
},
|
||||
"ble-feature-phy-management": {
|
||||
"help": "Additional PHY support (2M and Coded)",
|
||||
"value": true,
|
||||
"macro_name": "BLE_FEATURE_PHY_MANAGEMENT"
|
||||
},
|
||||
"ble-feature-extended-advertising": {
|
||||
"help": "Include extended advertising support (advertising sets, secondary channels), depends on the phy management feature.",
|
||||
"value": true,
|
||||
"macro_name": "BLE_FEATURE_EXTENDED_ADVERTISING"
|
||||
},
|
||||
"ble-feature-periodic-advertising": {
|
||||
"help": "Include periodic advertising support, depends on the extended advertising feature.",
|
||||
"value": true,
|
||||
"macro_name": "BLE_FEATURE_PERIODIC_ADVERTISING"
|
||||
}
|
||||
}
|
||||
"config": {
|
||||
"ble-feature-observer": {
|
||||
"help": "Include observer BLE role support, allows listening for and processing advertising packets.",
|
||||
"value": false,
|
||||
"macro_name": "BLE_ROLE_OBSERVER"
|
||||
},
|
||||
"ble-role-broadcaster": {
|
||||
"help": "Include broadcaster BLE role support, allows sending advertising packets.",
|
||||
"value": true,
|
||||
"macro_name": "BLE_ROLE_BROADCASTER"
|
||||
},
|
||||
"ble-role-peripheral": {
|
||||
"help": "Include peripheral BLE role support, depends on observer role.",
|
||||
"value": false,
|
||||
"macro_name": "BLE_ROLE_PERIPHERAL"
|
||||
},
|
||||
"ble-role-central": {
|
||||
"help": "Include central BLE role support, depends on broadcaster role.",
|
||||
"value": false,
|
||||
"macro_name": "BLE_ROLE_CENTRAL"
|
||||
},
|
||||
"ble-feature-security": {
|
||||
"help": "Include security BLE role support, depends on peripheral or central role.",
|
||||
"value": false,
|
||||
"macro_name": "BLE_FEATURE_SECURITY"
|
||||
},
|
||||
"ble-feature-secure-connections": {
|
||||
"help": "Include secure connections support, depends on the security feature.",
|
||||
"value": false,
|
||||
"macro_name": "BLE_FEATURE_SECURE_CONNECTIONS"
|
||||
},
|
||||
"ble-feature-signing": {
|
||||
"help": "Include signing support, depends on the security feature.",
|
||||
"value": false,
|
||||
"macro_name": "BLE_FEATURE_SIGNING"
|
||||
},
|
||||
"ble-feature-whitelist": {
|
||||
"help": "Include whitelist support, depends on the security feature.",
|
||||
"value": false,
|
||||
"macro_name": "BLE_FEATURE_WHITELIST"
|
||||
},
|
||||
"ble-feature-privacy": {
|
||||
"help": "Include privacy support, depends on the security feature.",
|
||||
"value": false,
|
||||
"macro_name": "BLE_FEATURE_PRIVACY"
|
||||
},
|
||||
"ble-feature-phy-management": {
|
||||
"help": "Include additional PHY support.",
|
||||
"value": false,
|
||||
"macro_name": "BLE_FEATURE_PHY_MANAGEMENT"
|
||||
},
|
||||
"ble-feature-extended-advertising": {
|
||||
"help": "Include extended advertising support, depends on the phy management feature.",
|
||||
"value": false,
|
||||
"macro_name": "BLE_FEATURE_EXTENDED_ADVERTISING"
|
||||
},
|
||||
"ble-feature-periodic-advertising": {
|
||||
"help": "Include periodic advertising support, depends on the extended advertising feature.",
|
||||
"value": false,
|
||||
"macro_name": "BLE_FEATURE_PERIODIC_ADVERTISING"
|
||||
},
|
||||
"ble-feature-gatt-client": {
|
||||
"help": "Include Gatt Client BLE role support, depends on peripheral and central role.",
|
||||
"value": false,
|
||||
"macro_name": "BLE_FEATURE_GATT_CLIENT"
|
||||
},
|
||||
"ble-feature-gatt-server": {
|
||||
"help": "Include Gatt Server BLE role support, depends on peripheral or central role.",
|
||||
"value": false,
|
||||
"macro_name": "BLE_FEATURE_GATT_SERVER"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -369,6 +369,7 @@ ble_error_t BLE::setAddress(
|
|||
return gap().setAddress(type, address);
|
||||
}
|
||||
|
||||
#if BLE_ROLE_CENTRAL
|
||||
ble_error_t BLE::connect(
|
||||
const BLEProtocol::AddressBytes_t peerAddr,
|
||||
BLEProtocol::AddressType_t peerAddrType,
|
||||
|
@ -377,15 +378,19 @@ ble_error_t BLE::connect(
|
|||
) {
|
||||
return gap().connect(peerAddr, peerAddrType, connectionParams, scanParams);
|
||||
}
|
||||
#endif // BLE_ROLE_CENTRAL
|
||||
|
||||
#if BLE_FEATURE_CONNECTABLE
|
||||
ble_error_t BLE::disconnect(Gap::DisconnectionReason_t reason) {
|
||||
return gap().disconnect(reason);
|
||||
}
|
||||
#endif // BLE_FEATURE_CONNECTABLE
|
||||
|
||||
Gap::GapState_t BLE::getGapState(void) const {
|
||||
return gap().getState();
|
||||
}
|
||||
|
||||
#if BLE_ROLE_BROADCASTER
|
||||
void BLE::setAdvertisingType(GapAdvertisingParams::AdvertisingType advType) {
|
||||
gap().setAdvertisingType(advType);
|
||||
}
|
||||
|
@ -453,7 +458,9 @@ ble_error_t BLE::startAdvertising(void) {
|
|||
ble_error_t BLE::stopAdvertising(void) {
|
||||
return gap().stopAdvertising();
|
||||
}
|
||||
#endif // BLE_ROLE_BROADCASTER
|
||||
|
||||
#if BLE_ROLE_OBSERVER
|
||||
ble_error_t BLE::setScanParams(uint16_t interval,
|
||||
uint16_t window,
|
||||
uint16_t timeout,
|
||||
|
@ -480,7 +487,9 @@ void BLE::setActiveScan(bool activeScanning) {
|
|||
ble_error_t BLE::startScan(void (*callback)(const Gap::AdvertisementCallbackParams_t *params)) {
|
||||
return gap().startScan(callback);
|
||||
}
|
||||
#endif // BLE_ROLE_OBSERVER
|
||||
|
||||
#if BLE_FEATURE_CONNECTABLE
|
||||
ble_error_t BLE::disconnect(Gap::Handle_t connectionHandle, Gap::DisconnectionReason_t reason) {
|
||||
return gap().disconnect(connectionHandle, reason);
|
||||
}
|
||||
|
@ -488,6 +497,7 @@ ble_error_t BLE::disconnect(Gap::Handle_t connectionHandle, Gap::DisconnectionRe
|
|||
ble_error_t BLE::updateConnectionParams(Gap::Handle_t handle, const Gap::ConnectionParams_t *params) {
|
||||
return gap().updateConnectionParams(handle, params);
|
||||
}
|
||||
#endif // BLE_FEATURE_CONNECTABLE
|
||||
|
||||
ble_error_t BLE::setTxPower(int8_t txPower) {
|
||||
return gap().setTxPower(txPower);
|
||||
|
@ -501,9 +511,11 @@ void BLE::onTimeout(Gap::TimeoutEventCallback_t timeoutCallback) {
|
|||
gap().onTimeout(timeoutCallback);
|
||||
}
|
||||
|
||||
#if BLE_FEATURE_CONNECTABLE
|
||||
void BLE::onDisconnection(Gap::DisconnectionEventCallback_t disconnectionCallback) {
|
||||
gap().onDisconnection(disconnectionCallback);
|
||||
}
|
||||
#endif // BLE_FEATURE_CONNECTABLE
|
||||
|
||||
void BLE::onRadioNotification(void (*callback)(bool)) {
|
||||
gap().onRadioNotification(callback);
|
||||
|
|
|
@ -14,6 +14,10 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "BLERoles.h"
|
||||
|
||||
#if BLE_ROLE_OBSERVER
|
||||
|
||||
#include "ble/Gap.h"
|
||||
#include "ble/GapScanningParams.h"
|
||||
|
||||
|
@ -73,3 +77,5 @@ GapScanningParams::setActiveScanning(bool activeScanning)
|
|||
{
|
||||
_activeScanning = activeScanning;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -74,6 +74,7 @@ ble::peer_address_type_t convert_legacy_address_type(
|
|||
namespace ble {
|
||||
namespace interface {
|
||||
|
||||
#if BLE_FEATURE_WHITELIST
|
||||
template<class Impl>
|
||||
uint8_t LegacyGap<Impl>::getMaxWhitelistSize(void) const {
|
||||
return impl()->getMaxWhitelistSize_();
|
||||
|
@ -88,7 +89,9 @@ template<class Impl>
|
|||
ble_error_t LegacyGap<Impl>::setWhitelist(const Whitelist_t &whitelist) {
|
||||
return impl()->setWhitelist_(whitelist);
|
||||
}
|
||||
#endif // BLE_FEATURE_WHITELIST
|
||||
|
||||
#if BLE_FEATURE_CONNECTABLE
|
||||
template<class Impl>
|
||||
void LegacyGap<Impl>::processConnectionEvent(
|
||||
Handle_t handle,
|
||||
|
@ -120,6 +123,7 @@ void LegacyGap<Impl>::processConnectionEvent(
|
|||
|
||||
connectionCallChain.call(&callbackParams);
|
||||
}
|
||||
#endif // BLE_FEATURE_CONNECTABLE
|
||||
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::setAddress(
|
||||
|
@ -137,11 +141,14 @@ ble_error_t LegacyGap<Impl>::getAddress(
|
|||
return impl()->getAddress_(typeP, address);
|
||||
}
|
||||
|
||||
#if BLE_ROLE_BROADCASTER
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::stopAdvertising(void) {
|
||||
return impl()->stopAdvertising_();
|
||||
}
|
||||
#endif // BLE_ROLE_BROADCASTER
|
||||
|
||||
#if BLE_ROLE_CENTRAL
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::connect(
|
||||
const BLEProtocol::AddressBytes_t peerAddr,
|
||||
|
@ -171,7 +178,9 @@ ble_error_t LegacyGap<Impl>::connect(
|
|||
scanParams
|
||||
);
|
||||
}
|
||||
#endif // BLE_ROLE_CENTRAL
|
||||
|
||||
#if BLE_FEATURE_CONNECTABLE
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::disconnect(
|
||||
Handle_t connectionHandle, DisconnectionReason_t reason
|
||||
|
@ -191,7 +200,7 @@ ble_error_t LegacyGap<Impl>::updateConnectionParams(
|
|||
) {
|
||||
return impl()->updateConnectionParams_(handle, params);
|
||||
}
|
||||
|
||||
#endif // BLE_FEATURE_CONNECTABLE
|
||||
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::setTxPower(int8_t txPower) {
|
||||
|
@ -205,43 +214,53 @@ void LegacyGap<Impl>::getPermittedTxPowerValues(
|
|||
return impl()->getPermittedTxPowerValues_(valueArrayPP, countP);
|
||||
}
|
||||
|
||||
#if BLE_FEATEURE_WHITELIST
|
||||
#if BLE_ROLE_BROADCASTER
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::setAdvertisingPolicyMode(AdvertisingPolicyMode_t mode) {
|
||||
return impl()->setAdvertisingPolicyMode_(mode);
|
||||
}
|
||||
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::setScanningPolicyMode(ScanningPolicyMode_t mode) {
|
||||
return impl()->setScanningPolicyMode_(mode);
|
||||
}
|
||||
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::setInitiatorPolicyMode(InitiatorPolicyMode_t mode) {
|
||||
return impl()->setInitiatorPolicyMode_(mode);
|
||||
}
|
||||
|
||||
template<class Impl>
|
||||
typename LegacyGap<Impl>::AdvertisingPolicyMode_t
|
||||
LegacyGap<Impl>::getAdvertisingPolicyMode(void) const {
|
||||
return impl()->getAdvertisingPolicyMode_();
|
||||
}
|
||||
#endif // BLE_ROLE_BROADCASTER
|
||||
|
||||
#if BLE_ROLE_OBSERVER
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::setScanningPolicyMode(ScanningPolicyMode_t mode) {
|
||||
return impl()->setScanningPolicyMode_(mode);
|
||||
}
|
||||
|
||||
template<class Impl>
|
||||
typename LegacyGap<Impl>::ScanningPolicyMode_t
|
||||
LegacyGap<Impl>::getScanningPolicyMode(void) const {
|
||||
return impl()->getScanningPolicyMode_();
|
||||
}
|
||||
#endif // BLE_ROLE_OBSERVER
|
||||
|
||||
#if BLE_ROLE_CENTRAL
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::setInitiatorPolicyMode(InitiatorPolicyMode_t mode) {
|
||||
return impl()->setInitiatorPolicyMode_(mode);
|
||||
}
|
||||
|
||||
template<class Impl>
|
||||
typename LegacyGap<Impl>::InitiatorPolicyMode_t
|
||||
LegacyGap<Impl>::getInitiatorPolicyMode(void) const {
|
||||
return impl()->getInitiatorPolicyMode_();
|
||||
}
|
||||
#endif // BLE_ROLE_CENTRAL
|
||||
#endif // BLE_FEATEURE_WHITELIST
|
||||
|
||||
#if BLE_ROLE_OBSERVER
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::startRadioScan(const GapScanningParams &scanningParams) {
|
||||
return impl()->startRadioScan_(scanningParams);
|
||||
}
|
||||
#endif // BLE_ROLE_OBSERVER
|
||||
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::initRadioNotification(void) {
|
||||
|
@ -264,6 +283,7 @@ typename LegacyGap<Impl>::GapState_t LegacyGap<Impl>::getState(void) const
|
|||
return state;
|
||||
}
|
||||
|
||||
#if BLE_ROLE_BROADCASTER
|
||||
template<class Impl>
|
||||
void LegacyGap<Impl>::setAdvertisingType(GapAdvertisingParams::AdvertisingType_t advType)
|
||||
{
|
||||
|
@ -432,7 +452,9 @@ void LegacyGap<Impl>::clearScanResponse(void)
|
|||
_scanResponse.clear();
|
||||
setAdvertisingData(_advPayload, _scanResponse);
|
||||
}
|
||||
#endif // BLE_ROLE_BROADCASTER
|
||||
|
||||
#if BLE_ROLE_OBSERVER
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::setScanParams(
|
||||
uint16_t interval,
|
||||
|
@ -526,7 +548,9 @@ ble_error_t LegacyGap<Impl>::startScan(
|
|||
|
||||
return err;
|
||||
}
|
||||
#endif // BLE_ROLE_OBSERVER
|
||||
|
||||
#if BLE_ROLE_BROADCASTER
|
||||
template<class Impl>
|
||||
GapAdvertisingParams &LegacyGap<Impl>::getAdvertisingParams(void)
|
||||
{
|
||||
|
@ -544,6 +568,7 @@ void LegacyGap<Impl>::setAdvertisingParams(const GapAdvertisingParams &newParams
|
|||
{
|
||||
_advParams = newParams;
|
||||
}
|
||||
#endif // BLE_ROLE_BROADCASTER
|
||||
|
||||
template<class Impl>
|
||||
void LegacyGap<Impl>::onTimeout(TimeoutEventCallback_t callback)
|
||||
|
@ -557,6 +582,7 @@ typename LegacyGap<Impl>::TimeoutEventCallbackChain_t& LegacyGap<Impl>::onTimeou
|
|||
return timeoutCallbackChain;
|
||||
}
|
||||
|
||||
#if BLE_FEATURE_CONNECTION
|
||||
template<class Impl>
|
||||
void LegacyGap<Impl>::onConnection(ConnectionEventCallback_t callback)
|
||||
{
|
||||
|
@ -574,6 +600,7 @@ void LegacyGap<Impl>::onDisconnection(DisconnectionEventCallback_t callback)
|
|||
{
|
||||
disconnectionCallChain.add(callback);
|
||||
}
|
||||
#endif // BLE_FEATURE_CONNECTION
|
||||
|
||||
template<class Impl>
|
||||
typename LegacyGap<Impl>::DisconnectionEventCallbackChain_t& LegacyGap<Impl>::onDisconnection()
|
||||
|
@ -599,6 +626,7 @@ typename LegacyGap<Impl>::GapShutdownCallbackChain_t& LegacyGap<Impl>::onShutdow
|
|||
return shutdownCallChain;
|
||||
}
|
||||
|
||||
#if BLE_ROLE_OBSERVER
|
||||
template<class Impl>
|
||||
LegacyGap<Impl>::AdvertisementCallbackParams_t::AdvertisementCallbackParams_t() :
|
||||
peerAddr(),
|
||||
|
@ -611,6 +639,7 @@ LegacyGap<Impl>::AdvertisementCallbackParams_t::AdvertisementCallbackParams_t()
|
|||
peerAddrType(PeerAddressType_t::PUBLIC)
|
||||
{
|
||||
}
|
||||
#endif // BLE_ROLE_OBSERVER
|
||||
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::getRandomAddressType(
|
||||
|
@ -634,6 +663,7 @@ ble_error_t LegacyGap<Impl>::getRandomAddressType(
|
|||
}
|
||||
}
|
||||
|
||||
#if BLE_FEATURE_CONNECTABLE
|
||||
template<class Impl>
|
||||
LegacyGap<Impl>::ConnectionCallbackParams_t::ConnectionCallbackParams_t(
|
||||
Handle_t handleIn,
|
||||
|
@ -723,7 +753,9 @@ void LegacyGap<Impl>::ConnectionCallbackParams_t::constructor_helper(
|
|||
memset(ownAddr, 0, ADDR_LEN);
|
||||
}
|
||||
}
|
||||
#endif // BLE_FEATURE_CONNECTABLE
|
||||
|
||||
#if BLE_ROLE_CENTRAL
|
||||
template<class Impl>
|
||||
ble_error_t LegacyGap<Impl>::connect(
|
||||
const BLEProtocol::AddressBytes_t peerAddr,
|
||||
|
@ -738,7 +770,9 @@ ble_error_t LegacyGap<Impl>::connect(
|
|||
scanParams
|
||||
);
|
||||
}
|
||||
#endif // BLE_ROLE_CENTRAL
|
||||
|
||||
#if BLE_FEATURE_CONNECTABLE
|
||||
template<class Impl>
|
||||
void LegacyGap<Impl>::processConnectionEvent(
|
||||
Handle_t handle,
|
||||
|
@ -770,7 +804,9 @@ void LegacyGap<Impl>::processConnectionEvent(
|
|||
|
||||
connectionCallChain.call(&callbackParams);
|
||||
}
|
||||
#endif // BLE_FEATURE_CONNECTABLE
|
||||
|
||||
#if BLE_ROLE_OBSERVER
|
||||
template<class Impl>
|
||||
void LegacyGap<Impl>::processAdvertisementReport(
|
||||
const BLEProtocol::AddressBytes_t peerAddr,
|
||||
|
@ -822,6 +858,7 @@ void LegacyGap<Impl>::processAdvertisementReport(
|
|||
|
||||
onAdvertisementReport.call(¶ms);
|
||||
}
|
||||
#endif // BLE_ROLE_OBSERVER
|
||||
|
||||
#if defined(__GNUC__) && !defined(__CC_ARM)
|
||||
#pragma GCC diagnostic pop
|
||||
|
@ -995,7 +1032,6 @@ ble_error_t LegacyGap<Impl>::reset_(void)
|
|||
connectionCount = 0;
|
||||
#endif
|
||||
|
||||
|
||||
/* Clear scanning state */
|
||||
#if BLE_ROLE_OBSERVER
|
||||
scanningActive = false;
|
||||
|
@ -1014,8 +1050,10 @@ ble_error_t LegacyGap<Impl>::reset_(void)
|
|||
disconnectionCallChain.clear();
|
||||
#endif // BLE_FEATURE_CONNECTABLE
|
||||
radioNotificationCallback = NULL;
|
||||
#if BLE_ROLE_OBSERVER
|
||||
onAdvertisementReport = NULL;
|
||||
ble::interface::Gap<Impl>::_eventHandler = NULL;
|
||||
#endif
|
||||
_eventHandler = NULL;
|
||||
|
||||
return BLE_ERROR_NONE;
|
||||
}
|
||||
|
|
|
@ -49,6 +49,7 @@ uint16_t Gap<Impl>::getMaxActiveSetAdvertisingDataLength()
|
|||
return impl()->getMaxActiveSetAdvertisingDataLength_();
|
||||
}
|
||||
|
||||
#if BLE_FEATURE_EXTENDED_ADVERTISING
|
||||
template<class Impl>
|
||||
ble_error_t Gap<Impl>::createAdvertisingSet(
|
||||
advertising_handle_t *handle,
|
||||
|
@ -63,6 +64,7 @@ ble_error_t Gap<Impl>::destroyAdvertisingSet(advertising_handle_t handle)
|
|||
{
|
||||
return impl()->destroyAdvertisingSet_(handle);
|
||||
}
|
||||
#endif // BLE_FEATURE_EXTENDED_ADVERTISING
|
||||
|
||||
template<class Impl>
|
||||
ble_error_t Gap<Impl>::setAdvertisingParameters(
|
||||
|
@ -406,6 +408,7 @@ Gap<Impl>::Gap() : _eventHandler(NULL)
|
|||
|
||||
/* -------------------- Future deprecation ------------------------- */
|
||||
|
||||
#if BLE_FEATURE_PRIVACY
|
||||
template<class Impl>
|
||||
const peripheral_privacy_configuration_t Gap<Impl>::default_peripheral_privacy_configuration = {
|
||||
/* use_non_resolvable_random_address */ false,
|
||||
|
@ -417,6 +420,7 @@ const central_privay_configuration_t Gap<Impl>::default_central_privacy_configur
|
|||
/* use_non_resolvable_random_address */ false,
|
||||
/* resolution_strategy */ central_privay_configuration_t::RESOLVE_AND_FORWARD
|
||||
};
|
||||
#endif // BLE_FEATURE_PRIVACY
|
||||
|
||||
#if BLE_FEATURE_PRIVACY
|
||||
template<class Impl>
|
||||
|
|
|
@ -482,9 +482,8 @@ GenericGap<PalGapImpl, PalSecurityManager, ConnectionEventMonitorEventHandler>::
|
|||
);
|
||||
}
|
||||
|
||||
#endif // BLE_FEATURE_EXTENDED_ADVERTISING
|
||||
|
||||
_existing_sets.set(LEGACY_ADVERTISING_HANDLE);
|
||||
#endif // BLE_FEATURE_EXTENDED_ADVERTISING
|
||||
}
|
||||
|
||||
template <template<class> class PalGapImpl, class PalSecurityManager, class ConnectionEventMonitorEventHandler>
|
||||
|
@ -1204,7 +1203,6 @@ ble_error_t GenericGap<PalGapImpl, PalSecurityManager, ConnectionEventMonitorEve
|
|||
|
||||
return BLE_ERROR_NONE;
|
||||
}
|
||||
#endif // BLE_FEATURE_WHITELIST
|
||||
|
||||
#if BLE_ROLE_BROADCASTER
|
||||
template <template<class> class PalGapImpl, class PalSecurityManager, class ConnectionEventMonitorEventHandler>
|
||||
|
@ -1271,6 +1269,7 @@ typename GenericGap<PalGapImpl, PalSecurityManager, ConnectionEventMonitorEventH
|
|||
return (InitiatorPolicyMode_t) _initiator_policy_mode.value();
|
||||
}
|
||||
#endif // BLE_ROLE_CENTRAL
|
||||
#endif // BLE_FEATURE_WHITELIST
|
||||
|
||||
#if BLE_ROLE_OBSERVER
|
||||
template <template<class> class PalGapImpl, class PalSecurityManager, class ConnectionEventMonitorEventHandler>
|
||||
|
@ -1548,9 +1547,9 @@ ble_error_t GenericGap<PalGapImpl, PalSecurityManager, ConnectionEventMonitorEve
|
|||
AdvertisingParameters()
|
||||
);
|
||||
}
|
||||
#endif // BLE_FEATURE_EXTENDED_ADVERTISING
|
||||
|
||||
_existing_sets.set(LEGACY_ADVERTISING_HANDLE);
|
||||
#endif // BLE_FEATURE_EXTENDED_ADVERTISING
|
||||
|
||||
return BLE_ERROR_NONE;
|
||||
}
|
||||
|
@ -2600,7 +2599,7 @@ ble_error_t GenericGap<PalGapImpl, PalSecurityManager, ConnectionEventMonitorEve
|
|||
)
|
||||
{
|
||||
useVersionTwoAPI();
|
||||
|
||||
#if BLE_FEATURE_EXTENDED_ADVERTISING
|
||||
ble_error_t error = BLE_ERROR_NONE;
|
||||
|
||||
if (handle >= getMaxAdvertisingSetNumber()) {
|
||||
|
@ -2616,7 +2615,6 @@ ble_error_t GenericGap<PalGapImpl, PalSecurityManager, ConnectionEventMonitorEve
|
|||
return BLE_ERROR_INVALID_STATE;
|
||||
}
|
||||
|
||||
#if BLE_FEATURE_EXTENDED_ADVERTISING
|
||||
if (is_extended_advertising_available()) {
|
||||
error = _pal_gap.extended_advertising_enable(
|
||||
/* enable */ true,
|
||||
|
@ -2660,6 +2658,9 @@ ble_error_t GenericGap<PalGapImpl, PalSecurityManager, ConnectionEventMonitorEve
|
|||
{
|
||||
useVersionTwoAPI();
|
||||
|
||||
ble_error_t status;
|
||||
|
||||
#if BLE_FEATURE_EXTENDED_ADVERTISING
|
||||
if (handle >= getMaxAdvertisingSetNumber()) {
|
||||
return BLE_ERROR_INVALID_PARAM;
|
||||
}
|
||||
|
@ -2672,9 +2673,6 @@ ble_error_t GenericGap<PalGapImpl, PalSecurityManager, ConnectionEventMonitorEve
|
|||
return BLE_ERROR_INVALID_STATE;
|
||||
}
|
||||
|
||||
ble_error_t status;
|
||||
|
||||
#if BLE_FEATURE_EXTENDED_ADVERTISING
|
||||
if (is_extended_advertising_available()) {
|
||||
status = _pal_gap.extended_advertising_enable(
|
||||
/*enable ? */ false,
|
||||
|
@ -2936,7 +2934,7 @@ void GenericGap<PalGapImpl, PalSecurityManager, ConnectionEventMonitorEventHandl
|
|||
}
|
||||
#endif // BLE_FEATURE_CONNECTABLE
|
||||
|
||||
#if BLE_ROLE_BROADCASTER
|
||||
#if BLE_ROLE_OBSERVER
|
||||
template <template<class> class PalGapImpl, class PalSecurityManager, class ConnectionEventMonitorEventHandler>
|
||||
void GenericGap<PalGapImpl, PalSecurityManager, ConnectionEventMonitorEventHandler>::on_extended_advertising_report_(
|
||||
advertising_event_t event_type,
|
||||
|
@ -2977,7 +2975,7 @@ void GenericGap<PalGapImpl, PalSecurityManager, ConnectionEventMonitorEventHandl
|
|||
)
|
||||
);
|
||||
}
|
||||
#endif // BLE_ROLE_BROADCASTER
|
||||
#endif // BLE_ROLE_OBSERVER
|
||||
|
||||
#if BLE_FEATURE_PERIODIC_ADVERTISING
|
||||
#if BLE_ROLE_OBSERVER
|
||||
|
|
|
@ -14,6 +14,10 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "BLERoles.h"
|
||||
|
||||
#if BLE_FEATURE_GATT_SERVER
|
||||
|
||||
#ifdef TARGET_NRF51822 /* DFU only supported on nrf51 platforms */
|
||||
|
||||
#include "ble/services/DFUService.h"
|
||||
|
@ -42,3 +46,5 @@ const uint8_t DFUServicePacketCharacteristicUUID[] = {
|
|||
DFUService::ResetPrepare_t DFUService::handoverCallback = NULL;
|
||||
|
||||
#endif /* #ifdef TARGET_NRF51822 */
|
||||
|
||||
#endif // BLE_FEATURE_GATT_SERVER
|
||||
|
|
|
@ -14,6 +14,10 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "BLERoles.h"
|
||||
|
||||
#if BLE_FEATURE_GATT_SERVER
|
||||
|
||||
#include "ble/services/UARTService.h"
|
||||
|
||||
const uint8_t UARTServiceBaseUUID[UUID::LENGTH_OF_LONG_UUID] = {
|
||||
|
@ -40,3 +44,4 @@ const uint8_t UARTServiceRXCharacteristicUUID[UUID::LENGTH_OF_LONG_UUID] = {
|
|||
0xE0, 0xA9, 0xE5, 0x0E, 0x24, 0xDC, 0xCA, 0x9E,
|
||||
};
|
||||
|
||||
#endif // BLE_FEATURE_GATT_SERVER
|
||||
|
|
|
@ -14,6 +14,10 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "BLERoles.h"
|
||||
|
||||
#if BLE_FEATURE_GATT_SERVER
|
||||
|
||||
#include "ble/services/URIBeaconConfigService.h"
|
||||
|
||||
#define UUID_URI_BEACON(FIRST, SECOND) { \
|
||||
|
@ -33,3 +37,5 @@ const uint8_t UUID_BEACON_PERIOD_CHAR[UUID::LENGTH_OF_LONG_UUID] = UUID_URI_B
|
|||
const uint8_t UUID_RESET_CHAR[UUID::LENGTH_OF_LONG_UUID] = UUID_URI_BEACON(0x20, 0x89);
|
||||
|
||||
const uint8_t BEACON_UUID[sizeof(UUID::ShortUUIDBytes_t)] = {0xD8, 0xFE};
|
||||
|
||||
#endif // BLE_FEATURE_GATT_SERVER
|
||||
|
|
|
@ -182,8 +182,10 @@ impl::GenericGapImpl& BLE::getGap()
|
|||
static pal::vendor::cordio::GenericAccessService cordio_gap_service;
|
||||
static impl::GenericGapImpl gap(
|
||||
_event_queue,
|
||||
impl::PalGapImpl::get_gap(),
|
||||
cordio_gap_service
|
||||
impl::PalGapImpl::get_gap()
|
||||
#if BLE_FEATURE_GATT_SERVER
|
||||
, cordio_gap_service
|
||||
#endif
|
||||
#if BLE_FEATURE_SECURITY
|
||||
, impl::PalSecurityManagerImpl::get_security_manager()
|
||||
#endif
|
||||
|
@ -509,10 +511,11 @@ void BLE::stack_setup()
|
|||
|
||||
#if BLE_FEATURE_ATT
|
||||
AttConnRegister(BLE::connection_handler);
|
||||
#if BLE_FEATURE_GATT_CLIENT
|
||||
AttRegister((attCback_t) ble::pal::vendor::cordio::CordioAttClient::att_client_handler);
|
||||
#if !(BLE_FEATURE_GATT_CLIENT)
|
||||
#else
|
||||
AttRegister((attCback_t) ble::vendor::cordio::GattServer::att_cb);
|
||||
#endif // !(BLE_FEATURE_GATT_CLIENT)
|
||||
#endif // BLE_FEATURE_GATT_CLIENT
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,10 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "BLERoles.h"
|
||||
|
||||
#if BLE_FEATURE_SECURITY
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "CordioPalSecurityManager.h"
|
||||
|
@ -40,9 +44,6 @@ CordioSecurityManager<EventHandler>::CordioSecurityManager() :
|
|||
, _peer_csrks()
|
||||
#endif
|
||||
{
|
||||
#if !(BLE_FEATURE_SECURITY)
|
||||
#error "Security Manager feature disabledin the config file"
|
||||
#endif
|
||||
}
|
||||
|
||||
template <class EventHandler>
|
||||
|
@ -1026,3 +1027,4 @@ void CordioSecurityManager<EventHandler>::cleanup_peer_csrks() {
|
|||
} // pal
|
||||
} // ble
|
||||
|
||||
#endif // BLE_FEATURE_SECURITY
|
||||
|
|
Loading…
Reference in New Issue