FreeRTOS: BLE
BLE
Return to main page ↑
iot_ble.h
Go to the documentation of this file.
1 /*
2  * FreeRTOS BLE V2.1.0
3  * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a copy of
6  * this software and associated documentation files (the "Software"), to deal in
7  * the Software without restriction, including without limitation the rights to
8  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9  * the Software, and to permit persons to whom the Software is furnished to do so,
10  * subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be included in all
13  * copies or substantial portions of the Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21  *
22  * http://aws.amazon.com/freertos
23  * http://www.FreeRTOS.org
24  */
25 
31 #ifndef _AWS_BLE_H_
32 #define _AWS_BLE_H_
33 
34 #include <stddef.h>
36 #include "bt_hal_manager.h"
37 #include "bt_hal_gatt_server.h"
38 #include "bt_hal_gatt_types.h"
39 #include "iot_ble_config.h"
40 #include "iot_linear_containers.h"
41 
50 typedef struct
51 {
52  uint32_t appearance;
53  uint32_t minInterval;
54  uint32_t maxInterval;
56  char * pServiceData;
59  uint16_t manufacturerLen;
60  uint16_t serviceDataLen;
63  bool setScanRsp;
65 
70 typedef struct
71 {
72  uint32_t minInterval;
73  uint32_t maxInterval;
74  uint32_t latency;
75  uint32_t timeout;
77 
78 
83 typedef struct
84 {
85  IotLink_t connectionList;
88  BTSecurityLevel_t securityLevel;
90  uint16_t connId;
91  bool isBonded;
93 
98 typedef enum
99 {
108 
113 typedef struct IotBleAttributeEvent IotBleAttributeEvent_t;
114 
115 
123 typedef void (* IotBleAttributeEventCallback_t)( IotBleAttributeEvent_t * pEventParam );
124 
125 /************************************************************/
126 
131 typedef struct
132 {
133  uint16_t connId;
134  uint32_t transId;
136  uint16_t attrHandle;
137  uint16_t offset;
139 
144 typedef struct
145 {
146  uint32_t transId;
148  uint8_t * pValue;
149  uint32_t length;
150  uint16_t connId;
151  uint16_t attrHandle;
152  uint16_t offset;
153  bool needRsp;
154  bool isPrep;
156 
161 typedef struct
162 {
163  uint32_t transId;
165  uint16_t connId;
166  bool execWrite;
168 
173 typedef struct
174 {
176  uint16_t handle;
178 
183 typedef struct
184 {
186  uint16_t connId;
189 
195 {
196  union
197  {
203  };
205 };
206 
212 typedef struct
213 {
214  size_t size;
215  uint8_t * pData;
217  size_t handle;
219 
224 typedef struct
225 {
227  size_t attrDataOffset;
231 
239 typedef void (* IotBle_MtuChangedCallback_t)( uint16_t connId,
240  uint16_t mtu );
241 
250 typedef void (* IotBle_ConnectionCallback_t)( BTStatus_t status,
251  uint16_t connId,
252  bool connected,
253  BTBdaddr_t * pRemoteBdAddr );
254 
261 typedef void (* IotBle_StartAdvCallback_t)( BTStatus_t status );
262 
269 typedef void (* IotBle_StopAdvCallback_t)( BTStatus_t status );
270 
281  const BTBdaddr_t * pRemoteBdAddr,
282  IotBleConnectionParam_t * pConnectionParam,
283  uint32_t connInterval );
284 
295 typedef void (* IotBle_PairingStateChanged_t)( BTStatus_t status,
296  BTBdaddr_t * pRemoteBdAddr,
297  BTBondState_t bondstate,
298  BTSecurityLevel_t securityLevel,
299  BTAuthFailureReason_t reason );
300 
309 typedef void ( * IotBle_NumericComparisonCallback_t )( BTBdaddr_t * pRemoteBdAddr,
310  uint32_t passKey );
311 
316 typedef enum
317 {
325 
331 typedef union
332 {
338  void * pvPtr;
340 
341 
430 #if ( IOT_BLE_ADD_CUSTOM_SERVICES == 1 )
431 
437  void IotBle_AddCustomServicesCb( void );
439 #endif
440 
441 #if ( IOT_BLE_SET_CUSTOM_ADVERTISEMENT_MSG == 1 )
442 
452  void IotBle_SetCustomAdvCb( IotBleAdvertisementParams_t * pAdvParams,
453  IotBleAdvertisementParams_t * pScanParams );
455 #endif
456 
462 /* @[declare_iotble_init] */
464 /* @[declare_iotble_init] */
465 
471 /* @[declare_iotble_on] */
473 /* @[declare_iotble_on] */
474 
480 /* @[declare_iotble_off] */
482 /* @[declare_iotble_off] */
483 
489 /* @[declare_iotble_startadv] */
491 /* @[declare_iotble_startadv] */
492 
498 /* @[declare_iotble_stopadv] */
500 /* @[declare_iotble_stopadv] */
501 
509 /* @[declare_iotble_connparameterupdaterequest] */
511  IotBleConnectionParam_t * pConnectionParam );
512 /* @[declare_iotble_connparameterupdaterequest] */
513 
514 
526 /* @[declare_iotble_registereventcb] */
528  IotBleEventsCallbacks_t bleEventsCallbacks );
529 /* @[declare_iotble_registereventcb] */
530 
538 /* @[declare_iotble_unregistereventcb] */
540  IotBleEventsCallbacks_t bleEventsCallbacks );
541 /* @[declare_iotble_unregistereventcb] */
542 
549 /* @[declare_iotble_removebond] */
550 BTStatus_t IotBle_RemoveBond( const BTBdaddr_t * pRemoteBdAddr );
551 /* @[declare_iotble_removebond] */
552 
562 /* @[declare_iotble_createservice] */
563 BTStatus_t IotBle_CreateService( BTService_t * pService,
564  IotBleAttributeEventCallback_t pEventsCallbacks[] );
565 /* @[declare_iotble_createservice] */
566 
573 /* @[declare_iotble_deleteservice] */
574 BTStatus_t IotBle_DeleteService( BTService_t * pService );
575 /* @[declare_iotble_deleteservice] */
576 
585 /* @[declare_iotble_sendindication] */
587  uint16_t connId,
588  bool confirm );
589 /* @[declare_iotble_sendindication] */
590 
599 /* @[declare_iotble_sendresponse] */
601  uint16_t connId,
602  uint32_t transId );
603 /* @[declare_iotble_sendresponse] */
604 
615 /* @[declare_iotble_getconnectioninfolist] */
616 BTStatus_t IotBle_GetConnectionInfoList( IotLink_t ** pConnectionInfoList );
617 /* @[declare_iotble_getconnectioninfolist] */
618 
628 /* @[declare_iotble_getconnectioninfo] */
630  IotBleConnectionInfoListElement_t ** pConnectionInfo );
631 /* @[declare_iotble_getconnectioninfo] */
632 
640 /* @[declare_iotble_confirmnumericcomparisonkeys] */
642  bool keyAccepted );
643 /* @[declare_iotble_confirmnumericcomparisonkeys] */
644 
645 
658 /* @[declare_iotble_setdevicename] */
659 BTStatus_t IotBle_SetDeviceName( const char * pName,
660  size_t length );
661 /* @[declare_iotble_setdevicename] */
662 
663 #endif /* _AWS_BLE_H_*/
IotBleWriteEventParams_t::offset
uint16_t offset
Definition: iot_ble.h:152
IotBleAdvertisementParams_t::includeTxPower
bool includeTxPower
Definition: iot_ble.h:61
IotBleReadEventParams_t::offset
uint16_t offset
Definition: iot_ble.h:137
IotBle_CreateService
BTStatus_t IotBle_CreateService(BTService_t *pService, IotBleAttributeEventCallback_t pEventsCallbacks[])
Create a new service.
IotBleAttributeEventCallback_t
void(* IotBleAttributeEventCallback_t)(IotBleAttributeEvent_t *pEventParam)
Callback called when a request on a attribute is made by the remote device.
Definition: iot_ble.h:123
IotBle_NumericComparisonCallback_t
void(* IotBle_NumericComparisonCallback_t)(BTBdaddr_t *pRemoteBdAddr, uint32_t passKey)
Callback invoked on pairing request from remote device.
Definition: iot_ble.h:309
IotBleIndicationSentEventParams_t::status
BTStatus_t status
Definition: iot_ble.h:187
IotBle_SendIndication
BTStatus_t IotBle_SendIndication(IotBleEventResponse_t *pResp, uint16_t connId, bool confirm)
Send value indication to a remote device.
IotBleExecWriteEventParams_t::connId
uint16_t connId
Definition: iot_ble.h:165
IotBle_Init
BTStatus_t IotBle_Init(void)
Starting point. Initialize the BLE stack and its services. It is up to the application to decide when...
BTUuid_t
UUID.
Definition: bt_hal_manager_types.h:84
eBLEExecWrite
@ eBLEExecWrite
Definition: iot_ble.h:104
IotBleWriteEventParams_t::attrHandle
uint16_t attrHandle
Definition: iot_ble.h:151
bt_hal_manager.h
IotBleConnectionInfoListElement_t::isBonded
bool isBonded
Definition: iot_ble.h:91
IotBleAdvertisementParams_t::serviceDataLen
uint16_t serviceDataLen
Definition: iot_ble.h:60
eBLENumericComparisonCallback
@ eBLENumericComparisonCallback
Definition: iot_ble.h:322
IotBleAttributeEventType_t
IotBleAttributeEventType_t
Attribute event type.
Definition: iot_ble.h:99
IotBle_RegisterEventCb
BTStatus_t IotBle_RegisterEventCb(IotBleEvents_t event, IotBleEventsCallbacks_t bleEventsCallbacks)
Used to route event to whatever service requests it.
IotBleEventResponse_t
BLE Event response.
Definition: iot_ble.h:225
IotBleAdvertisementParams_t::maxInterval
uint32_t maxInterval
Definition: iot_ble.h:54
IotBleExecWriteEventParams_t::execWrite
bool execWrite
Definition: iot_ble.h:166
IotBleRespConfirmEventParams_t
Parameters for confirmation response event.
Definition: iot_ble.h:174
IotBle_ConnectionCallback_t
void(* IotBle_ConnectionCallback_t)(BTStatus_t status, uint16_t connId, bool connected, BTBdaddr_t *pRemoteBdAddr)
Callback indicating that a remote device has connected or been disconnected.
Definition: iot_ble.h:250
IotBleEventsCallbacks_t::pNumericComparisonCb
IotBle_NumericComparisonCallback_t pNumericComparisonCb
Definition: iot_ble.h:337
IotBleReadEventParams_t::connId
uint16_t connId
Definition: iot_ble.h:133
IotBleConnectionParam_t::minInterval
uint32_t minInterval
Definition: iot_ble.h:72
IotBle_GetConnectionInfoList
BTStatus_t IotBle_GetConnectionInfoList(IotLink_t **pConnectionInfoList)
Send response to the remote device.
IotBleWriteEventParams_t::connId
uint16_t connId
Definition: iot_ble.h:150
IotBle_StartAdv
BTStatus_t IotBle_StartAdv(IotBle_StartAdvCallback_t pStartAdvCb)
Start advertisements to listen for incoming connections. Triggers IotBle_StartAdvCallback_t.
IotBleAttributeEvent::pParamWrite
IotBleWriteEventParams_t * pParamWrite
Definition: iot_ble.h:199
BTBondState_t
BTBondState_t
Definition: bt_hal_manager.h:298
IotBleIndicationSentEventParams_t
Parameters for indication sent event.
Definition: iot_ble.h:184
IotBleConnectionInfoListElement_t::connectionParams
IotBleConnectionParam_t connectionParams
Definition: iot_ble.h:86
IotBleWriteEventParams_t::transId
uint32_t transId
Definition: iot_ble.h:146
bt_hal_manager_adapter_ble.h
IotBleAttributeData_t
Basic info contained in an attribute. This is common to all attributes.
Definition: iot_ble.h:213
IotBleAttributeEvent::pParamIndicationSent
IotBleIndicationSentEventParams_t * pParamIndicationSent
Definition: iot_ble.h:202
BTStatus_t
BTStatus_t
Bluetooth Error Status .
Definition: bt_hal_manager_types.h:98
IotBleAttributeData_t::pData
uint8_t * pData
Definition: iot_ble.h:215
IotBleRespConfirmEventParams_t::status
BTStatus_t status
Definition: iot_ble.h:175
IotBle_SendResponse
BTStatus_t IotBle_SendResponse(IotBleEventResponse_t *pResp, uint16_t connId, uint32_t transId)
Send response to the remote device.
IotBleEventsCallbacks_t::pConnParameterUpdateRequestCb
IotBle_ConnParameterUpdateRequestCallback_t pConnParameterUpdateRequestCb
Definition: iot_ble.h:336
IotBleAdvertisementParams_t::appearance
uint32_t appearance
Definition: iot_ble.h:52
eBLEConnParameterUpdateRequestCallback
@ eBLEConnParameterUpdateRequestCallback
Definition: iot_ble.h:321
IotBleAttributeEvent::xEventType
IotBleAttributeEventType_t xEventType
Definition: iot_ble.h:204
IotBleEventsCallbacks_t::pConnectionCb
IotBle_ConnectionCallback_t pConnectionCb
Definition: iot_ble.h:334
IotBleConnectionInfoListElement_t::connId
uint16_t connId
Definition: iot_ble.h:90
IotBleConnectionInfoListElement_t::remoteBdAddr
BTBdaddr_t remoteBdAddr
Definition: iot_ble.h:87
IotBleWriteEventParams_t::needRsp
bool needRsp
Definition: iot_ble.h:153
IotBle_ConnParameterUpdateRequestCallback_t
void(* IotBle_ConnParameterUpdateRequestCallback_t)(BTStatus_t status, const BTBdaddr_t *pRemoteBdAddr, IotBleConnectionParam_t *pConnectionParam, uint32_t connInterval)
Callback invoked on BLE_ConnParameterUpdateRequest from remote device.
Definition: iot_ble.h:280
IotBleWriteEventParams_t
Parameters for write event.
Definition: iot_ble.h:145
IotBleConnectionInfoListElement_t
Contains the connection info. Return when requested by IotBleGetConnectionInfoList.
Definition: iot_ble.h:84
IotBleConnectionInfoListElement_t::clientCharDescrListHead
IotLink_t clientCharDescrListHead
Definition: iot_ble.h:89
IotBleAttributeData_t::size
size_t size
Definition: iot_ble.h:214
IotBleEventsCallbacks_t
BLE events not directly triggered by a function call. Most of them are triggered by a remote device m...
Definition: iot_ble.h:332
eBLEConnection
@ eBLEConnection
Definition: iot_ble.h:319
IotBleEventsCallbacks_t::pMtuChangedCb
IotBle_MtuChangedCallback_t pMtuChangedCb
Definition: iot_ble.h:333
IotBleConnectionParam_t
Connection parameters.
Definition: iot_ble.h:71
IotBle_RemoveBond
BTStatus_t IotBle_RemoveBond(const BTBdaddr_t *pRemoteBdAddr)
Remove a bonded device. Will trigger pBondedCb.
IotBleAttributeEvent::pParamRead
IotBleReadEventParams_t * pParamRead
Definition: iot_ble.h:198
eBLERead
@ eBLERead
Definition: iot_ble.h:100
IotBleAttributeEvent::pParamExecWrite
IotBleExecWriteEventParams_t * pParamExecWrite
Definition: iot_ble.h:200
eBLEWritePrepare
@ eBLEWritePrepare
Definition: iot_ble.h:103
IotBle_MtuChangedCallback_t
void(* IotBle_MtuChangedCallback_t)(uint16_t connId, uint16_t mtu)
Callback invoked when the MTU for a given connection changes.
Definition: iot_ble.h:239
IotBleAdvertisementParams_t
Structure containing all advertisement parameters.
Definition: iot_ble.h:51
IotBleRespConfirmEventParams_t::handle
uint16_t handle
Definition: iot_ble.h:176
IotBleAdvertisementParams_t::setScanRsp
bool setScanRsp
Definition: iot_ble.h:63
BTGattAdvName_t
Advertising Name Format.
Definition: bt_hal_manager_adapter_ble.h:94
IotBleAdvertisementParams_t::pUUID1
BTUuid_t * pUUID1
Definition: iot_ble.h:57
IotBle_Off
BTStatus_t IotBle_Off(void)
Turns off the BLE radio.
IotBleAttributeData_t::handle
size_t handle
Definition: iot_ble.h:217
IotBleWriteEventParams_t::pValue
uint8_t * pValue
Definition: iot_ble.h:148
IotBle_StartAdvCallback_t
void(* IotBle_StartAdvCallback_t)(BTStatus_t status)
Callback indicating the status of start advertisement operation. Invoked on BLE_StartAdv.
Definition: iot_ble.h:261
eBLEWrite
@ eBLEWrite
Definition: iot_ble.h:101
IotBleAttributeData_t::uuid
BTUuid_t uuid
Definition: iot_ble.h:216
BTRspErrorStatus_t
BTRspErrorStatus_t
Error status sent inside response to a read or write from the client.
Definition: bt_hal_gatt_server.h:54
eBLEWriteNoResponse
@ eBLEWriteNoResponse
Definition: iot_ble.h:102
IotBleWriteEventParams_t::pRemoteBdAddr
BTBdaddr_t * pRemoteBdAddr
Definition: iot_ble.h:147
BTAttribute_t
Generic BLE attribute.
Definition: bt_hal_gatt_types.h:234
IotBleExecWriteEventParams_t::transId
uint32_t transId
Definition: iot_ble.h:163
IotBleAdvertisementParams_t::pServiceData
char * pServiceData
Definition: iot_ble.h:56
bt_hal_gatt_server.h
BT GATT Server provides the interfaces to use Bluetooth GATT server feature.
IotBleExecWriteEventParams_t
Parameters for write executed event.
Definition: iot_ble.h:162
IotBleAttributeEvent::pParamRespConfirm
IotBleRespConfirmEventParams_t * pParamRespConfirm
Definition: iot_ble.h:201
IotBle_On
BTStatus_t IotBle_On(void)
Turns on the BLE radio.
bt_hal_gatt_types.h
T HAL provides the standard defintions used by BT GATT interfaces.
IotBleEventResponse_t::attrDataOffset
size_t attrDataOffset
Definition: iot_ble.h:227
IotBleEventResponse_t::rspErrorStatus
BTRspErrorStatus_t rspErrorStatus
Definition: iot_ble.h:229
IotBleEventsCallbacks_t::pGAPPairingStateChangedCb
IotBle_PairingStateChanged_t pGAPPairingStateChangedCb
Definition: iot_ble.h:335
IotBleWriteEventParams_t::isPrep
bool isPrep
Definition: iot_ble.h:154
IotBleIndicationSentEventParams_t::pAttribute
BTAttribute_t * pAttribute
Definition: iot_ble.h:185
IotBle_ConfirmNumericComparisonKeys
BTStatus_t IotBle_ConfirmNumericComparisonKeys(BTBdaddr_t *pBdAddr, bool keyAccepted)
Confirm key for numeric comparison.
IotBleAdvertisementParams_t::pUUID2
BTUuid_t * pUUID2
Definition: iot_ble.h:58
IotBleConnectionInfoListElement_t::securityLevel
BTSecurityLevel_t securityLevel
Definition: iot_ble.h:88
IotBle_PairingStateChanged_t
void(* IotBle_PairingStateChanged_t)(BTStatus_t status, BTBdaddr_t *pRemoteBdAddr, BTBondState_t bondstate, BTSecurityLevel_t securityLevel, BTAuthFailureReason_t reason)
Callback invoked when pairing state is changed.
Definition: iot_ble.h:295
IotBleExecWriteEventParams_t::pRemoteBdAddr
BTBdaddr_t * pRemoteBdAddr
Definition: iot_ble.h:164
IotBleReadEventParams_t
Parameters for read event.
Definition: iot_ble.h:132
IotBleEventResponse_t::pAttrData
IotBleAttributeData_t * pAttrData
Definition: iot_ble.h:226
IotBleReadEventParams_t::transId
uint32_t transId
Definition: iot_ble.h:134
IotBleAdvertisementParams_t::manufacturerLen
uint16_t manufacturerLen
Definition: iot_ble.h:59
eBLEIndicationConfirmReceived
@ eBLEIndicationConfirmReceived
Definition: iot_ble.h:106
IotBleAdvertisementParams_t::minInterval
uint32_t minInterval
Definition: iot_ble.h:53
BTAuthFailureReason_t
BTAuthFailureReason_t
Authentication failure reasons.
Definition: bt_hal_manager.h:135
IotBle_StopAdv
BTStatus_t IotBle_StopAdv(IotBle_StopAdvCallback_t pStopAdvCb)
Stop advertisements to listen for incoming connections. Triggers IotBle_StopAdvCallback_t.
IotBle_ConnParameterUpdateRequest
BTStatus_t IotBle_ConnParameterUpdateRequest(const BTBdaddr_t *pRemoteBdAddr, IotBleConnectionParam_t *pConnectionParam)
Request an update of the connection parameters.
IotBleConnectionInfoListElement_t::connectionList
IotLink_t connectionList
Definition: iot_ble.h:85
IotBle_UnRegisterEventCb
BTStatus_t IotBle_UnRegisterEventCb(IotBleEvents_t event, IotBleEventsCallbacks_t bleEventsCallbacks)
Remove a subscription to an event.
IotBle_GetConnectionInfo
BTStatus_t IotBle_GetConnectionInfo(uint16_t connId, IotBleConnectionInfoListElement_t **pConnectionInfo)
Get connection info for a specific connection ID.
IotBleEventResponse_t::eventStatus
BTStatus_t eventStatus
Definition: iot_ble.h:228
IotBleAdvertisementParams_t::pManufacturerData
char * pManufacturerData
Definition: iot_ble.h:55
BTBdaddr_t
BT/BLE address.
Definition: bt_hal_manager_types.h:67
eNbEvents
@ eNbEvents
Definition: iot_ble.h:323
IotBleIndicationSentEventParams_t::connId
uint16_t connId
Definition: iot_ble.h:186
IotBleWriteEventParams_t::length
uint32_t length
Definition: iot_ble.h:149
IotBle_DeleteService
BTStatus_t IotBle_DeleteService(BTService_t *pService)
Delete a local service.
eBLEPairingStateChanged
@ eBLEPairingStateChanged
Definition: iot_ble.h:320
IotBleConnectionParam_t::maxInterval
uint32_t maxInterval
Definition: iot_ble.h:73
eBLEMtuChanged
@ eBLEMtuChanged
Definition: iot_ble.h:318
IotBleAttributeEvent
BLE Attribute event.
Definition: iot_ble.h:195
IotBleReadEventParams_t::attrHandle
uint16_t attrHandle
Definition: iot_ble.h:136
IotBleConnectionParam_t::timeout
uint32_t timeout
Definition: iot_ble.h:75
eBLEResponseConfirmation
@ eBLEResponseConfirmation
Definition: iot_ble.h:105
IotBleEventsCallbacks_t::pvPtr
void * pvPtr
Definition: iot_ble.h:338
IotBle_SetDeviceName
BTStatus_t IotBle_SetDeviceName(const char *pName, size_t length)
Set device name for BLE.
IotBleAdvertisementParams_t::name
BTGattAdvName_t name
Definition: iot_ble.h:62
IotBleReadEventParams_t::pRemoteBdAddr
BTBdaddr_t * pRemoteBdAddr
Definition: iot_ble.h:135
IotBleEvents_t
IotBleEvents_t
enum listing all the BLE events (not directly triggered by a function call)
Definition: iot_ble.h:317
IotBleConnectionParam_t::latency
uint32_t latency
Definition: iot_ble.h:74
IotBle_StopAdvCallback_t
void(* IotBle_StopAdvCallback_t)(BTStatus_t status)
Callback indicating the status of stop advertisement operation. Invoked on BLE_StopAdv.
Definition: iot_ble.h:269