Groups

GAP

enum gapRole_t

GAP Role of a BLE device

Values:

enumerator gGapCentral_c

Central scans and connects to Peripherals.

enumerator gGapPeripheral_c

Peripheral advertises and connects to Centrals.

enumerator gGapObserver_c

Observer only scans and makes no connections.

enumerator gGapBroadcaster_c

Broadcaster only advertises and makes no connections.

enum gapKeypressNotification_tag

Values:

enumerator gKnPasskeyEntryStarted_c

Start of the Passkey Entry.

enumerator gKnPasskeyDigitStarted_c

Digit entered.

enumerator gKnPasskeyDigitErased_c

Digit erased.

enumerator gKnPasskeyCleared_c

Passkey cleared.

enumerator gKnPasskeyEntryCompleted_c

Passkey Entry completed.

enum gapScanMode_t

Scan Mode options; used as parameter for Gap_SetScanMode.

Values:

enumerator gDefaultScan_c

Reports all scanned devices to the application.

enumerator gLimitedDiscovery_c

Reports only devices in Limited Discoverable Mode, i.e., containing the Flags AD with the LE Limited Discoverable Flag set.

enumerator gGeneralDiscovery_c

Reports only devices in General Discoverable Mode, i.e., containing the Flags AD with the LE General Discoverable Flag set.

enumerator gAutoConnect_c

Automatically connects with devices with known addresses and does not report any scanned device to the application.

enum gapAdvertisingChannelMapFlags_t

Advertising Channel Map flags - setting a bit activates advertising on the respective channel.

Values:

enumerator gAdvChanMapFlag37_c

Bit for channel 37.

enumerator gAdvChanMapFlag38_c

Bit for channel 38.

enumerator gAdvChanMapFlag39_c

Bit for channel 39.

enum gapAdvertisingFilterPolicy_t

Advertising Filter Policy values

Values:

enumerator gProcessAll_c

Default value: accept all connect and scan requests.

enumerator gProcessConnAllScanWL_c

Accept all connect requests, but scan requests only from devices in Filter Accept List.

enumerator gProcessScanAllConnWL_c

Accept all scan requests, but connect requests only from devices in Filter Accept List.

enumerator gProcessFilterAcceptListOnly_c

Accept connect and scan requests only from devices in Filter Accept List.

enum gapPeriodicAdvSyncMode_tag

Periodic Advertisement Sync Transfer parameters

Values:

enumerator gapPeriodicSyncNoSyncMode_c

No attempt is made to synchronize to the periodic advertising and no gHciLePeriodicAdvSyncTransferReceived_c event is sent to the Host

enumerator gapPeriodicSyncNoReports_c

A gHciLePeriodicAdvSyncTransferReceived_c event is sent to the Host. gHciLePeriodicAdvReportEvent_c events will be disabled.

enumerator gapPeriodicSyncReportsEnabled_c

A gHciLePeriodicAdvSyncTransferReceived_c event is sent to the Host. gHciLePeriodicAdvReportEvent_c events will be enabled with duplicate filtering disabled

enumerator gapPeriodicSyncReportsEnabledWithDF_c

A gHciLePeriodicAdvSyncTransferReceived_c event is sent to the Host. gHciLePeriodicAdvReportEvent_c events will be enabled with duplicate filtering enabled

enum gapFilterDuplicates_t

Values:

enumerator gGapDuplicateFilteringDisable_c

Duplicate filtering disabled

enumerator gGapDuplicateFilteringEnable_c

Duplicate filtering enabled

enumerator gGapDuplicateFilteringPeriodicEnable_c

Duplicate filtering enabled, reset for each scan period

enum gapCreateSyncReqFilterPolicy_tag

Values:

enumerator gUseCommandParameters_c

Use the SID, peerAddressType, and peerAddress parameters to determine which advertiser to listen to.

enumerator gUsePeriodicAdvList_c

Use the Periodic Advertiser List to determine which advertiser to listen to

enum gapPrivateKeyType_t

Values:

enumerator gUseGeneratedKey_c

The private key generated by LE_Read_Local_P-256_Public_Key command, used for DH key generation

enumerator gUseDebugKey_c

The private debug key, used for DH key generation

enum gapAdType_t

AD Type values as defined by Bluetooth SIG used when defining gapAdStructure_t structures for advertising or scan response data.

Values:

enumerator gAdFlags_c

Defined by the Bluetooth SIG.

enumerator gAdIncomplete16bitServiceList_c

Defined by the Bluetooth SIG.

enumerator gAdComplete16bitServiceList_c

Defined by the Bluetooth SIG.

enumerator gAdIncomplete32bitServiceList_c

Defined by the Bluetooth SIG.

enumerator gAdComplete32bitServiceList_c

Defined by the Bluetooth SIG.

enumerator gAdIncomplete128bitServiceList_c

Defined by the Bluetooth SIG.

enumerator gAdComplete128bitServiceList_c

Defined by the Bluetooth SIG.

enumerator gAdShortenedLocalName_c

Defined by the Bluetooth SIG.

enumerator gAdCompleteLocalName_c

Defined by the Bluetooth SIG.

enumerator gAdTxPowerLevel_c

Defined by the Bluetooth SIG.

enumerator gAdClassOfDevice_c

Defined by the Bluetooth SIG.

enumerator gAdSimplePairingHashC192_c

Defined by the Bluetooth SIG.

enumerator gAdSimplePairingRandomizerR192_c

Defined by the Bluetooth SIG.

enumerator gAdSecurityManagerTkValue_c

Defined by the Bluetooth SIG.

enumerator gAdSecurityManagerOobFlags_c

Defined by the Bluetooth SIG.

enumerator gAdPeripheralConnectionIntervalRange_c

Defined by the Bluetooth SIG.

enumerator gAdServiceSolicitationList16bit_c

Defined by the Bluetooth SIG.

enumerator gAdServiceSolicitationList32bit_c

Defined by the Bluetooth SIG.

enumerator gAdServiceSolicitationList128bit_c

Defined by the Bluetooth SIG.

enumerator gAdServiceData16bit_c

Defined by the Bluetooth SIG.

enumerator gAdServiceData32bit_c

Defined by the Bluetooth SIG.

enumerator gAdServiceData128bit_c

Defined by the Bluetooth SIG.

enumerator gAdPublicTargetAddress_c

Defined by the Bluetooth SIG.

enumerator gAdRandomTargetAddress_c

Defined by the Bluetooth SIG.

enumerator gAdAppearance_c

Defined by the Bluetooth SIG.

enumerator gAdAdvertisingInterval_c

Defined by the Bluetooth SIG.

enumerator gAdLeDeviceAddress_c

Defined by the Bluetooth SIG.

enumerator gAdLeRole_c

Defined by the Bluetooth SIG.

enumerator gAdSimplePairingHashC256_c

Defined by the Bluetooth SIG.

enumerator gAdSimplePairingRandomizerR256_c

Defined by the Bluetooth SIG.

enumerator gAd3dInformationData_c

Defined by the Bluetooth SIG.

enumerator gAdUniformResourceIdentifier_c

Defined by the Bluetooth SIG.

enumerator gAdLeSupportedFeatures_c

Defined by the Bluetooth SIG.

enumerator gAdChannelMapUpdateIndication_c

Defined by the Bluetooth SIG.

enumerator gAdAdvertisingIntervalLong_c

Defined by the Bluetooth SIG.

enumerator gAdEncryptedAdvertisingData_c

Defined by the Bluetooth SIG.

enumerator gAdManufacturerSpecificData_c

Defined by the Bluetooth SIG.

enum gapDecisionInstructionsRelevantField_t

Decision Instruction Relevant Field Type.

Values:

enumerator gDIRF_ResolvableTag_c
enumerator gDIRF_AdvMode_c
enumerator gDIRF_RSSI_c
enumerator gDIRF_PathLoss_c
enumerator gDIRF_AdvAddress_c
enumerator gDIRF_ArbitraryDataOfExactly_1Byte_c
enumerator gDIRF_ArbitraryDataOfExactly_2Bytes_c
enumerator gDIRF_ArbitraryDataOfExactly_3Bytes_c
enumerator gDIRF_ArbitraryDataOfExactly_4Bytes_c
enumerator gDIRF_ArbitraryDataOfExactly_5Bytes_c
enumerator gDIRF_ArbitraryDataOfExactly_6Bytes_c
enumerator gDIRF_ArbitraryDataOfExactly_7Bytes_c
enumerator gDIRF_ArbitraryDataOfExactly_8Bytes_c
enumerator gDIRF_ArbitraryDataOfAtLeast_1Byte_c
enumerator gDIRF_ArbitraryDataOfAtLeast_2Bytes_c
enumerator gDIRF_ArbitraryDataOfAtLeast_3Bytes_c
enumerator gDIRF_ArbitraryDataOfAtLeast_4Bytes_c
enumerator gDIRF_ArbitraryDataOfAtLeast_5Bytes_c
enumerator gDIRF_ArbitraryDataOfAtLeast_6Bytes_c
enumerator gDIRF_ArbitraryDataOfAtLeast_7Bytes_c
enumerator gDIRF_ArbitraryDataOfAtLeast_8Bytes_c
enumerator gDIRF_ArbitraryDataOfAtMost_1Byte_c
enumerator gDIRF_ArbitraryDataOfAtMost_2Bytes_c
enumerator gDIRF_ArbitraryDataOfAtMost_3Bytes_c
enumerator gDIRF_ArbitraryDataOfAtMost_4Bytes_c
enumerator gDIRF_ArbitraryDataOfAtMost_5Bytes_c
enumerator gDIRF_ArbitraryDataOfAtMost_6Bytes_c
enumerator gDIRF_ArbitraryDataOfAtMost_7Bytes_c
enumerator gDIRF_ArbitraryDataOfAtMost_8Bytes_c
enum gapDecisionInstructionsTestPassCriteria_t

Values:

enumerator gDITPC_Never_c
enumerator gDITPC_CheckPasses_c
enumerator gDITPC_CheckFails_c
enumerator gDITPC_RelevantFieldPresent_c
enumerator gDITPC_RelevantFieldNotPresent_c
enumerator gDITPC_CheckPassesOrRelevantFieldNotPresent_c
enumerator gDITPC_CheckFailsOrRelevantFieldNotPresent_c
enumerator gDITPC_Always_c
enum gapDecisionInstructionsTestGroup_t

Values:

enumerator gDITG_SameTestGroup_c
enumerator gDITG_NewTestGroup_c
enum gapDecisionInstructionsAdvAChecks_t

Values:

enumerator gDIAAC_AdvAinFilterAcceptList_c
enumerator gDIAAC_AdvAmatchAddress1_c
enumerator gDIAAC_AdvAmatchAddress1orAddress2_c
enum gapRadioPowerLevelReadType_t

Enumeration used by the Gap_ReadRadioPowerLevel function.

Values:

enumerator gTxPowerCurrentLevelInConnection_c

Reading the instantaneous TX power level in a connection.

enumerator gTxPowerMaximumLevelInConnection_c

Reading the maximum TX power level achieved during a connection.

enumerator gTxPowerLevelForAdvertising_c

Reading the TX power on the advertising channels.

enumerator gRssi_c

Reading the Received Signal Strength Indication in a connection.

enum gapControllerTestCmd_t

Enumeration for Controller Test commands.

Values:

enumerator gControllerTestCmdStartRx_c

Start Receiver Test.

enumerator gControllerTestCmdStartTx_c

Start Transmitter Test.

enumerator gControllerTestCmdEnd_c

End Test.

enum gapControllerTestTxType_tag

Values:

enumerator gControllerTestTxPrbs9_c

PRBS9 sequence ‘11111111100000111101’…

enumerator gControllerTestTxF0_c

Repeated ‘11110000’

enumerator gControllerTestTxAA_c

Repeated ‘10101010’

enumerator gControllerTestTxPrbs15_c

PRBS15 sequence

enumerator gControllerTestTxFF_c

Repeated ‘11111111’

enumerator gControllerTestTx00_c

Repeated ‘00000000’

enumerator gControllerTestTx0F_c

Repeated ‘00001111’

enumerator gControllerTestTx55_c

Repeated ‘01010101’

enum gapSleepClockAccuracy_t

Enumeration for Sleep Clock Accuracy command.

Values:

enumerator gSwitchToMoreAccurateClock_c
enumerator gSwitchToLessAccurateClock_c
enum gapAdvertisingEventType_t

Advertising event type enumeration, as contained in the gapAdvertisingEvent_t.

Values:

enumerator gAdvertisingStateChanged_c

Event received when advertising has been successfully enabled or disabled.

enumerator gAdvertisingCommandFailed_c

Event received when advertising could not be enabled or disabled. Reason contained in gapAdvertisingEvent_t.eventData.failReason.

enumerator gExtAdvertisingStateChanged_c

Event received when extended advertising has been successfully enabled or disabled.

enumerator gAdvertisingSetTerminated_c

Event received when advertising in a given advertising set has stopped.

enumerator gExtScanNotification_c

Event indicates that a SCAN_REQ PDU or an AUX_SCAN_REQ PDU has been received by the extended advertiser.

enumerator gPerAdvSubeventDataRequest_c

Event received when doing PAWR.

enumerator gPerAdvResponse_c

Periodic Advertising Response.

enum gapScanningEventType_t

Scanning event type enumeration, as contained in the gapScanningEvent_t.

Values:

enumerator gScanStateChanged_c

Event received when scanning had been successfully enabled or disabled, or a Scan duration time-out has occurred.

enumerator gScanCommandFailed_c

Event received when scanning could not be enabled or disabled. Reason contained in gapScanningEvent_t.eventData.failReason.

enumerator gDeviceScanned_c

Event received when an advertising device has been scanned. Device data contained in gapScanningEvent_t.eventData.scannedDevice.

enumerator gExtDeviceScanned_c

Event received when an advertising device has been scanned. Device data contained in gapScanningEvent_t.eventData.extScannedDevice.

enumerator gPeriodicDeviceScanned_c

Event received when an Periodic advertising device has been scanned. Device data contained in gapScanningEvent_t.eventData.periodicScannedDevice.

enumerator gPeriodicDeviceScannedV2_c

Event received when an Periodic advertising device has been scanned. Device data contained in gapScanningEvent_t.eventData.periodicScannedDeviceV2.

enumerator gPeriodicAdvSyncEstablished_c

Event received when a sync with a periodic advertiser was established.

enumerator gPeriodicAdvSyncLost_c

Event received when a sync with a periodic advertiser have been lost.

enumerator gPeriodicAdvSyncTerminated_c

Event received when a sync with a periodic advertiser have been terminated.

enumerator gConnectionlessIqReportReceived_c

Event received when the Controller has reported IQ information from the CTE of a received advertising packet

enum gapConnectionEventType_t

Connection event type enumeration, as contained in the gapConnectionEvent_t.

Values:

enumerator gConnEvtConnected_c

A connection has been established. Data in gapConnectionEvent_t.eventData.connectedEvent.

enumerator gConnEvtPairingRequest_c

A pairing request has been received from the peer Central. Data in gapConnectionEvent_t.eventData.pairingEvent.

enumerator gConnEvtPeripheralSecurityRequest_c

A Peripheral Security Request has been received from the peer Peripheral. Data in gapConnectionEvent_t.eventData.peripheralSecurityRequestEvent.

enumerator gConnEvtPairingResponse_c

A pairing response has been received from the peer Peripheral. Data in gapConnectionEvent_t.eventData.pairingEvent.

enumerator gConnEvtAuthenticationRejected_c

A link encryption or pairing request has been rejected by the peer device. Data in gapConnectionEvent_t.eventData.authenticationRejectedEvent.

enumerator gConnEvtPasskeyRequest_c

Peer has requested a passkey (maximum 6 digit PIN) for the pairing procedure. Device should respond with Gap_EnterPasskey.

enumerator gConnEvtOobRequest_c

Out-of-Band data must be provided for the pairing procedure. Central or Peripheral should respond with Gap_ProvideOob.

enumerator gConnEvtPasskeyDisplay_c

The pairing procedure requires this Peripheral to display the passkey for the Central’s user.

enumerator gConnEvtKeyExchangeRequest_c

The pairing procedure requires the SMP keys to be distributed to the peer. Data in gapConnectionEvent_t.eventData.keyExchangeRequestEvent.

enumerator gConnEvtKeysReceived_c

SMP keys distributed by the peer during pairing have been received. Data in gapConnectionEvent_t.eventData.keysReceivedEvent.

enumerator gConnEvtLongTermKeyRequest_c

The bonded peer Central has requested link encryption and the LTK must be provided. Peripheral should respond with Gap_ProvideLongTermKey. Data in gapConnectionEvent_t.eventData.longTermKeyRequestEvent.

enumerator gConnEvtEncryptionChanged_c

Link’s encryption state has changed, e.g., during pairing or after a reconnection with a bonded peer. Data in gapConnectionEvent_t.eventData.encryptionChangedEvent.

enumerator gConnEvtPairingComplete_c

Pairing procedure is complete, either successfully or with failure. Data in gapConnectionEvent_t.eventData.pairingCompleteEvent.

enumerator gConnEvtDisconnected_c

A connection has been terminated. Data in gapConnectionEvent_t.eventData.disconnectedEvent.

enumerator gConnEvtRssiRead_c

RSSI for an active connection has been read. Data in gapConnectionEvent_t.eventData.rssi_dBm.

enumerator gConnEvtTxPowerLevelRead_c

TX power level for an active connection has been read. Data in gapConnectionEvent_t.eventData.txPowerLevel_dBm.

enumerator gConnEvtPowerReadFailure_c

Power reading could not be performed. Data in gapConnectionEvent_t.eventData.failReason.

enumerator gConnEvtParameterUpdateRequest_c

A connection parameter update request has been received. Data in gapConnectionEvent_t.eventData.connectionUpdateRequest.

enumerator gConnEvtParameterUpdateComplete_c

The connection has new parameters. Data in gapConnectionEvent_t.eventData.connectionUpdateComplete.

enumerator gConnEvtLeDataLengthChanged_c

The new TX/RX Data Length parameters. Data in gapConnectionEvent_t.eventData.rssi_dBm.leDataLengthChanged.

enumerator gConnEvtLeScOobDataRequest_c

Event sent to request LE SC OOB Data (r, Cr and Addr) received from a peer.

enumerator gConnEvtLeScDisplayNumericValue_c

Event sent to display and confirm a Numeric Comparison Value when using the LE SC Numeric Comparison pairing method.

enumerator gConnEvtLeScKeypressNotification_c

Remote Keypress Notification received during Passkey Entry Pairing Method.

enumerator gConnEvtChannelMapRead_c

Channel Map was read for a connection. Data is contained in gapConnectionEvent_t.eventData.channelMap

enumerator gConnEvtChannelMapReadFailure_c

Channel Map reading could not be performed. Data in gapConnectionEvent_t.eventData.failReason.

enumerator gConnEvtChanSelectionAlgorithm2_c

LE Channel Selection Algorithm #2 is used on the data channel connection.

enumerator gConnEvtPairingNoLtk_c

No LTK was found for the Central peer. Pairing shall be performed again.

enumerator gConnEvtPairingAlreadyStarted_c

Pairing process was already started

enumerator gConnEvtIqReportReceived_c

Controller has reported IQ information received from a connected peer. Data in gapConnectionEvent_t.eventData.connIqReport.

enumerator gConnEvtCteRequestFailed_c

CTE Request to a connected peer has failed. Data in gapConnectionEvent_t.eventData.cteRequestFailedEvent.

enumerator gConnEvtCteReceiveParamsSetupComplete_c

Connection CTE receive parameters have been successfully set.

enumerator gConnEvtCteTransmitParamsSetupComplete_c

Connection CTE transmit parameters have been successfully set.

enumerator gConnEvtCteReqStateChanged_c

Controller started or stopped initiating the CTE Request procedure.

enumerator gConnEvtCteRspStateChanged_c

Controller enabled or disabled sending CTE Responses for a connection.

enumerator gConnEvtPathLossThreshold_c

Received a Path Loss Threshold event. Data in gapConnectionEvent_t.eventData.pathLossThreshold.

enumerator gConnEvtTransmitPowerReporting_c

Received a Transmit Power report. Data in gapConnectionEvent_t.eventData.transmitPowerReporting.

enumerator gConnEvtEnhancedReadTransmitPowerLevel_c

Local information has been read from Controller. Data in gapConnectionEvent_t.eventData.transmitPowerInfo.

enumerator gConnEvtPathLossReportingParamsSetupComplete_c

Path Loss Reporting parameters have been successfully set.

enumerator gConnEvtPathLossReportingStateChanged_c

Path Loss Reporting has been enabled or disabled.

enumerator gConnEvtTransmitPowerReportingStateChanged_c

Transmit Power Reporting has been enabled or disabled for local and/or remote Controllers.

enumerator gConnEvtEattConnectionRequest_c

Received Enhanced Connection Request for EATT channels.

enumerator gConnEvtEattConnectionComplete_c

Received Enhanced Connection Response for EATT channels.

enumerator gConnEvtEattChannelReconfigureResponse_c

Received Enhanced Channel Reconfigure Response for EATT channels.

enumerator gConnEvtEattBearerStatusNotification_c

Enhanced Bearer status updated

enumerator gConnEvtHandoverConnected_c

A connection has been established through the Handover feature. Data in gapConnectionEvent_t.eventData.handoverConnectedEvent.

enumerator gHandoverDisconnected_c

A connection has been terminated as a result of connection handover.

enumerator gConnEvtLeSetDataLengthFailure_c

The Set Data Length command has failed.

enumerator gConnEvtSmError_c

Security Manager error occured.

enum gapEattBearerStatus_t

Enumeration for Bearer Status Notification command status.

Values:

enumerator gEnhancedBearerActive_c
enumerator gEnhancedBearerSuspendedNoLocalCredits_c
enumerator gEnhancedBearerNoPeerCredits_c
enumerator gEnhancedBearerDisconnected_c
enumerator gEnhancedBearerStatusEnd_c
enum gapCarSupport_t

Central Address Resolution characteristic state

Values:

enumerator CAR_Unknown

The Central Address Resolution characteristic was not read

enumerator CAR_Unavailable

The device tried to read the Central Address Resolution characteristic, but it’s unavailable

enumerator CAR_Unsupported

The device has read the Central Address Resolution characteristic, and the it’s value is FALSE

enumerator CAR_Supported

The device has read the Central Address Resolution characteristic, and the it’s value is TRUE

enum gapPeriodicAdvListOperation_t

Values:

enumerator gAddDevice_c
enumerator gRemoveDevice_c
enumerator gRemoveAllDevices_c
enum gapAppearance_tag

Appearance characteristic enumeration, also used in advertising.

Values:

enumerator gUnknown_c
enumerator gGenericPhone_c
enumerator gGenericComputer_c
enumerator gGenericWatch_c
enumerator gSportsWatch_c
enumerator gGenericClock_c
enumerator gGenericDisplay_c
enumerator gGenericRemoteControl_c
enumerator gGenericEyeglasses_c
enumerator gGenericTag_c
enumerator gGenericKeyring_c
enumerator gGenericMediaPlayer_c
enumerator gGenericBarcodeScanner_c
enumerator gGenericThermometer_c
enumerator gThermometerEar_c
enumerator gGenericHeartrateSensor_c
enumerator gHeartRateSensorHeartRateBelt_c
enumerator gGenericBloodPressure_c
enumerator gBloodPressureArm_c
enumerator gBloodPressureWrist_c
enumerator gHumanInterfaceDevice_c
enumerator gKeyboard_c
enumerator gMouse_c
enumerator gJoystick_c
enumerator gGamepad_c
enumerator gDigitizerTablet_c
enumerator gCardReader_c
enumerator gDigitalPen_c
enumerator gBarcodeScanner_c
enumerator gGenericGlucoseMeter_c
enumerator gGenericRunningWalkingSensor_c
enumerator gRunningWalkingSensorInShoe_c
enumerator gRunningWalkingSensorOnShoe_c
enumerator gRunningWalkingSensorOnHip_c
enumerator gGenericCycling_c
enumerator gCyclingComputer_c
enumerator gCyclingSpeedSensor_c
enumerator gCyclingCadenceSensor_c
enumerator gCyclingPowerSensor_c
enumerator gCyclingSpeedandCadenceSensor_c
enumerator gGenericPulseOximeter_c
enumerator gFingertip_c
enumerator gWristWorn_c
enumerator gGenericWeightScale_c
enumerator gGenericOutdoorSportsActivity_c
enumerator gLocationDisplayDevice_c
enumerator gLocationandNavigationDisplayDevice_c
enumerator gLocationPod_c
enumerator gLocationAndNavigationPod_c
typedef uint8_t gapIoCapabilities_t

I/O Capabilities as defined by the SMP

typedef uint8_t gapSmpKeyFlags_t

Flags indicating the Keys to be exchanged by the SMP during the key exchange phase of pairing.

typedef uint8_t gapSecurityMode_t

LE Security Mode

typedef uint8_t gapSecurityLevel_t

LE Security Level

typedef uint8_t gapSecurityModeAndLevel_t

Security Mode-and-Level definitions

typedef uint8_t gapKeypressNotification_t

Keypress Notification Types

typedef enum gapKeypressNotification_tag gapKeypressNotification_tag
typedef uint8_t gapAuthenticationRejectReason_t

Reason for rejecting the pairing request.

typedef struct gapExtAdvertisingParameters_tag gapExtAdvertisingParameters_t

Extended Advertising Parameters; for defaults see gGapDefaultExtAdvertisingParameters_d.

typedef struct gapExtAdvertisingParametersV2_tag gapExtAdvertisingParametersV2_t

Extended Advertising Parameters V2; for defaults see gGapDefaultExtAdvertisingParametersV2_d.

typedef struct gapPeriodicAdvParameters_tag gapPeriodicAdvParameters_t

Periodic Advertising Parameters; for defaults see gGapDefaultPeriodicAdvParameters_d.

typedef struct gapPeriodicAdvParametersV2_tag gapPeriodicAdvParametersV2_t

Periodic Advertising Parameters [v2]

typedef enum gapPeriodicAdvSyncMode_tag gapPeriodicAdvSyncMode_t

Periodic Advertisement Sync Transfer parameters

typedef struct gapPeriodicAdvSyncTransfer_tag gapPeriodicAdvSyncTransfer_t
typedef struct gapPeriodicAdvSetInfoTransfer_tag gapPeriodicAdvSetInfoTransfer_t
typedef struct gapSetPeriodicAdvSyncTransferParams_tag gapSetPeriodicAdvSyncTransferParams_t
typedef uint8_t gapCreateSyncReqFilterPolicy_t

Create Sync Request Filter Policy values

typedef struct gapCreateSyncReqOptions_tag gapCreateSyncReqOptions_t

Create Sync Request Options

typedef struct gapPeriodicAdvSyncReq_tag gapPeriodicAdvSyncReq_t

Periodic Advertising Sync Request parameters

typedef uint8_t gapAdTypeFlags_t

Values of the AD Flags advertising data structure.

typedef uint8_t gapDecisionInstructionsAdvMode_t
typedef struct gapDecisionInstructionsData_tag gapDecisionInstructionsData_t
typedef gapAdvertisingData_t gapScanResponseData_t

Scan Response Data structure : a list of several gapAdStructure_t structures.

typedef uint8_t gapControllerTestTxType_t

Enumeration for Controller Transmitter Test payload types.

typedef bleResult_t gapDisconnectionReason_t

Disconnection reason alias - reasons are contained in HCI error codes.

typedef void (*gapAdvertisingCallback_t)(gapAdvertisingEvent_t *pAdvertisingEvent)

Advertising Callback prototype.

typedef void (*gapScanningCallback_t)(gapScanningEvent_t *pScanningEvent)

Scanning Callback prototype.

typedef void (*gapConnectionCallback_t)(deviceId_t deviceId, gapConnectionEvent_t *pConnectionEvent)

Connection Callback prototype.

typedef enum gapAppearance_tag gapAppearance_t

Appearance characteristic enumeration, also used in advertising.

typedef struct gapHostVersion_tag gapHostVersion_t
bleResult_t Gap_SetDataRelatedAddressChanges(uint8_t advertisingHandle, uint8_t changeReasons)
bleResult_t Gap_RegisterDeviceSecurityRequirements(const gapDeviceSecurityRequirements_t *pSecurity)

Registers the device security requirements. This function includes a central security for all services and, optionally, additional stronger security settings for services as required by the profile and/or application.

Remark

pSecurity or any other contained security structure pointers that are NULL are ignored, i.e., defaulted to No Security (Security Mode 1 Level 1, No Authorization, Minimum encryption key size). This function executes synchronously.

Parameters:
Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range

bleResult_t Gap_SetAdvertisingParameters(const gapAdvertisingParameters_t *pAdvertisingParameters)

Sets up the Advertising Parameters.

Remark

GAP Peripheral-only API function.

Parameters:
Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

bleResult_t Gap_SetAdvertisingData(const gapAdvertisingData_t *pAdvertisingData, const gapScanResponseData_t *pScanResponseData)

Sets up the Advertising and Scan Response Data.

Remark

Any of the parameters may be NULL, in which case they are ignored. Therefore, this function can be used to set any of the parameters individually or both at once. The standard advertising packet payload is 37 bytes. Some of the payload may be occupied by the Advertiser Address which takes up 6 bytes and for some advertising PDU types also by the Initiator Address which takes another 6 bytes. This leaves 25-31 bytes to the application to include advertising structures (Length [1Byte], AD Type [1 Byte], AD Data[Length-1 Bytes])

Remark

GAP Peripheral-only API function.

Parameters:
  • pAdvertisingData[in] Pointer to gapAdvertisingData_t structure or NULL.

  • pScanResponseData[in] Pointer to gapScanResponseData_t structure or NULL.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range

  • gGapAdvDataTooLong_c – The advertising data length is too big

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

bleResult_t Gap_StartAdvertising(gapAdvertisingCallback_t advertisingCallback, gapConnectionCallback_t connectionCallback)

Commands the controller to start advertising.

Remark

The advertisingCallback confirms or denies whether the advertising has started. The connectionCallback is only used if a connection gets established during advertising.

Remark

GAP Peripheral-only API function.

Parameters:
  • advertisingCallback[in] Callback used by the application to receive advertising events. Can be NULL.

  • connectionCallback[in] Callback used by the application to receive connection events. Can be NULL.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleInvalidState_c – Advertising is already started or pending to be started

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

bleResult_t Gap_StopAdvertising(void)

Commands the controller to stop advertising.

Remark

GAP Peripheral-only API function.

Return values:
  • gBleSuccess_c

  • gBleInvalidState_c – Advertising is already stopped or pending to be stopped

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

bleResult_t Gap_Authorize(deviceId_t deviceId, uint16_t handle, gattDbAccessType_t access)

Authorizes a peer for an attribute in the database.

Remark

This function executes synchronously.

Remark

GATT Server-only API function.

Parameters:
  • deviceId[in] The peer being authorized.

  • handle[in] The attribute handle.

  • access[in] The type of access granted (gAccessRead_c or gAccessWrite_c).

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range

  • gBleOutOfMemory_c – The nvm index of the deviceId is bigger than the number of allowed bonded devices, or the nvm saving operation did not have enough memory

  • gBleInvalidParameter_c – The deviceId parameter is not valid or the access parameter is not gAccessRead_c or gAccessWrite_c

  • gBleUnexpectedError_c – Saving to NVM failed (module not initialized or corrupted NVM)

  • gBleOverflow_c – the number of handles to be read or written from the NVM is bigger than gcGapMaxAuthorizationHandles_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

bleResult_t Gap_SaveCccd(deviceId_t deviceId, uint16_t handle, gattCccdFlags_t cccd)

Save the CCCD value for a specific Client and CCCD handle.

Remark

The GATT Server layer saves the CCCD value automatically when it is written by the Client. This API should only be used to save the CCCD in other situations, e.g., when for some reason the application decides to disable notifications/indications for a specific Client.

Remark

This function executes synchronously.

Remark

GATT Server-only API function.

Parameters:
  • deviceId[in] The peer GATT Client.

  • handle[in] The handle of the CCCD as defined in the GATT Database.

  • cccd[in] The bit mask representing the CCCD value to be saved.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range

  • gBleUnexpectedError_c – Saving to NVM failed (module not initialized or corrupted NVM)

  • gBleOutOfMemory_c – The nvm index of the deviceId is bigger than the number of allowed bonded devices, or the nvm saving operation did not have enough memory

  • gDevDbCccdLimitReached_c – No more room in NVM

bleResult_t Gap_CheckNotificationStatus(deviceId_t deviceId, uint16_t handle, bool_t *pOutIsActive)

Retrieves the notification status for a given Client and a given CCCD handle.

Remark

This function executes synchronously.

Remark

GATT Server-only API function.

Parameters:
  • deviceId[in] The peer GATT Client.

  • handle[in] The handle of the CCCD.

  • pOutIsActive[out] The address to store the status into.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range

  • gDevDbCccdNotFound_c – The handle is not CCCD

  • gBleUnavailable_c – The bond data entry for this device is corrupted

bleResult_t Gap_CheckIndicationStatus(deviceId_t deviceId, uint16_t handle, bool_t *pOutIsActive)

Retrieves the indication status for a given Client and a given CCCD handle.

Remark

This function executes synchronously.

Remark

GATT Server-only API function.

Parameters:
  • deviceId[in] The peer GATT Client.

  • handle[in] The handle of the CCCD.

  • pOutIsActive[out] The address to store the status into.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gDevDbCccdNotFound_c – The handle is not CCCD.

  • gBleUnavailable_c – The bond data entry for this device is corrupted.

bleResult_t Gap_GetBondedDevicesIdentityInformation(gapIdentityInformation_t *aOutIdentityAddresses, uint8_t maxDevices, uint8_t *pOutActualCount)

Retrieves a list of the identity information of bonded devices, if any.

Remark

This API may be useful when creating a filter accept list or a resolving list.

Remark

This function executes synchronously.

Parameters:
  • aOutIdentityAddresses[out] Array of identities to be filled.

  • maxDevices[in] Maximum number of identities to be obtained.

  • pOutActualCount[out] The actual number of identities written.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleInvalidParameter_c – A parameter has an invalid value, is outside the accepted range, or the NVM entry is invalid

bleResult_t Gap_Pair(deviceId_t deviceId, const gapPairingParameters_t *pPairingParameters)

Initiates pairing with a peer device.

Remark

GAP Central-only API function.

Parameters:
  • deviceId[in] The peer to pair with.

  • pPairingParameters[in] Pairing parameters as required by the SMP.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task

bleResult_t Gap_SendPeripheralSecurityRequest(deviceId_t deviceId, const gapPairingParameters_t *pPairingParameters)

Informs the peer Central about the local security requirements.

Remark

The procedure has the same parameters as the pairing request, but, because it is initiated by the Peripheral, it has no pairing effect. It only informs the Central about the requirements.

Remark

GAP Peripheral-only API function.

Parameters:
  • deviceId[in] The GAP peer to pair with.

  • pPairingParameters[in] Pairing parameters as required by the SMP.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task

Encrypts the link with a bonded peer.

Remark

GAP Central-only API function.

Parameters:
  • deviceId[in] Device ID of the peer.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gGapDeviceNotBonded_c – Trying to execute an API that is only available for bonded devices.

bleResult_t Gap_AcceptPairingRequest(deviceId_t deviceId, const gapPairingParameters_t *pPairingParameters)

Accepts the pairing request from a peer.

Remark

This should be called in response to a gPairingRequest_c event.

Remark

GAP Peripheral-only API function.

Parameters:
  • deviceId[in] The peer requesting authentication.

  • pPairingParameters[in] Pairing parameters as required by the SMP.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_RejectPairing(deviceId_t deviceId, gapAuthenticationRejectReason_t reason)

Rejects the peer’s authentication request.

Parameters:
  • deviceId[in] The GAP peer who requested authentication.

  • reason[in] Reason why the current device rejects the authentication.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_EnterPasskey(deviceId_t deviceId, uint32_t passkey)

Enters the passkey requested by the peer during the pairing process.

Parameters:
  • deviceId[in] The GAP peer that requested a passkey entry.

  • passkey[in] The peer’s secret passkey.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_ProvideOob(deviceId_t deviceId, const uint8_t *aOob)

Provides the Out-Of-Band data for the SMP Pairing process.

Parameters:
  • deviceId[in] The pairing device.

  • aOob[in] Pointer to OOB data (array of gcSmpOobSize_d size).

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_RejectPasskeyRequest(deviceId_t deviceId)

Rejects the passkey request from a peer.

Remark

GAP Central-only API function.

Parameters:
  • deviceId[in] The GAP peer that requested a passkey entry.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SendSmpKeys(deviceId_t deviceId, const gapSmpKeys_t *pKeys)

Sends the SMP keys during the SMP Key Exchange procedure.

Parameters:
  • deviceId[in] The GAP peer who initiated the procedure.

  • pKeys[in] The SMP keys of the local device.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_RejectKeyExchangeRequest(deviceId_t deviceId)

Rejects the Key Exchange procedure with a paired peer.

Parameters:
  • deviceId[in] The GAP peer who requested the Key Exchange procedure.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_LeScRegeneratePublicKey(void)

Regenerates the private/public key pair used for LE Secure Connections pairing.

Remark

The application should listen for the gLeScPublicKeyRegenerated_c generic event.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_LeScValidateNumericValue(deviceId_t deviceId, bool_t valid)

Validates the numeric value during the Numeric Comparison LE Secure Connections pairing.

Parameters:
  • deviceId[in] Device ID of the peer.

  • valid[in] TRUE if user has indicated that numeric values are matched, FALSE otherwise.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_LeScGetLocalOobData(void)

Retrieves local OOB data used for LE Secure Connections pairing.

Remark

The application should listen for the gLeScLocalOobData_c generic event.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_LeScSetPeerOobData(deviceId_t deviceId, const gapLeScOobData_t *pPeerOobData)

Sets peer OOB data used for LE Secure Connections pairing.

Remark

This function should be called in response to the gConnEvtLeScOobDataRequest_c event.

Parameters:
  • deviceId[in] Device ID of the peer.

  • pPeerOobData[in] OOB data received from the peer.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_LeScSendKeypressNotification(deviceId_t deviceId, gapKeypressNotification_t keypressNotification)

Sends a Keypress Notification to the peer.

Remark

This function shall only be called during the passkey entry process and only if both peers support Keypress Notifications.

Parameters:
  • deviceId[in] Device ID of the peer.

  • keypressNotification[in] Value of the Keypress Notification.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_ProvideLongTermKey(deviceId_t deviceId, const uint8_t *aLtk, uint8_t ltkSize)

Provides the Long Term Key (LTK) to the controller for encryption setup.

Remark

The application should provide the same LTK used during bonding with the respective peer.

Remark

GAP Peripheral-only API function.

Parameters:
  • deviceId[in] The GAP peer who requested encryption.

  • aLtk[in] The Long Term Key.

  • ltkSize[in] The Long Term Key size.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_DenyLongTermKey(deviceId_t deviceId)

Rejects an LTK request originating from the controller.

Remark

GAP Peripheral-only API function.

Parameters:
  • deviceId[in] The GAP peer who requested encryption.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_LoadEncryptionInformation(deviceId_t deviceId, uint8_t *aOutLtk, uint8_t *pOutLtkSize)

Loads the encryption key for a bonded device.

Remark

This function executes synchronously.

Parameters:
  • deviceId[in] Device ID of the peer.

  • aOutLtk[out] Array of size gcMaxLtkSize_d to be filled with the LTK.

  • pOutLtkSize[out] The LTK size.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleUnavailable_c – The bond data entry for this device is corrupted.

bleResult_t Gap_SetLocalPasskey(uint32_t passkey)

Sets the SMP passkey for this device.

Remark

This is the PIN that the peer’s user must enter during pairing.

Remark

This function executes synchronously.

Remark

GAP Peripheral-only API function.

Parameters:
  • passkey[in] The SMP passkey.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gSmInvalidDeviceId_c – The device ID is not valid or it has been disconnected in the meantime.

  • gSmInvalidCommandCode_c – An invalid internal state machine code was requested.

  • gSmPairingAlreadyStarted_c – Pairing process was already started.

  • gSmInvalidInternalOperation_c – A memory corruption or invalid operation may have occurred.

  • gSmSmpTimeoutOccurred_c – An SMP timeout has occurred for the peer device.

  • gSmInvalidCommandParameter_c – One of the parameters of the SM command is not valid.

  • gSmCommandNotSupported_c – The Security Manager does not have the required features or version to support this command

  • gSmUnexpectedCommand_c – This command is not or cannot be handled in the current context of the SM.

  • gSmSmpPacketReceivedAfterTimeoutOccurred_c – A SMP packet has been received from a peer device for which a pairing procedure has timed out.

  • gSmUnexpectedPairingTerminationReason_c – The upper layer tried to cancel the pairing procedure with an unexpected pairing failure reason for the current phase of the pairing procedure.

bleResult_t Gap_SetScanMode(gapScanMode_t scanMode, gapAutoConnectParams_t *pAutoConnectParams, gapConnectionCallback_t connCallback)

Sets internal scan filters and actions.

Remark

This function can be called before Gap_StartScanning. If this function is never called, then the default value of gDefaultScan_c is considered and all scanned devices are reported to the application without any additional filtering or action.

Remark

This function executes synchronously.

Remark

GAP Central-only API function.

Parameters:
  • scanMode[in] The scan mode to be activated. Default is gDefaultScan_c.

  • pAutoConnectParams[in] Pointer to the gapAutoConnectParams_t structures if scanMode is set to gAutoConnect_c. The memory used must be persistent and should not change during the next scan periods or until another Gap_SetScanMode is called.

  • connCallback[in] Auto-Connect callback. Must be set if scanMode is set to gAutoConnect_c.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_SetDecisionInstructions(uint8_t numTest, const gapDecisionInstructionsData_t *pDecisionInstructions)

Sets up the Decision Instructions.

Remark

GAP Central-only API function.

Remark

Application should wait for gDecisionInstructionsSetupComplete_c generic event or for gInternalError_c generic event with errorSource = gSetDecisionInstructions_c.

Parameters:
  • numTest[in] The number of tests in the decision instructions.

  • pDecisionInstructions[in] Pointer to an array of gapDecisionInstructionsData_t structures. containing decision instruction for each test.

Return values:
  • gBleFeatureNotSupported_c – in case gLeExtendedAdv_c or gLeDecisionBasedAdvertisingFiltering_c are not supported.

  • gBleInvalidParameter_c – in case at least 1 parameter is incorrect.

  • gBleOutOfMemory_c – in case the memory allocation for the app to host message fails.

  • gBleSuccess_c – otherwise.

bleResult_t Gap_StartScanning(const gapScanningParameters_t *pScanningParameters, gapScanningCallback_t scanningCallback, gapFilterDuplicates_t enableFilterDuplicates, uint16_t duration, uint16_t period)

Optionally sets the scanning parameters and begins scanning.

Remark

Use this API to both set the scanning parameters and start scanning. If pScanningParameters is NULL, scanning is started with the existing settings.

Remark

GAP Central-only API function.

Parameters:
  • pScanningParameters[in] The scanning parameters; may be NULL.

  • scanningCallback[in] The scanning callback.

  • enableFilterDuplicates[in] Enable or disable duplicate advertising report filtering

  • duration[in] Scan duration expressed in units of 10 ms. Set 0 for continuous scan until explicitly disabled. Used only for BLE5.0, otherwise ignored.

  • period[in] Time interval expressed in units of 1.28 seconds from when the Controller started its last Scan_Duration until it begins the subsequent Scan_Duration. Set 0 to disable periodic scanning. Used only for BLE5.0, otherwise ignored.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidState_c – The requested API cannot be called in the current state, scanning was already started.

bleResult_t Gap_StopScanning(void)

Commands the controller to stop scanning.

Remark

GAP Central-only API function.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidState_c – The requested API cannot be called in the current state, scanning is in the process of stopping.

bleResult_t Gap_Connect(const gapConnectionRequestParameters_t *pParameters, gapConnectionCallback_t connCallback)

Connects to a scanned device.

Remark

GAP Central-only API function.

Parameters:
  • pParameters[in] Create Connection command parameters.

  • connCallback[in] Callback used to receive connection events.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_ConnectFromPawr(const gapConnectionFromPawrParameters_t *pParameters, gapConnectionCallback_t connCallback)

Connects to a device which is doing periodic advertising with responses.

Remark

GAP Central-only API function.

Parameters:
  • pParameters[in] Create Connection command parameters.

  • connCallback[in] Callback used to receive connection events.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_Disconnect(deviceId_t deviceId)

Initiates disconnection from a connected peer device.

Parameters:
  • deviceId[in] The connected peer to disconnect from.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SaveCustomPeerInformation(deviceId_t deviceId, const uint8_t *pInfo, uint16_t offset, uint16_t infoSize)

Saves custom peer information in raw data format.

Remark

This function can be called by the application to save custom information about the peer device, e.g., Service Discovery data (to avoid doing it again on reconnection).

Remark

This function executes synchronously.

Parameters:
  • deviceId[in] Device ID of the GAP peer.

  • pInfo[in] Pointer to the beginning of the data.

  • offset[in] Offset from the beginning of the reserved memory area.

  • infoSize[in] Data size (maximum equal to gcReservedFlashSizeForCustomInformation_d).

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – The nvm index of the deviceId is bigger than the number of allowed bonded devices, or the nvm saving operation did not have enough memory.

bleResult_t Gap_LoadCustomPeerInformation(deviceId_t deviceId, uint8_t *pOutInfo, uint16_t offset, uint16_t infoSize)

Loads the custom peer information in raw data format.

Remark

This function can be called by the application to load custom information about the peer device, e.g., Service Discovery data (to avoid doing it again on reconnection).

Remark

This function executes synchronously.

Parameters:
  • deviceId[in] Device ID of the GAP peer.

  • pOutInfo[out] Pointer to the beginning of the allocated memory.

  • offset[in] Offset from the beginning of the reserved memory area.

  • infoSize[in] Data size (maximum equal to gcReservedFlashSizeForCustomInformation_d).

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleUnavailable_c – The bond data entry for this device is corrupted.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – The nvm index of the deviceId is bigger than the number of allowed bonded devices, or the nvm saving operation did not have enough memory.

bleResult_t Gap_CheckIfBonded(deviceId_t deviceId, bool_t *pOutIsBonded, uint8_t *pOutNvmIndex)

Returns whether or not a connected peer device is bonded and the NVM index.

Remark

This function executes synchronously.

Parameters:
  • deviceId[in] Device ID of the GAP peer.

  • pOutIsBonded[out] Boolean to be filled with the bonded flag.

  • pOutNvmIndex[out] If bonded, to be filled optionally with the NVM index.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_CheckIfConnected(bleAddressType_t addressType, const bleDeviceAddress_t aAddress, bool_t addrResolved, bool_t *pOutIsConnected)

Checks if a connection exists between the local device and another device that has the provided address information. This function executes synchronously.

Parameters:
  • addressType[in] Peer address type

  • aAddress[in] Peer address

  • addrResolved[in] Set to TRUE if the address contained in the addressType and aAddress fields is the identity address of a resolved RPA.

  • pOutIsConnected[out] TRUE if the device is found

Return values:
  • bleResult_t

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_CheckNvmIndex(uint8_t nvmIndex, bool_t *pOutIsFree)

Returns whether or not the given NVM index is free.

Remark

This function executes synchronously.

Parameters:
  • nvmIndex[in] NVM index.

  • pOutIsFree[out] TRUE if free, FALSE if occupied.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_ReadFilterAcceptListSize(void)

Retrieves the size of the Filter Accept List.

Remark

Response is received in the gFilterAcceptListSizeRead_c generic event.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_ClearFilterAcceptList(void)

Removes all addresses from the Filter Accept List, if any.

Remark

Confirmation is received in the gFilterAcceptListCleared_c generic event.

Return values:

gBleSuccess_c

bleResult_t Gap_AddDeviceToFilterAcceptList(bleAddressType_t addressType, const bleDeviceAddress_t address)

Adds a device address to the Filter Accept List.

Parameters:
  • address[in] The address of the filter accept listed device.

  • addressType[in] The device address type (public or random).

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_RemoveDeviceFromFilterAcceptList(bleAddressType_t addressType, const bleDeviceAddress_t address)

Removes a device address from the Filter Accept List.

Parameters:
  • address[in] The address of the filter accept listed device.

  • addressType[in] The device address type (public or random).

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_ReadPublicDeviceAddress(void)

Reads the device’s public address from the controller.

Remark

The application should listen for the gPublicAddressRead_c generic event.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_CreateRandomDeviceAddress(const uint8_t *aIrk, const uint8_t *aRandomPart)

Requests the controller to create a random address.

Remark

The application should listen for the gRandomAddressReady_c generic event. Note that this does not set the random address in the Controller. To set the random address, call Gap_SetRandomAddress() with the generated address contained in the event data.

Parameters:
  • aIrk[in] The Identity Resolving Key to be used for a private resolvable address or NULL for a private non-resolvable address (fully random).

  • aRandomPart[in] If aIrk is not NULL, this is a 3-byte array containing the Random Part of a Private Resolvable Address, in LSB to MSB order; the most significant two bits of the most significant byte (aRandomPart[3] & 0xC0) are ignored. This may be NULL, in which case the Random Part is randomly generated internally.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SaveDeviceName(deviceId_t deviceId, const uchar_t *pName, uint8_t cNameSize)

Store the name of a bonded device.

Remark

This function copies cNameSize characters from the pName array and adds the NULL character to terminate the string.

Remark

This function executes synchronously.

Parameters:
  • deviceId[in] Device ID for the active peer which name is saved.

  • pName[in] Array of characters holding the name.

  • cNameSize[in] Number of characters to be saved.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – The nvm index of the deviceId is bigger than the number of allowed bonded devices, or the nvm saving operation did not have enough memory.

bleResult_t Gap_GetBondedDevicesCount(uint8_t *pOutBondedDevicesCount)

Retrieves the number of bonded devices.

Remark

This function executes synchronously.

Parameters:
  • pOutBondedDevicesCount[out] Pointer to integer to be written.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_GetBondedDeviceName(uint8_t nvmIndex, uchar_t *pOutName, uint8_t maxNameSize)

Retrieves the name of a bonded device.

Remark

nvmIndex is an integer ranging from 0 to N-1, where N is the number of bonded devices and can be obtained by calling Gap_GetBondedDevicesCount(&N).

Remark

This function executes synchronously.

Parameters:
  • nvmIndex[in] Index of the device in NVM bonding area.

  • pOutName[out] Destination array to copy the name into.

  • maxNameSize[in] Maximum number of characters to be copied, including the terminating NULL character.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleUnavailable_c – The bond data entry for this device is corrupted.

bleResult_t Gap_RemoveBond(uint8_t nvmIndex)

Removes the bond with a device.

Remark

This API requires that there are no active connections at call time. The Gap_CheckIfBonded() API can be called to obtain the nvmIndex of a bonded peer.

Remark

This function executes synchronously.

Parameters:
  • nvmIndex[in] Index of the device in the NVM bonding area.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleUnavailable_c – The bond data entry for this device is corrupted.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleInvalidState_c – The bond is not active.

bleResult_t Gap_RemoveAllBonds(void)

Removes all bonds with other devices.

Remark

This API requires that there are no active connections at call time.

Remark

This function executes synchronously.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

  • gBleInvalidState_c – At least one bond is still active.

bleResult_t Gap_ReadRadioPowerLevel(gapRadioPowerLevelReadType_t txReadType, deviceId_t deviceId)

Reads the power level of the controller’s radio. The response is contained in the gConnEvtTxPowerLevelRead_c connection event when reading connection TX power level, the gAdvTxPowerLevelRead_c generic event when reading the advertising TX power level, or the gConnEvtRssiRead_c connection event when reading the RSSI.

Parameters:
  • txReadType[in] Advertising or connection Tx power

  • deviceId[in] Peer identifier (for connections only, otherwise ignored)

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SetTxPowerLevel(uint8_t powerLevel, bleTransmitPowerChannelType_t channelType)

Sets the Tx power level on the controller’s radio.

Remark

The application should listen for the gTxPowerLevelSetComplete_c generic event.

Remark

This function executes synchronously.

Remark

For QN908x platform this command is not supported by the controller.

Remark

Instead, use RF_SetTxPowerLevel API to set the desired TX power level.

Parameters:
  • powerLevel[in] Power level as specified in the controller interface.

  • channelType[in] The advertising or connection channel type.

Return values:

gBleSuccess_c

bleResult_t Gap_VerifyPrivateResolvableAddress(uint8_t nvmIndex, const bleDeviceAddress_t aAddress)

Verifies a Private Resolvable Address with a bonded device’s IRK.

Remark

nvmIndex is an integer ranging from 0 to N-1, where N is the number of bonded devices and can be obtained by calling Gap_GetBondedDevicesCount(&N); the application should listen to the gPrivateResolvableAddressVerified_c event.

Parameters:
  • nvmIndex[in] Index of the device in NVM bonding area whose IRK must be checked.

  • aAddress[in] The Private Resolvable Address to be verified.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SetRandomAddress(const bleDeviceAddress_t aAddress)

Sets a random address into the Controller.

Remark

The application should listen for the gRandomAddressSet_c generic event.

Parameters:
  • aAddress[in] The Private Resolvable, Private Non-Resolvable, or Static Random Address.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_ReadControllerLocalRPA(const bleIdentityAddress_t *pIdAddress)

Reads the device’s Local Private Address for a specific peer device from the controller.

Remark

The application should listen for the gControllerLocalRPARead_c generic event.

Parameters:
  • pIdAddress[in] pointer to the peer identity address the local private address should be retrieved for.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidState_c – The Controller privacy is not enabled.

bleResult_t Gap_SetDefaultPairingParameters(const gapPairingParameters_t *pPairingParameters)

Sets the default pairing parameters to be used by automatic pairing procedures.

Remark

When these parameters are set, the Security Manager automatically responds to a Pairing Request or a Peripheral Security Request using these parameters. If NULL is provided, it returns to the default state where all security requests are sent to the application.

Remark

This function executes synchronously.

Parameters:
  • pPairingParameters[in] Pairing parameters as required by the SMP or NULL.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_UpdateConnectionParameters(deviceId_t deviceId, uint16_t intervalMin, uint16_t intervalMax, uint16_t peripheralLatency, uint16_t timeoutMultiplier, uint16_t minCeLength, uint16_t maxCeLength)

Request a set of new connection parameters.

Parameters:
  • deviceId[in] The DeviceID for which the command is intended

  • intervalMin[in] The minimum value for the connection event interval

  • intervalMax[in] The maximum value for the connection event interval

  • peripheralLatency[in] The peripheral latency parameter

  • timeoutMultiplier[in] The connection timeout parameter

  • minCeLength[in] The minimum value for the connection event length

  • maxCeLength[in] The maximum value for the connection event length

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

Pre:

A connection must be in place

bleResult_t Gap_EnableUpdateConnectionParameters(deviceId_t deviceId, bool_t enable)

Update the connection parameters.

Remark

The LE central Host may accept the requested parameters or reject the request

Parameters:
  • deviceId[in] The DeviceID for which the command is intended

  • enable[in] Allow/disallow the parameters update

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – The device id is not valid.

Pre:

A connection must be in place

bleResult_t Gap_UpdateLeDataLength(deviceId_t deviceId, uint16_t txOctets, uint16_t txTime)

Update the Tx Data Length.

Remark

The response is contained in the gConnEvtLeDataLengthUpdated_c connection event.

Parameters:
  • deviceId[in] The DeviceID for which the command is intended

  • txOctets[in] Maximum transmission number of payload octets

  • txTime[in] Maximum transmission time

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – The device id is not valid.

Pre:

A connection must be in place

bleResult_t Gap_EnableHostPrivacy(bool_t enable, const uint8_t *aIrk)

Enables or disables Host Privacy (automatic regeneration of a Private Address).

Remark

The application should listen for the gHostPrivacyStateChanged_c generic event.

Parameters:
  • enable[in] TRUE to enable, FALSE to disable.

  • aIrk[in] Local IRK to be used for Resolvable Private Address generation or NULL for Non-Resolvable Private Address generation. Ignored if enable is FALSE.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_EnableControllerPrivacy(bool_t enable, const uint8_t *aOwnIrk, uint8_t peerIdCount, const gapIdentityInformation_t *aPeerIdentities)

Enables or disables Controller Privacy (Enhanced Privacy feature).

Remark

The application should listen for the gControllerPrivacyStateChanged_c generic event.

Parameters:
  • enable[in] TRUE to enable, FALSE to disable.

  • aOwnIrk[in] Local IRK. Ignored if enable is FALSE, otherwise shall not be NULL.

  • peerIdCount[in] Size of aPeerIdentities array. Shall not be zero or greater than gcGapControllerResolvingListSize_c. Ignored if enable is FALSE.

  • aPeerIdentities[in] Array of peer identity addresses and IRKs. Ignored if enable is FALSE, otherwise shall not be NULL.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleFeatureNotSupported_c – Cannot use Device Privacy mode if controller does not support LE Set Privacy Mode Command.

bleResult_t Gap_SetPrivacyMode(uint8_t nvmIndex, blePrivacyMode_t privacyMode)

Sets the privacy mode to an existing bond.

Remark

The change has no effect (other than the change in NVM) unless controller privacy is enabled for the bonded identities.

Parameters:
  • nvmIndex[in] Index of the device in the NVM bonding area.

  • privacyMode[in] Controller privacy mode: Network or Device

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – Cannot use Device Privacy mode if controller does not support LE Set Privacy Mode Command.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleUnavailable_c – The bond data entry for this device is corrupted.

  • gBleOutOfMemory_c – There is no more room to allocate memory for a bonding entry.

bleResult_t Gap_ControllerTest(gapControllerTestCmd_t testCmd, uint8_t radioChannel, uint8_t txDataLength, gapControllerTestTxType_t txPayloadType)

Commands a Controller Test procedure.

Remark

The application should listen for the gControllerTestEvent_c generic event.

Remark

This API function is available only in the full-featured host library.

Parameters:
  • testCmd – Command type - “start TX test”, “start RX test” or “end test”.

  • radioChannel – Radio channel index. Valid range: 0-39. Frequency will be F[MHz] = 2402 + 2 * index. Effective range: 2402-2480 MHz. Ignored if command is “end test”.

  • txDataLength – Size of packet payload for TX tests. Ignored if command is “start RX test” or “end test”.

  • txPayloadType – Type of packet payload for TX tests. Ignored if command is “start RX test” or “end test”.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_ModifySleepClockAccuracy(gapSleepClockAccuracy_t action)

Requests the Controller to change its sleep clock accuracy for testing purposes.

Remark

The application should listen for the generic event.

Parameters:
  • action – Specifies whether the sleep clock should be changed to one that is more accurate or one that is less accurate.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_LeReadPhy(deviceId_t deviceId)

Read the Tx and Rx Phy on the connection with a device.

Remark

The application should listen for the gLePhyEvent_c generic event. This API is available only in the Bluetooth 5.0 Host Stack.

Parameters:
  • deviceId[in] Device ID of the peer.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_LeSetPhy(bool_t defaultMode, deviceId_t deviceId, uint8_t allPhys, uint8_t txPhys, uint8_t rxPhys, uint16_t phyOptions)

Set the Tx and Rx Phy preferences on the connection with a device or all subsequent connections.

Remark

The application should listen for the gLePhyEvent_c generic event. This API is available only in the Bluetooth 5.0 Host Stack.

Parameters:
  • defaultMode[in] Use the provided values for all subsequent connections

  • deviceId[in] Device ID of the peer Ignored if defaultMode is TRUE.

  • allPhys[in] Host preferences on Tx and Rx Phy, as defined by gapLeAllPhyFlags_t

  • txPhys[in] Host preferences on Tx Phy, as defined by gapLePhyFlags_t, ignored for gLeTxPhyNoPreference_c

  • rxPhys[in] Host preferences on Rx Phy, as defined by gapLePhyFlags_t, ignored for gLeRxPhyNoPreference_c

  • phyOptions[in] Host preferences on Coded Phy, as defined by gapLePhyOptionsFlags_t Ignored if defaultMode is TRUE.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version

bleResult_t Gap_ControllerEnhancedNotification(uint16_t eventType, deviceId_t deviceId)

Configures enhanced notifications on advertising, scanning and connection events on the controller.

Remark

The application should listen for the gControllerNotificationEvent_c generic event.

Remark

This function executes synchronously.

Parameters:
  • eventType[in] Event type selection as specified by bleNotificationEventType_t.

  • deviceId[in] Device ID of the peer, used only for connection events.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – The nvm index of the deviceId is bigger than the number of allowed bonded devices, or the nvm saving operation did not have enough memory.

bleResult_t Gap_BleAdvIndexChange(bleAdvIndexType_t advIndexType, uint8_t aUserDefinedChannels[3])

This function configures the advertising index type.

Parameters:
  • advIndexType[in] Advertising index type

  • aUserDefinedChannels[in] User defined channels array

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_LoadKeys(uint8_t nvmIndex, gapSmpKeys_t *pOutKeys, gapSmpKeyFlags_t *pOutKeyFlags, bool_t *pOutLeSc, bool_t *pOutAuth)

Retrieves the keys from an existing bond with a device.

Remark

This API requires that the aAddress in the pOutKeys shall not be NULL.

Remark

The application will check pOutKeyFlags to see which information is valid in pOutKeys.

Remark

This function executes synchronously.

Parameters:
  • nvmIndex[in] Index of the device in the NVM bonding area.

  • pOutKeys[out] Pointer to fill the keys distributed during pairing.

  • pOutKeyFlags[out] Pointer to indicate which keys were distributed during pairing.

  • pOutLeSc[out] Pointer to mark if LE Secure Connections was used during pairing.

  • pOutAuth[out] Pointer to mark if the device was authenticated for MITM during pairing.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_SaveKeys(uint8_t nvmIndex, const gapSmpKeys_t *pKeys, bool_t leSc, bool_t auth)

Saves the keys to a new or existing bond based on OOB information.

Remark

This API requires that the aAddress in the pKeys shall not be NULL.

Remark

If any of the keys are passed as NULL, they will not be saved.

Remark

The application listen for gBondCreatedEvent_c to confirm the bond was created.

Parameters:
  • nvmIndex[in] Index of the device in the NVM bonding area.

  • pKeys[in] Pointer to the keys distributed during pairing.

  • leSc[in] Indicates if LE Secure Connections was used during pairing.

  • auth[in] Indicates if the device was authenticated for MITM during pairing.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SetChannelMap(const bleChannelMap_t channelMap)

Set the channel map in the Controller and trigger an LL channel map update. Specifies the channel map for data, secondary advertising and periodic physical channels.

Remark

The application should listen for the gChannelMapSet_c generic event.

Remark

This function executes synchronously.

Remark

API supported on GAP Central devices or Broadcaster with Extended Advertising support.

Parameters:
  • channelMap[in] Array with the channels using 0 for bad channels and 1 for unknown.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

bleResult_t Gap_ReadChannelMap(deviceId_t deviceId)

Reads the channel map of a connection.

Remark

The application should listen for the gConnEvtChannelMapRead_c connection event.

Remark

This function executes synchronously.

Parameters:
  • deviceId[in] Device ID of the peer.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_SetExtAdvertisingParameters(gapExtAdvertisingParameters_t *pAdvertisingParameters)

Sets up the Extended Advertising Parameters.

Remark

GAP Peripheral-only API function.

Parameters:
  • pAdvertisingParameters[in] Pointer to gapExtAdvertisingParameters_t structure.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gGapAnotherProcedureInProgress_c – Another set extended advertisment parameters command is in progress.

bleResult_t Gap_SetExtAdvertisingParametersV2(gapExtAdvertisingParametersV2_t *pAdvertisingParameters)

Sets up the Extended Advertising Parameters. V2 of the command.

Remark

GAP Peripheral-only API function.

Parameters:
  • pAdvertisingParametersV2[in] Pointer to gapExtAdvertisingParametersV2_t structure.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gGapAnotherProcedureInProgress_c – Another set extended advertising parameters command is in progress.

bleResult_t Gap_SetExtAdvertisingData(uint8_t handle, gapAdvertisingData_t *pAdvertisingData, gapScanResponseData_t *pScanResponseData)

Sets up the Extended Advertising and Extended Scan Response Data.

Remark

Any of the parameters may be NULL, in which case they are ignored. Therefore, this function can be used to set any of the parameters individually or both at once.

Remark

GAP Peripheral-only API function.

Parameters:
  • handle[in] The ID of the advertising set

  • pAdvertisingData[in] Pointer to gapAdvertisingData_t structure or NULL.

  • pScanResponseData[in] Pointer to gapScanResponseData_t structure or NULL.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – The nvm index of the deviceId is bigger than the number of allowed bonded devices, or the nvm saving operation did not have enough memory.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleInvalidState_c – The advertising set was not configured previously using Gap_SetExtAdvertisingParameters.

  • gGapAdvDataTooLong_c – The advertising data is too long.

bleResult_t Gap_SetExtAdvertisingDecisionData(uint8_t handle, const gapAdvertisingDecisionData_t *pAdvertisingDecisionData)

Sets up the Extended Advertising Decision Data.

Remark

pDecisionData or pKey in the gapAdvertisingDecisionData_t structure may be NULL but not both.

Remark

GAP Peripheral-only API function.

Remark

Application should wait for gExtAdvertisingDecisionDataSetupComplete_c or generic event or for gInternalError_c generic event with errorSource = gSetExtAdvDecisionData_c.

Parameters:
Return values:
  • gBleFeatureNotSupported_c – in case gLeExtendedAdv_c or gLeDecisionBasedAdvertisingFiltering_c are not supported.

  • gBleInvalidParameter_c – in case at least 1 parameter is incorrect.

  • gBleOutOfMemory_c – in case the memory allocation for the app to host message fails.

  • gBleSuccess_c – otherwise.

bleResult_t Gap_StartExtAdvertising(gapAdvertisingCallback_t advertisingCallback, gapConnectionCallback_t connectionCallback, uint8_t handle, uint16_t duration, uint8_t maxExtAdvEvents)

Commands the controller to start the extended advertising.

Remark

The advertisingCallback confirms or denies whether the advertising has started. The connectionCallback is only used if a connection gets established during advertising.

Remark

GAP Peripheral-only API function.

Parameters:
  • advertisingCallback[in] Callback used by the application to receive advertising events. Can be NULL.

  • connectionCallback[in] Callback used by the application to receive connection events. Can be NULL.

  • handle[in] The ID of the advertising set

  • duration[in] The duration of the advertising

  • maxExtAdvEvents[in] The maximum number of advertising events

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidState_c – The advertising is already started or pending to be started.

bleResult_t Gap_StopExtAdvertising(uint8_t handle)

Commands the controller to stop extended advertising for set ID.

Remark

GAP Peripheral-only API function.

Parameters:
  • handle[in] The ID of the advertising set

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleInvalidState_c – The advertising set is not started.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_RemoveAdvSet(uint8_t handle)

Commands the controller to remove the specified advertising set and all its data.

Remark

GAP Peripheral-only API function.

Parameters:
  • handle[in] The ID of the advertising set

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SetPeriodicAdvParameters(gapPeriodicAdvParameters_t *pAdvertisingParameters)

Sets up the Periodic Advertising Parameters.

Remark

GAP Peripheral-only API function.

Parameters:
  • pAdvertisingParameters[in] Pointer to gapPeriodicAdvParameters_t structure.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SetPeriodicAdvParametersV2(gapPeriodicAdvParametersV2_t *pAdvertisingParameters)

Sets up the Periodic Advertising Parameters - v2 of the command.

Remark

GAP Peripheral-only API function.

Parameters:
  • pAdvertisingParameters[in] Pointer to gapPeriodicAdvParametersV2_t structure.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SetPeriodicAdvSubeventData(uint8_t advHandle, const gapPeriodicAdvertisingSubeventData_t *pData)

Sets up the Periodic Advertising Subevent Data.

Remark

GAP Peripheral-only API function.

Parameters:
Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SetPeriodicAdvResponseData(uint16_t syncHandle, const gapPeriodicAdvertisingResponseData_t *pData)

Sets up the Periodic Advertising Response Data.

Parameters:
Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SetPeriodicSyncSubevent(uint16_t syncHandle, const gapPeriodicSyncSubeventParameters_t *pParams)

Instructs the controller to sync with a subset of the subevents within a PAWR train identified by syncHandle.

Parameters:
Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SetPeriodicAdvertisingData(uint8_t handle, gapAdvertisingData_t *pAdvertisingData, bool_t bUpdateDID)

Sets up the Periodic Advertising Data.

Remark

GAP Peripheral-only API function.

Parameters:
  • handle[in] The ID of the periodic advertising set

  • pAdvertisingData[in] Pointer to gapAdvertisingData_t structure.

  • bUpdateDid[in] If TRUE, use operation mode gHciExtDataUnchanged_c.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleInvalidState_c – The advertising set was not previously configured using Gap_SetPeriodicAdvParameters.

  • gGapAdvDataTooLong_c – The advertising data is too long.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_StartPeriodicAdvertising(uint8_t handle, bool_t bIncludeADI)

Commands the controller to start periodic advertising for set ID.

Remark

GAP Peripheral-only API function.

Parameters:
  • handle[in] The ID of the periodic advertising set

  • bIncludeADI[in] If TRUE, include ADI field in AUX_SYNC_IND PDUs

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleInvalidState_c – The advertising set was not previously configured using Gap_SetPeriodicAdvParameters.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_StopPeriodicAdvertising(uint8_t handle)

Commands the controller to stop periodic advertising for set ID.

Remark

GAP Peripheral-only API function.

Parameters:
  • handle[in] The ID of the periodic advertising set

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleInvalidState_c – The advertising set was not previously configured using Gap_SetPeriodicAdvParameters.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_UpdatePeriodicAdvList(gapPeriodicAdvListOperation_t operation, bleAddressType_t addrType, uint8_t *pAddr, uint8_t SID)

Manage the periodic advertising list.

Remark

GAP Central-only API function.

Parameters:
  • operation[in] The list operation: add/remove a device, or clear all.

  • addrType[in] The address type of the periodic advertiser.

  • pAddr[in] Pointer to the advertiser’s address.

  • SID[in] The ID of the advertising set.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gGapAnotherProcedureInProgress_c – Periodic advertising create sync is in progress.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_PeriodicAdvCreateSync(gapPeriodicAdvSyncReq_t *pReq)

Start tracking periodic advertisements. Scanning is required to be ON for this request to be processed, so the scanning callback will receive the periodic advertising events.

Remark

GAP Central-only API function.

Parameters:
  • pReq[in] Pointer to the Sync Request parameters.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gGapAnotherProcedureInProgress_c – Periodic advertising create sync is in progress.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_PeriodicAdvTerminateSync(uint16_t syncHandle)

Stop tracking periodic advertisements.

Remark

GAP Central-only API function.

Parameters:
  • syncHandle[in] Used to identify the periodic advertiser

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gGapAnotherProcedureInProgress_c – Periodic advertising create sync is in progress.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_PeriodicAdvReceiveEnable(uint16_t syncHandle, bool_t enableDuplicateFiltering)

Enable Periodic Advertisement Sync Transfer Controller feature.

Parameters:
  • syncHandle[in] Used to identify the periodic advertiser

  • enableDuplicateFiltering[in] Used to enable or disable duplicate filtering

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_PeriodicAdvReceiveDisable(uint16_t syncHandle)

Disable Periodic Advertisement Sync Transfer Controller feature.

Parameters:
  • syncHandle[in] Used to identify the periodic advertiser

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_PeriodicAdvSyncTransfer(gapPeriodicAdvSyncTransfer_t *pParam)

Instruct the Controller to send synchronization information about the periodic advertising train identified by the sync handle to a connected device.

Parameters:
  • pParam[in] Pointer to the command arguments

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_PeriodicAdvSetInfoTransfer(gapPeriodicAdvSetInfoTransfer_t *pParam)

Instruct the Controller to send synchronization information about the periodic advertising to a connected device.

Parameters:
  • pParam[in] Pointer to the command arguments

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SetPeriodicAdvSyncTransferParams(gapSetPeriodicAdvSyncTransferParams_t *pParam)

Specify how the Controller will process periodic advertising synchronization information received from the device identified by the device id.

Parameters:
  • pParam[in] Pointer to the command arguments

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SetDefaultPeriodicAdvSyncTransferParams(gapSetPeriodicAdvSyncTransferParams_t *pParam)

Specify the initial value for the mode, skip, timeout, and Constant Tone Extension type (set by the Gap_SetPeriodicAdvSyncTransferParams command) to be used for all subsequent connections over the LE transport.

Parameters:
  • pParam[in] Pointer to the command arguments

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_ResumeLeScStateMachine(computeDhKeyParam_t *pData)

Resume the pairing process. At this point the ECDH key must be computed. This function should be called only for secured LE connections. In any other cases the user should make his own code for handling the case when the ECDH computation is completed.

Parameters:
  • pData[in] Pointer to the data used to resume the host state machine. The data is allocated by the stack when it requests an ECDH multiplication. It is also freed by the stack at the end of the multiplication.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_SetConnectionlessCteTransmitParameters(gapConnectionlessCteTransmitParams_t *pTransmitParams)

Set Connectionless CTE Transmit Parameters for an advertising set.

Parameters:
  • pTransmitParams[in] Pointer to struct containing parameters.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_EnableConnectionlessCteTransmit(uint8_t handle, bleCteTransmitEnable_t enable)

Enable or disable Connectionless CTE Transmit for an advertising set.

Parameters:
  • handle[in] Advertising set handle.

  • enable[in] Enable or disable CTE Transmit.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_EnableConnectionlessIqSampling(uint16_t syncHandle, gapConnectionlessIqSamplingParams_t *pIqSamplingParams)

Enable or disable Connectionless IQ sampling for an advertising train.

Parameters:
  • syncHandle[in] Used to identify advertising train.

  • pIqSamplingParams[in] Pointer to struct containing parameters.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SetConnectionCteReceiveParameters(deviceId_t deviceId, gapConnectionCteReceiveParams_t *pReceiveParams)

Set CTE Receive Parameters for a certain connection.

Parameters:
  • deviceId[in] Peer device ID.

  • pReceiveParams[in] Pointer to struct containing parameters.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SetConnectionCteTransmitParameters(deviceId_t deviceId, gapConnectionCteTransmitParams_t *pTransmitParams)

Set CTE Transmit Parameters for a certain connection.

Parameters:
  • deviceId[in] Peer device ID.

  • pTransmitParams[in] Pointer to struct containing parameters.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_EnableConnectionCteRequest(deviceId_t deviceId, gapConnectionCteReqEnableParams_t *pCteReqEnableParams)

Enable or disable CTE Request procedure for a certain connection.

Parameters:
  • deviceId[in] Peer device ID.

  • pCteReqEnableParams[in] Pointer to struct containing parameters.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_EnableConnectionCteResponse(deviceId_t deviceId, bleCteRspEnable_t enable)

Enable or disable sending CTE Responses for a certain connection.

Parameters:
  • deviceId[in] Peer device ID.

  • enable[in] Enable or disable sending CTE Responses.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_ReadAntennaInformation(void)

Read Antenna Information.

Remark

Antenna information contained in gAntennaInformationRead_c generic event.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_EnhancedReadTransmitPowerLevel(deviceId_t deviceId, blePowerControlPhyType_t phy)

Read local current and maximum tx power levels for a certain connection and PHY.

Parameters:
  • deviceId[in] Peer device ID.

  • phy[in] PHY.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_ReadRemoteTransmitPowerLevel(deviceId_t deviceId, blePowerControlPhyType_t phy)

Read remote tx power for a certain connection and PHY.

Parameters:
  • deviceId[in] Peer device ID.

  • phy[in] PHY.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_SetPathLossReportingParameters(deviceId_t deviceId, gapPathLossReportingParams_t *pPathLossReportingParams)

Set path loss threshold reporting parameters for a certain connection.

Parameters:
  • deviceId[in] Peer device ID.

  • pPathLossReportingParams[in] Pointer to struct containing parameters.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_EnablePathLossReporting(deviceId_t deviceId, blePathLossReportingEnable_t enable)

Enable or disable path loss threshold reporting for a certain connection.

Parameters:
  • deviceId[in] Peer device ID.

  • enable[in] Enable or disable path loss threshold reporting.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_EnableTransmitPowerReporting(deviceId_t deviceId, bleTxPowerReportingEnable_t localEnable, bleTxPowerReportingEnable_t remoteEnable)

Enable or disable tx power reporting for a certain connection.

Parameters:
  • deviceId[in] Peer device ID.

  • localEnable[in] Enable or disable local tx power reports.

  • removeEnable[in] Enable or disable remote tx power reports.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_GenerateDhKeyV2(ecdhPublicKey_t *pRemoteP256PublicKey, gapPrivateKeyType_t keyType)

Initiates generation of a Diffie-Hellman key in the Controller for use over the LE transport. Version 2 of LE Generate DHKey command.

Remark

Generated key is contained in gHciLeGenerateDhKeyCompleteEvent_c event.

Parameters:
  • pRemoteP256PublicKey[in] Pointer to the remote P-256 public key used as input for DH key generation.

  • keyType[in] The private key used of DH key generation.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_EattConnectionRequest(deviceId_t deviceId, uint16_t mtu, uint8_t cBearers, uint16_t initialCredits, bool_t autoCreditsMgmt)

Open up to 5 Enhanced ATT bearers.

Parameters:
  • deviceId[in] Peer device id

  • mtu[in] MTU

  • cBearers[in] Number of bearers

  • initialCredits[in] Initial credits

  • autoCreditsMgmt[in] EATT will automatically send credits in chunks of initialCredits if TRUE.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_EattConnectionAccept(deviceId_t deviceId, bool_t accept, uint16_t localMtu, uint16_t initialCredits, bool_t autoCreditsMgmt)

Accept or reject a received EATT Connection Request.

Parameters:
  • deviceId[in] Peer device id

  • accept[in] TRUE - accept received EattConnectionRequest FALSE - reject incoming EattConnectionRequest

  • localMtu[in] Local MTU

  • Initial (initialCredits,) – [in] credits

  • autoCreditsMgmt[in] EATT will automatically send credits in chunks of initialCredits if TRUE.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_EattReconfigureRequest(deviceId_t deviceId, uint16_t mtu, uint16_t mps, uint8_t cBearers, bearerId_t *pBearers)

Reconfigure the MTU of up to 5 Enhanced ATT bearers.

Parameters:
  • deviceId[in] Peer device id

  • mtu[in] New MTU value to be configured.

  • mps[in] New MPS value to be configured. Set to 0 to use current maximum mps value of the channels being reconfigured

  • cBearers[in] Number of bearers

  • *pBearers[in] Initial credits

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_EattSendCredits(deviceId_t deviceId, bearerId_t bearerId, uint16_t credits)

Send L2cap credits for Enhanced ATT bearers.

Parameters:
  • deviceId[in] Peer device id

  • bearerId[in] Enhanced ATT bearer id.

  • credits[in] Number of credits.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_EattDisconnect(deviceId_t deviceId, bearerId_t bearerId)

Disconnect the specified bearer.

Parameters:
  • deviceId[in] Peer device id

  • bearerId[in] Enhanced ATT bearer id to be disconnected.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_GetDeviceIdFromConnHandle(uint16_t connHandle, deviceId_t *pDeviceId)

Returns the deviceId associated with the received connection handle.

Parameters:
  • connHandle[in] Connection identifier

  • pDeviceId[out] Corresponding device id

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_GetConnectionHandleFromDeviceId(deviceId_t deviceId, uint16_t *pConnHandle)

Returns the deviceId associated with the received connection handle.

Parameters:
  • deviceId[in] Connection identifier

  • pConnHandle[out] Corresponding connection handle

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_GetHostVersion(gapHostVersion_t *pOutHostVersion)

Retrieves Host Version information.

Parameters:
  • pOutHostVersion[out] Pointer to the memory location where the Host Version information should be stored.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

bleResult_t Gap_ReadRemoteVersionInformation(deviceId_t deviceId)

Reads the version information of a peer device.

Parameters:
  • deviceId[in] Peer device identifier.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_GetConnParamsMonitoring(deviceId_t deviceId, uint8_t mode)

Get the Connection parameters for the given deviceId in the given mode.

Parameters:
  • deviceId[in] Peer device Id.

  • mode[in] Connection parameters event report mode: bit 0: update the local sequence number for central / peripheral differentiation and send the LE_Handover_Connection_Parameters_Update_Event after remote sequence number change. bit 1: Send LE_Handover_Connection_Parameters_Update_Event when the connection parameters are updated following an LL procedure

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – A parameter has an invalid value or is outside the accepted range.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_LeChannelOverride(bleChannelOverrideMode_t mode, uint8_t channelListLength, uint8_t *pChannelList)
bleResult_t Gap_LeSetSchedulerPriority(uint16_t priorityHandle)
bleResult_t Gap_LeSetHostFeature(uint8_t bitNumber, bool_t enable)

This function is used by the Host to set or clear a bit controlled by the Host in the Link Layer FeatureSet.

Parameters:
  • bitNumber[in] Bit position in the FeatureSet

  • enable[in] Host feature is enabled/disabled

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

bleResult_t Gap_EncryptAdvertisingData(const gapAdvertisingData_t *pAdvertisingData, const uint8_t *pKey, const uint8_t *pIV, uint8_t *pOutput)
bleResult_t Gap_DecryptAdvertisingData(uint8_t *pData, uint16_t dataLength, const uint8_t *pKey, const uint8_t *pIV, uint8_t *pOutput)
void Gap_SetConnectionCallback(gapConnectionCallback_t pfConnectionCallback)

Set the GAP connection callback.

Parameters:
  • pfConnectionCallback[in] The function called when one of the events defined in gapConnectionEventType_t occurs.

Returns:

none

void Gap_SetScanningCallback(gapScanningCallback_t pfScanningCallback)

Set the GAP scanning callback.

Parameters:
  • pfScanningCallback[in] The function called when one of the events defined in gapScanningEventType_t occurs.

Returns:

none

Gap_AddSecurityModesAndLevels(modeLevelA, modeLevelB)

Macro used to combine two security mode-levels.

Remark

This macro is useful when two different security requirements must be satisfied at the same time, such as a device central security requirement and a service-specific security requirement.

Parameters:
  • modeLevelB (modeLevelA,) – [in] The two security mode-levels.

Returns:

The resulting security mode-level.

Gap_CancelInitiatingConnection()

Macro used to cancel a connection initiated by Gap_Connect(…).

Remark

This macro can only be used for a connection that has not yet been established, such as the “gConnEvtConnected_c” has not been received. For example, call this when a connection request has timed out. Application should listen for gCreateConnectionCanceled_c generic event.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – The requested feature is not supported by this stack version.

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

Gap_ReadAdvertisingTxPowerLevel()

Macro used to read the radio transmitter power when advertising.

Remark

The result is contained in the gAdvTxPowerLevelRead_c generic event.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

Gap_ReadRssi(deviceId)

Macro used to read the RSSI of a radio connection.

Remark

The result is contained in the gConnEvtRssiRead_c connection event. The RSSI value is a signed byte, and the unit is dBm. If the RSSI cannot be read, the gConnEvtPowerReadFailure_c connection event is generated.

Parameters:
  • deviceId[in] Device ID identifying the radio connection.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

Gap_ReadTxPowerLevelInConnection(deviceId)

Macro used to read the radio transmitting power level of a radio connection.

Remark

The result is contained in the gConnEvtTxPowerLevelRead_c connection event. If the TX Power cannot be read, the gConnEvtPowerReadFailure_c connection event is generated.

Parameters:
  • deviceId[in] Device ID identifying the radio connection.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Cannot allocate memory for the Host task.

Gap_GetConnParams(deviceId)
gCancelOngoingInitiatingConnection_d

Use this value as a parameter to the Gap_Disconnect(deviceId) function to cancel any ongoing connection initiation, for example if the connection has timed out.

gMode_2_Mask_d

Mask to check if a Security Mode-and-Level is Mode 2

getSecurityLevel(modeLevel)

Extracts the security level (see gapSecurityLevel_t) from the combined security mode-level (gapSecurityModeAndLevel_t).

getSecurityMode(modeLevel)

Extracts the security mode (see gapSecurityMode_t) from the combined security mode-level (gapSecurityModeAndLevel_t).

isMode_2(modeLevel)
isMode_1(modeLevel)
isSameMode(modeLevelA, modeLevelB)
addSameSecurityModes(modeLevelA, modeLevelB)
addMode1AndMode2(mode1, mode2)
addDifferentSecurityModes(modeLevelA, modeLevelB)
gDefaultEncryptionKeySize_d

The default (minimum) value for the LTK size

gMaxEncryptionKeySize_d

The maximum value for the LTK size

gGapDefaultDeviceSecurity_d

The default value for the Device Security (no requirements)

gGapDefaultSecurityRequirements_d

The default value for a Security Requirement

gGapAdvertisingIntervalRangeMinimum_c

Minimum advertising interval (20 ms)

gGapAdvertisingIntervalDefault_c

Default advertising interval (1.28 s)

gGapAdvertisingIntervalRangeMaximum_c

Maximum advertising interval (10.24 s)

gGapExtAdvertisingIntervalRangeMinimum_c

Minimum extended advertising interval (20 ms)

gGapExtAdvertisingIntervalDefault_c

Default extended advertising interval (1.28 s)

gGapExtAdvertisingIntervalRangeMaximum_c

Maximum extended advertising interval (10485.76 s)

gGapPeriodicAdvIntervalRangeMinimum_c

Minimum periodic advertising interval (7.5 ms)

gGapPeriodicAdvIntervalDefault_c

Default periodic advertising interval (2.56 s)

gGapPeriodicAdvIntervalRangeMaximum_c

Maximum periodic advertising interval (81.91875 s)

gGapAdvertisingChannelMapDefault_c

Default Advertising Channel Map - all 3 channels are enabled

gGapDefaultAdvertisingParameters_d

Default value for Advertising Parameters struct

gGapDefaultExtAdvertisingParameters_d

Default value for Extended Advertising Parameters struct

gGapDefaultPeriodicAdvParameters_d

Default value for Periodic Advertising Parameters struct

gGapScanIntervalMin_d

Minimum scan interval (2.5 ms)

gGapScanIntervalDefault_d

Default scan interval (10 ms)

gGapScanIntervalMax_d

Maximum scan interval (10.24 s)

gGapScanWindowMin_d

Minimum scan window (2.5 ms)

gGapScanWindowDefault_d

Default scan window (10 ms)

gGapScanWindowMax_d

Maximum scan window (10.24 s)

gGapRssiMin_d

Minimum valid value for RSSI (dB)

gGapRssiMax_d

Maximum valid value for RSSI (dB)

gGapRssiNotAvailable_d

A special invalid value for the RSSI indicating that the measurement is not available.

gGapScanContinuously_d

Default value for Scanning duration - Scan continuously until explicitly disable

gGapScanPeriodicDisabled_d

Default value for Scanning period - Periodic scanning disabled

gGapDefaultScanningParameters_d

Default value for Scanning Parameters struct

gGapConnIntervalMin_d

Minimum connection interval (7.5 ms)

gGapConnIntervalMax_d

Maximum connection interval (4 s)

gGapConnLatencyMin_d

Minimum connection latency value (0 - no connection event may be ignored)

gGapConnLatencyMax_d

Maximum connection latency value (499 connection events may be ignored)

gGapConnSuperTimeoutMin_d

Minimum supervision timeout (100 ms)

gGapConnSuperTimeoutMax_d

Maximum supervision timeout (32 s)

gGapConnEventLengthMin_d

Minimum value of the connection event length (0 ms)

gGapConnEventLengthMax_d

Maximum value of the connection event length (~41 s)

gGapDefaultConnectionLatency_d

Default connection latency: 0

gGapDefaultSupervisionTimeout_d

Default supervision timeout: 10s

gGapDefaultMinConnectionInterval_d

Default minimum connection interval: 100ms

gGapDefaultMaxConnectionInterval_d

Default maximum connection interval: 200ms

gGapDefaultConnectionRequestParameters_d

The default value for the Connection Request Parameters structure

gGapChSelAlgorithmNo2

“Channel Selection Algorithm #2 is used” value in LE Channel Selection Algorithm Event

gBlePeriodicAdvOngoingSyncCancelHandle

Sync handle value for which to call the create sync cancel command instead of terminate sync

gGapInvalidSyncHandle

Sync handle used to differentiate extended advertising reports from periodic advertising reports

gNone_c

Values of the AD Flags advertising data structure. No information.

gLeLimitedDiscoverableMode_c

This device is in Limited Discoverable mode.

gLeGeneralDiscoverableMode_c

This device is in General Discoverable mode.

gBrEdrNotSupported_c

This device supports only Bluetooth Low Energy; no support for Classic Bluetooth.

gSimultaneousLeBrEdrCapableController_c

This device’s Controller also supports Classic Bluetooth.

gSimultaneousLeBrEdrCapableHost_c

This device’s Host also supports Classic Bluetooth.

gNoKeys_c

Flags indicating the Keys to be exchanged by the SMP during the key exchange phase of pairing. No key can be distributed.

gLtk_c

Long Term Key.

gIrk_c

Identity Resolving Key.

gCsrk_c

Connection Signature Resolving Key.

gSecurityMode_1_c

LE Security Mode values for gapSecurityMode_t Mode 1 - Encryption required (except for Level 1).

gSecurityMode_2_c

Mode 2 - Data Signing required.

gSecurityLevel_NoSecurity_c

LE Security Level values for gapSecurityLevel_t No security (combined only with Mode 1).

gSecurityLevel_NoMitmProtection_c

Unauthenticated (no MITM protection).

gSecurityLevel_WithMitmProtection_c

Authenticated (MITM protection by PIN or OOB).

gSecurityLevel_LeSecureConnections_c

Authenticated with LE Secure Connections.

gSecurityMode_1_Level_1_c

Security Mode-and-Level definitions values for gapSecurityModeAndLevel_t Mode 1 Level 1 - No Security.

gSecurityMode_1_Level_2_c

Mode 1 Level 2 - Encryption without authentication.

gSecurityMode_1_Level_3_c

Mode 1 Level 3 - Encryption with authentication.

gSecurityMode_1_Level_4_c

Mode 1 Level 4 - Encryption with LE Secure Connections pairing.

gSecurityMode_2_Level_1_c

Mode 2 Level 1 - Data Signing without authentication.

gSecurityMode_2_Level_2_c

Mode 2 Level 2 - Data Signing with authentication.

gOobNotAvailable_c

Reason for rejecting the pairing request used by gapAuthenticationRejectReason_t. These values are equal to the corresponding reasons from SMP. This device does not have the required OOB for authenticated pairing.

gIncompatibleIoCapabilities_c

The combination of I/O capabilities does not allow pairing with the desired level of security.

gPairingNotSupported_c

This device does not support pairing.

gLowEncryptionKeySize_c

The peer’s encryption key size is too low for this device’s required security level.

gUnspecifiedReason_c

The host has rejected the pairing for an unknown reason.

gRepeatedAttempts_c

This device is the target of repeated unsuccessful pairing attempts and does not allow further pairing attempts at the moment.

gLinkEncryptionFailed_c

Link could not be encrypted. This reason may not be used by Gap_RejectPairing!

gIoDisplayOnly_c

I/O Capabilities as defined by the SMP used by gapIoCapabilities_t May display a PIN, no input.

gIoDisplayYesNo_c

May display a PIN and has a binary input (e.g., YES and NO buttons).

gIoKeyboardOnly_c

Has keyboard input, no display.

gIoNone_c

No input and no display.

gIoKeyboardDisplay_c

Has keyboard input and display.

gGapCteMinLength_c

AoA/AoD Min CTE length in 8 us units.

gGapCteMaxLength_c

Max CTE length in 8 us units.

gGapCteMinCount_c

Min number of CTEs to transmit in each periodic advertising interval.

gGapCteMaxCount_c

Max number of CTEs to transmit in each periodic advertising interval.

gGapMinSwitchingPatternLength_c

Min number of antennae in the pattern.

gGapMaxSwitchingPatternLength_c

Max number of antennae in the pattern.

gGapEattMaxBearers

Maximum number of bearer Ids in one GAP request/response.

gbmpDIAM_NonConnectableNonScannableUndirected_c
gbmpDIAM_ConnectableUndirected_c
gbmpDIAM_ScannableUndirected_c
struct gapSmpKeys_t
#include <gap_types.h>

Structure containing the SMP information exchanged during pairing.

Public Members

uint8_t cLtkSize

Encryption Key Size. If aLtk is NULL, this is ignored.

uint8_t *aLtk

Long Term (Encryption) Key. NULL if LTK is not distributed, else size is given by cLtkSize.

uint8_t *aIrk

Identity Resolving Key. NULL if aIrk is not distributed.

uint8_t *aCsrk

Connection Signature Resolving Key. NULL if aCsrk is not distributed.

uint8_t cRandSize

Size of RAND; usually equal to gcMaxRandSize_d. If aLtk is NULL, this is ignored.

uint8_t *aRand

RAND value used to identify the LTK. If aLtk is NULL, this is ignored.

uint16_t ediv

EDIV value used to identify the LTK. If aLtk is NULL, this is ignored.

bleAddressType_t addressType

Public or Random address. If aAddress is NULL, this is ignored.

uint8_t *aAddress

Device Address. NULL if address is not distributed. If aIrk is NULL, this is ignored.

struct gapSecurityRequirements_t
#include <gap_types.h>

Security Requirements structure for a Device, a Service or a Characteristic

Public Members

gapSecurityModeAndLevel_t securityModeLevel

Security mode and level.

bool_t authorization

Authorization required.

uint16_t minimumEncryptionKeySize

Minimum encryption key (LTK) size. Ignored if gSecurityMode_1_Level_4_c is required (set to gMaxEncryptionKeySize_d automatically)

struct gapServiceSecurityRequirements_t
#include <gap_types.h>

Service Security Requirements

Public Members

uint16_t serviceHandle

Handle of the Service declaration in the GATT Database.

gapSecurityRequirements_t requirements

Requirements for all attributes in this service.

struct gapDeviceSecurityRequirements_t
#include <gap_types.h>

Device Security - Security Requirements + Service Security Requirements

Public Members

gapSecurityRequirements_t *pSecurityRequirements

Security requirements added to all services.

uint8_t cNumServices

Number of service-specific requirements; must be less than or equal to gcGapMaxServiceSpecificSecurityRequirements_c.

gapServiceSecurityRequirements_t *aServiceSecurityRequirements

Array of service-specific requirements.

struct gapHandleList_t
#include <gap_types.h>

List of Attribute Handles for authorization lists.

Public Members

uint8_t cNumHandles

Number of handles in this list.

uint16_t aHandles[(1U)]

List of handles.

struct gapConnectionSecurityInformation_t
#include <gap_types.h>

Connection Security Information structure

Public Members

bool_t authenticated

TRUE if pairing was performed with MITM protection.

gapHandleList_t authorizedToRead

List of handles the peer has been authorized to read.

gapHandleList_t authorizedToWrite

List of handles the peer has been authorized to write.

struct gapPairingParameters_t
#include <gap_types.h>

Pairing parameters structure for the Gap_Pair and Gap_AcceptPairingRequest APIs

Public Members

bool_t withBonding

TRUE if this device is able to and wants to bond after pairing, FALSE otherwise.

gapSecurityModeAndLevel_t securityModeAndLevel

The desired security mode-level.

uint8_t maxEncryptionKeySize

Maximum LTK size supported by the device.

gapIoCapabilities_t localIoCapabilities

I/O capabilities used to determine the pairing method.

bool_t oobAvailable

TRUE if this device has Out-of-Band data that can be used for authenticated pairing. FALSE otherwise.

gapSmpKeyFlags_t centralKeys

Indicates the SMP keys to be distributed by the Central.

gapSmpKeyFlags_t peripheralKeys

Indicates the SMP keys to be distributed by the Peripheral.

bool_t leSecureConnectionSupported

Indicates if device supports LE Secure Connections pairing. Conflict if this is FALSE and securityModeAndLevel is gSecurityMode_1_Level_4_c.

bool_t useKeypressNotifications

Indicates if device supports Keypress Notification PDUs during Passkey Entry pairing. Conflict if this is TRUE and localIoCapabilities is set to gIoNone_c.

struct gapPeripheralSecurityRequestParameters_t
#include <gap_types.h>

Parameters of a Peripheral Security Request.

Public Members

bool_t bondAfterPairing

TRUE if the Peripheral supports bonding.

bool_t authenticationRequired

TRUE if the Peripheral requires authentication for MITM protection.

struct gapAdvertisingParameters_t
#include <gap_types.h>

Advertising Parameters; for defaults see gGapDefaultAdvertisingParameters_d.

Public Members

uint16_t minInterval

Minimum desired advertising interval. Default: 1.28 s.

uint16_t maxInterval

Maximum desired advertising interval. Default: 1.28 s.

bleAdvertisingType_t advertisingType

Advertising type. Default: connectable undirected.

bleAddressType_t ownAddressType

Indicates whether the advertising address is the public address (BD_ADDR) or the random address (set by Gap_SetRandomAddress). Default: public address. If Controller Privacy is enabled, this parameter is irrelevant as Private Resolvable Addresses are always used.

bleAddressType_t peerAddressType

Address type of the peer; only used in directed advertising and Enhanced Privacy.

bleDeviceAddress_t peerAddress

Address of the peer; same as above.

gapAdvertisingChannelMapFlags_t channelMap

Bit mask indicating which of the three advertising channels are used. Default: all three.

gapAdvertisingFilterPolicy_t filterPolicy

Indicates whether the connect and scan requests are filtered using the Filter Accept List. Default: does not use Filter Accept List (process all).

struct gapExtAdvertisingParameters_tag
#include <gap_types.h>

Extended Advertising Parameters; for defaults see gGapDefaultExtAdvertisingParameters_d.

Public Members

uint8_t SID

ID of the advertising set chosen by application. Shall be lower than gBleExtAdvMaxSetId_c

uint8_t handle

ID of the advertising set handled by controller. Shall be lower than gMaxAdvSets_c

uint32_t minInterval

Minimum desired advertising interval. Shall be at least equal or higher than gGapExtAdvertisingIntervalRangeMinimum_c

uint32_t maxInterval

Maximum desired advertising interval. Shall be higher than gGapExtAdvertisingIntervalRangeMinimum_c and higher than minInterval

bleAddressType_t ownAddressType

Indicates whether the advertising address is the public address (BD_ADDR) or the random address (set by Gap_SetRandomAddress). Default: public address. If Controller Privacy is enabled, this parameter is irrelevant as Private Resolvable Addresses are always used.

bleDeviceAddress_t ownRandomAddr

The random address used for advertising on the current handle

bleAddressType_t peerAddressType

Address type of the peer; only used in directed advertising and Enhanced Privacy.

bleDeviceAddress_t peerAddress

Address of the peer; same as above.

gapAdvertisingChannelMapFlags_t channelMap

Bit mask indicating which of the three advertising channels are used for primary advertising

gapAdvertisingFilterPolicy_t filterPolicy

Indicates whether the connect and scan requests are filtered using the Filter Accept List

bleAdvRequestProperties_t extAdvProperties

Type of advertising event

int8_t txPower

The maximum power level at which the adv packets are to be transmitted. The Controller shall choose a power level lower than or equal to the one specified by the Host. Valid range: -127 to 20

gapLePhyMode_t primaryPHY

The PHY on which the advertising packets are transmitted (1M or Coded PHY). Used for sending ADV_EXT_IND

gapLePhyMode_t secondaryPHY

The PHY used for sending AUX_ADV_IND PDU. Used only for Extended Advertising Events

uint8_t secondaryAdvMaxSkip

Maximum number of advertising events that can be skipped before the AUX_ADV_IND can be sent

bool_t enableScanReqNotification

Indicates whether the Controller shall send notifications upon the receipt of a scan request PDU

struct gapExtAdvertisingParametersV2_tag
#include <gap_types.h>

Extended Advertising Parameters V2; for defaults see gGapDefaultExtAdvertisingParametersV2_d.

Public Members

uint8_t SID

ID of the advertising set chosen by application. Shall be lower than gBleExtAdvMaxSetId_c

uint8_t handle

ID of the advertising set handled by controller. Shall be lower than gMaxAdvSets_c

uint32_t minInterval

Minimum desired advertising interval. Shall be at least equal or higher than gGapExtAdvertisingIntervalRangeMinimum_c

uint32_t maxInterval

Maximum desired advertising interval. Shall be higher than gGapExtAdvertisingIntervalRangeMinimum_c and higher than minInterval

bleAddressType_t ownAddressType

Indicates whether the advertising address is the public address (BD_ADDR) or the random address (set by Gap_SetRandomAddress). Default: public address. If Controller Privacy is enabled, this parameter is irrelevant as Private Resolvable Addresses are always used.

bleDeviceAddress_t ownRandomAddr

The random address used for advertising on the current handle

bleAddressType_t peerAddressType

Address type of the peer; only used in directed advertising and Enhanced Privacy.

bleDeviceAddress_t peerAddress

Address of the peer; same as above.

gapAdvertisingChannelMapFlags_t channelMap

Bit mask indicating which of the three advertising channels are used for primary advertising

gapAdvertisingFilterPolicy_t filterPolicy

Indicates whether the connect and scan requests are filtered using the Filter Accept List

bleAdvRequestProperties_t extAdvProperties

Type of advertising event

int8_t txPower

The maximum power level at which the adv packets are to be transmitted. The Controller shall choose a power level lower than or equal to the one specified by the Host. Valid range: -127 to 20

gapLePhyMode_t primaryPHY

The PHY on which the advertising packets are transmitted (1M or Coded PHY). Used for sending ADV_EXT_IND

gapLePhyMode_t secondaryPHY

The PHY used for sending AUX_ADV_IND PDU. Used only for Extended Advertising Events

uint8_t secondaryAdvMaxSkip

Maximum number of advertising events that can be skipped before the AUX_ADV_IND can be sent

bool_t enableScanReqNotification

Indicates whether the Controller shall send notifications upon the receipt of a scan request PDU

gapLePhyOptionsFlags_t primaryAdvPhyOptions

Preferred or required coding when transmitting on the primary LE Coded PHY

gapLePhyOptionsFlags_t secondaryAdvPhyOptions

Preferred or required coding when transmitting on the secondary LE Coded PHY

struct gapPeriodicAdvParameters_tag
#include <gap_types.h>

Periodic Advertising Parameters; for defaults see gGapDefaultPeriodicAdvParameters_d.

Public Members

uint8_t handle

ID of the advertising set handled by controller. Shall be lower than gMaxAdvSets_c

bool_t addTxPowerInAdv

Set this option to include the Tx power in advertising packet.

uint16_t minInterval

Minimum advertising interval for periodic advertising.

uint16_t maxInterval

Maximum advertising interval for periodic advertising. Should be different and higher than minInterval.

struct gapPeriodicAdvParametersV2_tag
#include <gap_types.h>

Periodic Advertising Parameters [v2]

Public Members

uint8_t handle

ID of the advertising set handled by controller. Shall be lower than gMaxAdvSets_c

bool_t addTxPowerInAdv

Set this option to include the Tx power in advertising packet.

uint16_t minInterval

Minimum advertising interval for periodic advertising.

uint16_t maxInterval

Maximum advertising interval for periodic advertising. Should be different and higher than minInterval.

uint8_t numSubevents

Number of subevents.

uint8_t subeventInterval

Interval between subevents.

uint8_t responseSlotDelay

Time between the advertising packet in a subevent and the first response slot.

uint8_t responseSlotSpacing

Time between response slots.

uint8_t numResponseSlots

Number of response slots.

struct gapPeriodicAdvSyncTransfer_tag
#include <gap_types.h>

Public Members

deviceId_t deviceId

Connection identifier

uint16_t serviceData

Value provided by the host

uint16_t syncHandle

Identifier for the periodic advertising train

struct gapPeriodicAdvSetInfoTransfer_tag
#include <gap_types.h>

Public Members

deviceId_t deviceId

Connection identifier

uint16_t serviceData

Value provided by the host

uint16_t advHandle

Identifier for the advertising set

struct gapSetPeriodicAdvSyncTransferParams_tag
#include <gap_types.h>

Public Members

deviceId_t deviceId

Connection identifier

gapPeriodicAdvSyncMode_t mode

The action to be taken when periodic advertising synchronization information is received

uint16_t skip

The number of periodic advertising packets that can be skipped after a successful receive

uint16_t syncTimeout

Synchronization timeout for the periodic advertising train

bleSyncCteType_t CTEType

0: Do not sync to packets with an AoA Constant Tone Extension 1: Do not sync to packets with an AoD Constant Tone Extension with 1 us slots 2: Do not sync to packets with an AoD Constant Tone Extension with 2 us slots 4: Do not sync to packets without a Constant Tone Extension

struct gapScanningParameters_t
#include <gap_types.h>

Scanning parameters; for defaults see gGapDefaultScanningParameters_d.

Public Members

bleScanType_t type

Scanning type. Default: passive.

uint16_t interval

Scanning interval. Default: 10 ms.

uint16_t window

Scanning window. Default: 10 ms.

bleAddressType_t ownAddressType

Indicates whether the address used in scan requests is the public address (BD_ADDR) or the random address (set by Gap_SetRandomAddress). Default: public address. If Controller Privacy is enabled, this parameter is irrelevant as Private Resolvable Addresses are always used.

bleScanningFilterPolicy_t filterPolicy

Indicates whether the advertising packets are filtered using the Filter Accept List. Default: does not use Filter Accept List (scan all).

gapLePhyFlags_t scanningPHYs

Indicates the PHYs on which the advertising packets should be received on the primary advertising channel.

struct gapCreateSyncReqOptions_tag
#include <gap_types.h>

Create Sync Request Options

struct gapPeriodicAdvSyncReq_tag
#include <gap_types.h>

Periodic Advertising Sync Request parameters

Public Members

gapCreateSyncReqOptions_t options

Bit 0: Filter Policy. Bit 1: Reporting enabled/disabled. Bit 2: Duplicate filtering disabled/enabled.

uint8_t SID

The SID advertised by the periodic advertiser in the ADI field.

bleAddressType_t peerAddressType

Periodic advertiser’s address type (Public or Random )

bleDeviceAddress_t peerAddress

Periodic advertiser’s address

uint16_t skipCount

The number of consecutive periodic advertising packets that the receiver may skip after successfully receiving a periodic advertising packet.

uint16_t timeout

The maximum permitted time between successful receives. If this time is exceeded, synchronization is lost.

bleSyncCteType_t cteType

Specifies whether to only sync to certain types of CTE

struct gapConnectionRequestParameters_t
#include <gap_types.h>

Connection request parameter structure to be used in the Gap_Connect function; for API-defined defaults, use gGapDefaultConnectionRequestParameters_d.

Public Members

uint16_t scanInterval

Scanning interval. Default: 10 ms.

uint16_t scanWindow

Scanning window. Default: 10 ms.

bleInitiatorFilterPolicy_t filterPolicy

Indicates whether the connection request is issued for a specific device or for all the devices in the Filter Accept List. Default: specific device.

bleAddressType_t ownAddressType

Indicates whether the address used in connection requests is the public address (BD_ADDR) or the random address (set by Gap_SetRandomAddress). Default: public address.

bleAddressType_t peerAddressType

When connecting to a specific device (see filterPolicy), this indicates that device’s address type. Default: public address.

bleDeviceAddress_t peerAddress

When connecting to a specific device (see filterPolicy), this indicates that device’s address.

uint16_t connIntervalMin

The minimum desired connection interval. Default: 100 ms.

uint16_t connIntervalMax

The maximum desired connection interval. Default: 200 ms.

uint16_t connLatency

The desired connection latency (the maximum number of consecutive connection events the Peripheral is allowed to ignore). Default: 0.

uint16_t supervisionTimeout

The maximum time interval between consecutive over-the-air packets; if this timer expires, the connection is dropped. Default: 10 s.

uint16_t connEventLengthMin

The minimum desired connection event length. Default: 0 ms.

uint16_t connEventLengthMax

The maximum desired connection event length. Default: maximum possible, ~41 s. (lets the Controller decide).

bool_t usePeerIdentityAddress

If Controller Privacy is enabled and this parameter is TRUE, the address defined in the peerAddressType and peerAddress is an identity address. Otherwise, it is a device address.

gapLePhyFlags_t initiatingPHYs

Indicates the PHY on which the advertising packets should be received on the primary advertising channel and the PHY for which connection parameters have been specified.

struct gapConnectionFromPawrParameters_t
#include <gap_types.h>

Connection request parameter structure to be used in the Gap_ConnectFromPawr function

Public Members

uint16_t scanInterval

Scanning interval. Default: 10 ms.

uint16_t scanWindow

Scanning window. Default: 10 ms.

bleInitiatorFilterPolicy_t filterPolicy

Indicates whether the connection request is issued for a specific device or for all the devices in the Filter Accept List. Default: specific device.

bleAddressType_t ownAddressType

Indicates whether the address used in connection requests is the public address (BD_ADDR) or the random address (set by Gap_SetRandomAddress). Default: public address.

bleAddressType_t peerAddressType

When connecting to a specific device (see filterPolicy), this indicates that device’s address type. Default: public address.

bleDeviceAddress_t peerAddress

When connecting to a specific device (see filterPolicy), this indicates that device’s address.

uint16_t connIntervalMin

The minimum desired connection interval. Default: 100 ms.

uint16_t connIntervalMax

The maximum desired connection interval. Default: 200 ms.

uint16_t connLatency

The desired connection latency (the maximum number of consecutive connection events the Peripheral is allowed to ignore). Default: 0.

uint16_t supervisionTimeout

The maximum time interval between consecutive over-the-air packets; if this timer expires, the connection is dropped. Default: 10 s.

uint16_t connEventLengthMin

The minimum desired connection event length. Default: 0 ms.

uint16_t connEventLengthMax

The maximum desired connection event length. Default: maximum possible, ~41 s. (lets the Controller decide).

bool_t usePeerIdentityAddress

If Controller Privacy is enabled and this parameter is TRUE, the address defined in the peerAddressType and peerAddress is an identity address. Otherwise, it is a device address.

gapLePhyFlags_t initiatingPHYs

Indicates the PHY on which the advertising packets should be received on the primary advertising channel and the PHY for which connection parameters have been specified.

uint8_t advHandle

Advertising handle identifying the periodic advertising train.

uint8_t subevent

Subevent where the connection request is to be sent.

struct gapConnectionParameters_t
#include <gap_types.h>

Connection parameters as received in the gConnEvtConnected_c connection event.

Public Members

uint16_t connInterval

Interval between connection events.

uint16_t connLatency

Number of consecutive connection events the Peripheral may ignore.

uint16_t supervisionTimeout

The maximum time interval between consecutive over-the-air packets; if this timer expires, the connection is dropped.

bleCentralClockAccuracy_t centralClockAccuracy

Accuracy of central’s clock, allowing for frame detection optimizations.

struct gapGenerateDHKeyV2Params_t
#include <gap_types.h>

DH Key Generate V2

Public Members

ecdhPublicKey_t remoteP256PublicKey

The remote P-256 public key

gapPrivateKeyType_t keyType

The private key type used for generating the DH key

struct gapConnectionlessCteTransmitParams_t
#include <gap_types.h>

Parameter structure to be used in the Gap_SetConnectionlessCteTransmitParameters function.

Public Members

uint8_t handle

Advertising set handle.

uint8_t cteLength

Constant Tone Extension length in 8 us.

bleCteType_t cteType

Type of CTE.

uint8_t cteCount

Number of CTEs to transmit in each periodic advertising interval.

uint8_t switchingPatternLength

Number of Antenna IDs in pattern.

uint8_t aAntennaIds[1]

List of Antenna IDs in pattern.

struct gapConnectionlessIqSamplingParams_t
#include <gap_types.h>

Parameter structure to be used in the Gap_EnableConnectionlessIqSampling function.

Public Members

bleIqSamplingEnable_t iqSamplingEnable

Enable or disable IQ sampling.

bleSlotDurations_t slotDurations

Switching and sampling slot durations.

uint8_t maxSampledCtes

Maximum number of CTEs to sample and report in each periodic adv interval.

uint8_t switchingPatternLength

Number of Antenna IDs in pattern.

uint8_t aAntennaIds[1]

List of Antenna IDs in pattern.

struct gapConnectionCteTransmitParams_t
#include <gap_types.h>

Parameter structure to be used in the Gap_SetConnectionCteTransmitParameters function.

Public Members

bleCteAllowedTypesMap_t cteTypes

Allowed CTE types.

uint8_t switchingPatternLength

Number of Antenna IDs in pattern.

uint8_t aAntennaIds[1]

List of Antenna IDs in pattern.

struct gapConnectionCteReceiveParams_t
#include <gap_types.h>

Parameter structure to be used in the Gap_SetConnectionCteReceiveParameters function.

Public Members

bleIqSamplingEnable_t iqSamplingEnable

Enable or disable IQ sampling.

bleSlotDurations_t slotDurations

Switching and sampling slot durations.

uint8_t switchingPatternLength

Number of Antenna IDs in pattern.

uint8_t aAntennaIds[1]

List of Antenna IDs in pattern.

struct gapConnectionCteReqEnableParams_t
#include <gap_types.h>

Parameter structure to be used in the Gap_EnableConnectionCteRequest function.

Public Members

bleCteReqEnable_t cteReqEnable

Enable or disable CTE Req procedure.

uint16_t cteReqInterval

Requested interval for initiating CTE Req procedure.

uint8_t requestedCteLength

Minimum length of CTEs requested in 8 us units.

bleCteType_t requestedCteType

Requested types of CTE.

struct gapPathLossReportingParams_t
#include <gap_types.h>

Parameter structure to be used in the Gap_SetPathLossReportingParameters function.

Public Members

uint8_t highThreshold

High threshold for the path loss. Units: dB.

uint8_t highHysteresis

Hysteresis value for the high threshold. Units: dB.

uint8_t lowThreshold

Low threshold for the path loss. Units: dB.

uint8_t lowHysteresis

Hysteresis value for the low threshold. Units: dB.

uint16_t minTimeSpent

Minimum time in number of connection events to be observed once the path crosses the threshold before an event is generated.

struct gapAdStructure_t
#include <gap_types.h>

Definition of an AD Structure as contained in Advertising and Scan Response packets. An Advertising or Scan Response packet contains several AD Structures.

Public Members

uint8_t length

Total length of the [adType + aData] fields. Equal to 1 + lengthOf(aData).

gapAdType_t adType

AD Type of this AD Structure.

uint8_t *aData

Data contained in this AD Structure; length of this array is equal to (gapAdStructure_t.length - 1).

struct gapAdvertisingData_t
#include <gap_types.h>

Advertising Data structure : a list of several gapAdStructure_t structures.

Public Members

uint8_t cNumAdStructures

Number of AD Structures.

gapAdStructure_t *aAdStructures

Array of AD Structures.

struct gapAdvertisingDecisionData_t
#include <gap_types.h>

Extended Advertising Decision Data structure.

Public Members

uint8_t *pKey

Pointer to the key for the resolvable tag. When pKey != NULL Decision data should contain only arbitrary data or pDecisionData should be NULL.

uint8_t *pPrand

Used only when pKey != NULL. When pPrand != NULL it should point the 3 bytes value of the prand. Otherwise it will be generated by the host.

uint8_t *pDecisionData

Pointer to the decision data. When pDecisionData != NULL decision data may contain the resolvable tag and/or arbitrary data.

uint8_t dataLength

The length of the decision data pointed by pDecisionData. When pKey is NULL it should not exceed 8. Otherwise it should not exceed 2

bool_t resolvableTagPresent

When pKey is NULL it indicates whether decision data contains the resolvable tag. In this case the 6 <= dataLength <= 8

struct gapDecisionInstructionsData_tag
#include <gap_types.h>
struct gapSubeventDataStructure_t
#include <gap_types.h>

Definition of a Subevent Data structure as contained in Periodic Advertising subevents.

Public Members

uint8_t subevent

Subevent index for this data.

uint8_t responseSlotStart

The first response slots to be used in this subevent.

uint8_t responseSlotCount

The number of response slots to be used.

gapAdvertisingData_t *pAdvertisingData

Advertising data.

struct gapPeriodicAdvertisingSubeventData_t
#include <gap_types.h>

Advertising Data structure : a list of several gapAdStructure_t structures.

Public Members

uint8_t cNumSubevents

Number of subevents.

gapSubeventDataStructure_t *aSubeventDataStructures

Data for each subevent.

struct gapPeriodicAdvertisingResponseData_t
#include <gap_types.h>

Periodic Advertising Response data

Public Members

uint16_t requestEvent

The value of paEventCounter (see [Vol 6] Part B, Section 4.4.2.1) for the periodic advertising packet that the Host is responding to

uint8_t requestSubevent

The subevent for the periodic advertising packet that the Host is responding to.

uint8_t responseSubevent

Used to identify the subevent of the PAwR train.

uint8_t responseSlot

Used to identify the response slot of the PAwR train.

gapAdvertisingData_t *pResponseData

Response data.

struct gapPeriodicSyncSubeventParameters_t
#include <gap_types.h>

Periodic Sync Subevent Parameters

Public Members

uint16_t perAdvProperties

Bit 6: Include TxPower in the advertising PDU

uint8_t numSubevents

Number of subevents.

uint8_t aSubevents[1]

List of subevents

struct gapExtScanNotification_t
#include <gap_types.h>

Public Members

uint8_t handle

Advertising Handle

bleAddressType_t scannerAddrType

Scanner device’s address type.

bleDeviceAddress_t aScannerAddr

Scanner device’s address.

bool_t scannerAddrResolved

Whether the address corresponds to Resolved Private Address.

struct gapAdvertisingSetTerminated_t
#include <gap_types.h>

Public Members

bleResult_t status

Status of advertising set termination

uint8_t handle

Advertising Handle

deviceId_t deviceId

Valid only if the advertising ended with a connection

uint8_t numCompletedExtAdvEvents

Number of advertising events sent by Controller

struct gapPerAdvSubeventDataRequest_t
#include <gap_types.h>

Public Members

uint8_t handle

Used to identify a periodic advertising train.

uint8_t subeventStart

The first subevent that data is requested for.

uint8_t subeventDataCount

The number of subevents that data is requested for.

struct gapPerAdvResponse_t
#include <gap_types.h>
struct gapAdvertisingEvent_t
#include <gap_types.h>

Advertising event structure: type + data.

Public Members

gapAdvertisingEventType_t eventType

Event type.

union gapAdvertisingEvent_t eventData

Event data, to be interpreted according to gapAdvertisingEvent_t.eventType.

struct gapScannedDevice_t
#include <gap_types.h>

Scanned device information structure, obtained from LE Advertising Reports.

Public Members

bleAddressType_t addressType

Device’s advertising address type.

bleDeviceAddress_t aAddress

Device’s advertising address.

int8_t rssi

RSSI on the advertising channel; may be compared to the TX power contained in the AD Structure of type gAdTxPowerLevel_c to estimate distance from the advertiser.

uint8_t dataLength

Length of the advertising or scan response data.

uint8_t *data

Advertising or scan response data.

bleAdvertisingReportEventType_t advEventType

Advertising report type, indicating what type of event generated this data (advertising, scan response).

bool_t directRpaUsed

TRUE if directed advertising with Resolvable Private Address as Direct Address was detected while Enhanced Privacy is enabled.

bleDeviceAddress_t directRpa

Resolvable Private Address set as Direct Address for directed advertising. Valid only when directRpaUsed is TRUE.

bool_t advertisingAddressResolved

If this is TRUE, the address contained in the addressType and aAddress fields is the identity address of a resolved RPA from the Advertising Address field. Otherwise, the address from the respective fields is the public or random device address contained in the Advertising Address field.

struct gapExtScannedDevice_t
#include <gap_types.h>

Public Members

bleAddressType_t addressType

Device’s advertising address type.

bleDeviceAddress_t aAddress

Device’s advertising address.

uint8_t SID

Advertising set id

bool_t advertisingAddressResolved

If this is TRUE, the address contained in the addressType and aAddress fields is the identity address of a resolved RPA from the Advertising Address field. Otherwise, the address from the respective fields is the public or random device address contained in the Advertising Address field.

bleAdvReportEventProperties_t advEventProperties

Advertising report properties, indicating what type of event generated this data (advertising, scan response).

int8_t rssi

RSSI on the advertising channel; may be compared to the TX power contained in the AD Structure of type gAdTxPowerLevel_c to estimate distance from the advertiser.

int8_t txPower

The Tx power level of the advertiser

uint8_t primaryPHY

Advertiser PHY for primary channel

uint8_t secondaryPHY

Advertiser PHY for secondary channel

uint16_t periodicAdvInterval

Interval of the periodic advertising. Zero if not periodic advertising.

bool_t directRpaUsed

TRUE if directed advertising with Resolvable Private Address as Direct Address was detected while Enhanced Privacy is enabled.

bleAddressType_t directRpaType

Address type for directed advertising. Valid only when directRpaUsed is TRUE.

bleDeviceAddress_t directRpa

Resolvable Private Address set as Direct Address for directed advertising. Valid only when directRpaUsed is TRUE.

uint16_t dataLength

Length of the advertising or scan response data.

uint8_t *pData

Advertising or scan response data.

struct gapPeriodicScannedDevice_t
#include <gap_types.h>

Public Members

uint16_t syncHandle

Sync Handle

int8_t txPower

The Tx power level of the advertiser

int8_t rssi

RSSI on the advertising channel; may be compared to the TX power contained in the AD Structure of type gAdTxPowerLevel_c to estimate distance from the advertiser.

bleCteType_t cteType

Type of Constant Tone Extension in the periodic advertising packets.

uint16_t dataLength

Length of the advertising or scan response data.

uint8_t *pData

Advertising or scan response data.

struct gapPeriodicScannedDeviceV2_t
#include <gap_types.h>

Public Members

uint16_t syncHandle

Sync Handle

int8_t txPower

The Tx power level of the advertiser

int8_t rssi

RSSI on the advertising channel; may be compared to the TX power contained in the AD Structure of type gAdTxPowerLevel_c to estimate distance from the advertiser.

bleCteType_t cteType

Type of Constant Tone Extension in the periodic advertising packets.

uint16_t periodicEventCounter

The value of paEventCounter (see [Vol 6] Part B, Section 4.4.2.1) for the reported periodic advertising packet.

uint8_t subevent

Subevent number.

uint16_t dataLength

Length of the advertising or scan response data.

uint8_t *pData

Advertising or scan response data.

struct gapSyncEstbEventData_t
#include <gap_types.h>

Public Members

bleResult_t status

Status of the Sync Established Event

uint16_t syncHandle

Sync Handle

uint8_t SID

Value of the Advertising SID subfield in the ADI field of the PDU

bleAddressType_t peerAddressType

Advertiser Address Type

bleDeviceAddress_t peerAddress

Advertiser Address

gapLePhyMode_t PHY

Advertiser PHY

uint16_t periodicAdvInterval

Periodic advertising interval

bleAdvertiserClockAccuracy_t advertiserClockAccuracy

Advertiser Clock Accuracy

uint8_t numSubevents

Only relevant for v2 of the event, otherwise value is 0

uint8_t subeventInterval

Only relevant for v2 of the event, otherwise value is 0

uint8_t responseSlotDelay

Only relevant for v2 of the event, otherwise value is 0

uint8_t responseSlotSpacing

Only relevant for v2 of the event, otherwise value is 0

struct gapSyncLostEventData_t
#include <gap_types.h>

Public Members

uint16_t syncHandle

Sync Handle

struct gapConnectionlessIqReport_t
#include <gap_types.h>

Public Members

uint16_t syncHandle

Sync Handle.

uint8_t channelIndex

Index of the channel on which the packet was received.

int16_t rssi

RSSI of the packet.

uint8_t rssiAntennaId

Antenna ID.

bleCteType_t cteType

Type of CTE on the received packet (AoA, AoD 1 us, AoD 2 us).

bleSlotDurations_t slotDurations

Durations of switching/sampling slots.

bleIqReportPacketStatus_t packetStatus

Packet status, information about CRC.

uint16_t periodicEventCounter

The value of paEventCounter for the reported AUX_SYNC_IND PDU.

uint8_t sampleCount

Total number of sample pairs.

int8_t *aI_samples

List of sampleCount I_samples.

int8_t *aQ_samples

List of sampleCount Q_samples.

struct gapScanningEvent_t
#include <gap_types.h>

Scanning event structure: type + data.

Public Members

gapScanningEventType_t eventType

Event type.

union gapScanningEvent_t eventData

Event data, to be interpreted according to gapScanningEvent_t.eventType.

struct gapConnectedEvent_t
#include <gap_types.h>

Event data structure for the gConnEvtConnected_c event.

Public Members

gapConnectionParameters_t connParameters

Connection parameters established by the Controller.

bleAddressType_t peerAddressType

Connected device’s address type.

bleDeviceAddress_t peerAddress

Connected device’s address.

bool_t peerRpaResolved

If this is TRUE, the address defined by peerAddressType and peerAddress is the identity address of the peer, and the peer used an RPA that was resolved by the Controller and is contained in the peerRpa field. Otherwise, it is a device address. This parameter is irrelevant if Controller Privacy is not enabled.

bleDeviceAddress_t peerRpa

Peer Resolvable Private Address if Controller Privacy is active and peerRpaResolved is TRUE.

bool_t localRpaUsed

If this is TRUE, the Controller has used an RPA contained in the localRpa field. This parameter is irrelevant if Controller Privacy is not enabled.

bleDeviceAddress_t localRpa

Local Resolvable Private Address if Controller Privacy is active and localRpaUsed is TRUE.

bleLlConnectionRole_t connectionRole

Connection Role - central or peripheral.

uint8_t advHandle

Only relevant if the connection was from PAWR.

uint16_t syncHandle

Only relevant if the connection was from PAWR.

struct gapKeyExchangeRequestEvent_t
#include <gap_types.h>

Event data structure for the gConnEvtKeyExchangeRequest_c event.

Public Members

gapSmpKeyFlags_t requestedKeys

Mask identifying the keys being requested.

uint8_t requestedLtkSize

Requested size of the encryption key.

struct gapKeysReceivedEvent_t
#include <gap_types.h>

Event data structure for the gConnEvtKeysReceived_c event.

Public Members

gapSmpKeys_t *pKeys

The SMP keys distributed by the peer.

struct gapAuthenticationRejectedEvent_t
#include <gap_types.h>

Event data structure for the gConnEvtAuthenticationRejected_c event.

Public Members

gapAuthenticationRejectReason_t rejectReason

Peripheral’s reason for rejecting the authentication.

struct gapPairingCompleteEvent_t
#include <gap_types.h>

Event data structure for the gConnEvtPairingComplete_c event.

Public Members

bool_t pairingSuccessful

TRUE if pairing succeeded, FALSE otherwise.

union gapPairingCompleteEvent_t pairingCompleteData

Information of completion, selected upon the value of gapPairingCompleteEvent_t.pairingSuccessful.

struct gapLongTermKeyRequestEvent_t
#include <gap_types.h>

Event data structure for the gConnEvtLongTermKeyRequest_c event.

Public Members

uint16_t ediv

The Encryption Diversifier, as defined by the SMP.

uint8_t aRand[(8U)]

The Random number, as defined by the SMP.

uint8_t randSize

Usually equal to gcMaxRandSize_d.

struct gapEncryptionChangedEvent_t
#include <gap_types.h>

Event data structure for the gConnEvtEncryptionChanged_c event.

Public Members

bool_t newEncryptionState

TRUE if link has been encrypted, FALSE if encryption was paused or removed.

struct gapDisconnectedEvent_t
#include <gap_types.h>

Event data structure for the gConnEvtDisconnected_c event.

Public Members

gapDisconnectionReason_t reason

Reason for disconnection.

struct gapConnParamsUpdateReq_t
#include <gap_types.h>

Event data structure for the gConnEvtParameterUpdateRequest_c event.

Public Members

uint16_t intervalMin

Minimum interval between connection events.

uint16_t intervalMax

Maximum interval between connection events.

uint16_t peripheralLatency

Number of consecutive connection events the Peripheral may ignore.

uint16_t timeoutMultiplier

The maximum time interval between consecutive over-the-air packets; if this timer expires, the connection is dropped.

struct gapConnParamsUpdateComplete_t
#include <gap_types.h>

Event data structure for the gConnEvtParameterUpdateComplete_c event.

Public Members

uint16_t connInterval

Interval between connection events.

uint16_t connLatency

Number of consecutive connection events the Peripheral may ignore.

uint16_t supervisionTimeout

The maximum time interval between consecutive over-the-air packets; if this timer expires, the connection is dropped.

struct gapConnLeDataLengthChanged_t
#include <gap_types.h>

Event data structure for the gConnEvtLeDataLengthChanged_c event.

Public Members

uint16_t maxTxOctets

The maximum number of payload octets in a Link Layer Data Channel PDU to transmit on this connection.

uint16_t maxTxTime

The maximum time that the local Controller will take to send a Link Layer Data Channel PDU on this connection.

uint16_t maxRxOctets

The maximum number of payload octets in a Link Layer Data Channel PDU to receive on this connection.

uint16_t maxRxTime

The maximum time that the local Controller will take to receive a Link Layer Data Channel PDU on this connection.

struct gapConnIqReport_t
#include <gap_types.h>

Event data structure for the gConnEvtIqReportReceived_c event.

Public Members

gapLePhyMode_t rxPhy

Identifies receiver PHY for this connection.

uint8_t dataChannelIndex

Index of the data channel on which the Data Physical Channel PDU was received.

int16_t rssi

RSSI of the packet.

uint8_t rssiAntennaId

Antenna ID.

bleCteType_t cteType

Type of CTE on the received packet (AoA, AoD 1 us, AoD 2 us).

bleSlotDurations_t slotDurations

Durations of switching/sampling slots.

bleIqReportPacketStatus_t packetStatus

Packet status, information about CRC.

uint16_t connEventCounter

The value of the connEventCounter for the reported PDU.

uint8_t sampleCount

Total number of sample pairs.

int8_t *aI_samples

List of sampleCount I_samples

int8_t *aQ_samples

List of sampleCount Q_samples

struct gapConnCteRequestFailed_t
#include <gap_types.h>

Event data structure for the gConnEvtCteRequestFailed_c event.

Public Members

bleResult_t status

Status (0x00 - received response but without CTE, 0x01-0xFF - peer rejected request

struct gapPathLossThresholdEvent_t
#include <gap_types.h>

Event data structure for the gConnEvtPathLossThreshold_c event.

Public Members

uint8_t currentPathLoss

Current path loss. Units: dB.

blePathLossThresholdZoneEntered_t zoneEntered

Low, middle or high.

struct gapTransmitPowerReporting_t
#include <gap_types.h>

Event data structure for the gConnEvtTransmitPowerReporting_c event.

Public Members

bleTxPowerReportingReason_t reason

Reason for generating this event

  • local tx power changed

  • remote tx power changed

  • a HCI_LE_Read_Remote_Transmit_Power_Level command completed

blePowerControlPhyType_t phy

The PHY for which the event is generated.

int8_t txPowerLevel

New transmit power level on this connection and PHY.

bleTxPowerLevelFlags_t flags

Tx power level flags.

int8_t delta

Change in tx power level. Units: dB.

struct gapTransmitPowerInfo_t
#include <gap_types.h>

Event data structure for the gConnEvtEnhancedReadTransmitPowerLevel_c event.

Public Members

blePowerControlPhyType_t phy

The PHY for which the event is generated.

int8_t currTxPowerLevel

Current tx power level on this connection and PHY.

int8_t maxTxPowerLevel

Maximum tx power level on this connection and PHY.

struct gapEattConnectionRequest_t
#include <gap_types.h>

Event data structure for the gConnEvtEattConnectionRequest_c event.

struct gapEattConnectionComplete_t
#include <gap_types.h>

Event data structure for the gConnEvtEattConnectionComplete_c event.

struct gapEattReconfigureResponse_t
#include <gap_types.h>

Event data structure for the gConnEvtEattChannelReconfigureResponse_c event.

struct gapEattBearerStatusNotification_t
#include <gap_types.h>

Event data structure for the bearer status update event.

struct gapHandoverConnectedEvent_t
#include <gap_types.h>

Event data structure for the gConnEvtHandoverConnected_c event.

Public Members

bleAddressType_t peerAddressType

Connected device’s address type.

bleDeviceAddress_t peerAddress

Connected device’s address.

bleLlConnectionRole_t connectionRole

Connection Role - master or slave.

struct gapHandoverDisconnectedEvent_t
#include <gap_types.h>

Event data structure for the gHandoverDisconnected_c event.

Public Members

bleResult_t status

Status for the handover disconnect command

struct gapConnectionEvent_t
#include <gap_types.h>

Connection event structure: type + data.

Public Members

gapConnectionEventType_t eventType

Event type

union gapConnectionEvent_t eventData

Event data, to be interpreted according to gapConnectionEvent_t.eventType.

struct gapIdentityInformation_t
#include <gap_types.h>

Identity Information structure definition

Public Members

bleIdentityAddress_t identityAddress

Identity Address - Public or Random Static

uint8_t irk[(16U)]

Identity Resolving Key - must not be all-zero if Network Privacy is used

blePrivacyMode_t privacyMode

Privacy mode to be used for the entry on the resolving list

struct gapAutoConnectParams_t
#include <gap_types.h>

Parameters for the Auto Connect Scan Mode.

Public Members

uint8_t cNumAddresses

Number of device addresses to automatically connect to.

bool_t writeInFilterAcceptList

If set to TRUE, the device addresses are written in the Filter Accept List before scanning is enabled.

gapConnectionRequestParameters_t *aAutoConnectData

The array of connection request parameters, of size equal to cNumAddresses.

struct gapHostVersion_tag
#include <gap_types.h>
union testParameters

Public Members

uint8_t resolvableTagKey[(16U)]
struct gapDecisionInstructionsData_tag arbitraryData
struct gapDecisionInstructionsData_tag rssi
struct gapDecisionInstructionsData_tag pathLoss
struct gapDecisionInstructionsData_tag advA
gapDecisionInstructionsAdvMode_t advMode
struct arbitraryData
struct rssi
struct pathLoss
struct advA
union eventData

Public Members

bleResult_t failReason

Event data for gAdvertisingCommandFailed_c event type: reason of failure to enable or disable advertising.

gapExtScanNotification_t scanNotification

Event data for gExtScanNotification_c event type: Scan Request Received Event.

gapAdvertisingSetTerminated_t advSetTerminated

Event received when advertising in a given advertising set has stopped.

gapPerAdvSubeventDataRequest_t subeventDataRequest

Event received when doing PAWR.

gapPerAdvResponse_t perAdvResponse

Periodic Advertising Response.

uint8_t advHandle

Event data for gExtAdvertisingStateChanged_c event type.

union eventData

Public Members

bleResult_t failReason

Event data for gScanCommandFailed_c or gPeriodicAdvSyncEstablished_c event type: reason of failure to enable/disable scanning or to establish sync.

gapScannedDevice_t scannedDevice

Event data for gDeviceScanned_c event type: scanned device information.

gapExtScannedDevice_t extScannedDevice

Event data for gExtDeviceScanned_c event type: extended scanned device information.

gapPeriodicScannedDevice_t periodicScannedDevice

Event data for gPeriodicDeviceScanned_c event type.

gapPeriodicScannedDeviceV2_t periodicScannedDeviceV2

Event data for gPeriodicDeviceScannedV2_c event type.

gapSyncEstbEventData_t syncEstb

Event data for gPeriodicAdvSyncEstablished_c event type: Sync handle information for the application.

gapSyncLostEventData_t syncLost

Event data for gPeriodicAdvSyncLost_c event type: Sync handle information for the application.

gapConnectionlessIqReport_t iqReport

Event data for gConnectionlessIqReportReceived_c event type: IQ information for the application.

union pairingCompleteData

Public Members

bool_t withBonding

If pairingSuccessful is TRUE, this indicates whether the devices bonded.

bleResult_t failReason

If pairingSuccessful is FALSE, this contains the reason of failure.

union eventData

Public Members

gapConnectedEvent_t connectedEvent

Data for gConnEvtConnected_c: information about the connection parameters.

gapPairingParameters_t pairingEvent

Data for gConnEvtPairingRequest_c, gConnEvtPairingResponse_c: pairing parameters.

gapAuthenticationRejectedEvent_t authenticationRejectedEvent

Data for gConnEvtAuthenticationRejected_c: reason for rejection.

gapPeripheralSecurityRequestParameters_t peripheralSecurityRequestEvent

Data for gConnEvtPeripheralSecurityRequest_c: Peripheral’s security requirements.

gapKeyExchangeRequestEvent_t keyExchangeRequestEvent

Data for gConnEvtKeyExchangeRequest_c: mask indicating the keys that were requested by the peer.

gapKeysReceivedEvent_t keysReceivedEvent

Data for gConnEvtKeysReceived_c: the keys received from the peer.

gapPairingCompleteEvent_t pairingCompleteEvent

Data for gConnEvtPairingComplete_c: fail reason or (if successful) bonding state.

gapLongTermKeyRequestEvent_t longTermKeyRequestEvent

Data for gConnEvtLongTermKeyRequest_c: encryption diversifier and random number.

gapEncryptionChangedEvent_t encryptionChangedEvent

Data for gConnEvtEncryptionChanged_c: new encryption state.

gapDisconnectedEvent_t disconnectedEvent

Data for gConnEvtDisconnected_c: reason for disconnection.

int8_t rssi_dBm

Data for gConnEvtRssiRead_c: value of the RSSI in dBm.

int8_t txPowerLevel_dBm

Data for gConnEvtTxPowerLevelRead_c: value of the TX power.

bleResult_t failReason

Data for gConnEvtPowerReadFailure_c: reason for power reading failure.

uint32_t passkeyForDisplay
gapConnParamsUpdateReq_t connectionUpdateRequest

Data for gConnEvtParameterUpdateRequest_c: connection parameters update.

gapConnParamsUpdateComplete_t connectionUpdateComplete

Data for gConnEvtParameterUpdateComplete_c: connection parameters update.

gapConnLeDataLengthChanged_t leDataLengthChanged

Data for gConnEvtLeDataLengthChanged_c: new data length parameters

gapKeypressNotification_t incomingKeypressNotification
uint32_t numericValueForDisplay
bleChannelMap_t channelMap

Data for gConnEvtChannelMapRead_c: channel map read from the Controller

gapConnIqReport_t connIqReport

Data for gConnEvtIqReportReceived_c: IQ information received from a peer

gapConnCteRequestFailed_t cteRequestFailedEvent

Data for gConnEvtCteRequestFailed_c: CTE Request to peer has failed

bleResult_t perAdvSyncTransferStatus
gapPathLossThresholdEvent_t pathLossThreshold

Data for gConnEvtPathLossThreshold_c: current path loss and zone entered.

gapTransmitPowerReporting_t transmitPowerReporting

Data for gConnEvtTransmitPowerReporting_c: changes in power levels.

gapTransmitPowerInfo_t transmitPowerInfo

Data for gConnEvtEnhancedReadTransmitPowerLevel_c: local power level information.

gapEattConnectionRequest_t eattConnectionRequest

Data for gConnEvtEattConnectionRequest_c: notification of L2Cap Enhanced Connect request for EATT.

gapEattConnectionComplete_t eattConnectionComplete

Data for gConnEvtEattConnectionComplete_c: result of Gap_EattConnectionRequest().

gapEattReconfigureResponse_t eattReconfigureResponse

Data for gConnEvtEattChannelReconfigureResponse_c: result of Gap_EattReconfigureRequest().

gapEattBearerStatusNotification_t eattBearerStatusNotification

Data for gConnEvtEattBearerStatusNotification_c: bearer status update.

gapHandoverConnectedEvent_t handoverConnectedEvent

Data for gConnEvtHandoverConnected_c: information about the connection parameters.

gapHandoverDisconnectedEvent_t handoverDisconnectedEvent

Data for gHandoverDisconnected_c: status of the Gap_HandoverDisconnect.

bleResult_t smError

Data for gConnEvtSmError_c: SM error status.

GATT

enum attErrorCode_t

ATT error codes

Values:

enumerator gAttErrCodeNoError_c

No error has occured.

enumerator gAttErrCodeInvalidHandle_c

The attribute handle given was not valid on this server.

enumerator gAttErrCodeReadNotPermitted_c

The attribute cannot be read.

enumerator gAttErrCodeWriteNotPermitted_c

The attribute cannot be written.

enumerator gAttErrCodeInvalidPdu_c

The attribute PDU was invalid.

enumerator gAttErrCodeInsufficientAuthentication_c

The attribute requires authentication before it can be read or written.

enumerator gAttErrCodeRequestNotSupported_c

ATT Server does not support the request received from the client.

enumerator gAttErrCodeInvalidOffset_c

Offset specified was past the end of the attribute.

enumerator gAttErrCodeInsufficientAuthorization_c

The attribute requires authorization before it can be read or written.

enumerator gAttErrCodePrepareQueueFull_c

Too many prepare writes have been queued.

enumerator gAttErrCodeAttributeNotFound_c

No attribute found within the given attribute handle range.

enumerator gAttErrCodeAttributeNotLong_c

The attribute cannot be read using the ATT_READ_BLOB_REQ PDU.

enumerator gAttErrCodeInsufficientEncryptionKeySize_c

The Encryption Key Size used for encrypting this link is too short.

enumerator gAttErrCodeInvalidAttributeValueLength_c

The attribute value length is invalid for the operation.

enumerator gAttErrCodeUnlikelyError_c

The attribute request could not be completed due to an unlikely error.

enumerator gAttErrCodeInsufficientEncryption_c

The attribute requires encryption before it can be read or written.

enumerator gAttErrCodeUnsupportedGroupType_c

The attribute type is not a supported grouping attribute.

enumerator gAttErrCodeInsufficientResources_c

Insufficient Resources to complete the request.

enumerator gAttErrCodeDatabaseOutOfSync_c

The server requests the client to rediscover the database.

enumerator gAttErrCodeValueNotAllowed_c

The attribute parameter value was not allowed.

enumerator gAttErrCodeWriteRequestRejected_c

Write request cannot be fulfilled for reasons other than permissions.

enumerator gAttErrCodeCccdImproperlyConfigured_c

CCCD is not configured according to the requirements of the profile or service.

enumerator gAttErrCodeProcedureAlreadyInProgress_c

Profile or service request cannot be serviced because another operation is still in progress.

enumerator gAttErrCodeOutOfRange_c

Attribute value is out of range as defined by a profile or service specification.

enum gattCachingClientState_c

GATT Caching Client states

Values:

enumerator gGattClientChangeUnaware_c

Gatt client is “change-unaware” regarding changes in the database definitions on the Server.

enumerator gGattClientStateChangePending_c

Gatt client is in the process of going from “change-unaware” to “change-aware”.

enumerator gGattClientChangeAware_c

Gatt client is “change-aware” regarding the database definitions on the Server.

enum gattClientHashUpdateType_t

Hash Update type

Values:

enumerator gattClientFirstConnection_c

Hash update for the first connection with a peer

enumerator gattClientReconnectBondedPeer_c

Hash update after reconnecting with a bonded peer

enumerator gattClientActiveConnectionUpdate

Hash update when a change occurs during an active connection

enumerator gattClientNoChange

Idle state - no change

enum gattProcedureType_t

GATT Client Procedure type

Values:

enumerator gGattProcExchangeMtu_c

MTU Exchange

enumerator gGattProcDiscoverAllPrimaryServices_c

Primary Service Discovery

enumerator gGattProcDiscoverPrimaryServicesByUuid_c

Discovery of Services by UUID

enumerator gGattProcFindIncludedServices_c

Discovery of Included Services within a Service range

enumerator gGattProcDiscoverAllCharacteristics_c

Characteristic Discovery within Service range

enumerator gGattProcDiscoverCharacteristicByUuid_c

Characteristic Discovery by UUID

enumerator gGattProcDiscoverAllCharacteristicDescriptors_c

Characteristic Descriptor Discovery

enumerator gGattProcReadCharacteristicValue_c

Characteristic Reading using Value handle

enumerator gGattProcReadUsingCharacteristicUuid_c

Characteristic Reading by UUID

enumerator gGattProcReadMultipleCharacteristicValues_c

Reading multiple Characteristics at once

enumerator gGattProcWriteCharacteristicValue_c

Characteristic Writing

enumerator gGattProcReadCharacteristicDescriptor_c

Reading Characteristic Descriptors

enumerator gGattProcWriteCharacteristicDescriptor_c

Writing Characteristic Descriptors

enumerator gGattProcReadMultipleVarLengthCharValues_c

Read Multiple Variable Length Characteristic Values

enum gattProcedurePhase_t

GATT Procedure phase

Values:

enumerator gattProcPhaseInitiated

GATT procedure has been initiated.

enumerator gattProcPhaseRunning

GATT procedure is running.

typedef struct gattService_tag gattService_t

GATT Service structure definition

typedef uint8_t gattCccdFlags_t

Flags for the value of the Client Characteristic Configuration Descriptor.

bleResult_t Gatt_Init(void)

Initializes the GATT module.

Remark

If the GAP module is present, this function is called internally by Ble_HostInitialize(). Otherwise, the application must call this function once at device start-up.

Remark

This function executes synchronously.

Return values:

gBleSuccess_c

bleResult_t Gatt_GetMtu(deviceId_t deviceId, uint16_t *pOutMtu)

Retrieves the MTU used with a given connected device.

Remark

This function executes synchronously.

Parameters:
  • deviceId[in] The device ID of the connected peer.

  • pOutMtu[out] Pointer to integer to be written.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

gCccdEmpty_c

Nothing is enabled.

gCccdNotification_c

Enables notifications.

gCccdIndication_c

Enabled indications.

struct gattAttribute_t
#include <gatt_types.h>

GATT Attribute structure definition

Public Members

uint16_t handle

Attribute handle.

bleUuidType_t uuidType

Type of the UUID.

bleUuid_t uuid

The attribute’s UUID.

uint16_t valueLength

Length of the attribute value array.

uint16_t maxValueLength

Maximum length of the attribute value array; if this is set to 0, then the attribute’s length is fixed and cannot be changed.

uint8_t *paValue

Attribute value array.

struct gattCharacteristic_t
#include <gatt_types.h>

GATT Characteristic structure definition

Public Members

gattCharacteristicPropertiesBitFields_t properties

Characteristic Properties as defined by GATT.

gattAttribute_t value

Characteristic Value attribute.

uint8_t cNumDescriptors

Size of the Characteristic Descriptors array.

gattAttribute_t *aDescriptors

Characteristic Descriptors array.

struct gattService_tag
#include <gatt_types.h>

GATT Service structure definition

Public Members

uint16_t startHandle

The handle of the Service Declaration attribute.

uint16_t endHandle

The last handle belonging to this Service (followed by another Service declaration of the end of the database).

bleUuidType_t uuidType

Service UUID type.

bleUuid_t uuid

Service UUID.

uint8_t cNumCharacteristics

Size of the Characteristic array.

gattCharacteristic_t *aCharacteristics

Characteristic array.

uint8_t cNumIncludedServices

Size of the Included Services array.

struct gattService_tag *aIncludedServices

Included Services array.

struct gattDbCharPresFormat_t
#include <gatt_types.h>

Characteristic Presentation Format Descriptor structure

Public Members

uint8_t format

Format of the value of this characteristic.

int8_t exponent

Exponent field to determine how the value of this characteristic is further formatted.

uint16_t unitUuid16

The unit of this characteristic.

uint8_t ns

The name space of the description.

uint16_t description

The description of this characteristic.

struct gattHandleRange_t
#include <gatt_types.h>

GATT Handle Range structure definition

Public Members

uint16_t startHandle

Start Handle.

uint16_t endHandle

End Handle - shall be greater than or equal to Start Handle.

struct procStatus_t
#include <gatt_types.h>

GATT Procedure Status structure definition

Public Members

bool_t isOngoing

Indicates whether the GATT procedure type is ongoing.

gattProcedureType_t ongoingProcedureType

Procedure type.

gattProcedurePhase_t ongoingProcedurePhase

Procedure phase.

struct procDataStruct_t
#include <gatt_types.h>

GATT Procedure Data structure definition. Structure members are ordered to minimize the padding size

Public Members

uint16_t index

Number of entries currently stored.

uint16_t max

Maximum number of entries to store.

bleUuid_t charUuid

UUID of the characteristic to be discovered.

bleUuidType_t charUuidType

UUID type of the characteristic to be discovered.

bool_t reliableLongWrite

Indicates whether to do reliable long writes.

bool_t bAllocatedArray

Indicates whether the array is allocated.

union procDataStruct_t pOutActualCount

Pointer to the memory locatio where to store the final number of added entries.

union procDataStruct_t array

Array where data is stored.

union procDataStruct_t reqParams

Parameters of the GATT procedure

union pOutActualCount

Public Members

uint8_t *pCount8b

Pointer to a uint8_t memory location where to store the final number of added entries.

uint16_t *pCount16b

Pointer to a uint16_t memory location where to store the final number of added entries.

union array

Public Members

gattService_t *aServices

Array of services.

gattCharacteristic_t *aChars

Array of characteristics.

gattAttribute_t *aDescriptors

Array of descriptors.

uint8_t *aBytes

Array of bytes.

uint16_t *aHandles

Array of handles.

union reqParams

Public Members

attReadByGroupTypeRequestParams_t rbgtParams

Read By Group Type Request Parameters.

attFindByTypeValueRequestParams_t fbtvParams

Find By Type Value Request Parameters.

attReadByTypeRequestParams_t rbtParams

Read By Type Request Parameters.

attFindInformationRequestParams_t fiParams

Find Information Request Parameters.

attReadRequestParams_t rParams

Read Request Parameters.

attReadBlobRequestParams_t rbParams

Read Blob Request Parameters.

attReadMultipleRequestParams_t rmParams

Read Multiple Request Parameters.

attVarWriteRequestAndCommandParams_t wParams

Write Request and Write Command Parameters for variable value length.

attSignedWriteCommandParams_t swParams

Signed Write Command parameters.

attPrepareWriteRequestResponseParams_t pwParams

Prepare Write Request and Prepare Write Response Parameters.

attExecuteWriteRequestParams_t ewParams

Execute Write Request Parameters

GATT Client

enum gattProcedureResult_t

GATT Client Procedure Result type

Values:

enumerator gGattProcSuccess_c

The procedure was completed successfully.

enumerator gGattProcError_c

The procedure was terminated due to an error.

typedef void (*gattClientProcedureCallback_t)(deviceId_t deviceId, gattProcedureType_t procedureType, gattProcedureResult_t procedureResult, bleResult_t error)

GATT Client Procedure Callback type

typedef void (*gattClientNotificationCallback_t)(deviceId_t deviceId, uint16_t characteristicValueHandle, uint8_t *aValue, uint16_t valueLength)

GATT Client Notification Callback prototype

typedef gattClientNotificationCallback_t gattClientIndicationCallback_t

GATT Client Indication Callback prototype

typedef void (*gattClientMultipleValueNotificationCallback_t)(deviceId_t deviceId, uint8_t *aHandleLenValue, uint32_t totalLength)

GATT Client Multiple Value Notification Callback prototype

typedef void (*gattClientEnhancedProcedureCallback_t)(deviceId_t deviceId, bearerId_t bearerId, gattProcedureType_t procedureType, gattProcedureResult_t procedureResult, bleResult_t error)

GATT Client Enhanced Procedure Callback type

typedef void (*gattClientEnhancedNotificationCallback_t)(deviceId_t deviceId, bearerId_t bearerId, uint16_t characteristicValueHandle, uint8_t *aValue, uint16_t valueLength)

GATT Client Enhanced Notification Callback prototype

typedef gattClientEnhancedNotificationCallback_t gattClientEnhancedIndicationCallback_t

GATT Client Enhanced Indication Callback prototype

typedef void (*gattClientEnhancedMultipleValueNotificationCallback_t)(deviceId_t deviceId, bearerId_t bearerId, uint8_t *aHandleLenValue, uint32_t totalLength)

GATT Client Enhanced Multiple Value Notification Callback prototype

procDataStruct_t *pProcedureData[]
bleResult_t GattClient_Init(void)

Initializes the GATT Client functionality.

Remark

This should be called once at device startup, if necessary.

Remark

This function executes synchronously.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_ResetProcedure(void)

Resets any ongoing GATT Client Procedure.

Remark

This function should be called if an ongoing Client procedure needs to be stopped.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_RegisterProcedureCallback(gattClientProcedureCallback_t callback)

Installs the application callback for the GATT Client module Procedures.

Remark

This function executes synchronously.

Parameters:
  • callback[in] Application defined callback to be triggered by this module.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_RegisterNotificationCallback(gattClientNotificationCallback_t callback)

Installs the application callback for Server Notifications.

Remark

This function executes synchronously.

Parameters:
  • callback[in] Application defined callback to be triggered by this module.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_RegisterIndicationCallback(gattClientIndicationCallback_t callback)

Installs the application callback for Server Indications.

Remark

This function executes synchronously.

Parameters:
  • callback[in] Application defined callback to be triggered by this module.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_RegisterMultipleValueNotificationCallback(gattClientMultipleValueNotificationCallback_t callback)

Installs the application callback for Server Multiple Value Notification.

Remark

This function executes synchronously.

Parameters:
  • callback[in] Application defined callback to be triggered by this module.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_ExchangeMtu(deviceId_t deviceId, uint16_t mtu)

Initializes the MTU Exchange procedure.

Remark

If gBleSuccess_c is returned, the completion of this procedure is signaled by the Client Procedure callback.

Parameters:
  • deviceId[in] Device ID of the connected peer.

  • mtu[in] Desired MTU size.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_DiscoverAllPrimaryServices(deviceId_t deviceId, gattService_t *aOutPrimaryServices, uint8_t maxServiceCount, uint8_t *pOutDiscoveredCount)

Initializes the Primary Service Discovery procedure.

Remark

If gBleSuccess_c is returned, the completion of this procedure is signaled by the Client Procedure callback.

Parameters:
  • deviceId[in] Device ID of the connected peer.

  • aOutPrimaryServices[out] Statically allocated array of gattService_t. The GATT module fills each Service’s handle range and UUID.

  • maxServiceCount[in] Maximum number of services to be filled.

  • pOutDiscoveredCount[out] The actual number of services discovered.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_DiscoverPrimaryServicesByUuid(deviceId_t deviceId, bleUuidType_t uuidType, const bleUuid_t *pUuid, gattService_t *aOutPrimaryServices, uint8_t maxServiceCount, uint8_t *pOutDiscoveredCount)

Initializes the Primary Service Discovery By UUID procedure.

Remark

If gBleSuccess_c is returned, the completion of this procedure is signaled by the Client Procedure callback.

Parameters:
  • deviceId[in] Device ID of the connected peer.

  • uuidType[in] Service UUID type.

  • pUuid[in] Service UUID.

  • aOutPrimaryServices[out] Statically allocated array of gattService_t. The GATT module fills each Service’s handle range.

  • maxServiceCount[in] Maximum number of services to be filled.

  • pOutDiscoveredCount[out] The actual number of services discovered.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_FindIncludedServices(deviceId_t deviceId, gattService_t *pIoService, uint8_t maxServiceCount)

Initializes the Find Included Services procedure.

Remark

If gBleSuccess_c is returned, the completion of this procedure is signaled by the Client Procedure callback.

Parameters:
  • deviceId[in] Device ID of the connected peer.

  • pIoService[inout] The service within which inclusions should be searched. The GATT module uses the Service’s handle range and fills the included Services’ handle ranges, UUID types and the UUIDs if they are 16-bit UUIDs.

  • maxServiceCount[in] Maximum number of included services to be filled.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_DiscoverAllCharacteristicsOfService(deviceId_t deviceId, gattService_t *pIoService, uint8_t maxCharacteristicCount)

Initializes the Characteristic Discovery procedure for a given Service.

Remark

If gBleSuccess_c is returned, the completion of this procedure is signaled by the Client Procedure callback.

Parameters:
  • deviceId[in] Device ID of the connected peer.

  • pIoService[inout] The service within which characteristics should be searched. The GATT module uses the Characteristic’s range.

  • maxCharacteristicCount[in] Maximum number of characteristics to be filled.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_DiscoverCharacteristicOfServiceByUuid(deviceId_t deviceId, bleUuidType_t uuidType, const bleUuid_t *pUuid, const gattService_t *pService, gattCharacteristic_t *aOutCharacteristics, uint8_t maxCharacteristicCount, uint8_t *pOutDiscoveredCount)

Initializes the Characteristic Discovery procedure for a given Service, with a given UUID.

Remark

If gBleSuccess_c is returned, the completion of this procedure is signaled by the Client Procedure callback.

Parameters:
  • deviceId[in] Device ID of the connected peer.

  • uuidType[in] Characteristic UUID type.

  • pUuid[in] Characteristic UUID.

  • pService[in] The service within which characteristics should be searched.

  • aOutCharacteristics[out] The allocated array of Characteristics to be filled.

  • maxCharacteristicCount[in] Maximum number of characteristics to be filled.

  • pOutDiscoveredCount[out] The actual number of characteristics discovered.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_DiscoverAllCharacteristicDescriptors(deviceId_t deviceId, gattCharacteristic_t *pIoCharacteristic, uint16_t endingHandle, uint8_t maxDescriptorCount)

Initializes the Characteristic Descriptor Discovery procedure for a given Characteristic.

Remark

If gBleSuccess_c is returned, the completion of this procedure is signaled by the Client Procedure callback. The endingHandle parameter should be known by the application if Characteristic Discovery was performed, i.e., if the next Characteristic declaration handle is known, then subtract 1 to obtain the endingHandle for the current Characteristic. If the last handle of the Characteristic is still unknown, set the endingHandle parameter to 0xFFFF.

Parameters:
  • deviceId[in] Device ID of the connected peer.

  • pIoCharacteristic[inout] The characteristic within which descriptors should be searched. The GATT module uses the Characteristic’s handle and fills each descriptor’s handle and UUID.

  • endingHandle[in] The last handle of the Characteristic.

  • maxDescriptorCount[in] Maximum number of descriptors to be filled.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_ReadCharacteristicValue(deviceId_t deviceId, gattCharacteristic_t *pIoCharacteristic, uint16_t maxReadBytes)

Initializes the Characteristic Read procedure for a given Characteristic.

Remark

If gBleSuccess_c is returned, the completion of this procedure is signaled by the Client Procedure callback.

Parameters:
  • deviceId[in] Device ID of the connected peer.

  • pIoCharacteristic[inout] The characteristic whose value must be read. The GATT module uses the value handle and fills the value and length.

  • maxReadBytes[in] Maximum number of bytes to be read.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_ReadUsingCharacteristicUuid(deviceId_t deviceId, bleUuidType_t uuidType, const bleUuid_t *pUuid, const gattHandleRange_t *pHandleRange, uint8_t *aOutBuffer, uint16_t maxReadBytes, uint16_t *pOutActualReadBytes)

Initializes the Characteristic Read By UUID procedure.

Remark

This procedure returns the Characteristics found within the specified range with the specified UUID. aOutBuffer will contain the Handle-Value pair length (1 byte), then Handle-Value pairs for all Characteristic Values found with the specified UUID.

Remark

If gBleSuccess_c is returned, the completion of this procedure is signaled by the Client Procedure callback.

Parameters:
  • deviceId[in] Device ID of the connected peer.

  • uuidType[in] Characteristic UUID type.

  • pUuid[in] Characteristic UUID.

  • pHandleRange[in] Handle range for the search or NULL. If this is NULL, the search range is 0x0001-0xffff.

  • aOutBuffer[out] The allocated buffer to read into.

  • maxReadBytes[in] Maximum number of bytes to be read.

  • pOutActualReadBytes[out] The actual number of bytes read.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_ReadMultipleCharacteristicValues(deviceId_t deviceId, uint8_t cNumCharacteristics, gattCharacteristic_t *aIoCharacteristics)

Initializes the Characteristic Read Multiple procedure.

Remark

If gBleSuccess_c is returned, the completion of this procedure is signaled by the Client Procedure callback.

Parameters:
  • deviceId[in] Device ID of the connected peer.

  • aIoCharacteristics[inout] Array of the characteristics whose values are to be read. The GATT module uses each Characteristic’s value handle and maxValueLength fills each value and length.

  • cNumCharacteristics[in] Number of characteristics in the array.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_WriteCharacteristicValue(deviceId_t deviceId, const gattCharacteristic_t *pCharacteristic, uint16_t valueLength, const uint8_t *aValue, bool_t withoutResponse, bool_t signedWrite, bool_t doReliableLongCharWrites, const uint8_t *aCsrk)

Initializes the Characteristic Write procedure for a given Characteristic.

Remark

If gBleSuccess_c is returned, the completion of this procedure is signaled by the Client Procedure callback.

Parameters:
  • deviceId[in] Device ID of the connected peer.

  • pCharacteristic[in] The characteristic whose value must be written. The GATT module uses the value handle.

  • valueLength[in] Number of bytes to be written.

  • aValue[in] Array of bytes to be written.

  • withoutResponse[in] Indicates if a Write Command is used.

  • signedWrite[in] Indicates if a Signed Write is performed.

  • doReliableLongCharWrites[in] Indicates Reliable Long Writes.

  • aCsrk[in] The CSRK (gcCsrkSize_d bytes) if signedWrite is TRUE, ignored otherwise.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleOverflow_c – TX queue for device is full.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_ReadCharacteristicDescriptor(deviceId_t deviceId, gattAttribute_t *pIoDescriptor, uint16_t maxReadBytes)

Initializes the Characteristic Descriptor Read procedure for a given Characteristic Descriptor.

Remark

If gBleSuccess_c is returned, the completion of this procedure is signaled by the Client Procedure callback.

Parameters:
  • deviceId[in] Device ID of the connected peer.

  • pIoDescriptor[inout] The characteristic descriptor whose value must be read. The GATT module uses the attribute’s handle and fills the attribute’s value and length.

  • maxReadBytes[in] Maximum number of bytes to be read.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_WriteCharacteristicDescriptor(deviceId_t deviceId, const gattAttribute_t *pDescriptor, uint16_t valueLength, const uint8_t *aValue)

Initializes the Characteristic Descriptor Write procedure for a given Characteristic Descriptor.

Remark

If gBleSuccess_c is returned, the completion of this procedure is signaled by the Client Procedure callback.

Parameters:
  • deviceId[in] Device ID of the connected peer.

  • pDescriptor[in] The characteristic descriptor whose value must be written. The GATT module uses the attribute’s handle.

  • valueLength[in] Number of bytes to be written.

  • aValue[in] Array of bytes to be written.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

bleResult_t GattClient_ReadMultipleVariableCharacteristicValues(deviceId_t deviceId, uint8_t cNumCharacteristics, gattCharacteristic_t *pIoCharacteristics)

Initializes the Read Multiple Variable Length Characteristic Values procedure.

Remark

If gBleSuccess_c is returned, the completion of this procedure is signaled by the Client Procedure callback.

Parameters:
  • deviceId[in] Device ID of the connected peer.

  • cNumCharacteristics[in] Number of characteristics in the array.

  • pIoCharacteristics[in] Pointer to the array of the characteristics whose values are to be read.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

GattClient_SimpleCharacteristicWrite(deviceId, pChar, valueLength, aValue)

Executes the basic Characteristic Write operation (with server confirmation).

Parameters:
  • deviceId[in] Device ID of the connected GATT Server.

  • pChar[in] Pointer to the Characteristic being written.

  • valueLength[in] Size in bytes of the value to be written.

  • aValue[in] Array of bytes to be written.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOverflow_c – TX queue for device is full.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

GattClient_CharacteristicWriteWithoutResponse(deviceId, pChar, valueLength, aValue)

Executes the Characteristic Write Without Response operation.

Parameters:
  • deviceId[in] Device ID of the connected GATT Server.

  • pChar[in] Pointer to the Characteristic being written.

  • valueLength[in] Size in bytes of the value to be written.

  • aValue[in] Array of bytes to be written.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOverflow_c – TX queue for device is full.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

GattClient_CharacteristicSignedWrite(deviceId, pChar, valueLength, aValue, aCsrk)

Executes the Characteristic Signed Write Without Response operation.

Parameters:
  • deviceId[in] Device ID of the connected GATT Server.

  • pChar[in] Pointer to the Characteristic being written.

  • valueLength[in] Size in bytes of the value to be written.

  • aValue[in] Array of bytes to be written.

  • aCsrk[in] CSRK to be used for data signing.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOverflow_c – TX queue for device is full.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT client support.

GATT Server

enum gattServerEventType_t

GATT Server Event type enumeration

Values:

enumerator gEvtMtuChanged_c

ATT_MTU was changed after the MTU exchange.

enumerator gEvtHandleValueConfirmation_c

Received a Handle Value Confirmation from the Client.

enumerator gEvtAttributeWritten_c

An attribute registered with GattServer_RegisterHandlesForWriteNotifications was written. After receiving this event, application must call GattServer_SendAttributeWrittenStatus. Application must write the Attribute in the Database if it considers necessary.

enumerator gEvtCharacteristicCccdWritten_c

A CCCD was written. Application should save the CCCD value with Gap_SaveCccd.

enumerator gEvtAttributeWrittenWithoutResponse_c

An attribute registered with GattServer_RegisterHandlesForWriteNotifications was written without response (with ATT Write Command). Application must write the Attribute Value in the Database if it considers necessary.

enumerator gEvtError_c

An error appeared during a Server-initiated procedure.

enumerator gEvtLongCharacteristicWritten_c

A long characteristic was written.

enumerator gEvtAttributeRead_c

An attribute registered with GattServer_RegisterHandlesForReadNotifications is being read. After receiving this event, application must call GattServer_SendAttributeReadStatus.

enumerator gEvtInvalidPduReceived_c

An invalid PDU was received from Client. Application decides if disconnection is required

enum gattServerProcedureType_t

Server-initiated procedure type enumeration

Values:

enumerator gSendAttributeWrittenStatus_c

Procedure initiated by GattServer_SendAttributeWrittenStatus.

enumerator gSendAttributeReadStatus_c

Procedure initiated by GattServer_SendAttributeReadStatus.

enumerator gSendNotification_c

Procedure initiated by GattServer_SendNotification.

enumerator gSendIndication_c

Procedure initiated by GattServer_SendIndication.

enumerator gSendMultipleValNotification_c

Procedure initiated by GattServer_SendMultipleHandleValueNotification.

typedef void (*gattServerCallback_t)(deviceId_t deviceId, gattServerEvent_t *pServerEvent)

GATT Server Callback prototype

typedef void (*gattServerEnhancedCallback_t)(deviceId_t deviceId, bearerId_t bearerId, gattServerEvent_t *pServerEvent)

GATT Server Enhanced Callback prototype

bleResult_t GattServer_Init(void)

Initializes the GATT Server module.

Remark

Application does not need to call this function if Gatt_Init() is called.

Remark

This function executes synchronously.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – Host library was compiled without GATT server support.

bleResult_t GattServer_CheckServerSupportedFeaturesCharacteristicValue(void)
bleResult_t GattServer_RegisterCallback(gattServerCallback_t callback)

Installs an application callback for the GATT Server module.

Remark

This function executes synchronously.

Parameters:
  • callback[in] Application-defined callback to be triggered by this module.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – Host library was compiled without GATT server support.

bleResult_t GattServer_RegisterHandlesForWriteNotifications(uint8_t handleCount, const uint16_t *aAttributeHandles)

Registers the attribute handles that will be notified through the GATT Server callback when a GATT Client attempts to modify the attributes’ values.

Remark

The application is responsible for actually writing the new requested values in the GATT database. Service and profile-specific control-point characteristics should have their value handles in this list so that the application may get notified when a GATT Client writes it.

Remark

This function executes synchronously.

Parameters:
  • handleCount[in] Number of handles in array.

  • aAttributeHandles[in] Array of handles.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOverflow_c – The maximum number of supported handles for write notifications has been reached.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT server support.

bleResult_t GattServer_UnregisterHandlesForWriteNotifications(uint8_t handleCount, const uint16_t *aAttributeHandles)

Unregisters the attribute handles that will be notified through the GATT Server callback when a GATT Client attempts to modify the attributes’ values.

Remark

To unregister all the list, pass 0 count and NULL.

Remark

This function executes synchronously.

Parameters:
  • handleCount[in] Number of handles in array.

  • aAttributeHandles[in] Array of handles.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT server support.

bleResult_t GattServer_SendAttributeWrittenStatus(deviceId_t deviceId, uint16_t attributeHandle, uint8_t status)

Responds to an intercepted attribute write operation.

Remark

This function must be called by the application when receiving the gEvtAttributeWritten_c Server event. The status value may contain application- or profile-defined error codes.

Parameters:
  • deviceId[in] The device ID of the connected peer.

  • attributeHandle[in] The attribute handle that was written.

  • status[in] The status of the write operation. If this parameter is equal to gAttErrCodeNoError_c then an ATT Write Response will be sent to the peer. Otherwise, an ATT Error Response with the provided status will be sent to the peer.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT server support.

bleResult_t GattServer_RegisterHandlesForReadNotifications(uint8_t handleCount, const uint16_t *aAttributeHandles)

Registers the attribute handles that will be notified through the GATT Server callback when a GATT Client attempts to read the attributes’ values.

Remark

The application may modify the attribute’s value in the GATT Database before sending the response with GattServer_SendAttributeReadStatus.

Remark

This function executes synchronously.

Parameters:
  • handleCount[in] Number of handles in array.

  • aAttributeHandles[in] Array of handles.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleOverflow_c – The maximum number of supported handles for read notifications has been reached.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT server support.

bleResult_t GattServer_UnregisterHandlesForReadNotifications(uint8_t handleCount, const uint16_t *aAttributeHandles)

Unregisters the attribute handles that will be notified through the GATT Server callback when a GATT Client attempts to read the attributes’ values.

Remark

To unregister all the list, pass 0 count and NULL.

Remark

This function executes synchronously.

Parameters:
  • handleCount[in] Number of handles in array.

  • aAttributeHandles[in] Array of handles.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT server support.

bleResult_t GattServer_SendAttributeReadStatus(deviceId_t deviceId, uint16_t attributeHandle, uint8_t status)

Responds to an intercepted attribute read operation.

Remark

This function must be called by the application when receiving the gEvtAttributeRead_c Server event. The status value may contain application- or profile-defined error codes.

Parameters:
  • deviceId[in] The device ID of the connected peer.

  • attributeHandle[in] The attribute handle that was being read.

  • status[in] The status of the read operation. If this parameter is equal to gAttErrCodeNoError_c then an ATT Read Response will be sent to the peer containing the attribute value from the GATT Database. Otherwise, an ATT Error Response with the provided status will be sent to the peer.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT server support.

bleResult_t GattServer_SendNotification(deviceId_t deviceId, uint16_t handle)

Sends a notification to a peer GATT Client using the Characteristic Value from the GATT Database.

Parameters:
  • deviceId[in] The device ID of the connected peer.

  • handle[in] Handle of the Value of the Characteristic to be notified.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT server support.

bleResult_t GattServer_SendIndication(deviceId_t deviceId, uint16_t handle)

Sends an indication to a peer GATT Client using the Characteristic Value from the GATT Database.

Parameters:
  • deviceId[in] The device ID of the connected peer.

  • handle[in] Handle of the Value of the Characteristic to be indicated.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT server support.

bleResult_t GattServer_SendInstantValueNotification(deviceId_t deviceId, uint16_t handle, uint16_t valueLength, const uint8_t *aValue)

Sends a notification to a peer GATT Client with data given as parameter, ignoring the GATT Database.

Parameters:
  • deviceId[in] The device ID of the connected peer.

  • handle[in] Handle of the Value of the Characteristic to be notified.

  • valueLength[in] Length of data to be notified.

  • aValue[in] Data to be notified.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOverflow_c – TX queue for device is full.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT server support.

bleResult_t GattServer_SendMultipleHandleValueNotification(deviceId_t deviceId, uint32_t totalLength, const uint8_t *pHandleLengthValueList)

Sends a notification to a peer GATT Client with data given as parameter, ignoring the GATT Database.

Parameters:
  • deviceId[in] The device ID of the connected peer.

  • totalLength[in] Length of the handle, value, value length tuples.

  • pHandleLengthValueList[in] Pointer to data to be notified.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT server support.

bleResult_t GattServer_SendInstantValueIndication(deviceId_t deviceId, uint16_t handle, uint16_t valueLength, const uint8_t *aValue)

Sends an indication to a peer GATT Client with data given as parameter, ignoring the GATT Database.

Parameters:
  • deviceId[in] The device ID of the connected peer.

  • handle[in] Handle of the Value of the Characteristic to be indicated.

  • valueLength[in] Length of data to be indicated.

  • aValue[in] Data to be indicated.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – An invalid parameter was provided.

  • gBleOutOfMemory_c – Could not allocate message for Host task.

  • gBleOverflow_c – TX queue for device is full.

  • gBleFeatureNotSupported_c – Host library was compiled without GATT server support.

bleResult_t GattServer_RegisterUniqueHandlesForNotifications(bool_t bWrite, bool_t bRead)

Registers all GATT DB dynamic attribute handles with unique value buffers to be notified through the GATT Server callback when a GATT Client attempts to read/write the attributes’ values.

Remark

This function executes synchronously.

Remark

This function should be called when adding GATT DB unique value buffer characteristics or descriptors.

Parameters:
  • bWrite[in] Enables/Disables write notifications.

  • bRead[in] Enables/Disables read notifications.

Return values:
  • gBleSuccess_c

  • gBleFeatureNotSupported_c – Host library was compiled without GATT server support.

struct gattServerMtuChangedEvent_t
#include <gatt_server_interface.h>

GATT Server MTU Changed Event structure

Public Members

uint16_t newMtu

Value of the agreed ATT_MTU for this connection.

struct gattServerAttributeWrittenEvent_t
#include <gatt_server_interface.h>

GATT Server Attribute Written Event structure

Public Members

uint16_t handle

Handle of the attribute.

uint16_t cValueLength

Length of the attribute value array.

uint8_t *aValue

Attribute value array attempted to be written.

bearerId_t bearerId

Used by EATT. Send response on the same bearer. For ATT value is 0.

struct gattServerLongCharacteristicWrittenEvent_t
#include <gatt_server_interface.h>

GATT Server Long Characteristic Written Event structure

Public Members

uint16_t handle

Handle of the Characteristic Value.

uint16_t cValueLength

Length of the value written.

uint8_t *aValue

Pointer to the attribute value in the database.

struct gattServerCccdWrittenEvent_t
#include <gatt_server_interface.h>

GATT Server CCCD Written Event structure

Public Members

uint16_t handle

Handle of the CCCD attribute.

gattCccdFlags_t newCccd

New value of the CCCD.

struct gattServerAttributeReadEvent_t
#include <gatt_server_interface.h>

GATT Server Attribute Read Event structure

Public Members

uint16_t handle

Handle of the attribute.

struct gattServerProcedureError_t
#include <gatt_server_interface.h>

Server-initiated procedure error structure

Public Members

gattServerProcedureType_t procedureType

Procedure that generated error.

bleResult_t error

Error generated.

struct gattServerInvalidPdu_t
#include <gatt_server_interface.h>

ATT PDU that generated the error

Public Members

attOpcode_t attOpCode

The invalid ATT op code that generated the error

struct gattServerEvent_t
#include <gatt_server_interface.h>

GATT Server Event structure: type + data.

Public Members

gattServerEventType_t eventType

Event type.

union gattServerEvent_t eventData

Event data : selected according to event type.

union eventData

Public Members

gattServerMtuChangedEvent_t mtuChangedEvent

For event type gEvtMtuChanged_c: the new value of the ATT_MTU.

gattServerAttributeWrittenEvent_t attributeWrittenEvent

For event types gEvtAttributeWritten_c, gEvtAttributeWrittenWithoutResponse_c: handle and value of the attempted write.

gattServerCccdWrittenEvent_t charCccdWrittenEvent

For event type gEvtCharacteristicCccdWritten_c: handle and value of the CCCD.

gattServerProcedureError_t procedureError

For event type gEvtError_c: error that terminated a Server-initiated procedure.

gattServerLongCharacteristicWrittenEvent_t longCharWrittenEvent

For event type gEvtLongCharacteristicWritten_c: handle and value.

gattServerAttributeReadEvent_t attributeReadEvent

For event types gEvtAttributeRead_c: handle of the attempted read.

gattServerInvalidPdu_t attributeOpCode

For event type gEvtInvalidPduReceived_c: the ATT PDU that generated the error

GATT Database

enum gattCharacteristicPropertiesBitFields_tag

Values:

enumerator gGattCharPropNone_c

No Properties selected.

enumerator gGattCharPropBroadcast_c

Characteristic can be broadcast.

enumerator gGattCharPropRead_c

Characteristic can be read.

enumerator gGattCharPropWriteWithoutRsp_c

Characteristic can be written without response.

enumerator gGattCharPropWrite_c

Characteristic can be written with response.

enumerator gGattCharPropNotify_c

Characteristic can be notified.

enumerator gGattCharPropIndicate_c

Characteristic can be indicated.

enumerator gGattCharPropAuthSignedWrites_c

Characteristic can be written with signed data.

enumerator gGattCharPropExtendedProperties_c

Extended Characteristic properties.

enum gattDbAccessType_t

Attribute access type

Values:

enumerator gAccessRead_c
enumerator gAccessWrite_c
enumerator gAccessNotify_c
typedef uint8_t gattCharacteristicPropertiesBitFields_t

Bit fields for Characteristic properties

typedef uint8_t gattAttributePermissionsBitFields_t

Bit fields for attribute permissions

uint16_t gGattDbAttributeCount_c

The number of attributes in the GATT Database.

gattDbAttribute_t *gattDatabase

Reference to the GATT database

uint16_t mServerServiceChangedCharHandle
uint16_t mServerServiceChangedCCCDHandle
uint16_t GattDb_GetIndexOfHandle(uint16_t handle)

Returns the database index for a given attribute handle.

Parameters:
  • handle[in] The attribute handle.

Returns:

The index of the given attribute in the database or gGattDbInvalidHandleIndex_d.

uint16_t GattDb_ServiceStartHandle(uint16_t handle)

Returns the handle of the service to which the given attribute belongs.

Parameters:
  • handle[in] The attribute handle.

Returns:

The handle of the service or gGattDbInvalidHandleIndex_d.

bleResult_t GattDb_FindServiceRange(uint16_t serviceHandle, uint16_t *pOutStartIndex, uint16_t *pOutAttributeCount)

Finds the start index and attribute count for a given service.

Parameters:
  • serviceHandle[in] The service handle.

  • pOutStartIndex[in] The index in the database where the service declaration begins.

  • pOutAttributeCount[in] The number of attributes contained by the service.

Return values:
  • gBleSuccess_c

  • gGattDbInvalidHandleIndex_d – Service does not exist in gatt database.

uint16_t GattDb_GetAttributeValueSize(uint16_t handle)

Returns the value length for a given attribute handle.

Parameters:
  • handle[in] The attribute handle.

Returns:

The length of the value of the attribute at the given handle or maxVariableValueLength in case of variable length attributes.

bleResult_t GattDb_ComputeDatabaseHash(void)

Computes the database hash for a static or a dynamic database.

Parameters:
  • void.

Return values:
  • gBleSuccess_c

  • gBleInvalidState_c – Database not initialized or empty.

  • gBleOutOfMemory_c – Could not allocate memory for the database content used to compute the database hash.

  • gGattDbInvalidHandleIndex_d – Service does not exist in gatt database.

bleResult_t GattDb_Init(void)

Initializes the GATT database at runtime.

Remark

This function should be called only once at device start-up. In the current stack implementation, it is called internally by Ble_HostInitialize.

Remark

This function executes synchronously.

Return values:
  • gBleSuccess_c

  • gBleOutOfMemory_c – Could not allocate memory for the GATT dynamic database.

  • gBleAlreadyInitialized_c – GATT database already initialized.

bleResult_t GattDb_Deinit(void)

Function performing runtime deinitialization of the GATT database.

Remark

This function has effect for dynamic data base only .

Parameters:
  • none.

Return values:
  • gBleSuccess_c

  • gBleInvalidState_c – GATT dynamic database not initialized.

bleResult_t GattDb_WriteAttribute(uint16_t handle, uint16_t valueLength, const uint8_t *aValue)

Writes an attribute from the application level.

This function can be called by the application code to modify an attribute in the database. It should only be used by the application to modify a Characteristic’s value based on the application logic (e.g., external sensor readings).

Remark

This function executes synchronously.

Parameters:
  • handle[in] The handle of the attribute to be written.

  • valueLength[in] The number of bytes to be written.

  • aValue[in] The source buffer containing the value to be written.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – aValue NULL and length higher than 0.

  • gAttStatusBase_c – + gAttErrCodeInvalidHandle_c handle not found in GATT database.

  • gGattInvalidValueLength_c – valueLength not equal to attribute value length, or higher than the maximum length for variable size attributes.

  • gBleFeatureNotSupported_c – GATT Server not enabled.

bleResult_t GattDb_ReadAttribute(uint16_t handle, uint16_t maxBytes, uint8_t *aOutValue, uint16_t *pOutValueLength)

Reads an attribute from the application level.

This function can be called by the application code to read an attribute in the database.

Remark

This function executes synchronously.

Parameters:
  • handle[in] The handle of the attribute to be read.

  • maxBytes[in] The maximum number of bytes to be received.

  • aOutValue[out] The pre-allocated buffer ready to receive the bytes.

  • pOutValueLength[out] The actual number of bytes received.

Return values:
  • gBleSuccess_c

  • gBleInvalidParameter_c – aOutValue NULL, pOutValueLength NULL or maxBytes 0.

  • gAttStatusBase_c – + gAttErrCodeInvalidHandle_c handle not found in GATT database.

  • gBleFeatureNotSupported_c – GATT Server not enabled.

bleResult_t GattDb_FindServiceHandle(uint16_t startHandle, bleUuidType_t serviceUuidType, const bleUuid_t *pServiceUuid, uint16_t *pOutServiceHandle)

Finds the handle of a Service Declaration with a given UUID inside the database.

Remark

This function executes synchronously.

Remark

The startHandle should be set to 0x0001 when this function is called for the first time. If multiple Services with the same UUID are expected, then after the first successful call the function may be called again with the startHandle equal to the found service handle plus one.

Parameters:
  • startHandle[in] The handle to start the search. Should be 0x0001 on the first call.

  • serviceUuidType[in] Service UUID type.

  • pServiceUuid[in] Service UUID.

  • pOutServiceHandle[out] Pointer to the service declaration handle to be written.

Return values:
  • gBleSuccess_c – Service Declaration found, handle written in pOutCharValueHandle.

  • gGattDbInvalidHandle_c – Invalid Start Handle.

  • gBleInvalidParameter_c – pServiceUuid or pOutServiceHandle NULL.

  • gGattDbServiceNotFound_c – Service with given UUID not found.

  • gBleFeatureNotSupported_c – GATT Server not enabled.

bleResult_t GattDb_FindCharValueHandleInService(uint16_t serviceHandle, bleUuidType_t characteristicUuidType, const bleUuid_t *pCharacteristicUuid, uint16_t *pOutCharValueHandle)

Finds the handle of a Characteristic Value with a given UUID inside a Service.

The Service is input by its declaration handle.

Remark

This function executes synchronously.

Parameters:
  • serviceHandle[in] The handle of the Service declaration.

  • characteristicUuidType[in] Characteristic UUID type.

  • pCharacteristicUuid[in] Characteristic UUID.

  • pOutCharValueHandle[out] Pointer to the characteristic value handle to be written.

Return values:
  • gBleSuccess_c – Characteristic Value found, handle written in pOutCharValueHandle.

  • gGattDbInvalidHandle_c – Handle not found or not a Service declaration.

  • gBleInvalidParameter_c – pCharacteristicUuid or pOutCharValueHandle NULL.

  • gGattDbCharacteristicNotFound_c – Characteristic Value with given UUID not found.

  • gBleFeatureNotSupported_c – GATT Server not enabled.

bleResult_t GattDb_FindCccdHandleForCharValueHandle(uint16_t charValueHandle, uint16_t *pOutCccdHandle)

Finds the handle of a Characteristic’s CCCD given the Characteristic’s Value handle.

Remark

This function executes synchronously.

Parameters:
  • charValueHandle[in] The handle of the Service declaration.

  • pOutCccdHandle[out] Pointer to the CCCD handle to be written.

Return values:
  • gBleSuccess_c – CCCD found, handle written in pOutCccdHandle.

  • gBleInvalidParameter_c – pOutCccdHandle is NULL.

  • gGattDbInvalidHandle_c – Invalid Characteristic Value handle.

  • gGattDbCccdNotFound_c – CCCD not found for this Characteristic.

  • gBleFeatureNotSupported_c – GATT Server not enabled.

bleResult_t GattDb_FindDescriptorHandleForCharValueHandle(uint16_t charValueHandle, bleUuidType_t descriptorUuidType, const bleUuid_t *pDescriptorUuid, uint16_t *pOutDescriptorHandle)

Finds the handle of a Characteristic Descriptor given the Characteristic’s Value handle and Descriptor’s UUID.

Remark

This function executes synchronously.

Parameters:
  • charValueHandle[in] The handle of the Service declaration.

  • descriptorUuidType[in] Descriptor’s UUID type.

  • pDescriptorUuid[in] Descriptor’s UUID.

  • pOutDescriptorHandle[out] Pointer to the Descriptor handle to be written.

Return values:
  • gBleSuccess_c – Descriptor found.

  • gBleInvalidParameter_c – pDescriptorUuid or pOutDescriptorHandle are NULL.

  • gGattDbInvalidHandle_c – Invalid Characteristic Value handle.

  • gGattDbDescriptorNotFound_c – Descriptor not found for this Characteristic.

  • gBleFeatureNotSupported_c – GATT Server not enabled.

gGattDbInvalidHandleIndex_d

Special value returned by GattDb_GetIndexOfHandle to signal that an invalid attribute handle was given as parameter.

gGattDbInvalidHandle_d

Special value used to mark an invalid attribute handle. Attribute handles are strictly positive.

gPermissionNone_c

No permissions selected.

gPermissionFlagReadable_c

Attribute can be read.

gPermissionFlagReadWithEncryption_c

Attribute may be read only if link is encrypted.

gPermissionFlagReadWithAuthentication_c

Attribute may be read only by authenticated peers.

gPermissionFlagReadWithAuthorization_c

Attribute may be read only by authorized peers.

gPermissionFlagWritable_c

Attribute can be written.

gPermissionFlagWriteWithEncryption_c

Attribute may be written only if link is encrypted.

gPermissionFlagWriteWithAuthentication_c

Attribute may be written only by authenticated peers.

gPermissionFlagWriteWithAuthorization_c

Attribute may be written only by authorized peers.

gGattDatabaseHashSize_c
struct gattDbAttribute_t
#include <gatt_database.h>

Attribute structure

Public Members

uint16_t handle

The attribute handle - cannot be 0x0000. The attribute handles need not be consecutive, but must be strictly increasing.

uint16_t permissions

Attribute permissions as defined by the ATT.

uint32_t uuid

The UUID should be read according to the gattDbAttribute_t.uuidType member: for 2-byte and 4-byte UUIDs, this contains the value of the UUID; for 16-byte UUIDs, this is a pointer to the allocated 16-byte array containing the UUID.

uint8_t *pValue

A pointer to allocated value array.

uint16_t valueLength

The size of the value array.

uint16_t uuidType

Identifies the length of the UUID; values interpreted according to the bleUuidType_t enumeration.

uint16_t maxVariableValueLength

The maximum length of the attribute value array; if this is set to 0, then the attribute’s length is fixed and cannot be changed.

Bluetooth Low Energy

enum bleResult_tag

BLE result type - the return value of BLE API functions

Values:

enumerator gBleStatusBase_c

General status base.

enumerator gBleSuccess_c

Function executed successfully.

enumerator gBleInvalidParameter_c

Parameter has an invalid value or is outside the accepted range.

enumerator gBleOverflow_c

An internal limit is reached.

enumerator gBleUnavailable_c

A requested parameter is not available.

enumerator gBleFeatureNotSupported_c

The requested feature is not supported by this stack version.

enumerator gBleOutOfMemory_c

An internal memory allocation failed.

enumerator gBleAlreadyInitialized_c

Ble_HostInitialize function is incorrectly called a second time.

enumerator gBleOsError_c

An error occurred at the OS level.

enumerator gBleUnexpectedError_c

A “should never get here”-type error occurred.

enumerator gBleInvalidState_c

The requested API cannot be called in the current state.

enumerator gBleTimerError_c

Timer allocation failed.

enumerator gBleReassemblyInProgress_c

HCI Packet reassembly was in progress. The old packet was discarded

enumerator gBleNVMError_c

An error occurred when performing an NVM operation

enumerator gBleRngError_c

error generated by a RNG function call e.g. RNG_GetPseudoRandomNo

enumerator gBleSecLibError_c

error generated by a SecLib function call e.g. SecLib_VerifyBluetoothAh

enumerator gHciStatusBase_c

HCI status base.

enumerator gHciSuccess_c

Alias.

enumerator gHciUnknownHciCommand_c

The HCI Command packet opcode is unknown.

enumerator gHciUnknownConnectionIdentifier_c

The connection does not exist or it is of a wrong type.

enumerator gHciHardwareFailure_c

A failure occurred in the Controller.

enumerator gHciPageTimeout_c

A page timed out based on the Page Timeout parameter.

enumerator gHciAuthenticationFailure_c

Pairing or authentication failed. Possible causes: incorrect PIN or Link Key.

enumerator gHciPinOrKeyMissing_c

Pairing failed because of missing PIN or authentication failed because of missing Key.

enumerator gHciMemoryCapacityExceeded_c

The controller doesn’t have enough memory to store new parameters.

enumerator gHciConnectionTimeout_c

The link supervision timeout has expired for a connection or the synchronization timeout has expired for a broadcast.

enumerator gHciConnectionLimitExceeded_c

The maximum number of connections has already been reached.

enumerator gHciSynchronousConnectionLimitToADeviceExceeded_c

The maximum number of synchronous connections has already been reached.

enumerator gHciAclConnectionAlreadyExists_c

A connection to this device already exists.

enumerator gHciCommandDisallowed_c

The controller can’t process the command at this time.

enumerator gHciConnectionRejectedDueToLimitedResources_c

The connection was rejected due to limited resources.

enumerator gHciConnectionRejectedDueToSecurityReasons_c

The connection was rejected because the security requirements were not fulfilled.

enumerator gHciConnectionRejectedDueToUnacceptableBdAddr_c

The connection was rejected because the device does not accept the given BD_ADDR. A possible cause is that the device only accepts connections from specific BD_ADDRs.

enumerator gHciConnectionAcceptTimeoutExceeded_c

The connection accept timeout for this connection has been exceeded.

enumerator gHciUnsupportedFeatureOrParameterValue_c

The feature or parameter in the HCI command is not supported.

enumerator gHciInvalidHciCommandParameters_c

At least one of the HCI command parameters is invalid.

enumerator gHciRemoteUserTerminatedConnection_c

The remote device’s user terminated the connection or stopped broadcasting.

enumerator gHciRemoteDeviceTerminatedConnectionLowResources_c

The remote device terminated the connection due to low resources.

enumerator gHciRemoteDeviceTerminatedConnectionPowerOff_c

The remote device terminated the connection because it will power off.

enumerator gHciConnectionTerminatedByLocalHost_c

The local device terminated the connection, synchronization with a broadcaster or stopped broadcasting.

enumerator gHciRepeatedAttempts_c

The Controller disallows the authentication or pairing because not enough time has passed since the failed attempt.

enumerator gHciPairingNotAllowed_c

The device does not allow pairing.

enumerator gHciUnknownLpmPdu_c

The Controller has received an unknown LMP code.

enumerator gHciUnsupportedRemoteFeature_c

The remote device doesn’t support the feature associated with the issued command, LMP PDU or LL Control PDU.

enumerator gHciScoOffsetRejected_c

The offset requested in the LMP_SCO_LINK_REQ PDU has been rejected.

enumerator gHciScoIntervalRejected_c

The interval requested in the LMP_SCO_LINK_REQ PDU has been rejected.

enumerator gHciScoAirModeRejected_c

The air mode requested in the LMP_SCO_LINK_REQ PDU has been rejected.

enumerator gHciInvalidLpmParameters_c

Some LMP PDU or LL Control PDU parameters were invalid.

enumerator gHciUnspecifiedError_c

No other error code was appropriate.

enumerator gHciUnsupportedLpmParameterValue_c

An LMP PDU or LL Control PDU contains at least one parameter value not supported by the Controller at this time.

enumerator gHciRoleChangeNotAllowed_c

The Controller doesn’t allow a role change at this time.

enumerator gHciLLResponseTimeout_c

An LMP transaction failed to respond within the LMP response timeout or an LL transaction failed to respond within the LL response timeout.

enumerator gHciLmpErrorTransactionCollision_c

An LMP transaction or LL procedure has collided with the same transaction or procedure which is already in progress.

enumerator gHciLmpPduNotAllowed_c

A controller sent an LMP PDU with an opcode that isn’t allowed.

enumerator gHciEncryptionModeNotAcceptable_c

The requested encryption mode is not allowed at this time.

enumerator gHciLinkKeyCannotBeChanged_c

The link key can’t be changed because a fixed unit key is being used.

enumerator gHciRequestedQosNotSupported_c

The requested QoS is not supported.

enumerator gHciInstantPassed_c

An LMP PDU or LL PDU that includes an instant cannot be performed because the instant when this would have occurred has passed.

enumerator gHciPairingWithUnitKeyNotSupported_c

It wasn’t possible to pair because a unit key was requested but it is not supported.

enumerator gHciDifferentTransactionCollision_c

An LMP transaction or LL Procedure was started that collides with another one.

enumerator gHciReserved_0x2B_c
enumerator gHciQosNotAcceptableParameter_c

The specified QoS parameters couldn’t be accepted at this time.

enumerator gHciQosRejected_c

The specified QoS parameters couldn’t be accepted and QoS negotiation should be terminated.

enumerator gHciChannelClassificationNotSupported_c

The Controller can’t perform a channel assessment because it isn’t supported.

enumerator gHciInsufficientSecurity_c

The HCI command or LMP PDU sent is only possible on an encrypted link.

enumerator gHciParameterOutOfMandatoryRange_c

A parameter value requested is outside the mandatory range of parameters for the given HCI command or LMP PDU. The recipient does not accept that value.

enumerator gHciReserved_0x31_c
enumerator gHciRoleSwitchPending_c

A role switch is pending.

enumerator gHciReserved_0x33_c
enumerator gHciReservedSlotViolation_c

The Synchronous negotiation was terminated with its state set to Reserved Slot Violation.

enumerator gHciRoleSwitchFailed_c

A role switch was attempted but it failed. The original piconet structure is restored.

enumerator gHciExtendedInquiryResponseTooLarge_c

The extended inquiry response, with the requested requirements for FEC, is too large to fit in any of the packet types supported by the Controller.

enumerator gHciSecureSimplePairingNotSupportedByHost_c

The IO capabilities request / response was rejected because the sending Host does not support Secure Simple Pairing even though the receiving Link Manager does.

enumerator gHciHostBusyPairing_c

The Host is busy with another pairing request. Pairing should be retried again later.

enumerator gHciConnectionRejectedDueToNoSuitableChannelFound_c

An appropriate value for the Channel selection operation couldn’t be calculated by the Controller.

enumerator gHciControllerBusy_c

The operation was rejected because the Controller was busy.

enumerator gHciUnacceptableConnectionParameters_c

The remote device terminated the connection or rejected a request because of at least one unacceptable connection parameter.

enumerator gHciDirectedAdvertisingTimeout_c

Advertising for a fixed duration completed. For directed advertising, advertising completed without a connection being created.

enumerator gHciConnectionTerminatedDueToMicFailure_c

The connection or the synchronization was terminated because the Message Integrity Check failed.

enumerator gHciConnectionFailedToBeEstablishedOrSyncTimeout_c

The LL initiated a connection / synchronization to periodic advertising but the connection has failed to be established or the LL failed to synchronize with the periodic advertising within 6 periodic advertising events of the first attempt.

enumerator gHciMacConnectionFailed_c
enumerator gHciCoarseClockAdjustmentRejected_c

The Central is unable to make a coarse adjustment to the piconet clock, using the given parameters. It will attempt to move the clock using clock dragging.

enumerator gHciType0SubmapNotDefined_c

The LMP PDU is rejected because the Type 0 submap is not currently defined.

enumerator gHciUnknownAdvertisingIdentifier_c

A command was sent from the Host that should identify an Advertising or Sync handle, but that handle doesn’t exist.

enumerator gHciLimitReached_c

The number of operations requested has been reached.

enumerator gHciOperationCancelledByHost_c

A request sent from the Host to the Controller which was still pending has been successfully canceled.

enumerator gHciPacketTooLong_c

An attempt was made to send or receive a packet that exceeds the maximum allowed packet length.

enumerator gHciPacketTooLate_c

Information was provided too late to the Controller.

enumerator gHciPacketTooEarly_c

Information was provided too early to the Controller.

enumerator gHciAlreadyInit_c

HCI has already been initialized.

enumerator gHciInvalidParameter_c

At least one of the HCI command parameters is invalid.

enumerator gHciCallbackNotInstalled_c

Callback was not installed.

enumerator gHciCallbackAlreadyInstalled_c

Callback has already been installed.

enumerator gHciCommandNotSupported_c

The HCI command is not supported.

enumerator gHciEventNotSupported_c

The HCI event is not supported.

enumerator gHciTransportError_c

HCI layer initialization failure. HCI data buffering semaphore allocation error. HCI layer received an unknown packet type. Serial initialization or write failure.

enumerator gCtrlStatusBase_c

Controller status base.

enumerator gCtrlSuccess_c

Alias.

enumerator gL2caStatusBase_c

L2CAP status base.

enumerator gL2caSuccess_c

Alias.

enumerator gL2caAlreadyInit_c

L2CAP has already been initialized.

enumerator gL2caInsufficientResources_c

L2CAP could not allocate resources to perform operations (memory or timers).

enumerator gL2caCallbackNotInstalled_c

Callback was not installed.

enumerator gL2caCallbackAlreadyInstalled_c

Callback has already been installed.

enumerator gL2caLePsmInvalid_c

Invalid LE_PSM value.

enumerator gL2caLePsmAlreadyRegistered_c

LE_PSM has already been registered.

enumerator gL2caLePsmNotRegistered_c

LE_PSM value was not registered.

enumerator gL2caLePsmInsufficientResources_c

No free LE_PSM registration slot was found.

enumerator gL2caChannelInvalid_c

L2CA channel is invalid.

enumerator gL2caChannelClosed_c

L2CA channel is closed.

enumerator gL2caChannelAlreadyConnected_c

L2CA channel is already connected.

enumerator gL2caConnectionParametersRejected_c

Connection parameters were rejected.

enumerator gL2caChannelBusy_c

L2CA channel is busy.

enumerator gL2caInvalidParameter_c

The command contains at least one invalid parameter.

enumerator gL2caInternalError_c

There are connected L2CAP channels for the LE_PSM.

enumerator gSmStatusBase_c

Security Manager status base.

enumerator gSmSuccess_c

Alias.

enumerator gSmNullCBFunction_c
enumerator gSmCommandNotSupported_c

The Security Manager (SM) does not have the required features or version to support this command

enumerator gSmUnexpectedCommand_c

This command is not or cannot be handled in the current context of the SM.

enumerator gSmInvalidCommandCode_c

The provided SM command code is invalid.

enumerator gSmInvalidCommandLength_c

The provided command length is not valid for the SM command code.

enumerator gSmInvalidCommandParameter_c

One of the parameters of the SM command is not valid.

enumerator gSmInvalidDeviceId_c

The provided Device ID is invalid.

enumerator gSmInvalidInternalOperation_c

There is a problem with the internal state of the SM. This should not happen during normal operation. A memory corruption or invalid operation may have occurred.

enumerator gSmInvalidConnectionHandle_c

The target device does not have a valid connection handle. It might be disconnected.

enumerator gSmInproperKeyDistributionField_c

The Responder upper layer has set to “1” one or more flags in the Initiator or Responder Key Distribution Fields from the Pairing Request which were set to “0” by the peer device.

enumerator gSmUnexpectedKeyType_c

The Responder upper layer has set a key type field in the Passkey Request Reply command, which is different than the field negotiated with the peer device.

enumerator gSmUnexpectedPairingTerminationReason_c

The upper layer tried to cancel the pairing procedure with an unexpected pairing failure reason for the current phase of the pairing procedure.

enumerator gSmUnexpectedKeyset_c

The Responder upper layer is trying to distribute keys which were not requested during the pairing procedure or the peer device has sent a Key Distribution packet which was not expected.

enumerator gSmSmpTimeoutOccurred_c

An SMP timeout has occurred for the peer device. No more operations are accepted until a new physical link is established.

enumerator gSmUnknownSmpPacketType_c

An SMP packet with an unknown (or invalid) type has been received.

enumerator gSmInvalidSmpPacketLength_c

An SMP packet with an invalid length for the SMP packet type has been received.

enumerator gSmInvalidSmpPacketParameter_c

An SMP packet with an invalid parameter has been received.

enumerator gSmReceivedUnexpectedSmpPacket_c

An unexpected SMP packet was received.

enumerator gSmReceivedSmpPacketFromUnknownDevice_c

An SMP packet is received but the source Device ID cannot be identified.

enumerator gSmReceivedUnexpectedHciEvent_c

An HCI event has been received which cannot be handled by the SM or cannot be handled in the current context.

enumerator gSmReceivedHciEventFromUnknownDevice_c

An HCI event is received but the source Device ID cannot be identified.

enumerator gSmInvalidHciEventParameter_c

An HCI Event is received with an invalid parameter.

enumerator gSmLlConnectionEncryptionInProgress_c

A Link Layer Connection encryption was requested by the upper layer or attempted internally by the SM, but it could no be completed because an encryption was already in progress. This situation could lead to an SMP Pairing Failure when the SM cannot encrypt the link with the STK. An unspecified pairing failure reason is used in this instance.

enumerator gSmLlConnectionEncryptionFailure_c

The Link Layer connection encryption procedure has failed.

enumerator gSmInsufficientResources_c

The SM could not allocate resources to perform operations (memory or timers).

enumerator gSmOobDataAddressMismatch_c

The address of the peer contained in the remote OOB data sent to the stack does not match the address used by the remote device for the connection/pairing procedure.

enumerator gSmSmpPacketReceivedAfterTimeoutOccurred_c

A SMP packet has been received from a peer device for which a pairing procedure has timed out. No further operations are permitted until a new connection is established.

enumerator gSmReceivedTimerEventForUnknownDevice_c

An Timer event is received but the source Device ID cannot be identified.

enumerator gSmUnattainableLocalDeviceSecRequirements_c

The provided pairing parameters cannot lead to a Pairing Procedure which satisfies the minimum security properties for the local device.

enumerator gSmUnattainableLocalDeviceMinKeySize_c

The provided pairing parameters cannot lead to a Pairing Procedure which satisfies the minimum encryption key size for the local device.

enumerator gSmUnattainablePeripheralSecReqRequirements_c

The provided pairing parameters cannot lead to a Pairing Procedure which satisfies the minimum security properties requested by the local device via an SMP Peripheral Security Request.

enumerator gSmInvalidPeerPublicKey_c

This status covers the case where the peer provides a public key with an identical X coordinate to our own.

enumerator gSmPairingErrorPasskeyEntryFailed_c

The passkey entry failed.

enumerator gSmPairingErrorConfirmValueFailed_c

The received random confirm value does not match the computed random confirm value.

enumerator gSmPairingErrorCommandNotSupported_c

The command is not supported.

enumerator gSmPairingErrorInvalidParameters_c

The command contains at least one invalid parameter.

enumerator gSmPairingErrorUnknownReason_c

Unknown pairing failure reason.

enumerator gSmPairingErrorTimeout_c

The pairing procedure timed out.

enumerator gSmPairingErrorAuthenticationRequirements_c

Authentication requirements were not met.

enumerator gSmPairingAlreadyStarted_c

The pairing process has already started.

enumerator gSmPairingErrorKeyRejected_c

The key was rejected.

enumerator gSmPairingErrorPairingNotSupported_c

Pairing is not supported by the device.

enumerator gSmPairingErrorEncryptionKeySize_c

The resultant encryption key size is not long enough for the security requirements of this device.

enumerator gSmPairingErrorDhKeyCheckFailed_c

DHKey Check value received doesn’t match the one calculated by the local device.

enumerator gSmPairingErrorNumericComparisonFailed_c

Indicates that the confirm values in the numeric comparison protocol do not match.

enumerator gSmPairingErrorOobNotAvailable_c

Indicates that the OOB data is not available.

enumerator gSmPairingErrorRepeatedAttempts_c

Indicates that the pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request.

enumerator gSmTbResolvableAddressDoesNotMatchIrk_c

The provided Resolvable Private Address and IRK do not match.

enumerator gSmTbInvalidDataSignature_c

The provided data signature does not match the computed data signature.

enumerator gSmKeySessionKeyDerivationFailed_c

The session key derivation failed.

enumerator gAttStatusBase_c

ATT status base.

enumerator gAttSuccess_c

Alias.

enumerator gGattStatusBase_c

GATT status base.

enumerator gGattSuccess_c

Alias.

enumerator gGattAnotherProcedureInProgress_c

Trying to start a GATT procedure while one is already in progress.

enumerator gGattLongAttributePacketsCorrupted_c

Writing a Long Characteristic failed because Prepare Write Request packets were corrupted.

enumerator gGattMultipleAttributesOverflow_c

Too many Characteristics are given for a Read Multiple Characteristic procedure.

enumerator gGattUnexpectedReadMultipleResponseLength_c

Read Multiple Characteristic procedure failed because unexpectedly long data was read.

enumerator gGattInvalidValueLength_c

An invalid value length was supplied to a Characteristic Read/Write operation.

enumerator gGattServerTimeout_c

No response was received from the Server.

enumerator gGattIndicationAlreadyInProgress_c

A Server Indication is already waiting for Client Confirmation.

enumerator gGattClientConfirmationTimeout_c

No Confirmation was received from the Client after a Server Indication.

enumerator gGattInvalidPduReceived_c

An invalid PDU length was received.

enumerator gGattPeerDisconnected_c

An ongoing GATT procedure could not be finished due to peer’s disconnection.

enumerator gGattMtuExchangeInProgress_c

A Server Indication is already waiting for Client Confirmation.

enumerator gGattOutOfSyncProceduresOngoing_c

Client can’t read the Database Hash until all pending procedures are done.

enumerator gGattConnectionSecurityRequirementsNotMet_c

Client cannot initiate communication if the device security requirements are not met, e.g., link is not yet encrypted/authenticated.

enumerator gGapStatusBase_c

GAP status base.

enumerator gGapSuccess_c

Alias.

enumerator gGapAdvDataTooLong_c

Trying to set too many bytes in the advertising payload.

enumerator gGapScanRspDataTooLong_c

Trying to set too many bytes in the scan response payload.

enumerator gGapDeviceNotBonded_c

Trying to execute an API that is only available for bonded devices.

enumerator gGapAnotherProcedureInProgress_c

Trying to start a GAP procedure while one is already in progress.

enumerator gDevDbStatusBase_c

DeviceDatabase status base.

enumerator gDevDbSuccess_c

Alias.

enumerator gDevDbCccdLimitReached_c

CCCD value cannot be saved because Server’s CCCD list is full for the current client.

enumerator gDevDbCccdNotFound_c

CCCD with the given handle is not found in the Server’s list for the current client.

enumerator gGattDbStatusBase_c

GATT Database status base.

enumerator gGattDbSuccess_c

Alias.

enumerator gGattDbInvalidHandle_c

An invalid handle was passed as parameter.

enumerator gGattDbCharacteristicNotFound_c

Characteristic was not found.

enumerator gGattDbCccdNotFound_c

CCCD was not found.

enumerator gGattDbServiceNotFound_c

Service Declaration was not found.

enumerator gGattDbDescriptorNotFound_c

Characteristic Descriptor was not found.

enumerator gGattDbServiceOrCharAlreadyDeclared_c

Service or characteristic already declared

enumerator gCsStatusBase_c

Channel Sounding status base.

enumerator gCsSuccess_c

Alias.

enumerator gCsCallbackAlreadyInstalled_c

The selected callback was already installed.

enumerator gCsSecurityCheckFail_c

GAP Mode 4 security check fail.

enum bearerStatus_tag

Enhanced ATT bearer status values

Values:

enumerator gEattBearerActive_c
enumerator gEattBearerReconfInProgress_c
enumerator gEattBearerSuspended_c
enumerator gEattBearerAllocated_c
enumerator gEattBearerFree_c
enumerator gEattBearerAlreadyAllocated_c
enum bleAdvertisingType_t

Advertising Type

Values:

enumerator gAdvConnectableUndirected_c

Answers to both connect and scan requests.

enumerator gAdvDirectedHighDutyCycle_c

Answers only to connect requests; smaller advertising interval for quicker connection.

enumerator gAdvScannable_c

Answers only to scan requests.

enumerator gAdvNonConnectable_c

Does not answer to connect nor scan requests.

enumerator gAdvDirectedLowDutyCycle_c

Answers only to connect requests; larger advertising interval.

enum bleAdvReportEventProperties_tag

Values:

enumerator gAdvEventConnectable_c

Connectable Advertisement

enumerator gAdvEventScannable_c

Scannable Advertisement

enumerator gAdvEventDirected_c

Directed Advertisement

enumerator gAdvEventScanResponse_c

Scan Response

enumerator gAdvEventLegacy_c

Legacy Advertisement PDU

enumerator gAdvEventAnonymous_c

Anonymous Advertisement

enum bleAdvRequestProperties_tag

Values:

enumerator gAdvReqConnectable_c

Connectable Advertising

enumerator gAdvReqScannable_c

Scannable Advertising

enumerator gAdvReqDirected_c

Directed Advertising

enumerator gAdvReqHighDutyCycle_c

High Duty Cycle

enumerator gAdvReqLegacy_c

Legacy Advertising PDU

enumerator gAdvReqAnonymous_c

Anonymous Advertising

enumerator gAdvIncludeTxPower_c

Set this option to include the Tx power in advertising packet.

enumerator gAdvUseDecisionPDU_c

Use ADV_DECISION_IND PDU(0b1001).

enumerator gAdvIncludeAdvAinDecisionPDU_c

Include AdvA in the extended header of all decision PDUs.

enumerator gAdvIncludeADIinDecisionPDU_c

Include ADI in the extended header of all decision PDUs.

enum bleAdvertisingFilterPolicy_t

Values:

enumerator gBleAdvFilterAllowScanFromAnyAllowConnFromAny_c

Filter Accept List is ignored.

enumerator gBleAdvFilterAllowScanFromWLAllowConnFromAny_c

Filter Accept List is used only for Scan Requests.

enumerator gBleAdvFilterAllowScanFromAnyAllowConnFromWL_c

Filter Accept List is used only for Connection Requests.

enumerator gBleAdvFilterAllowScanFromWLAllowConnFromWL_c

Filter Accept List is used for both Scan and Connection Requests.

enum bleLlConnectionRole_t

Values:

enumerator gBleLlConnectionCentral_c

Link Layer Central Role

enumerator gBleLlConnectionPeripheral_c

Link Layer Peripheral Role

enum bleCentralClockAccuracy_tag

Values:

enumerator gBleCentralClkAcc500ppm_c
enumerator gBleCentralClkAcc250ppm_c
enumerator gBleCentralClkAcc150ppm_c
enumerator gBleCentralClkAcc100ppm_c
enumerator gBleCentralClkAcc75ppm_c
enumerator gBleCentralClkAcc50ppm_c
enumerator gBleCentralClkAcc30ppm_c
enumerator gBleCentralClkAcc20ppm_c
enum bleAdvertiserClockAccuracy_tag

Values:

enumerator gBleAdvertiserClkAcc500ppm_c
enumerator gBleAdvertiserClkAcc250ppm_c
enumerator gBleAdvertiserClkAcc150ppm_c
enumerator gBleAdvertiserClkAcc100ppm_c
enumerator gBleAdvertiserClkAcc75ppm_c
enumerator gBleAdvertiserClkAcc50ppm_c
enumerator gBleAdvertiserClkAcc30ppm_c
enumerator gBleAdvertiserClkAcc20ppm_c
enum bleAdvertisingReportEventType_t

Values:

enumerator gBleAdvRepAdvInd_c
enumerator gBleAdvRepAdvDirectInd_c
enumerator gBleAdvRepAdvScanInd_c
enumerator gBleAdvRepAdvNonconnInd_c
enumerator gBleAdvRepScanRsp_c
enum hciPacketType_t

Values:

enumerator gHciCommandPacket_c

HCI Command

enumerator gHciDataPacket_c

L2CAP Data Packet

enumerator gHciSynchronousDataPacket_c

Not used in BLE

enumerator gHciEventPacket_c

HCI Event

enumerator gHciIsoDataPacket_c

HCI ISO data packet

enum bleScanType_t

Scanning type enumeration.

Values:

enumerator gScanTypePassive_c

Passive Scanning - advertising packets are immediately reported to the Host.

enumerator gScanTypeActive_c

Active Scanning - the scanner sends scan requests to the advertiser and reports to the Host after the scan response is received.

enum bleTransmitPowerLevelType_t

Values:

enumerator gReadCurrentTxPowerLevel_c

Current TX Power level.

enumerator gReadMaximumTxPowerLevel_c

Maximum recorded TX Power level.

enum bleTransmitPowerChannelType_t

Values:

enumerator gTxPowerAdvChannel_c

Advertising channel type when setting Tx Power.

enumerator gTxPowerConnChannel_c

Connection channel type when setting Tx Power.

enum bleChannelOverrideMode_t

Values:

enumerator gOverrideAdvChannels_c

Set the advertising channels

enumerator gOverrideScanChannels_c

Set the scanning channels

enumerator gOverrideInitChannels_c

Set the connection initiation channels

enum bleChannelFrequency_t

Values:

enumerator gBleFreq2402MHz_c
enumerator gBleFreq2404MHz_c
enumerator gBleFreq2406MHz_c
enumerator gBleFreq2408MHz_c
enumerator gBleFreq2410MHz_c
enumerator gBleFreq2412MHz_c
enumerator gBleFreq2414MHz_c
enumerator gBleFreq2416MHz_c
enumerator gBleFreq2418MHz_c
enumerator gBleFreq2420MHz_c
enumerator gBleFreq2422MHz_c
enumerator gBleFreq2424MHz_c
enumerator gBleFreq2426MHz_c
enumerator gBleFreq2428MHz_c
enumerator gBleFreq2430MHz_c
enumerator gBleFreq2432MHz_c
enumerator gBleFreq2434MHz_c
enumerator gBleFreq2436MHz_c
enumerator gBleFreq2438MHz_c
enumerator gBleFreq2440MHz_c
enumerator gBleFreq2442MHz_c
enumerator gBleFreq2444MHz_c
enumerator gBleFreq2446MHz_c
enumerator gBleFreq2448MHz_c
enumerator gBleFreq2450MHz_c
enumerator gBleFreq2452MHz_c
enumerator gBleFreq2454MHz_c
enumerator gBleFreq2456MHz_c
enumerator gBleFreq2458MHz_c
enumerator gBleFreq2460MHz_c
enumerator gBleFreq2462MHz_c
enumerator gBleFreq2464MHz_c
enumerator gBleFreq2466MHz_c
enumerator gBleFreq2468MHz_c
enumerator gBleFreq2470MHz_c
enumerator gBleFreq2472MHz_c
enumerator gBleFreq2474MHz_c
enumerator gBleFreq2476MHz_c
enumerator gBleFreq2478MHz_c
enumerator gBleFreq2480MHz_c
enum bleTxTestPacketPayload_t

Values:

enumerator gBleTestPacketPayloadPrbs9_c
enumerator gBleTestPacketPayloadPattern11110000_c
enumerator gBleTestPacketPayloadPattern10101010_c
enumerator gBleTestPacketPayloadPrbs15_c
enumerator gBleTestPacketPayloadPatternAllBits1_c
enumerator gBleTestPacketPayloadPatternAllBits0_c
enumerator gBleTestPacketPayloadPattern00001111_c
enumerator gBleTestPacketPayloadPattern01010101_c
enum bleHardwareErrorCode_t

Values:

enumerator bleHwErrCodeNoError_c
enum leSupportedFeatures_tag

Values:

enumerator gLeEncryption_c
enumerator gLeConnectionParametersRequestProcedure_c
enumerator gLeExtendedRejectIndication_c
enumerator gLePeripheralInitiatedFeaturesExchange_c
enumerator gLePing_c
enumerator gLeDataPacketLengthExtension_c
enumerator gLeLlPrivacy_c
enumerator gLeExtendedScannerFilterPolicies_c
enumerator gLe2MbPhy_c
enumerator gLeStableModulationIdxTx_c
enumerator gLeStableModulationIdxRx_c
enumerator gLeCodedPhy_c
enumerator gLeExtendedAdv_c
enumerator gLePeriodicAdv_c
enumerator gLeChannelSelAlg2_c
enumerator gLePowerClass1_c
enumerator gLeMinNumOfUsedChanProcedure_c
enumerator gLePowerControlRequest1_c
enumerator gLePowerControlRequest2_c
enumerator gLePathLossMonitoring_c
enumerator gAdvertisingCodingSelection_c
enumerator gAdvertisingCodingSelectionHostSupport_c
enumerator gLePawrAdvertiser_c
enumerator gLePawrScanner_c
enum gapGenericEventType_t

Generic Event Type

Values:

enumerator gInitializationComplete_c

Initial setup started by Ble_HostInitialize is complete.

enumerator gInternalError_c

An internal error occurred.

enumerator gAdvertisingSetupFailed_c

Error during advertising setup.

enumerator gAdvertisingParametersSetupComplete_c

Advertising parameters have been successfully set. Response to Gap_SetAdvertisingParameters.

enumerator gAdvertisingDataSetupComplete_c

Advertising and/or scan response data has been successfully set. Response to Gap_SetAdvertisingData.

enumerator gFilterAcceptListSizeRead_c

Contains the Filter Accept List size. Response to Gap_ReadFilterAcceptListSize.

enumerator gDeviceAddedToFilterAcceptList_c

Device has been added to Filter Accept List. Response to Gap_AddDeviceToFilterAcceptList.

enumerator gDeviceRemovedFromFilterAcceptList_c

Device has been removed from the Filter Accept List. Response to Gap_RemoveDeviceFromFilterAcceptList.

enumerator gFilterAcceptListCleared_c

Filter Accept List has been cleared. Response to Gap_ClearFilterAcceptList.

enumerator gRandomAddressReady_c

A random device address has been created. Response to Gap_CreateRandomDeviceAddress.

enumerator gCreateConnectionCanceled_c

Connection initiation was successfully cancelled. Response to Gap_CancelInitiatingConnection.

enumerator gPublicAddressRead_c

Contains the public device address. Response to Gap_ReadPublicDeviceAddress.

enumerator gAdvTxPowerLevelRead_c

Contains the TX power on the advertising channel. Response to Gap_ReadAdvertisingTxPowerLevel.

enumerator gPrivateResolvableAddressVerified_c

Contains the result of PRA verification. Response to Gap_VerifyPrivateResolvableAddress.

enumerator gRandomAddressSet_c

Random address has been set into the Controller. Response to Gap_SetRandomAddress.

enumerator gLeScPublicKeyRegenerated_c

The private/public key pair used for LE Secure Connections pairing has been regenerated.

enumerator gLeScLocalOobData_c

Local OOB data used for LE Secure Connections pairing.

enumerator gHostPrivacyStateChanged_c

Host Privacy was enabled or disabled.

enumerator gControllerPrivacyStateChanged_c

Controller Privacy was enabled or disabled.

enumerator gControllerTestEvent_c

Controller Test was started or stopped.

enumerator gTxPowerLevelSetComplete_c

Controller Tx Power Level set complete or invalid.

enumerator gLePhyEvent_c

Phy Mode of a connection has been updated by the Controller.

enumerator gControllerNotificationEvent_c

Controller Enhanced Notification received.

enumerator gGetConnParamsComplete_c

Get Connection Parameters command complete

enumerator gBondCreatedEvent_c

Bond Created Event signalling the stack created a bond after pairing or at app request.

enumerator gChannelMapSet_c

Channel map set complete in the Controller.

enumerator gExtAdvertisingParametersSetupComplete_c

Extended advertising parameters have been successfully set.

enumerator gExtAdvertisingDataSetupComplete_c

Extended advertising data has been successfully set.

enumerator gExtAdvertisingSetRemoveComplete_c

An advertising set has been removed from the Controller.

enumerator gPeriodicAdvParamSetupComplete_c

Periodic advertising parameters have been successfully set.

enumerator gPeriodicAdvDataSetupComplete_c

Periodic advertising data have been successfully set.

enumerator gPeriodicAdvertisingStateChanged_c

Event received when periodic advertising has been successfully enabled or disabled.

enumerator gPeriodicAdvListUpdateComplete_c

Periodic advertiser list has been successfully updated.

enumerator gPeriodicAdvCreateSyncCancelled_c

Periodic advertising create sync command was successfully cancelled

enumerator gTxEntryAvailable_c

This event is generated when a TX entry becomes available after they were all in use.

enumerator gControllerLocalRPARead_c

Contains the resolvable private device address. Response to Gap_ReadControllerLocalRPA.

enumerator gConnectionlessCteTransmitParamsSetupComplete_c

Connectionless CTE transmit parameters have been successfully set.

enumerator gConnectionlessCteTransmitStateChanged_c

Connectionless CTE for an advertising set was enabled or disabled.

enumerator gConnectionlessIqSamplingStateChanged_c

Connectionless CTE IQ sampling for an advertising train was enabled or disabled.

enumerator gAntennaInformationRead_c

Antenna information was read from the controller.

enumerator gModifiedSleepClockAccuracy_c

The Sleep Clock accuracy was changed

enumerator gPeriodicAdvRecvEnableComplete_c

Enable or disable reports for the periodic advertising train command is complete

enumerator gPeriodicAdvSyncTransferComplete_c

The command used to instruct the Controller to send synchronization information about the periodic advertising train identified by the Sync_Handle parameter to a connected device is complete

enumerator gPeriodicAdvSetInfoTransferComplete_c

The command used to instruct the Controller to send synchronization information about the periodic advertising in an advertising set to a connected device is complete

enumerator gSetPeriodicAdvSyncTransferParamsComplete_c

The command specifying how the Controller will process periodic advertising synchronization information is complete

enumerator gSetDefaultPeriodicAdvSyncTransferParamsComplete_c

The command which set the default parameters for periodic advertising synchronization information is complete

enumerator gPeriodicAdvSyncTransferSucceeded_c

Event received when Controller has succeeded the Synchronization to the periodic advertising train

enumerator gPeriodicAdvSyncTransferFailed_c

Event received when Controller has failed the Synchronization to the periodic advertising train

enumerator gConnEvtLeGenerateDhKeyComplete_c

DHKey generation is complete. Key can be found in gapConnectionEvent_t.eventData.leGenerateDhKeyCompleteEvent

enumerator gHandoverGetComplete_c

Handover data get complete.

enumerator gHandoverSetComplete_c

Handover data set complete.

enumerator gHandoverGetCsLlContextComplete_c

Handover CS LL context data get complete.

enumerator gHandoverSetCsLlContextComplete_c

Handover CS LL context data set complete.

enumerator gHandoverGetTime_c

Handover Get Time command complete

enumerator gHandoverSuspendTransmitComplete_c

Handover Suspend Transmit command complete

enumerator gHandoverResumeTransmitComplete_c

Handover Resume Transmit command complete

enumerator gHandoverAnchorNotificationStateChanged_c

Handover Anchor Notification command complete

enumerator gHandoverAnchorSearchStarted_c

Handover Anchor Search Start command complete

enumerator gHandoverAnchorSearchStopped_c

Handover Anchor Search Stop command complete

enumerator gHandoverTimeSyncTransmitStateChanged_c

Handover Time Sync Transmit command complete

enumerator gHandoverTimeSyncReceiveComplete_c

Handover Time Sync Receive command complete

enumerator gHandoverAnchorMonitorEvent_c

Event received from Controller - Handover Anchor Monitor

enumerator gHandoverTimeSyncEvent_c

Event received from Controller - Handover Time Sync

enumerator gHandoverConnParamUpdateEvent_c

Event received from Controller - Handover Conn Params Update

enumerator gRemoteVersionInformationRead_c

Version Information of a peer was read

enumerator gLlSkdReportEvent_c

Session Key Diversifier report

enumerator gLeSetSchedulerPriorityComplete_c

LE Set Scheduler Priority command complete

enumerator gDeInitializationComplete_c

Event received when Ble_HostDeInitialize is complete.

enumerator gHandoverAnchorMonitorPacketEvent_c

Event received from Controller - Handover Anchor Monitor Packet. pPdu must be freed by the application

enumerator gHandoverAnchorMonitorPacketContinueEvent_c

Event received from Controller - Handover Anchor Monitor Packet Continue. pPdu must be freed by the application

enumerator gHandoverFreeComplete_c

Handover data free complete.

enumerator gHandoverUpdateConnParamsComplete_c

Handover Update Connection Parameters command complete

enumerator gExtAdvertisingDecisionDataSetupComplete_c

Extended advertising decision data has been successfully set.

enumerator gDecisionInstructionsSetupComplete_c

decision instructions used when listening for decision advertisements PDUs has been successfully set.

enumerator gHandoverLlPendingData_c

ACL Data pending to be transmited by the LL

enumerator gLeChannelOverrideComplete_c

LE Channel Override command complete

enumerator gPeriodicAdvSetSubeventDataComplete_c

Periodic advertising subevent data has been successfully set.

enumerator gPeriodicAdvSetResponseDataComplete_c

Periodic advertising response data has been successfully set.

enumerator gPeriodicSyncSubeventComplete_c

Set Sync Subevent command successfully completed.

enumerator gHandoverConnectionUpdateProcedureEvent_c

This event is used to report the new connection parameters indicated during the Connection Update procedure

enumerator gHandoverApplyConnectionUpdateProcedureComplete_c

This event is used to report the new connection parameters indicated during the Connection Update procedure

enumerator gVendorUnitaryTestComplete_c

Vendor Unitary Test command complete

enumerator gLeSetDataRelatedAddressChangesComplete_c

Set Data Related Address Changes command complete

enum gapInternalErrorSource_t

Internal Error Source - the command that triggered the error

Values:

enumerator gHciCommandStatus_c
enumerator gCheckPrivateResolvableAddress_c
enumerator gVerifySignature_c
enumerator gAddNewConnection_c
enumerator gResetController_c
enumerator gSetEventMask_c
enumerator gReadLeBufferSize_c
enumerator gSetLeEventMask_c
enumerator gReadDeviceAddress_c
enumerator gReadLocalSupportedFeatures_c
enumerator gReadFilterAcceptListSize_c
enumerator gClearFilterAcceptList_c
enumerator gAddDeviceToFilterAcceptList_c
enumerator gRemoveDeviceFromFilterAcceptList_c
enumerator gCancelCreateConnection_c
enumerator gReadRadioPower_c
enumerator gSetRandomAddress_c
enumerator gCreateRandomAddress_c
enumerator gProvideLongTermKey_c
enumerator gDenyLongTermKey_c
enumerator gConnect_c
enumerator gDisconnect_c
enumerator gTerminatePairing_c
enumerator gSendPeripheralSecurityRequest_c
enumerator gEnterPasskey_c
enumerator gProvideOob_c
enumerator gSendSmpKeys_c
enumerator gWriteSuggestedDefaultDataLength_c
enumerator gReadSuggestedDefaultDataLength_c
enumerator gUpdateLeDataLength_c
enumerator gEnableHostPrivacy_c
enumerator gEnableControllerPrivacy_c
enumerator gLeScSendKeypressNotification_c
enumerator gLeScSetPeerOobData_c
enumerator gLeScGetLocalOobData_c
enumerator gLeScValidateNumericValue_c
enumerator gLeScRegeneratePublicKey_c
enumerator gLeSetResolvablePrivateAddressTimeout_c
enumerator gDefaultPairingProcedure_c
enumerator gLeControllerTest_c
enumerator gLeReadPhy_c
enumerator gLeSetPhy_c
enumerator gSaveKeys_c
enumerator gSetChannelMap_c
enumerator gReadLocalSupportedCommands_c
enumerator gEnableLdmTimer_c
enumerator gRemoveAdvertisingSet_c
enumerator gLePeriodicAdvSyncEstb_c
enumerator gLePeriodicAdvSyncLost_c
enumerator gLeRemoveDeviceFromPeriodicAdvList_c
enumerator gLeClearPeriodicAdvList_c
enumerator gLeAddDeviceToPeriodicAdvList_c
enumerator gLeReadNumOfSupportedAdvSets_c
enumerator gLeReadPeriodicAdvListSize_c
enumerator gLeReadMaxAdvDataLen_c
enumerator gPeriodicAdvCreateSync
enumerator gPeriodicAdvCancelSync
enumerator gPeriodicAdvTerminateSync
enumerator gL2capRxPacket_c
enumerator gExtAdvReportProcess_c
enumerator gReadControllerLocalRPA_c
enumerator gHciEventReceiveHandler_c
enumerator gSetConnectionlessCteTransmitParams_c
enumerator gSetConnectionlessCteTransmitEnable_c
enumerator gSetConnectionlessIqSamplingEnable_c
enumerator gReadAntennaInformation_c
enumerator gSetConnectionCteReceiveParams_c
enumerator gSetConnectionCteTransmitParams_c
enumerator gConnectionCteReqEnable_c
enumerator gConnectionCteRspEnable_c
enumerator gGenerateDHKeyV2_c
enumerator gModifySleepClockAccuracy_c
enumerator gPeriodicAdvRcvEnable_c
enumerator gPeriodicAdvSyncTransfer_c
enumerator gPeriodicAdvSetInfoTransfer_c
enumerator gSetPeriodicAdvSyncTransferParams_c
enumerator gSetDefaultPeriodicAdvSyncTransferParams_c
enumerator gEnhancedReadTransmitPowerLevel_c
enumerator gReadRemoteTransmitPowerLevel_c
enumerator gSetPathLossReportingParams_c
enumerator gSetPathLossReportingEnable_c
enumerator gSetTransmitPowerReportingEnable_c
enumerator gEattConnectionRequest_c
enumerator gEattConnectionAccept_c
enumerator gEattReconfigureRequest_c
enumerator gEattSendCreditsRequest_c
enumerator gEattDisconnectRequest_c
enumerator gEattL2caCancelConnection_c
enumerator gEattL2caSendLeFlowControlCredit_c
enumerator gEattL2caDisconnectLePsm_c
enumerator gEattL2caHandleSendLeCbData_c
enumerator gEattL2caHandleRecvLeCbData_c
enumerator gEattL2caEnhancedReconfigureReq_c
enumerator gEattL2caEnhancedCancelConnection_c
enumerator gHciRecvFragmentOfPacket_c
enumerator gHciDataDiscardedAlloc_c

A memory allocation failure occurred in the HCI layer. Data was discarded.

enumerator gHciDataDiscardedInvalidStateParam_c

A packet with an invalid parameter or length was received by the HCI layer. Data was discarded.

enumerator gGetConnParams_c

An error occurred during the Get Connection Params procedure

enumerator gHandover_c

An error occurred during the connection handover process

enumerator gHandoverGetLlContext_c

An error occurred during the Handover Get LL Context procedure

enumerator gHandoverConnect_c

An error occurred during the Handover Connect procedure

enumerator gHandoverDisconnect_c

An error occurred during the Handover Disconnect procedure

enumerator gHandoverSetSkd_c

An error occurred during the Handover Set SKD procedure

enumerator gHandoverSuspendTransmitLlProcInProgress_c

Could not suspend transmit at LL level due to an LL procedure being in progress

enumerator gHandoverSuspendTransmitHostTxInProgress_c

Could not suspend transmit at Host level due to ongoing data transfers

enumerator gHandoverGetCsLlContext_c

An error occurred during the Handover Get CS LL Context procedure

enumerator gHandoverSetCsLlContext_c

An error occurred during the Handover Set CS LL Context procedure

enumerator gHandoverUpdateConnParams_c

An error occurred during the Handover Update Connection Parameters procedure

enumerator gReadRemoteVersionInfo_c
enumerator gLeSetSchedulerPriority_c
enumerator gLeSetHostFeature_c
enumerator gSetExtAdvDecisionData_c
enumerator gSetDecisionInstructions_c
enumerator gSetExpmSupportedFeatures_c
enumerator gHandoverSuspendTransmitHciTx_c

Could not suspend transmit due to HCI tx error

enumerator gHandoverResumeTransmitHciTx_c

Could not resume transmit due to HCI tx error

enumerator gHandoverAnchorNotifHciTx_c

Could not enable/disable Anchor Notification due to HCI tx error

enumerator gHandoverAnchorSearchStartHciTx_c

Could not start Anchor Search due to HCI tx error

enumerator gHandoverAnchorSearchStopHciTx_c

Could not stop Anchor Search due to HCI tx error

enumerator gHandoverTimeSyncTxHciTx_c

Could not start/stop Anchor Time Sync transmit due to HCI tx error

enumerator gHandoverTimeSyncRxHciTx_c

Could not start/stop Anchor Time Receive transmit due to HCI tx error

enumerator gHandoverSuspendTransmitLl_c

Handover Suspend Transmit Link Layer error

enumerator gHandoverGetTimeLl_c

Handover Get Time Link Layer error

enumerator gHandoverResumeTransmitLl_c

Handover Resume Transmit Link Layer error

enumerator gHandoverAnchorNotifLl_c

Handover Anchor Notification Link Layer error

enumerator gHandoverAnchorSearchStartLl_c

Handover Anchor Search Start Link Layer error

enumerator gHandoverAnchorSearchStopLl_c

Handover Anchor Search Stop Link Layer error

enumerator gHandoverTimeSyncTxLl_c

Handover Time Sync Transmit Link Layer error

enumerator gHandoverTimeSyncRxLl_c

Handover Time Sync Receive Link Layer error

enumerator gHandoverSetLlPendingData_c

Handover Set LL Pending Data error

enumerator gLeChannelOverride_c

LE Channel Override command unsuccessful

enumerator gLeSetPeriodicAdvParamsV2_c
enumerator gLeSetPeriodicAdvSubeventData_c
enumerator gLeSetPeriodicAdvResponseData_c
enumerator gLeSetPeriodicSyncSubevent_c
enumerator gLePeriodicAdvResponseReport_c
enumerator gHandoverApplyConnectionUpdateProcedure_c

An error occurred during the Handover Apply Connection Update procedure

enumerator gVendorUnitaryTest_c

An error occurred during the Vendor Unitary Test procedure

enumerator gSetDataRelatedAddressChanges_c

An error occurred during the Set Data Related Address procedure

enum gapControllerTestEventType_t

Controller Test Event Type

Values:

enumerator gControllerReceiverTestStarted_c
enumerator gControllerTransmitterTestStarted_c
enumerator gControllerTestEnded_c
enum gapLeAllPhyFlags_t

Le All Phys Preferences flags.

Values:

enumerator gLeTxPhyNoPreference_c

Host has no preference for Tx Phy

enumerator gLeRxPhyNoPreference_c

Host has no preference for Rx Phy

enum gapLePhyOptionsFlags_t

Le Phys Options Preferences flags.

Values:

enumerator gLeCodingNoPreference_c

Host has no preference on the LE Coded Phy

enumerator gLeCodingS2_c

Host prefers to use S=2 on the LE Coded Phy

enumerator gLeCodingS8_c

Host prefers to use S=8 on the LE Coded Phy

enumerator gLeCodingS2Req_c

Host requires to use S=2 on the LE Coded Phy

enumerator gLeCodingS8Req_c

Host requires to use S=8 on the LE Coded Phy

enum gapLePhyMode_tag

Values:

enumerator gLePhy1M_c

Tx/Rx Phy on the connection is LE 1M

enumerator gLePhy2M_c

Tx/Rx Phy on the connection is LE 2M

enumerator gLePhyCoded_c

Tx/Rx Phy on the connection is LE Coded

enum gapPhyEventType_t

Phy Event Type

Values:

enumerator gPhySetDefaultComplete_c

Gap_LeSetPhy default mode was successful

enumerator gPhyRead_c

Gap_LeReadPhy return values

enumerator gPhyUpdateComplete_c

Gap_LeSetPhy return values for a connection or an update occurred

enum bleNotificationEventType_tag

Values:

enumerator gNotifEventNone_c

No enhanced notification event enabled

enumerator gNotifConnEventOver_c

Connection event over

enumerator gNotifConnRxPdu_c

Connection Rx PDU

enumerator gNotifAdvEventOver_c

Advertising event over

enumerator gNotifAdvTx_c

Advertising ADV transmitted

enumerator gNotifAdvScanReqRx_c

Advertising SCAN REQ Rx

enumerator gNotifAdvConnReqRx_c

Advertising CONN REQ Rx

enumerator gNotifScanEventOver_c

Scanning event over

enumerator gNotifScanAdvPktRx_c

Scanning ADV PKT Rx

enumerator gNotifScanRspRx_c

Scanning SCAN RSP Rx

enumerator gNotifScanReqTx_c

Scanning SCAN REQ Tx

enumerator gNotifConnCreated_c

Connection created

enumerator gNotifChannelMatrix_c

Enable channel status monitoring (KW37 only)

enumerator gNotifPhyReq_c

Phy Req Pdu ack received (KW37 only)

enumerator gNotifConnChannelMapUpdate_c

Channel map update

enumerator gNotifConnInd_c

Connect indication

enumerator gNotifPhyUpdateInd_c

Phy update indication

enum bleCteTransmitEnable_t

Values:

enumerator gCteTransmitDisable_c
enumerator gCteTransmitEnable_c
enum bleIqSamplingEnable_t

Values:

enumerator gIqSamplingDisable_c
enumerator gIqSamplingEnable_c
enum bleCteReqEnable_t

Values:

enumerator gCteReqDisable_c
enumerator gCteReqEnable_c
enum bleCteRspEnable_t

Values:

enumerator gCteRspDisable_c
enumerator gCteRspEnable_c
enum bleCteType_tag

Values:

enumerator gCteTypeAoA_c

AoA Constant Tone Extension

enumerator gCteTypeAoD1us_c

AoD Constant Tone Extension with 1 microsecond slots

enumerator gCteTypeAoD2us_c

AoD Constant Tone Extension with 2 microsecond slots

enumerator gCteTypeNoCte_c

No Constant Tone Extension

enum bleSlotDurations_tag

Values:

enumerator gSlotDurations1us_c

Switching and sampling slot durations are 1 microsecond each

enumerator gSlotDurations2us_c

Switching and sampling slot durations are 2 microseconds each

enum bleIqReportPacketStatus_tag

Values:

enumerator gIqReportPacketStatusCorrectCrc_c

CRC was correct

enumerator gIqReportPacketStatusCrcIncorrectUsedLength_c

CRC was incorrect and the Length and CTETime fields of the packet were used to determine sampling points

enumerator gIqReportPacketStatusCrcIncorrectUsedOther_c

CRC was incorrect but the Controller has determined the position and length of the Constant Tone Extension in some other way

enumerator gIqReportPacketStatusInsufficientResources_c

Insufficient resources to sample (Channel_Index, CTE_Type, and Slot_Durations invalid).

enum blePathLossThresholdZoneEntered_tag

Values:

enumerator gPathLossThresholdLowZone_c

Entered low zone.

enumerator gPathLossThresholdMiddleZone_c

Entered middle zone.

enumerator gPathLossThresholdHighZone_c

Entered high zone.

enum bleTxPowerReportingReason_tag

Values:

enumerator gLocalTxPowerChanged_c

Local transmit power changed.

enumerator gRemoteTxPowerChanged_c

Remote transmit power changed.

enumerator gReadRemoteTxPowerLevelCommandCompleted_c

HCI_LE_Read_Remote_Transmit_Power_Level command completed.

enum blePowerControlPhyType_tag

Values:

enumerator gPowerControlLePhy1M_c

LE 1M Phy.

enumerator gPowerControlLePhy2M_c

LE 2M Phy.

enumerator gPowerControlLePhyCodedS8_c

LE Coded Phy with S=8 data coding.

enumerator gPowerControlLePhyCodedS2_c

LE Coded Phy with S=2 data coding.

enum blePathLossReportingEnable_t

Values:

enumerator gPathLossReportingDisable_c
enumerator gPathLossReportingEnable_c
enum bleTxPowerReportingEnable_t

Values:

enumerator gTxPowerReportingDisable_c
enumerator gTxPowerReportingEnable_c
enum bleHandoverSuspendTransmitMode_t

Values:

enumerator gDoNotUseEventCounter_c
enumerator gUseEventCounter_c
enumerator gSafeStopLlTx_c
enumerator gSafeStopHostLlTx_c
enum bleHandoverAnchorSearchMode_t

Values:

enumerator gSuspendTxMode_c
enumerator gRssiSniffingMode_c
enumerator gPacketMode_c
enum bleGetConnParamsMode_t

Values:

enumerator gSendEventAfterRemoteSNChange_c
enumerator gSendEventAfterLLProcUpdate_c
enum bleHandoverAnchorNotificationEnable_t

Values:

enumerator gAnchorNotificationDisable_c
enumerator gAnchorNotificationEnable_c
enum bleHandoverTimeSyncEnable_t

Values:

enumerator gTimeSyncDisable_c
enumerator gTimeSyncEnable_c
enum bleHandoverTimeSyncStopWhenFound_t

Values:

enumerator gTimeSyncDoNotStopWhenFound_c
enumerator gTimeSyncStopWhenFound_c
enum bleAdvIndexType_t

Values:

enumerator gAdvIndexAscend_c
enumerator gAdvIndexDescend_c
enumerator gAdvIndexUser_c
enumerator gAdvIndexRandom_c
typedef enum bleResult_tag bleResult_t

BLE result type - the return value of BLE API functions

typedef uint8_t deviceId_t

Unique identifier type for a connected device.

typedef uint8_t bearerId_t

ATT bearer identifier.

typedef enum bearerStatus_tag bearerStatus_t

Enhanced ATT bearer status values

typedef uint8_t bleAddressType_t

Bluetooth Device Address Type - Size: 1 Octet, Range: [gBleAddrTypePublic_c:gBleAddrTypeRandom_c]

typedef uint8_t bleDeviceAddress_t[(6U)]

Bluetooth Device Address - array of 6 bytes.

typedef uint8_t bleUuidType_t

Bluetooth UUID type - values chosen to correspond with the ATT UUID format

typedef uint16_t bleAdvReportEventProperties_t

Advertising Event properties

typedef uint16_t bleAdvRequestProperties_t

Advertising Request properties

typedef uint8_t bleCentralClockAccuracy_t
typedef uint8_t bleAdvertiserClockAccuracy_t
typedef uint8_t bleScanningFilterPolicy_t

Scanning filter policy enumeration - Size: 1 Octet, Range: [gScanAll_c:gScanWithFilterAcceptList_c]

typedef uint8_t bleInitiatorFilterPolicy_t

Initiator filter policy enumeration - Size: 1 Octet, Range: [gUseDeviceAddress_c:gUseFilterAcceptList_c]

typedef uint8_t blePrivacyMode_t

Privacy Mode enumeration - Size: 1 Octet, Range: [gNetworkPrivacy_c:gDevicePrivacy_c]

typedef uint8_t bleChannelMap_t[(5U)]

Bluetooth Channel map - array of 5 bytes.

typedef uint64_t leSupportedFeatures_t
typedef uint8_t gapLePhyFlags_t

Le Tx/Rx Phys Preferences flags.

typedef uint8_t gapLePhyMode_t

Le Tx/Rx Phys.

typedef uint16_t bleNotificationEventType_t

Controller Enhanced Notification Event Type

typedef struct bleBondCreatedEvent_tag bleBondCreatedEvent_t

Bond Created Event

typedef struct gapAddrReadyEvent_t_tag gapAddrReadyEvent_t

Address Ready Event

typedef struct bleAntennaInformation_tag bleAntennaInformation_t

Antenna Information Read Event

typedef struct periodicAdvSyncTransferEvent_tag periodicAdvSyncTransferEvent_t
typedef struct periodicAdvSetInfoTransferEvent_tag periodicAdvSetInfoTransferEvent_t
typedef struct periodicAdvSetSyncTransferParamsEvent_tag periodicAdvSetSyncTransferParamsEvent_t
typedef struct gapSyncTransferReceivedEventData_tag gapSyncTransferReceivedEventData_t
typedef struct getConnParams_tag getConnParams_t
typedef struct handoverGetTime_tag handoverGetTime_t
typedef struct handoverAnchorSearchStart_tag handoverAnchorSearchStart_t
typedef struct handoverAnchorSearchStop_tag handoverAnchorSearchStop_t
typedef struct handoverConnect_tag handoverConnect_t
typedef struct handoverGetData_tag handoverGetData_t
typedef struct handoverSetData_tag handoverSetData_t
typedef struct handoverGetCsLlContext_tag handoverGetCsLlContext_t
typedef struct handoverAnchorMonitorEvent_tag handoverAnchorMonitorEvent_t
typedef struct handoverAnchorMonitorPacketEvent_tag handoverAnchorMonitorPacketEvent_t
typedef struct handoverAnchorMonitorPacketContinueEvent_tag handoverAnchorMonitorPacketContinueEvent_t
typedef struct handoverConnectionUpdateProcedureEvent_tag handoverConnectionUpdateProcedureEvent_t
typedef struct handoverTimeSyncEvent_tag handoverTimeSyncEvent_t
typedef struct handoverConnParamUpdateEvent_tag handoverConnParamUpdateEvent_t
typedef struct handoverSuspendTransmitCompleteEvent_tag handoverSuspendTransmitCompleteEvent_t
typedef struct handoverResumeTransmitCompleteEvent_tag handoverResumeTransmitCompleteEvent_t
typedef struct handoverUpdateConnParams_tag handoverUpdateConnParams_t
typedef struct handoverApplyConnectionUpdateProcedure_tag handoverApplyConnectionUpdateProcedure_t
typedef struct handoverAnchorNotificationStateChanged_tag handoverAnchorNotificationStateChanged_t
typedef struct handoverLlPendingDataIndication_tag handoverLlPendingDataIndication_t
typedef struct gapRemoteVersionInfoRead_tag gapRemoteVersionInfoRead_t
typedef struct gapLlSkdReport_tag gapLlSkdReport_t
typedef struct vendorUnitaryTestEvent_tag vendorUnitaryTestEvent_t
typedef void (*gapGenericCallback_t)(gapGenericEvent_t *pGenericEvent)

Generic Callback prototype.

typedef bleResult_t (*hciHostToControllerInterface_t)(hciPacketType_t packetType, void *pPacket, uint16_t packetSize)

Host-to-Controller API prototype.

typedef uint8_t bleCteType_t
typedef struct bleSyncCteType_tag bleSyncCteType_t
typedef uint8_t bleSlotDurations_t
typedef uint8_t bleIqReportPacketStatus_t
typedef uint8_t blePathLossThresholdZoneEntered_t
typedef uint8_t bleTxPowerReportingReason_t
typedef uint8_t blePowerControlPhyType_t
const uint8_t gBleMaxActiveConnections
const uint16_t gcConnectionEventMinDefault_c
const uint16_t gcConnectionEventMaxDefault_c
const uint8_t gBleEattMaxConnectionChannels
const uint16_t gBleEattPsmMtu
const uint8_t gMaxAdvReportQueueSize
const bool_t gUseHciCommandFlowControl

Enables/Disables Hci Command Flow Control if the host lib supports this feature

messaging_t gApp2Host_TaskQueue

App to Host message queue for the Host Task

messaging_t gHci2Host_TaskQueue

HCI to Host message queue for the Host Task

bleResult_t Ble_HostInitialize(gapGenericCallback_t genericCallback, hciHostToControllerInterface_t hostToControllerInterface)

Performs initialization of the BLE Host stack.

Remark

Application must wait for the gInitializationComplete_c generic event.

Parameters:
  • genericCallback[in] Callback used to propagate GAP generic events to the application.

  • hostToControllerInterface[in] LE Controller uplink interface function pointer

Returns:

gBleSuccess_c or error.

bleResult_t Ble_HostDeInitialize(void)

performs De-Initialize the Bluetooth LE Host

Remark

Application must wait for the gDeInitializationComplete_c generic event.

Parameters:
  • none

Return values:

gBleSuccess_c – or error.

bleResult_t Ble_HciRecv(hciPacketType_t packetType, void *pHciPacket, uint16_t packetSize)

This is the BLE Host downlink interface function.

Remark

This function must be registered as a callback by the LE Controller and called to send HCI packets (events and LE-U data) to the BLE Host.

Parameters:
  • packetType[in] The type of the packet sent by the LE Controller

  • pHciPacket[in] Pointer to the packet sent by the LE Controller

  • packetSize[in] Number of bytes sent by the LE Controller

Returns:

gBleSuccess_c or gBleOutOfMemory_c

bleResult_t Ble_HciRecvFromIsr(hciPacketType_t packetType, void *pHciPacket, uint16_t packetSize)

This is the BLE Host downlink interface function to be used in ISR context.

Remark

This function must be registered as a callback by the HCI Transport layer and called to send HCI packets from the controller (events and LE-U data) to the BLE Host.

Parameters:
  • packetType[in] The type of the packet sent by the LE Controller

  • pHciPacket[in] Pointer to the packet sent by the LE Controller

  • packetSize[in] Number of bytes sent by the LE Controller

Returns:

gBleSuccess_c or gBleOutOfMemory_c

bool_t Ble_CheckMemoryStorage(void)

This function performs runtime checks to determine whether memory storage is properly configured for the application settings.

Returns:

True if memory is configured correctly False otherwise.

OSA_EVENT_HANDLE_DEFINE (gHost_TaskEvent)

Event for the Host Task Queue

void Host_TaskHandler(void *args)

Contains the Host Task logic.

Remark

This function must be called exclusively by the Host Task code from the application.

gMaxAdvSets_c
gInvalidDeviceId_c
gInvalidNvmIndex_c
gcConnectionIntervalMin_c

Boundary values for the Connection Parameters (Standard GAP).

gcConnectionIntervalMax_c
gcConnectionPeripheralLatencyMax_c
gcConnectionSupervisionTimeoutMin_c
gcConnectionSupervisionTimeoutMax_c
gcConnectionIntervalMinDefault_c

Default values for the Connection Parameters (Preferred).

connIntervalmin = Conn_Interval_Min * 1.25 ms

Value of 0xFFFF indicates no specific minimum.

gcConnectionIntervalMaxDefault_c

connIntervalmax = Conn_Interval_Max * 1.25 ms

Value of 0xFFFF indicates no specific maximum.

gcConnectionPeripheralLatencyDefault_c
gcConnectionSupervisionTimeoutDefault_c

Time = N * 10 ms

STATIC

When unit testing is performed, access from unit test module to static functions/variables within the tested module is not possible and therefore the static storage class identifier shall be removed

gBleAddrTypePublic_c

Bluetooth Device Address Types Public Device Address - fixed into the Controller by the manufacturer.

gBleAddrTypeRandom_c

Random Device Address - set by the Host into the Controller for privacy reasons.

Ble_IsPrivateResolvableDeviceAddress(bleAddress)

PRA condition: check the 6th byte - MSB should be 0; 2nd MSB should be 1.

Ble_IsPrivateNonresolvableDeviceAddress(bleAddress)

PNRA condition: check the 6th byte - MSB should be 0; 2nd MSB should be 0.

Ble_IsRandomStaticDeviceAddress(bleAddress)

RSA condition: check the 6th byte - MSB should be 1; 2nd MSB should be 1.

Ble_DeviceAddressesMatch(bleAddress1, bleAddress2)

A macro used to compare two device addresses

Ble_CopyDeviceAddress(destinationAddress, sourceAddress)

A macro used to copy device addresses

gBleUuidType16_c

16-bit standard UUID

gBleUuidType128_c

128-bit long/custom UUID

gBleUuidType32_c

32-bit UUID - not available as ATT UUID format

gLePhy1MFlag_c

Host prefers to use LE 1M Tx/Rx Phy, possibly among others

gLePhy2MFlag_c

Host prefers to use LE 2M Tx/Rx Phy, possibly among others

gLePhyCodedFlag_c

Host prefers to use LE Coded Tx/Rx Phy, possibly among others

gAdvDataChange_c

Advertising Data Change reason

gScanRspDataChange_c

Scan Response Data Change reason

gUseDeviceAddress_c

Initiator filter policy values Initiates a connection with a specific device identified by its address.

gUseFilterAcceptList_c

Initiates connections with all the devices in the Filter Accept List at the same time.

gUseDeviceAddressNoDecisionPDUs_c

Initiator filter policy values extended for gBLE60_DecisionBasedAdvertisingFilteringSupport_d == TRUE Filter Accept List is not used to determine which advertiser to connect to. Decision PDUs shall be ignored. Peer_Address_Type and Peer_Address shall be used.

gUseFilterAcceptListNoDecisionPDUs_c

Filter Accept List is used to determine which advertiser to connect to. Decision PDUs shall be ignored. Peer_Address_Type and Peer_Address shall be ignored.

gUseOnlyDecisionPDUs_c

Filter Accept List is not used to determine which advertiser to connect to. Only Decision PDUs shall be processed. Peer_Address_Type and Peer_Address shall be ignored.

gUseFilterAcceptListAllPDUs_c

Filter Accept List is used to determine which advertiser to connect to. All PDUs shall be processed. Peer_Address_Type and Peer_Address shall be ignored.

gUseDecisionPDU_UseFilterAcceptListForOtherPDUs_c

All decision PDUs shall be processed. Filter Accept List is used to determine which other PDUs to process. Peer_Address_Type and Peer_Address shall be ignored.

gScanAll_c

Basic Scanning filter policy values. Kept for apps backward compatibility Basic unfiltered scanning filter policy.

gScanWithFilterAcceptList_c

Basic filtered scanning filter policy (using the Filter Accept List).

gBasicUnfilteredScan_c

Scanning filter policy values. Basic unfiltered scanning filter policy.

gBasicFilteredScan_c

Basic filtered scanning filter policy (using the Filter Accept List).

gExtendedUnfilteredScan_c

Extended unfiltered scanning filter policy.

gExtendedFilteredScan_c

Extended filtered scanning filter policy(using the Filter Accept List).

gScanOnlyNonDecisionPDUs_c

PDU Scanning filter policy values. To be used in bitwise OR operations with scanning filter policy above only with gBLE60_DecisionBasedAdvertisingFilteringSupport_d == TRUE e.g. ((uint8_t)(gExtendedUnfilteredScan_c | gScanAllPDUs_c)) Scan Only Non Decision Advertising PDU.

gScanAllPDUs_c

Scan Decision and Non Decision Advertising PDU.

gScanOnlyDecisionPDUs_c

Scan Only Decision Advertising PDU.

gNetworkPrivacy_c

Privacy mode values Use Network Privacy Mode for the peer device (default)

gDevicePrivacy_c

Use Device Privacy Mode for the peer device

gUnenhancedBearerId_c

bearer id 0 is used for the Unenhanced ATT bearer

gDHKeySize_c

LE Secure Connections 256 bit DHKey

gSkdSize_c

LL Session Key Diversfier size

LL_PHY_1M
LL_PHY_2M
LL_PHY_S8
LL_PHY_S2
gVendorHandoverMaxCsLlContextSize_c

Maximum size of the LL Context for Handover (CS context is largest)

gVendorUnitaryTestSize_c

Maximum size of the VENDOR_UNITARY_TEST response

gBleSig_PrimaryService_d

Bluetooth SIG UUID constants for GATT declarations

Primary Service declaration UUID

gBleSig_SecondaryService_d

Secondary Service declaration UUID

gBleSig_Include_d

Include declaration UUID

gBleSig_Characteristic_d

Characteristic declaration UUID

gBleSig_CharExtendedProperties_d

Characteristic Extended Properties UUID

gBleSig_CharUserDescription_d

Client Characteristic User Description UUID

gBleSig_CCCD_d

Client Characteristic Configuration Descriptor declaration UUID

gBleSig_SCCD_d

Server Characteristic Configuration Descriptor declaration UUID

gBleSig_CharPresFormatDescriptor_d

Characteristic Presentation Format declaration UUID

gBleSig_CharAggregateFormat_d

Characteristic Aggregate Format UUID

gBleSig_ValidRangeDescriptor_d

Valid Range Descriptor declaration UUID

gBleSig_GenericAccessProfile_d

GAP Service UUID

gBleSig_GenericAttributeProfile_d

GATT Service UUID

gBleSig_ImmediateAlertService_d

Immediate Alert Service UUID

gBleSig_LinkLossService_d

Link Loss Service UUID

gBleSig_TxPowerService_d

Tx Power Service UUID

gBleSig_CurrentTimeService_d

Current Time Service UUID

gBleSig_ReferenceTimeUpdateService_d

Reference Time Update Service UUID

gBleSig_NextDSTChangeService_d

Next DST Change Service UUID

gBleSig_GlucoseService_d

Glucose Service UUID

gBleSig_HealthThermometerService_d

Health Thermometer Service UUID

gBleSig_DeviceInformationService_d

Device Information Service UUID

gBleSig_HeartRateService_d

Heart Rate Service UUID

gBleSig_PhoneAlertStatusService_d

Phone Alert Status Service UUID

gBleSig_BatteryService_d

Battery Service UUID

gBleSig_BloodPressureService_d

Blood Pressure Service UUID

gBleSig_AlertNotificationService_d

Alert Notification Service UUID

gBleSig_HidService_d

HID Service UUID

gBleSig_RunningSpeedAndCadenceService_d

Running Speed And Cadence Service UUID

gBleSig_CyclingSpeedAndCadenceService_d

Cycling Speed And Cadence Service UUID

gBleSig_CyclingPowerService_d

Cycling Power Service UUID

gBleSig_LocationAndNavigationService_d

Location And Navigation Service UUID

gBleSig_IpsService_d

Internet Protocol Support Service UUID

gBleSig_PulseOximeterService_d

Pulse Oximeter Service UUID

gBleSig_HTTPProxyService_d

HTTP Proxy Service UUID

gBleSig_WPTService_d

Wireless Power Transfer Service UUID

gBleSig_BtpService_d

BTP Service UUID

gBleSig_GapDeviceName_d

GAP Device Name Characteristic UUID

gBleSig_GapAppearance_d

GAP Appearance Characteristic UUID

gBleSig_GapPpcp_d

GAP Peripheral Preferred Connection Parameters Characteristic UUID

gBleSig_GattServiceChanged_d

GATT Service Changed Characteristic UUID

gBleSig_GattClientSupportedFeatures_d

GATT Client Supported Features Characteristic UUID

gBleSig_GattServerSupportedFeatures_d

GATT Server Supported Features Characteristic UUID

gBleSig_GattDatabaseHash_d

GATT Database Hash Characteristic UUID

gBleSig_AlertLevel_d

Alert Level Characteristic UUID

gBleSig_TxPower_d

TX Power Characteristic UUID

gBleSig_LocalTimeInformation_d

Local Time Information Characteristic UUID

gBleSig_TimeWithDST_d

Time With DST Characteristic UUID

gBleSig_ReferenceTimeInformation_d

Reference Time Information Characteristic UUID

gBleSig_TimeUpdateControlPoint_d

Time Update Control Point Characteristic UUID

gBleSig_TimeUpdateState_d

Time Update State Characteristic UUID

gBleSig_GlucoseMeasurement_d

Glucose Measurement Characteristic UUID

gBleSig_BatteryLevel_d

Battery Level Characteristic UUID

gBleSig_TemperatureMeasurement_d

Temperature Measurement Characteristic UUID

gBleSig_TemperatureType_d

Temperature Type Characteristic UUID

gBleSig_IntermediateTemperature_d

Intermediate Temperature Characteristic UUID

gBleSig_MeasurementInterval_d

Measurement Interval Characteristic UUID

gBleSig_SystemId_d

System ID Characteristic UUID

gBleSig_ModelNumberString_d

Model Number String Characteristic UUID

gBleSig_SerialNumberString_d

Serial Number String Characteristic UUID

gBleSig_FirmwareRevisionString_d

Firmware Revision String Characteristic UUID

gBleSig_HardwareRevisionString_d

Hardware Revision String Characteristic UUID

gBleSig_SoftwareRevisionString_d

Software Revision String Characteristic UUID

gBleSig_ManufacturerNameString_d

Manufacturer Name String Characteristic UUID

gBleSig_IeeeRcdl_d

IEEE 11073-20601 Regulatory Certification Data List Characteristic UUID

gBleSig_CurrentTime_d

Current Time Characteristic UUID

gBleSig_BootKeyboardInputReport_d

Boot Keyboard Input Report UUID

gBleSig_BootKeyboardOutputReport_d

Boot Keyboard output Report UUID

gBleSig_BootMouseInputReport_d

Boot Mouse Input Report UUID

gBleSig_GlucoseMeasurementContext_d

Glucose Measurement Context Characteristic UUID

gBleSig_BpMeasurement_d

Blood Pressure Measurement UUID

gBleSig_BpEnhancedMeasurement_d

Blood Pressure Enhanced Measurement UUID

gBleSig_BpRecord_d

Blood Pressure Record UUID

gBleSig_IntermediateCuffPressure_d

Intermediate Cuff Pressure UUID

gBleSig_HrMeasurement_d

Heart Rate Measurement UUID

gBleSig_BodySensorLocation_d

Body Sensor Location UUID

gBleSig_HrControlPoint_d

Heart Rate Control Point UUID

gBleSig_AlertStatus_d

Alert Status UUID

gBleSig_RingerControlPoint_d

Ringer Control Point UUID

gBleSig_RingerSetting_d

Ringer Setting UUID

gBleSig_AlertNotifControlPoint_d

Alert Notif Control Point UUID

gBleSig_UnreadAlertStatus_d

Unread Alert Status UUID

gBleSig_NewAlert_d

New Alert UUID

gBleSig_SupportedNewAlertCategory_d

Supported New Alert Category UUID

gBleSig_SupportedUnreadAlertCategory_d

Supported Unread Alert Category UUID

gBleSig_BloodPressureFeature_d

Blood Pressure Feature UUID

gBleSig_HidInformation_d

HID Information UUID

gBleSig_HidBootMouseInputReport_d

HID Boot Mouse Input Report UUID

gBleSig_HidCtrlPoint_d

HID Control Point UUID

gBleSig_Report_d

Report UUID

gBleSig_ProtocolMode_d

Protocol Mode UUID

gBleSig_ScanIntervalWindow_d

Scan Interval Window UUID

gBleSig_PnpId_d

PnP Id UUID

gBleSig_GlucoseFeature_d

Glucose Feature Characteristic UUID

gBleSig_RaCtrlPoint_d

Record Access Ctrl Point Characteristic UUID

gBleSig_RscMeasurement_d

RSC Measurement UUID

gBleSig_RscFeature_d

RSC Feature UUID

gBleSig_ScControlPoint_d

SC Control Point UUID

gBleSig_CscMeasurement_d

CSC Measurement Characteristic UUID

gBleSig_CscFeature_d

CSC Feature Characteristic UUID

gBleSig_SensorLocation_d

Sensor Location Characteristic UUID

gBleSig_PlxSCMeasurement_d

PLX Spot-Check Measurement Characteristic UUID

gBleSig_PlxContMeasurement_d

PLX Continuous Measurement Characteristic UUID

gBleSig_PulseOximeterFeature_d

PLX Feature Characteristic UUID

gBleSig_CpMeasurement_d

CP Measurement Characteristic UUID

gBleSig_CpVector_d

CP Measurement Vector UUID

gBleSig_CpFeature_d

CP Feature CharacteristicUUID

gBleSig_CpControlPoint_d

CP Control Point UUID

gBleSig_LocationAndSpeed_d

Location and Speed Characteristic UUID

gBleSig_Navigation_d

Navigation Characteristic UUID

gBleSig_PositionQuality_d

Position Quality Characteristic UUID

gBleSig_LnFeature_d

LN Feature Characteristic UUID

gBleSig_LnControlPoint_d

LN Control Point Characteristic UUID

gBleSig_Temperature_d

Temperature Characteristic UUID

gBleSig_CentralAddressResolution_d

Central Address Resolution Characteristic UUID

gBleSig_URI_d

URI Characteristic UUID

gBleSig_HTTP_Headers_d

HTTP Headers Characteristic UUID

gBleSig_HTTP_StatusCode_d

HTTP Status Code Characteristic UUID

gBleSig_HTTP_EntityBody_d

HTTP Entity Body Characteristic UUID

gBleSig_HTTP_ControlPoint_d

HTTP Control Point Characteristic UUID

gBleSig_HTTPS_Security_d

HTTPS Security Characteristic UUID

gBleSig_ResolvablePrivateAddressOnly_d

Resolvable Private Address Only Characteristic UUID

gBleSig_MeshProvisioningService_d

BLE Mesh Provisioning Service UUID

gBleSig_MeshProxyService_d

BLE Mesh Proxy Service UUID

gBleSig_MeshProvDataIn_d

BLE Mesh Prov Data In Char UUID

gBleSig_MeshProvDataOut_d

BLE Mesh Prov Data Out Char UUID

gBleSig_MeshProxyDataIn_d

BLE Mesh Proxy Data In Char UUID

gBleSig_MeshProxyDataOut_d

BLE Mesh Proxy Data Out Char UUID

gBleSig_GattSecurityLevels_d

LE GATT Security Levels characteristic UUID

gBleSig_EncryptedDataKeyMaterial_d

Encrypted Data Key Material characteristic UUID

gBleSig_CAR_NotSupported_d

Central Address Resolution Characteristic Values

gBleSig_CAR_Supported_d
gBleSig_RPAO_Used_d

Resolvable Private Address Only Characteristic Values

gBleSig_RangingService_d

Ranging Service UUID

gBleSig_RasFeature_d

RAS Feature Characteristic UUID

gBleSig_RasRealTimeProcData_d

RAS Real-time Procedure Data Characteristic UUID

gBleSig_RasOnDemandProcData_d

RAS On-demand Procedure Data Characteristic UUID

gBleSig_RasControlPoint_d

RAS Control Point Characteristic UUID

gBleSig_RasProcDataReady_d

RAS Procedure Data Ready Characteristic UUID

gBleSig_RasprocDataOverwritten_d

RAS Procedure Data Overwritten Characteristic UUID

BleSig_IsGroupingAttributeUuid16(uuid16)

Macro that returns whether or not an input 16-bit UUID is a grouping type.

BleSig_IsServiceDeclarationUuid16(uuid16)

Macro that returns whether or not an input 16-bit UUID is a Service declaration.

Uuid16(uuid)

Macro that declares a 16 bit UUID in a bleUuid_t union.

Uuid32(uuid)

Macro that declares a 32 bit UUID in a bleUuid_t union.

UuidArray(value)
PACKED_STRUCT

Type qualifier - does not affect local variables of integral type

__noreturn

Type qualifier - does not affect local variables of integral type

Type qualifier - does not affect local variables of integral type

Storage class modifier - alignment of a variable. It does not affect the type of the function

Marks a function that never returns.

Utils_ExtractTwoByteValue(buf)

Returns a uint16_t from a buffer, little-endian

Utils_ExtractThreeByteValue(buf)

Returns a 3-byte value from a buffer, little-endian

Utils_ExtractFourByteValue(buf)

Returns a uint32_t from a buffer, little-endian

Utils_ExtractEightByteValue(buf)

Returns a uint64_t from a buffer, little-endian

Utils_BeExtractTwoByteValue(buf)

Returns a uint16_t from a buffer, big-endian

Utils_BeExtractThreeByteValue(buf)

Returns a 3-byte value from a buffer, big-endian

Utils_BeExtractFourByteValue(buf)

Returns a uint32_t from a buffer, big-endian

Utils_PackTwoByteValue(value, buf)

Writes a uint16_t into a buffer, little-endian

Utils_PackThreeByteValue(value, buf)

Writes a 3-byte value into a buffer, little-endian

Utils_PackFourByteValue(value, buf)

Writes a uint32_t into a buffer, little-endian

Utils_PackEightByteValue(value, buf)

Writes a uint64_t into a buffer, little-endian

Utils_BePackTwoByteValue(value, buf)

Writes a uint16_t into a buffer, big-endian

Utils_BePackThreeByteValue(value, buf)

Writes a 3-byte value into a buffer, big-endian

Utils_BePackFourByteValue(value, buf)

Writes a uint32_t into a buffer, big-endian

Utils_Copy8(ptr, val8)

Writes a uint8_t into a buffer, little-endian, and increments the pointer.

Utils_Copy16(ptr, val16)

Writes a uint16_t into a buffer, little-endian, and increments the pointer.

Utils_Copy32(ptr, val32)

Writes a uint32_t into a buffer, little-endian, and increments the pointer.

Utils_Copy64(ptr, val64)

Writes a uint64_t into a buffer, little-endian, and increments the pointer.

Utils_RevertByteArray(array, size)

Reverts the order of bytes in an array - useful for changing the endianness

struct bleIdentityAddress_t
#include <ble_general.h>

Bluetooth Identity Address - array of 6 bytes.

Public Members

bleAddressType_t idAddressType

Public or Random (static).

bleDeviceAddress_t idAddress

6-byte address.

union bleUuid_t
#include <ble_general.h>

Union for a Bluetooth UUID; selected according to an accompanying bleUuidType_t

Public Members

uint16_t uuid16

For gBleUuidType16_c.

uint32_t uuid32

For gBleUuidType32_c.

uint8_t uuid128[16]

For gBleUuidType128_c.

struct bleAdvertisingChannelMap_t
#include <ble_general.h>

Public Members

uint8_t enableChannel37

Bit for channel 37.

uint8_t enableChannel38

Bit for channel 38.

uint8_t enableChannel39

Bit for channel 39.

uint8_t reserved

Reserved for future use.

struct gapLeScOobData_t
#include <ble_general.h>

Public Members

uint8_t randomValue[(16U)]

LE SC OOB r (Random value)

uint8_t confirmValue[(16U)]

LE SC OOB Cr (Random Confirm value)

struct gapInternalError_t
#include <ble_general.h>

Internal Error Event Data

Public Members

bleResult_t errorCode

Host Stack error code.

gapInternalErrorSource_t errorSource

The command that generated the error; useful when it is not obvious from the error code.

uint16_t hciCommandOpcode

Only for errorSource = gHciCommandStatus_c; the HCI Command that received an error status.

struct gapControllerTestEvent_t
#include <ble_general.h>

Controller Test Event

struct gapPhyEvent_t
#include <ble_general.h>

Phy Event

struct bleNotificationEvent_t
#include <ble_general.h>

Controller Enhanced Notification Event

Public Members

bleNotificationEventType_t eventType

Enhanced notification event type

deviceId_t deviceId

Device id of the peer, valid for connection events

int8_t rssi

RSSI, valid for Rx event types

uint8_t channel

Channel, valid for conn event over or Rx/Tx events

uint16_t ce_counter

Connection event counter, valid for conn event over or Conn Rx event

bleResult_t status

Status of the request to select which events to be enabled/disabled

uint32_t timestamp

Timestamp in microseconds, valid for Conn Rx event and Conn Created event

uint8_t adv_handle

Advertising Handle, valid for advertising events, if multiple ADV sets supported

bleDeviceAddress_t scanned_addr

Scanned address, valid for gNotifScanAdvPktRx_c event, all-zeroes otherwise

struct gapInitComplete_t
#include <ble_general.h>

gInitializationComplete_c event data

struct bleBondCreatedEvent_tag
#include <ble_general.h>

Bond Created Event

Public Members

uint8_t nvmIndex

NVM index for the new created bond

bleAddressType_t addressType

Public or Random (static) address of the bond

bleDeviceAddress_t address

Address of the bond

struct gapAddrReadyEvent_t_tag
#include <ble_general.h>

Address Ready Event

Public Members

bleDeviceAddress_t aAddress

Generated device address

uint8_t advHandle

Advertising set handle if the generated device address will be used on an extended set. Reserved value 0xFF for other purposes: legacy advertising or scanning and initiating address.

struct bleSupportedSwitchingSamplingRates_t
#include <ble_general.h>

Public Members

uint8_t switchingSupportedAodTransmission

Bit to mark that 1 us switching is supported for AoD transmission.

uint8_t samplingSupportedAodReception

Bit to mark that 1 us sampling is supported for AoD reception.

uint8_t switchingSamplingSupportedAoaReception

Bit to mark that 1 us switching and sampling is supported for AoA reception.

uint8_t reserved

Reserved for future use.

struct bleAntennaInformation_tag
#include <ble_general.h>

Antenna Information Read Event

struct periodicAdvSyncTransferEvent_tag
#include <ble_general.h>
struct periodicAdvSetInfoTransferEvent_tag
#include <ble_general.h>
struct periodicAdvSetSyncTransferParamsEvent_tag
#include <ble_general.h>
struct gapSyncTransferReceivedEventData_tag
#include <ble_general.h>

Public Members

deviceId_t deviceId

Id of the connected device from which we received periodic advertising sync transfer

uint16_t serviceData

A value provided by the peer device

uint16_t syncHandle

Sync Handle identifying the periodic advertising train

uint8_t advSID

Value of the Advertising SID used to advertise the periodic advertising

bleAddressType_t advAddressType

Device’s advertising address type.

bleDeviceAddress_t advAddress

Device’s advertising address.

gapLePhyMode_t advPhy

PHY used for advertising

uint16_t periodicAdvInt

Periodic advertising interval

bleCentralClockAccuracy_t advClockAccuracy

Advertiser clock accuracy

uint8_t numSubevents

Only relevant for v2 of the event, otherwise value is 0

uint8_t subeventInterval

Only relevant for v2 of the event, otherwise value is 0

uint8_t responseSlotDelay

Only relevant for v2 of the event, otherwise value is 0

uint8_t responseSlotSpacing

Only relevant for v2 of the event, otherwise value is 0

struct getConnParams_tag
#include <ble_general.h>

Public Members

uint16_t connectionHandle

Connection identifier

uint32_t ulTxAccCode

Access address

uint8_t aCrcInitVal[3U]

CRC init

uint16_t uiConnInterval

Connection interval (unit 1.25ms)

uint16_t uiSuperTO

Supervision timeout (unit 10ms)

uint16_t uiConnLatency

Latency (unit connection interval)

uint8_t aChMapBm[5U]

Channel map (FF FF FF FF 1F if all channels are used)

uint8_t ucChannelSelection

Hop algorithm (0/1 for hop algorithm #1 or #2)

uint8_t ucHop

Hop increment

uint8_t ucUnMapChIdx

Unmapped channel index (used only for hop algorithm #1)

uint8_t ucCentralSCA

Sleep clock accuracy (0 to 7)

uint8_t ucRole

Role (0 for central and 1 for peripheral)

uint8_t aucRemoteMasRxPHY

TX/RX PHY

uint8_t seqNum

Sequence number; b1 and b0: the latest received SN and NESN; b5 and b4: the latest transmitted SN and NESN; other fields are reserved.

uint16_t uiConnEvent

Current connection event counter

uint32_t ulAnchorClk

Slot of the anchor point timing of the connection event

uint16_t uiAnchorDelay

Slot offset of the anchor point timing of the connection event

uint32_t ulRxInstant

Last successful access address reception instant (unit 625us)

struct handoverGetTime_tag
#include <ble_general.h>

Public Members

bleResult_t status

Command status

uint32_t slot

LL timing slot counter (unit 625us)

uint16_t us_offset

LL timing slot offset (0 to 624, unit us)

struct handoverAnchorSearchStart_tag
#include <ble_general.h>

Public Members

bleResult_t status

Command status

uint16_t connectionHandle

Connection identifier

struct handoverAnchorSearchStop_tag
#include <ble_general.h>

Public Members

bleResult_t status

Command status

uint16_t connectionHandle

Connection identifier

struct handoverConnect_tag
#include <ble_general.h>

Public Members

bleResult_t status

Command status

uint16_t connectionHandle

Connection identifier

struct handoverGetData_tag
#include <ble_general.h>

Public Members

bleResult_t status

Command status

uint32_t *pData

Connection handover data

struct handoverSetData_tag
#include <ble_general.h>

Public Members

bleResult_t status

Command status

uint32_t *pData

Connection handover data

struct handoverGetCsLlContext_tag
#include <ble_general.h>

Public Members

bleResult_t status

Command status

uint16_t responseMask

LL context bitmap indicating the Channel Sounding context

uint8_t llContextLength

Context data length

uint8_t llContext[(224U)]

LL Context

struct handoverAnchorMonitorEvent_tag
#include <ble_general.h>

Public Members

uint16_t connectionHandle

Connection identifier

uint16_t connEvent

Current connection event counter

uint8_t rssiRemote

RSSI of the packet from the remote device (+127 if not available)

uint8_t lqiRemote

LQI (Link Quality Indicator) of the packet from the remote device

uint8_t statusRemote

Status of the packet from the remote device; b0: NESN; b1: SN; b2: CRC status valid (1) or invalid (0); b3: RSSI status valid (1) or invalid (0)

uint8_t rssiActive

RSSI of the packet from the active device (+127 if not available)

uint8_t lqiActive

LQI (Link Quality Indicator) of the packet from the active device

uint8_t statusActive

Status of the packet from the active device; b0: NESN; b1: SN; b2: CRC status valid (1) or invalid (0); b3: RSSI status valid (1) or invalid (0)

uint32_t anchorClock625Us

Slot of the anchor point timing of the connection event

uint16_t anchorDelay

Slot offset of the anchor point timing of the connection event

uint8_t chIdx

BLE channel index

uint8_t ucNbReports

Number of remaining reports including the current one; 0: continuous reporting; 1-255: remaining number of reports to receive including the current one

struct handoverAnchorMonitorPacketEvent_tag
#include <ble_general.h>

Public Members

uint8_t packetCounter

Packet counter, incremented for each event

uint16_t connectionHandle

Connection identifier

uint8_t statusPacket

Status of the packet

uint8_t phy

PHY (0/1/2/3 for 1M/2M/LR S8/LR S2)

uint8_t chIdx

BLE channel index

uint8_t rssiPacket

RSSI of the packet (+127 if not available)

uint8_t lqiPacket

LQI (Link Quality Indicator) of the packet

uint16_t connEvent

Current connection event counter

uint32_t anchorClock625Us

Slot value of packet start time (in 625us unit)

uint16_t anchorDelay

Slot offset value of packet start time (in 1us unit)

uint8_t ucNbConnIntervals

Number of remaining connection intervals to monitor including the current one; 0: continuous reporting; 1-255: remaining number of reports to receive including the current one

uint8_t pduSize

PDU length

uint8_t *pPdu

Full or first part of the data PDU including: PDU header, payload if present, MIC if present, CRC

struct handoverAnchorMonitorPacketContinueEvent_tag
#include <ble_general.h>

Public Members

uint8_t packetCounter

Packet counter, incremented for each event

uint16_t connectionHandle

Connection identifier

uint8_t pduSize

PDU length

uint8_t *pPdu

Full or first part of the data PDU including: PDU header, payload if present, MIC if present, CRC

struct handoverConnectionUpdateProcedureEvent_tag
#include <ble_general.h>

Public Members

uint16_t connectionHandle

Connection identifier

uint8_t winSize

Used to indicate the transmitWindowSize value as: transmitWindowSize = winSize * 1.25 ms

uint16_t winOffset

Used to indicate the transmitWindowOffset value as: transmitWindowOffset = winOffset * 1.25 ms

uint16_t interval

Used to indicate the connInterval value, as: connInterval = interval * 1.25 ms

uint16_t latency

Used to indicate the connPeripheralLatency value as: connPeripheralLatency = latency

uint16_t timeout

Used to indicate the connSupervisionTimeout value as: connSupervisionTimeout = timeout * 10 ms

uint16_t instant

Connection event counter value indicating when the new connection parameters are applied

uint16_t currentEventCounter

Current connection event counter

struct handoverTimeSyncEvent_tag
#include <ble_general.h>

Public Members

uint32_t txClkSlot

Transmitter packet start time in slot (625 us)

uint16_t txUs

Transmitter packet start time offset inside the slot (0 to 624 us)

uint32_t rxClkSlot

Receiver packet start time in slot (625 us)

uint16_t rxUs

Receiver packet start time offset inside the slot (0 to 624 us)

uint8_t rssi

RSSI

struct handoverConnParamUpdateEvent_tag
#include <ble_general.h>

Public Members

uint8_t status

Status indicating the event trigger source: bit 0: remote SN^NESN toggled; bit 1: local SN^NESN toggled; bit 2: RFU; bit 3: phy update procedure; bit 4: channel map update procedure

uint16_t connectionHandle

Connection identifier

uint32_t ulTxAccCode

Access address

uint8_t aCrcInitVal[3U]

CRC init

uint16_t uiConnInterval

Connection interval (unit 1.25ms)

uint16_t uiSuperTO

Supervision timeout (unit 10ms)

uint16_t uiConnLatency

Latency (unit connection interval)

uint8_t aChMapBm[5U]

Channel map (FF FF FF FF 1F if all channels are used)

uint8_t ucChannelSelection

Hop algorithm (0/1 for hop algorithm #1 or #2)

uint8_t ucHop

Hop increment

uint8_t ucUnMapChIdx

Unmapped channel index (used only for hop algorithm #1)

uint8_t ucCentralSCA

Sleep clock accuracy (0 to 7)

uint8_t ucRole

Role (0 for central and 1 for peripheral)

uint8_t aucRemoteMasRxPHY

TX/RX PHY

uint8_t seqNum

Sequence number; b1 and b0: the latest received SN and NESN; b5 and b4: the latest transmitted SN and NESN; other fields are reserved.

uint16_t uiConnEvent

Current connection event counter

uint32_t ulAnchorClk

Slot of the anchor point timing of the connection event

uint16_t uiAnchorDelay

Slot offset of the anchor point timing of the connection event

uint32_t ulRxInstant

Last successful access address reception instant (unit 625us)

struct handoverSuspendTransmitCompleteEvent_tag
#include <ble_general.h>

Public Members

uint16_t connectionHandle

Connection identifier

uint8_t noOfPendingAclPackets

Number of pending ACL packets (including the packet being transmitted partially or fully but not fully acked)

uint16_t sizeOfPendingAclPackets

Pending ACL packet data size including all the data in the oldest packet:

  • data transmitted but not acked in the oldest ACL packet

  • data transmitted and acked in the oldest ACL packet

uint16_t sizeOfDataTxInOldestPacket

Size of data transmitted and acked in the oldest ACL packet

uint8_t sizeOfDataNAckInOldestPacket

Size of data transmitted but not acked in the oldest ACL packet

struct handoverResumeTransmitCompleteEvent_tag
#include <ble_general.h>

Public Members

uint16_t connectionHandle

Connection identifier

struct handoverUpdateConnParams_tag
#include <ble_general.h>

Public Members

bleResult_t status

Command status

uint16_t connectionHandle

Connection identifier

struct handoverApplyConnectionUpdateProcedure_tag
#include <ble_general.h>

Public Members

uint16_t connectionHandle

Connection identifier

struct handoverAnchorNotificationStateChanged_tag
#include <ble_general.h>

Public Members

uint16_t connectionHandle

Connection identifier

struct handoverLlPendingDataIndication_tag
#include <ble_general.h>

Public Members

uint16_t dataSize

Pending HCI ACL data packet size

uint8_t *pData

Pointer to message containing the HCI ACL data packet. Should be free by the application using MSG_Free()

struct gapLEGenerateDhKeyCompleteEvent_t
#include <ble_general.h>
struct gapRemoteVersionInfoRead_tag
#include <ble_general.h>
struct gapLlSkdReport_tag
#include <ble_general.h>

Public Members

deviceId_t deviceId

Peer device identifier

uint8_t aSKD[(16U)]

LL SKD

struct vendorUnitaryTestEvent_tag
#include <ble_general.h>
struct gapGenericEvent_t
#include <ble_general.h>

Generic Event Structure = type + data

Public Members

gapGenericEventType_t eventType

Event type.

union gapGenericEvent_t eventData

Event data, selected according to event type.

struct bleBondIdentityHeaderBlob_t
#include <ble_general.h>
struct bleBondDataDynamicBlob_t
#include <ble_general.h>
struct bleBondDataStaticBlob_t
#include <ble_general.h>
struct bleBondDataLegacyBlob_t
#include <ble_general.h>
struct bleBondDataDeviceInfoBlob_t
#include <ble_general.h>
struct bleBondDataDescriptorBlob_t
#include <ble_general.h>
struct bleLocalKeysBlob_t
#include <ble_general.h>
struct bleBondDataBlob_t
#include <ble_general.h>
struct bleBondDataRam_t
#include <ble_general.h>
struct bleCteAllowedTypesMap_t
#include <ble_general.h>

Public Members

uint8_t allowAoA

Bit to allow AoA CTE Response.

uint8_t allowAoD1us

Bit to allow AoD CTE Response with 1 microsecond slots.

uint8_t allowAoD2us

Bit to allow AoD CTE Response with 2 microsecond slots.

uint8_t reserved

Reserved for future use.

struct bleSyncCteType_tag
#include <ble_general.h>

Public Members

uint8_t doNotSyncWithAoA

Bit for CTE type AoA.

uint8_t doNotSyncWithAoD1us

Bit for CTE type AoD 1us.

uint8_t doNotSyncWithAoD2us

Bit for CTE type AoD 2us.

uint8_t doNotSyncWithType3

Bit for CTE type 3 (reserved).

uint8_t doNotSyncWithoutCte

Bit for no CTE type.

uint8_t reserved

Reserved for future use.

struct bleTxPowerLevelFlags_t
#include <ble_general.h>

Public Members

uint8_t minimum

Tx Power Level is at minimum level.

uint8_t maximum

Tx Power Level is at maximum level.

uint8_t reserved

Reserved for future use.

union eventData

Public Members

gapInternalError_t internalError

Data for the gInternalError_c event. The error that has occurred and the command that triggered it.

uint8_t filterAcceptListSize

Data for the gFilterAcceptListSizeRead_c event. The size of the Filter Accept List.

bleDeviceAddress_t aAddress

Data for the gPublicAddressRead_c event. Contains the requested device address.

gapAddrReadyEvent_t addrReady

Data for the gRandomAddressReady_c event. Contains the generated device address and advertising handle if applicable (0xFF otherwise).

uint8_t advHandle

Data for the gRandomAddressSet_c event. Contains the handle of the configured advertising set or 0xFF for legacy advertising.

bleResult_t setupFailError

Data for the gAdvertisingSetupFailed_c event. The error that occurred during the advertising setup.

int8_t advTxPowerLevel_dBm

Data for the gExtAdvertisingParametersSetupComplete_c and gAdvTxPowerLevelRead_c events. Value in dBm.

bool_t verified

Data for the gPrivateResolvableAddressVerified_c event. TRUE if the PRA was resolved with the given IRK.

gapLeScOobData_t localOobData

Data for the gLeScLocalOobData_c event. Contains local OOB data for LESC Pairing.

bool_t newHostPrivacyState

Data for the gHostPrivacyStateChanged_c event. TRUE if enabled, FALSE if disabled.

bool_t newControllerPrivacyState

Data for the gControllerPrivacyStateChanged_c event. TRUE if enabled, FALSE if disabled.

gapControllerTestEvent_t testEvent

Data for the gControllerTestEvent_c event. Contains test event type and received packets.

bleResult_t txPowerLevelSetStatus

Data for the gTxPowerLevelSetComplete_c event. Status of the set request.

gapPhyEvent_t phyEvent

Data for the gLePhyEvent_c event. Contains Tx and Rx Phy for a connection.

deviceId_t deviceId

Data for the gTxEntryAvailable_c event.

gapInitComplete_t initCompleteData

Data for the gInitializationComplete_c event. Contains the supported features, number of advertising sets and the size of the periodic advertiser list

bleNotificationEvent_t notifEvent

Data for the gControllerNotificationEvent_c event. Contains status and adv/scan/conn event data.

bleBondCreatedEvent_t bondCreatedEvent

Data for the gBondCreatedEvent_c event. Contains the NVM index and the address of the bond.

bleDeviceAddress_t aControllerLocalRPA

Data for the gControllerLocalRPARead_c event. Contains the requested device address.

getConnParams_t getConnParams

Data for the gGetConnParamsComplete_c event

uint16_t syncHandle

Data for the gConnectionlessIqSamplingStateChanged_c event. Contains the sync handle for the advertising train.

bleAntennaInformation_t antennaInformation

Data for the gAntennaInformationRead_c. Contains antenna information.

bleResult_t perAdvSyncTransferEnable

Data for the gPeriodicAdvRecvEnableComplete_c event

periodicAdvSyncTransferEvent_t perAdvSyncTransfer

Data for the gPeriodicAdvSyncTransferComplete_c event

periodicAdvSetInfoTransferEvent_t perAdvSetInfoTransfer

Data for the gPeriodicAdvSetInfoTransferComplete_c event

periodicAdvSetSyncTransferParamsEvent_t perAdvSetSyncTransferParams

Data for the gSetPeriodicAdvSyncTransferParamsComplete_c event

bleResult_t perAdvSetDefaultPerAdvSyncTransferParams

Data for the gSetDefaultPeriodicAdvSyncTransferParamsComplete_c event

gapSyncTransferReceivedEventData_t perAdvSyncTransferReceived

Data for the gPeriodicAdvSyncTransferReceived_c event

gapLEGenerateDhKeyCompleteEvent_t leGenerateDhKeyCompleteEvent

Data for gConnEvtLeGenerateDhKeyComplete_c: new key value

uint16_t pawrSyncHandle

Data for gPeriodicAdvSetResponseDataComplete_c and gPeriodicSyncSubeventComplete_c

uint8_t pawrAdvHandle

Data for gPeriodicAdvSetSubeventDataComplete_c

handoverGetData_t handoverGetData

Data for the gHandoverGetComplete_c event

handoverSetData_t handoverSetData

Data for the gHandoverSetComplete_c event

handoverGetCsLlContext_t handoverGetCsLlContext

Data for the gHandoverGetCsLlContextComplete_c event

handoverGetTime_t handoverGetTime

Data for the gHandoverGetTime_c event

handoverConnect_t handoverConnect

Data for the gHandoverConnect_c event

handoverAnchorSearchStart_t handoverAnchorSearchStart

Data for the gHandoverAnchorSearchStarted_c event

handoverAnchorSearchStop_t handoverAnchorSearchStop

Data for the gHandoverAnchorSearchStopped_c event

handoverAnchorMonitorEvent_t handoverAnchorMonitor

Data for the gHandoverAnchorMonitorEvent_c event

handoverTimeSyncEvent_t handoverTimeSync

Data for the gHandoverTimeSyncEvent_c event

handoverSuspendTransmitCompleteEvent_t handoverSuspendTransmitComplete

Data for the gHandoverSuspendTransmitComplete_c event

handoverResumeTransmitCompleteEvent_t handoverResumeTransmitComplete

Data for the gHandoverResumeTransmitComplete_c event

handoverAnchorNotificationStateChanged_t handoverAnchorNotificationStateChanged

Data for the gHandoverAnchorNotificationStateChanged_c event

handoverConnParamUpdateEvent_t handoverConnParamUpdate

Data for the gHandoverConnParamUpdateEvent_c event

gapRemoteVersionInfoRead_t gapRemoteVersionInfoRead

Data for the hciReadRemoteVersionInformationCompleteEvent_t event

gapLlSkdReport_t gapSkdReport

Data for the gLlSkdReportEvent_c event

handoverAnchorMonitorPacketEvent_t handoverAnchorMonitorPacket

Data for the gHandoverAnchorMonitorPacketEvent_c event. pPdu must be freed by the application

handoverAnchorMonitorPacketContinueEvent_t handoverAnchorMonitorPacketContinue

Data for the gHandoverAnchorMonitorPacketContinueEvent_c event. pPdu must be freed by the application

handoverUpdateConnParams_t handoverUpdateConnParams

Data for the gHandoverUpdateConnParamsComplete_c event

handoverLlPendingDataIndication_t handoverLlPendingDataIndication

Data for the gHandoverLlPendingData_c event

handoverConnectionUpdateProcedureEvent_t handoverConnectionUpdateProcedure

Data for the gHandoverConnectionUpdateProcedureEvent_c event

handoverApplyConnectionUpdateProcedure_t handoverApplyConnectionUpdateProcedure

Data for the gHandoverApplyConnectionUpdateProcedureComplete_c event

vendorUnitaryTestEvent_t unitaryTestData

Data for the gVendorUnitaryTestComplete_c event

union __unnamed2__

Public Members

uint32_t raw[((40U) + 3U) / sizeof(uint32_t)]
uint8_t pKey[(40U)]

Bluetooth configuration

gcBleDeviceAddressSize_c

Size of a BLE Device Address

gBleBondDataDynamicSize_c

Size of bond data structures for a bonded device

gBleBondDataStaticSize_c
gBleBondDataLegacySize_c
gBleBondDataDeviceInfoSize_c
gBleBondDataDescriptorSize_c
gcSecureModeSavedLocalKeysNo_c
gcGapMaximumSavedCccds_c

Maximum number of CCCDs

gcGapMaxAuthorizationHandles_c

Maximum number of attributes that require authorization

gBleBondDataSize_c

Bonding Data Size

gcBleLongUuidSize_c

Size of long UUIDs

gcSmpMaxLtkSize_c

Maximum Long Term Key size in bytes

gcSmpMaxBlobSize_c

Maximum Long Term Key blob size in bytes

gcSmpIrkSize_c

Identity Resolving Key size in bytes

gcSmpMaxIrkBlobSize_c

Maximum Identity Resolving Key blob size in bytes

gcSmpCsrkSize_c

Connection Signature Resolving Key size in bytes

gcSmpMaxRandSize_c

Maximum Rand size in bytes

gcSmpOobSize_c

SMP OOB size in bytes

gSmpLeScRandomValueSize_c

SMP LE Secure Connections Pairing Random size in bytes

gSmpLeScRandomConfirmValueSize_c

SMP LE Secure Connections Pairing Confirm size in bytes

gcGapMaxDeviceNameSize_c

Maximum device name size

gcGapMaxAdvertisingDataLength_c

Maximum size of advertising and scan response data

gAttDefaultMtu_c

Default value of the ATT_MTU

gAttMaxMtu_c

Maximum possible value of the ATT_MTU for this device. This is used during the MTU Exchange.

gEattMaxMtu_c

Maximum possible value of the ATT_MTU for enhanced ATT bearers on this device.

gAttMaxValueLength_c

The maximum length of an attribute value shall be 512 octets.

gEattMinMtu_c

Minimum MTU size for enhanced ATT channels is 64.

gHciTransportUartChannel_c

Channel the number of the UART hardware module (For example, if UART1 is used, this value should be 1).

gcReservedFlashSizeForCustomInformation_c

Number of bytes reserved for storing application-specific information about a device

gcBleChannelMapSize_c

Size of a channel map in a connection

gBleMinTxOctets_c
gBleMinTxTime_c
gBleMaxTxOctets_c
gBleMaxTxTime_c
gBleMaxTxTimeCodedPhy_c
gBleCteMinTxOctets_c
gBleCteMinTxTime_c
gBleCteMaxTxOctets_c
gBleCteMaxTxTime_c
gBleExtAdvMaxSetId_c

Maximum value of the advertising SID.

gBlePeriodicAdvMaxSyncHandle_c

Maximum value of the periodic advertising handle.

gBleExtAdvLegacySetId_c

SID of the legacy advertising set.

gBleExtAdvLegacySetHandle_c

Handle of the legacy advertising set.

gBleExtAdvDefaultSetId_c

Default SID for extended advertising.

gBleExtAdvDefaultSetHandle_c

Default handle for extended advertising.

gBleAdvTxPowerNoPreference_c

Host has no preference for Tx Power

gBleExtAdvNoDuration_c

No advertising duration. Advertising to continue until the Host disables it.

gBleHighDutyDirectedAdvDuration

Default advertising duration in high duty directed advertising 1.28s = 1280ms/10ms(unit) = 128

gBleExtAdvNoMaxEvents_c

No maximum number of advertising events.

gBlePeriodicAdvDefaultHandle_c

Periodic advertising default handle.

gBlePeriodicAdvSyncTimeoutMin_c

Minimum value for the sync_timeout parameter

gBlePeriodicAdvSyncTimeoutMax_c

Maximum value for the sync_timeout parameter

gBlePeriodicAdvSkipMax_c

Maximum value for the skip parameter

gBleMaxADStructureLength_c

Maximum length of an AD structure

gBleMaxExtAdvDataLength_c

Maximum length of Extended Advertising Data

gBleExtAdvMaxAuxOffsetUsec_c

Maximum value in us of AUX Offset(13 bits) in AuxPtr in 300us units, i.e. ((1 << 13) - 1) * 300

gBleP256KeyLength_c

Length of P-256 key in octets

gcDecisionDataKeySize_c

decision data key size in bytes

gcDecisionInstructionsParamSize_c

decision instructions parameter size in bytes

gcDecisionInstructionsArbitraryDataMaskSize_c

decision instructions arbitrary data mask size in bytes

gcDecisionInstructionsArbitraryDataTargetSize_c

decision instructions arbitrary data target size in bytes

gcDecisionDataPrandSize_c

decision data random part size in bytes

gcDecisionDataMaxSize_c

decision data maximum size in bytes

gcDecisionDataResolvableTagSize_c

decision data maximum size in bytes

gcMaxNumTestsInDecisionInstruction_c

The maximum number of tests in the Gap_SetDecisionInstructions ((max param length) - sizeof(numTests))/((sizeof(TestFlag) + sizeof(TestField) + sizeof(TestParameters)) = (255-1)/(1 + 1 + 16)

gcEadRandomizerSize_c

Size of the Encrypted Advertising Data randomizer in bytes

gcEadMicSize_c

Size of the Encrypted Advertising Data MIC in bytes

gcEadIvSize_c

Size of the Encrypted Advertising Data Initialization Vector in bytes

gcEadKeySize_c

Size of the Encrypted Advertising Data Key in bytes

gcEadAadValue_c

Value of the Additional Authentication Data field for the CCM algorithm used by EAD

L2CA

enum l2caLeCbConnectionRequestResult_t

Values:

enumerator gSuccessful_c
enumerator gLePsmNotSupported_c
enumerator gNoResourcesAvailable_c
enumerator gInsufficientAuthentication_c
enumerator gInsufficientAuthorization_c
enumerator gInsufficientEncryptionKeySize_c
enumerator gInsufficientEncryption_c
enumerator gInvalidSourceCid_c
enumerator gSourceCidAreadyAllocated_c
enumerator gUnacceptableParameters_c
enumerator gInvalidParameters_c
enumerator gCommandRejected_c
enumerator gResponseTimeout_c
enum l2caErrorSource_t

Values:

enumerator gL2ca_CancelConnection_c
enumerator gL2ca_SendLeFlowControlCredit_c
enumerator gL2ca_DisconnectLePsm_c
enumerator gL2ca_HandleSendLeCbData_c
enumerator gL2ca_HandleRecvLeCbData_c
enumerator gL2ca_HandleLeFlowControlCredit_c
enumerator gL2ca_EnhancedReconfigureReq_c
enumerator gL2ca_EnhancedCancelConnection_c
enum l2capReconfigureResponse_t

Values:

enumerator gReconfigurationSuccessful_c
enumerator gMtuReductionNotAllowed_c
enumerator gMultipleChannelMpsReductionNotAllowed_c
enumerator gDestinationCidInvalid_c
enumerator gUnacceptableReconfParameters_c
enumerator gReconfigurationTimeout_c
enumerator gReconfReserved_c
enum l2caChannelStatus_t

Values:

enumerator gL2ca_ChannelStatusChannelIdle_c
enumerator gL2ca_ChannelStatusChannelBusy_c
enum l2capControlMessageType_t

Values:

enumerator gL2ca_LePsmConnectRequest_c
enumerator gL2ca_LePsmConnectionComplete_c
enumerator gL2ca_LePsmDisconnectNotification_c
enumerator gL2ca_NoPeerCredits_c
enumerator gL2ca_LowPeerCredits_c
enumerator gL2ca_LocalCreditsNotification_c
enumerator gL2ca_Error_c
enumerator gL2ca_ChannelStatusNotification_c
enumerator gL2ca_LePsmEnhancedConnectRequest_c
enumerator gL2ca_LePsmEnhancedConnectionComplete_c
enumerator gL2ca_EnhancedReconfigureRequest_c
enumerator gL2ca_EnhancedReconfigureResponse_c
enumerator gL2ca_HandoverConnectionComplete_c
typedef struct l2caLeCbConnectionRequest_tag l2caLeCbConnectionRequest_t
typedef struct l2caLeCbConnectionComplete_tag l2caLeCbConnectionComplete_t
typedef struct l2caHandoverConnectionComplete_tag l2caHandoverConnectionComplete_t
typedef struct l2caLeCbDisconnection_tag l2caLeCbDisconnection_t
typedef struct l2caLeCbNoPeerCredits_tag l2caLeCbNoPeerCredits_t
typedef struct l2caLeCbLowPeerCredits_tag l2caLeCbLowPeerCredits_t
typedef struct l2caLeCbLocalCreditsNotification_tag l2caLeCbLocalCreditsNotification_t
typedef struct l2caLeCbError_tag l2caLeCbError_t
typedef struct l2caLeCbChannelStatusNotification_tag l2caLeCbChannelStatusNotification_t
typedef struct l2caEnhancedConnectionRequest_tag l2caEnhancedConnectionRequest_t
typedef struct l2caEnhancedConnectionComplete_tag l2caEnhancedConnectionComplete_t
typedef struct l2caEnhancedReconfigureRequest_tag l2caEnhancedReconfigureRequest_t
typedef struct l2caEnhancedReconfigureResponse_tag l2caEnhancedReconfigureResponse_t
typedef struct l2capControlMessage_tag l2capControlMessage_t
typedef void (*l2caLeCbDataCallback_t)(deviceId_t deviceId, uint16_t channelId, uint8_t *pPacket, uint16_t packetLength)
typedef void (*l2caControlCallback_t)(l2capControlMessage_t *pMessage)
typedef l2caControlCallback_t l2caLeCbControlCallback_t
typedef void (*l2caGenericCallback_t)(deviceId_t deviceId, uint8_t *pPacket, uint16_t packetLength)
typedef void (*l2caEattCallback_t)(deviceId_t deviceId, uint16_t channelId, uint8_t *pPacket, uint16_t packetLength)
bleResult_t L2ca_RegisterLeCbCallbacks(l2caLeCbDataCallback_t pCallback, l2caLeCbControlCallback_t pCtrlCallback)

Registers callbacks for credit based data and control events on L2CAP.

Parameters:
  • pCallback[in] Callback function for data plane messages.

  • pCtrlCallback[in] Callback function for control plane messages.

Return values:
  • gL2caSuccess_c – Successful callbacks installation.

  • gL2caCallbackAlreadyInstalled_c – Callbacks already installed.

bleResult_t L2ca_RegisterLePsm(uint16_t lePsm, uint16_t lePsmMtu)

Registers the LE_PSM from the L2CAP.

Parameters:
  • lePsm[in] Bluetooth SIG or Vendor LE_PSM.

  • lePsmMtu[in] MTU of the registered PSM.

Return values:
  • gL2caLePsmInsufficientResources_c – No free LE_PSM registration slot was found.

  • gL2caLePsmInvalid_c – Invalid LE_PSM value.

  • gL2caLePsmAlreadyRegistered_c – LE_PSM already registered.

  • gL2caSuccess_c – Successful LE_PSM registration.

bleResult_t L2ca_DeregisterLePsm(uint16_t lePsm)

Unregisters the LE_PSM from the L2CAP.

Parameters:
  • lePsm[in] Bluetooth SIG or Vendor LE_PSM.

Return values:
  • gL2caSuccess_c – Successful LE_PSM deregistration.

  • gL2caLePsmNotRegistered_c – LE_PSM value not registered.

  • gL2caInternalError_c – There are connected L2CAP channels for the LE_PSM

Pre:

An LE_PSM must be registered a priori.

bleResult_t L2ca_ConnectLePsm(uint16_t lePsm, deviceId_t deviceId, uint16_t initialCredits)

Initiates a connection with a peer device for a registered LE_PSM.

Parameters:
  • lePsm[in] Bluetooth SIG or Vendor LE_PSM.

  • deviceId[in] The DeviceID for which the command is intended.

  • initialCredits[in] Initial credits.

Return values:
  • gL2caSuccess_c – Successful application to host message sent.

  • gBleOutOfMemory_c – Message allocation fail.

  • gBleInvalidParameter_c – Invalid Device Id.

Pre:

An LE_PSM must be registered a priori.

bleResult_t L2ca_DisconnectLeCbChannel(deviceId_t deviceId, uint16_t channelId)

Disconnects a peer device for a registered LE_PSM.

Remark

Once this command is issued, all incoming data in transit for this device shall be discarded and any new additional outgoing data shall be discarded.

Parameters:
  • deviceId[in] The DeviceID for which the command is intended.

  • channelId[in] The L2CAP Channel Id assigned on the initiator.

Return values:
  • gL2caSuccess_c – Successful application to host message sent.

  • gBleOutOfMemory_c – Message allocation fail.

  • gBleInvalidParameter_c – Invalid Device Id.

Pre:

A connection must have already been created.

bleResult_t L2ca_CancelConnection(uint16_t lePsm, deviceId_t deviceId, l2caLeCbConnectionRequestResult_t refuseReason)

Terminates an L2CAP channel.

Remark

This interface can be used for a connection pending creation.

Parameters:
  • lePsm[in] Bluetooth SIG or Vendor LE_PSM.

  • deviceId[in] The DeviceID for which the command is intended.

  • refuseReason[in] Reason to refuse the channel creation.

Return values:
  • gL2caSuccess_c – Successful application to host message sent.

  • gBleOutOfMemory_c – Message allocation fail.

  • gBleInvalidParameter_c – Invalid Device Id.

bleResult_t L2ca_SendLeCbData(deviceId_t deviceId, uint16_t channelId, const uint8_t *pPacket, uint16_t packetLength)

Sends a data packet through a Credit-Based Channel.

Parameters:
  • deviceId[in] The DeviceID for which the command is intended.

  • channelId[in] The L2CAP Channel Id assigned on the initiator.

  • pPacket[in] Data buffer to be transmitted.

  • packetLength[in] Length of the data buffer.

Return values:
  • gL2caSuccess_c – Successful application to host message sent.

  • gBleInvalidParameter_c – Invalid Device Id.

  • gBleOverflow_c – Tx queue of the device is not empty.

  • gBleOutOfMemory_c – Message or packet allocation fail.

Pre:

An L2CAP Credit Based connection must be in place.

bleResult_t L2ca_SendLeCredit(deviceId_t deviceId, uint16_t channelId, uint16_t credits)

Sends credits to a device when capable of receiving additional LE-frames.

Parameters:
  • deviceId[in] The DeviceID to which credits are given.

  • channelId[in] The L2CAP Channel Id assigned on the initiator.

  • credits[in] Number of credits to be given.

Return values:
  • gL2caSuccess_c – Successful application to host message sent.

  • gBleOutOfMemory_c – Message allocation fail.

  • gBleInvalidParameter_c – Invalid device id.

Pre:

An L2CAP Credit Based connection must be in place.

gL2capCidNull_c
gL2capCidAtt_c
gL2capCidSignaling_c
gL2capCidSmp_c
gL2capCidSigAssignedFirst_c
gL2capCidSigAssignedLast_c
gL2capCidLePsmDynamicFirst_c
gL2capCidLePsmDynamicLast_c
gL2capCidNotApplicable_c
gL2caLePsmSigAssignedFirst_c
gL2caLePsmSigAssignedEatt_c
gL2caLePsmSigAssignedLast_c
gL2caLePsmDynamicFirst_c
gL2caLePsmDynamicLast_c
gL2capDefaultMtu_c
gL2capDefaultMps_c
gL2capMaximumMps_c
gEnhancedL2capMinimumMps_c
gL2capHeaderLength_c
gExpandAsEnum_m(a, b, c)
gExpandAsTable_m(a, b, c)
gL2capEnhancedMaxChannels_c
gLePsmSigAssignedNumbersTable_m(entry)
struct l2caLeCbConnectionRequest_tag
#include <l2ca_cb_interface.h>
struct l2caLeCbConnectionComplete_tag
#include <l2ca_cb_interface.h>
struct l2caHandoverConnectionComplete_tag
#include <l2ca_cb_interface.h>
struct l2caLeCbDisconnection_tag
#include <l2ca_cb_interface.h>
struct l2caLeCbNoPeerCredits_tag
#include <l2ca_cb_interface.h>
struct l2caLeCbLowPeerCredits_tag
#include <l2ca_cb_interface.h>
struct l2caLeCbLocalCreditsNotification_tag
#include <l2ca_cb_interface.h>
struct l2caLeCbError_tag
#include <l2ca_cb_interface.h>
struct l2caLeCbChannelStatusNotification_tag
#include <l2ca_cb_interface.h>
struct l2caEnhancedConnectionRequest_tag
#include <l2ca_cb_interface.h>
struct l2caEnhancedConnectionComplete_tag
#include <l2ca_cb_interface.h>
struct l2caEnhancedReconfigureRequest_tag
#include <l2ca_cb_interface.h>
struct l2caEnhancedReconfigureResponse_tag
#include <l2ca_cb_interface.h>
struct l2capControlMessage_tag
#include <l2ca_cb_interface.h>
union messageData

Public Members

l2caLeCbConnectionRequest_t connectionRequest
l2caLeCbConnectionComplete_t connectionComplete
l2caLeCbDisconnection_t disconnection
l2caLeCbNoPeerCredits_t noPeerCredits
l2caLeCbLowPeerCredits_t lowPeerCredits
l2caLeCbLocalCreditsNotification_t localCreditsNotification
l2caLeCbError_t error
l2caLeCbChannelStatusNotification_t channelStatusNotification
l2caHandoverConnectionComplete_t handoverConnectionComplete