BLE Host
This module includes the platform abstraction for BLE Host communication.
Classes |
|
struct | otPlatBleDeviceAddr |
This structure represents BLE Device Address.
|
|
struct | otPlatBleGapConnParams |
This structure represents BLE connection parameters.
|
|
union | otPlatBleUuidValue |
This structure represents BLE UUID value.
|
|
struct | otPlatBleUuid |
This structure represents BLE UUID.
|
|
struct | otPlatBleGattCharacteristic |
This structure represents GATT Characteristic.
|
|
struct | otPlatBleGattDescriptor |
This structure represents GATT Descriptor.
|
|
struct | otPlatBleGattService |
Registration descriptor for a GATT service.
|
|
struct | otBleRadioPacket |
This structure represents an BLE packet.
|
Macros |
|
#define | OT_BLE_MS_TO_TICKS (x) (((x)*1000) / OT_BLE_ADV_INTERVAL_UNIT ) |
Convert the advertising interval from [ms] to [ble symbol times].
|
Typedefs |
|
typedef enum otPlatBleAddressType | otPlatBleAddressType |
This enum represents BLE Device Address types.
|
|
typedef enum otPlatBleCccdFlags | otPlatBleCccdFlags |
This enumeration defines the characterstic properties flags for a Client Characteristic Configuration Descriptor (CCCD).
|
|
typedef struct otPlatBleDeviceAddr | otPlatBleDeviceAddr |
This structure represents BLE Device Address.
|
|
typedef enum otPlatBleAdvMode | otPlatBleAdvMode |
This enumeration defines flags for BLE advertisement mode.
|
|
typedef struct otPlatBleGapConnParams | otPlatBleGapConnParams |
This structure represents BLE connection parameters.
|
|
typedef enum otPlatBleUuidType | otPlatBleUuidType |
This enumeration represents BLE UUID value.
|
|
typedef union otPlatBleUuidValue | otPlatBleUuidValue |
This structure represents BLE UUID value.
|
|
typedef struct otPlatBleUuid | otPlatBleUuid |
This structure represents BLE UUID.
|
|
typedef struct otPlatBleGattCharacteristic | otPlatBleGattCharacteristic |
This structure represents GATT Characteristic.
|
|
typedef struct otPlatBleGattDescriptor | otPlatBleGattDescriptor |
This structure represents GATT Descriptor.
|
|
typedef struct otPlatBleGattService | otPlatBleGattService |
Registration descriptor for a GATT service.
|
|
typedef struct otBleRadioPacket | otBleRadioPacket |
This structure represents an BLE packet.
|
|
typedef enum otPlatBleL2capError | otPlatBleL2capError |
The enum indicates the outcome of the L2CAP connection request procedure.
|
Functions |
|
otError | otPlatBleEnable ( otInstance *aInstance) |
Enable the Bluetooth Low Energy radio.
|
|
otError | otPlatBleDisable ( otInstance *aInstance) |
Disable the Bluetooth Low Energy radio.
|
|
otError | otPlatBleReset ( otInstance *aInstance) |
Reset the Bluetooth Low Energy subsystem.
|
|
bool | otPlatBleIsEnabled ( otInstance *aInstance) |
Check whether Bluetooth Low Energy radio is enabled or not.
|
|
void | otPlatBleOnEnabled ( otInstance *aInstance) |
Callback sent when Bluetooth Low Energy is ready after being enabled.
|
|
otError | otPlatBleGapAddressGet ( otInstance *aInstance, otPlatBleDeviceAddr *aAddress) |
Gets Bluetooth Device Address.
|
|
otError | otPlatBleGapAddressSet ( otInstance *aInstance, const otPlatBleDeviceAddr *aAddress) |
Sets Bluetooth Device Address.
|
|
otError | otPlatBleGapServiceSet ( otInstance *aInstance, const char *aDeviceName, uint16_t aAppearance) |
Sets BLE device name and appearance that is visible as GATT Based service.
|
|
otError | otPlatBleGapConnParamsSet ( otInstance *aInstance, const otPlatBleGapConnParams *aConnParams) |
Sets desired BLE Connection Parameters.
|
|
otError | otPlatBleGapAdvDataSet ( otInstance *aInstance, const uint8_t *aAdvData, uint8_t aAdvDataLength) |
Sets BLE Advertising packet content.
|
|
otError | otPlatBleGapScanResponseSet ( otInstance *aInstance, const uint8_t *aScanResponse, uint8_t aScanResponseLength) |
Sets BLE Scan Response packet content.
|
|
otError | otPlatBleGapAdvStart ( otInstance *aInstance, uint16_t aInterval, uint8_t aType) |
Starts BLE Advertising procedure.
|
|
otError | otPlatBleGapAdvStop ( otInstance *aInstance) |
Stops BLE Advertising procedure.
|
|
void | otPlatBleGapOnConnected ( otInstance *aInstance, uint16_t aConnectionId) |
The BLE driver calls this method to notify OpenThread that BLE Device has been connected.
|
|
void | otPlatBleGapOnDisconnected ( otInstance *aInstance, uint16_t aConnectionId) |
The BLE driver calls this method to notify OpenThread that the BLE Device has been disconnected.
|
|
otError | otPlatBleGapScanStart ( otInstance *aInstance, uint16_t aInterval, uint16_t aWindow) |
Starts BLE Scanning procedure.
|
|
otError | otPlatBleGapScanStop ( otInstance *aInstance) |
Stops BLE Scanning procedure.
|
|
void | otPlatBleGapOnAdvReceived ( otInstance *aInstance, otPlatBleDeviceAddr *aAddress, otBleRadioPacket *aPacket) |
The BLE driver calls this method to notify OpenThread that an advertisement packet has been received.
|
|
void | otPlatBleGapOnScanRespReceived ( otInstance *aInstance, otPlatBleDeviceAddr *aAddress, otBleRadioPacket *aPacket) |
The BLE driver calls this method to notify OpenThread that a scan response packet has been received.
|
|
otError | otPlatBleGapConnect ( otInstance *aInstance, otPlatBleDeviceAddr *aAddress, uint16_t aInterval, uint16_t aWindow) |
Starts BLE Connection procedure.
|
|
otError | otPlatBleGapDisconnect ( otInstance *aInstance) |
Disconnects BLE connection.
|
|
otError | otPlatBleGattVendorUuidRegister ( otInstance *aInstance, const otPlatBleUuid *aUuid) |
Registers vendor specific UUID Base.
|
|
otError | otPlatBleGattMtuGet ( otInstance *aInstance, uint16_t *aMtu) |
Reads currently use value of ATT_MTU.
|
|
otError | otPlatBleGattClientRead ( otInstance *aInstance, uint16_t aHandle) |
Sends ATT Read Request.
|
|
void | otPlatBleGattClientOnReadResponse ( otInstance *aInstance, otBleRadioPacket *aPacket) |
The BLE driver calls this method to notify OpenThread that ATT Read Response packet has been received.
|
|
otError | otPlatBleGattClientWrite ( otInstance *aInstance, uint16_t aHandle, otBleRadioPacket *aPacket) |
Sends ATT Write Request.
|
|
void | otPlatBleGattClientOnWriteResponse ( otInstance *aInstance, uint16_t aHandle) |
The BLE driver calls this method to notify OpenThread that ATT Write Response packet has been received.
|
|
otError | otPlatBleGattClientSubscribeRequest ( otInstance *aInstance, uint16_t aHandle, bool aSubscribing) |
Subscribes for characteristic indications.
|
|
void | otPlatBleGattClientOnSubscribeResponse ( otInstance *aInstance, uint16_t aHandle) |
The BLE driver calls this method to notify OpenThread that subscribe response has been received.
|
|
void | otPlatBleGattClientOnIndication ( otInstance *aInstance, uint16_t aHandle, otBleRadioPacket *aPacket) |
The BLE driver calls this method to notify OpenThread that an ATT Handle Value Indication has been received.
|
|
otError | otPlatBleGattClientServicesDiscover ( otInstance *aInstance) |
Performs GATT Primary Service Discovery of all services available.
|
|
otError | otPlatBleGattClientServiceDiscover ( otInstance *aInstance, const otPlatBleUuid *aUuid) |
Performs GATT Primary Service Discovery by UUID procedure of specific service.
|
|
void | otPlatBleGattClientOnServiceDiscovered ( otInstance *aInstance, uint16_t aStartHandle, uint16_t aEndHandle, uint16_t aServiceUuid, otError aError) |
The BLE driver calls this method to notify OpenThread that the next entry from GATT Primary Service Discovery has been found.
|
|
otError | otPlatBleGattClientCharacteristicsDiscover ( otInstance *aInstance, uint16_t aStartHandle, uint16_t aEndHandle) |
Performs GATT Characteristic Discovery of a service.
|
|
void | otPlatBleGattClientOnCharacteristicsDiscoverDone ( otInstance *aInstance, otPlatBleGattCharacteristic *aChars, uint16_t aCount, otError aError) |
The BLE driver calls this method to notify OpenThread that GATT Characteristic Discovery of a service has been done.
|
|
otError | otPlatBleGattClientDescriptorsDiscover ( otInstance *aInstance, uint16_t aStartHandle, uint16_t aEndHandle) |
Performs GATT Descriptor Discovery.
|
|
void | otPlatBleGattClientOnDescriptorsDiscoverDone ( otInstance *aInstance, otPlatBleGattDescriptor *aDescs, uint16_t aCount, otError aError) |
The BLE driver calls this method to notify OpenThread that GATT Descriptor Discovery has been done.
|
|
otError | otPlatBleGattClientMtuExchangeRequest ( otInstance *aInstance, uint16_t aMtu) |
Sends Exchange MTU Request.
|
|
void | otPlatBleGattClientOnMtuExchangeResponse ( otInstance *aInstance, uint16_t aMtu, otError aError) |
The BLE driver calls this method to notify OpenThread that Exchange MTU Response has been received.
|
|
otError | otPlatBleGattServerServicesRegister ( otInstance *aInstance, otPlatBleGattService *aServices) |
Registers a list of GATT Services and their enclosed Characteristics.
|
|
otError | otPlatBleGattServerIndicate ( otInstance *aInstance, uint16_t aHandle, otBleRadioPacket *aPacket) |
Sends ATT Handle Value Indication.
|
|
void | otPlatBleGattServerOnIndicationConfirmation ( otInstance *aInstance, uint16_t aHandle) |
The BLE driver calls this method to notify OpenThread that an ATT Handle Value Confirmation has been received.
|
|
void | otPlatBleGattServerOnWriteRequest ( otInstance *aInstance, uint16_t aHandle, otBleRadioPacket *aPacket) |
The BLE driver calls this method to notify OpenThread that an ATT Write Request packet has been received.
|
|
void | otPlatBleGattServerOnReadRequest ( otInstance *aInstance, uint16_t aHandle, otBleRadioPacket *aPacket) |
The BLE driver calls this method to notify OpenThread that an ATT Read Request packet has been received.
|
|
void | otPlatBleGattServerOnSubscribeRequest ( otInstance *aInstance, uint16_t aHandle, bool aSubscribing) |
The BLE driver calls this method to notify OpenThread that an ATT Subscription Request packet has been received.
|
|
otError | otPlatBleL2capConnectionRequest ( otInstance *aInstance, uint16_t aPsm, uint16_t aMtu, uint16_t *aCid) |
Sends LE Credit Based Connection Request.
|
|
void | otPlatBleL2capOnConnectionRequest ( otInstance *aInstance, uint16_t aPsm, uint16_t aMtu, uint16_t aPeerCid) |
The BLE driver calls this method to notify OpenThread that an LE Credit Based Connection Request packet has been received.
|
|
otError | otPlatBleL2capConnectionResponse ( otInstance *aInstance, otPlatBleL2capError aError, uint16_t aMtu, uint16_t *aCid) |
Sends LE Credit Based Connection Response.
|
|
void | otPlatBleL2capOnConnectionResponse ( otInstance *aInstance, otPlatBleL2capError aError, uint16_t aMtu, uint16_t aPeerCid) |
The BLE driver calls this method to notify OpenThread that an LE Credit Based Connection Response packet has been received.
|
|
otError | otPlatBleL2capSduSend ( otInstance *aInstance, uint16_t aLocalCid, uint16_t aPeerCid, otBleRadioPacket *aPacket) |
Sends an SDU on an L2CAP channel.
|
|
void | otPlatBleL2capOnSduReceived ( otInstance *aInstance, uint16_t aLocalCid, uint16_t aPeerCid, otBleRadioPacket *aPacket) |
The BLE driver calls this method to notify OpenThread that an L2CAP SDU has been received.
|
|
void | otPlatBleL2capOnSduSent ( otInstance *aInstance) |
The BLE driver calls this method to notify OpenThread that an L2CAP SDU has been sent.
|
|
otError | otPlatBleL2capDisconnect ( otInstance *aInstance, uint16_t aLocalCid, uint16_t aPeerCid) |
Sends an L2CAP Disconnection Request.
|
|
void | otPlatBleL2capOnDisconnect ( otInstance *aInstance, uint16_t aLocalCid, uint16_t aPeerCid) |
The BLE driver calls this method to notify OpenThread that an L2CAP Disconnection Request has been received.
|
Detailed Description
This module includes the platform abstraction for BLE Host communication.
The platform needs to implement Bluetooth LE 4.2 or higher.
Typedef Documentation
◆ otPlatBleCccdFlags
typedef enum otPlatBleCccdFlags otPlatBleCccdFlags |
This enumeration defines the characterstic properties flags for a Client Characteristic Configuration Descriptor (CCCD).
See v4.2 [Vol 3, Part G] 3.3.1.1 Characteristic Properties - Table 3.5
◆ otPlatBleL2capError
typedef enum otPlatBleL2capError otPlatBleL2capError |
The enum indicates the outcome of the L2CAP connection request procedure.
See Bluetooth v5.0 | Vol 3, Part A, 4.23, Table 4.20.
Enumeration Type Documentation
◆ anonymous enum
anonymous enum |
◆ otPlatBleAddressType
enum otPlatBleAddressType |
This enum represents BLE Device Address types.
◆ otPlatBleAdvMode
enum otPlatBleAdvMode |
◆ otPlatBleCccdFlags
enum otPlatBleCccdFlags |
This enumeration defines the characterstic properties flags for a Client Characteristic Configuration Descriptor (CCCD).
See v4.2 [Vol 3, Part G] 3.3.1.1 Characteristic Properties - Table 3.5
◆ otPlatBleL2capError
enum otPlatBleL2capError |
The enum indicates the outcome of the L2CAP connection request procedure.
See Bluetooth v5.0 | Vol 3, Part A, 4.23, Table 4.20.
◆ otPlatBleUuidType
enum otPlatBleUuidType |
Function Documentation
◆ otPlatBleDisable()
otError otPlatBleDisable | ( | otInstance * |
aInstance
|
) |
Disable the Bluetooth Low Energy radio.
When disabled, the BLE stack will flush event queues and not generate new events. The BLE peripheral is turned off or put into a low power sleep state. Any dynamic memory used by the stack should be released, but static memory may remain reserved.
- Parameters
-
[in] aInstance
The OpenThread instance structure.
- Return values
-
OT_ERROR_NONE
Successfully transitioned to disabled. OT_ERROR_FAILED
The BLE radio could not be disabled.
◆ otPlatBleEnable()
otError otPlatBleEnable | ( | otInstance * |
aInstance
|
) |
Enable the Bluetooth Low Energy radio.
- Note
- BLE Device should use the highest ATT_MTU supported that does not exceed OT_BLE_ATT_MTU_MAX octets.
- Parameters
-
[in] aInstance
The OpenThread instance structure.
- Return values
-
OT_ERROR_NONE
Successfully enabled. OT_ERROR_FAILED
The BLE radio could not be enabled.
◆ otPlatBleGapAddressGet()
otError otPlatBleGapAddressGet | ( | otInstance * |
aInstance,
|
otPlatBleDeviceAddr * |
aAddress
|
||
) |
Gets Bluetooth Device Address.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [out] aAddress
The pointer to Bluetooth Device Address.
- Return values
-
OT_ERROR_NONE
Request has been successfully done. OT_ERROR_INVALID_ARGS
Invalid parameters has been supplied.
◆ otPlatBleGapAddressSet()
otError otPlatBleGapAddressSet | ( | otInstance * |
aInstance,
|
const otPlatBleDeviceAddr * |
aAddress
|
||
) |
Sets Bluetooth Device Address.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aAddress
The pointer to Bluetooth Device Address.
- Return values
-
OT_ERROR_NONE
Request has been successfully done. OT_ERROR_INVALID_ARGS
Invalid parameters has been supplied.
◆ otPlatBleGapAdvDataSet()
otError otPlatBleGapAdvDataSet | ( | otInstance * |
aInstance,
|
const uint8_t * |
aAdvData,
|
||
uint8_t |
aAdvDataLength
|
||
) |
Sets BLE Advertising packet content.
- Note
- This function shall be used only for BLE Peripheral role.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aAdvData
A pointer to advertising data content in raw format. [in] aAdvDataLength
The size of advertising data. Shall not exceed OT_BLE_ADV_DATA_MAX_LENGTH.
- Return values
-
OT_ERROR_NONE
Advertising data has been successfully set. OT_ERROR_INVALID_ARGS
Invalid advertising data has been supplied.
◆ otPlatBleGapAdvStart()
otError otPlatBleGapAdvStart | ( | otInstance * |
aInstance,
|
uint16_t |
aInterval,
|
||
uint8_t |
aType
|
||
) |
Starts BLE Advertising procedure.
The BLE device shall use undirected advertising with no filter applied. A single BLE Advertising packet must be sent on all advertising channels (37, 38 and 39).
- Note
- This function shall be used only for BLE Peripheral role.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aInterval
The interval between subsequent advertising packets in OT_BLE_ADV_INTERVAL_UNIT units. Shall be within OT_BLE_ADV_INTERVAL_MIN and OT_BLE_ADV_INTERVAL_MAX range. [in] aType
The advertisement properties as a bitmask: whether it is connectable | scannable.
- Return values
-
OT_ERROR_NONE
Advertising procedure has been started. OT_ERROR_INVALID_STATE
BLE Device is in invalid state. OT_ERROR_INVALID_ARGS
Invalid interval value has been supplied.
◆ otPlatBleGapAdvStop()
otError otPlatBleGapAdvStop | ( | otInstance * |
aInstance
|
) |
Stops BLE Advertising procedure.
- Note
- This function shall be used only for BLE Peripheral role.
- Parameters
-
[in] aInstance
The OpenThread instance structure.
- Return values
-
OT_ERROR_NONE
Advertising procedure has been stopped. OT_ERROR_INVALID_STATE
BLE Device is in invalid state.
◆ otPlatBleGapConnect()
otError otPlatBleGapConnect | ( | otInstance * |
aInstance,
|
otPlatBleDeviceAddr * |
aAddress,
|
||
uint16_t |
aInterval,
|
||
uint16_t |
aWindow
|
||
) |
Starts BLE Connection procedure.
- Note
- This function shall be used only for BLE Central role.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aAddress
An address of the advertising device. [in] aInterval
The scanning interval in OT_BLE_SCAN_INTERVAL_UNIT units. Shall be in OT_BLE_SCAN_INTERVAL_MIN and OT_BLE_SCAN_INTERVAL_MAX range. [in] aWindow
The scanning window in OT_BLE_SCAN_WINDOW_UNIT units. Shall be in OT_BLE_SCAN_WINDOW_MIN and OT_BLE_SCAN_WINDOW_MAX range.
- Return values
-
OT_ERROR_NONE
Connection procedure has been started. OT_ERROR_INVALID_STATE
BLE Device is in invalid state. OT_ERROR_INVALID_ARGS
Invalid address, interval or window value has been supplied.
◆ otPlatBleGapConnParamsSet()
otError otPlatBleGapConnParamsSet | ( | otInstance * |
aInstance,
|
const otPlatBleGapConnParams * |
aConnParams
|
||
) |
Sets desired BLE Connection Parameters.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aConnParams
A pointer to connection parameters structure.
- Return values
-
OT_ERROR_NONE
Connection parameters have been successfully set. OT_ERROR_INVALID_ARGS
Invalid connection parameters have been supplied.
◆ otPlatBleGapDisconnect()
otError otPlatBleGapDisconnect | ( | otInstance * |
aInstance
|
) |
Disconnects BLE connection.
The BLE device shall indicate the OT_BLE_HCI_REMOTE_USER_TERMINATED HCI code reason.
- Parameters
-
[in] aInstance
The OpenThread instance structure.
- Return values
-
OT_ERROR_NONE
Disconnection procedure has been started. OT_ERROR_INVALID_STATE
BLE Device is in invalid state.
◆ otPlatBleGapOnAdvReceived()
void otPlatBleGapOnAdvReceived | ( | otInstance * |
aInstance,
|
otPlatBleDeviceAddr * |
aAddress,
|
||
otBleRadioPacket * |
aPacket
|
||
) |
The BLE driver calls this method to notify OpenThread that an advertisement packet has been received.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aAddress
An address of the advertising device. [in] aPacket
A pointer to the received packet.
◆ otPlatBleGapOnConnected()
void otPlatBleGapOnConnected | ( | otInstance * |
aInstance,
|
uint16_t |
aConnectionId
|
||
) |
The BLE driver calls this method to notify OpenThread that BLE Device has been connected.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aConnectionId
The identifier of the open connection.
◆ otPlatBleGapOnDisconnected()
void otPlatBleGapOnDisconnected | ( | otInstance * |
aInstance,
|
uint16_t |
aConnectionId
|
||
) |
The BLE driver calls this method to notify OpenThread that the BLE Device has been disconnected.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aConnectionId
The identifier of the closed connection.
◆ otPlatBleGapOnScanRespReceived()
void otPlatBleGapOnScanRespReceived | ( | otInstance * |
aInstance,
|
otPlatBleDeviceAddr * |
aAddress,
|
||
otBleRadioPacket * |
aPacket
|
||
) |
The BLE driver calls this method to notify OpenThread that a scan response packet has been received.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aAddress
An address of the advertising device. [in] aPacket
A pointer to the received packet.
◆ otPlatBleGapScanResponseSet()
otError otPlatBleGapScanResponseSet | ( | otInstance * |
aInstance,
|
const uint8_t * |
aScanResponse,
|
||
uint8_t |
aScanResponseLength
|
||
) |
Sets BLE Scan Response packet content.
- Note
- This function shall be used only for BLE Peripheral role.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aScanResponse
A pointer to scan response data in raw format. [in] aScanResponseLength
The size of scan response data. Shall not exceed OT_BLE_SCAN_RESPONSE_MAX_LENGTH.
- Return values
-
OT_ERROR_NONE
Scan response data has been successfully set. OT_ERROR_INVALID_ARGS
Invalid scan response data has been supplied.
◆ otPlatBleGapScanStart()
otError otPlatBleGapScanStart | ( | otInstance * |
aInstance,
|
uint16_t |
aInterval,
|
||
uint16_t |
aWindow
|
||
) |
Starts BLE Scanning procedure.
- Note
- This function shall be used only for BLE Central role.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aInterval
The scanning interval in OT_BLE_SCAN_INTERVAL_UNIT units. Shall be in OT_BLE_SCAN_INTERVAL_MIN and OT_BLE_SCAN_INTERVAL_MAX range. [in] aWindow
The scanning window in OT_BLE_SCAN_WINDOW_UNIT units. Shall be in OT_BLE_SCAN_WINDOW_MIN and OT_BLE_SCAN_WINDOW_MAX range.
- Return values
-
OT_ERROR_NONE
Scanning procedure has been started. OT_ERROR_INVALID_STATE
BLE Device is in invalid state. OT_ERROR_INVALID_ARGS
Invalid interval or window value has been supplied.
◆ otPlatBleGapScanStop()
otError otPlatBleGapScanStop | ( | otInstance * |
aInstance
|
) |
Stops BLE Scanning procedure.
- Note
- This function shall be used only for BLE Central role.
- Parameters
-
[in] aInstance
The OpenThread instance structure.
- Return values
-
OT_ERROR_NONE
Scanning procedure has been stopped. OT_ERROR_INVALID_STATE
BLE Device is in invalid state.
◆ otPlatBleGapServiceSet()
otError otPlatBleGapServiceSet | ( | otInstance * |
aInstance,
|
const char * |
aDeviceName,
|
||
uint16_t |
aAppearance
|
||
) |
Sets BLE device name and appearance that is visible as GATT Based service.
The BLE Host stack should set the security mode 1, level 1 (no security) for those characteristics.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aDeviceName
A pointer to device name string (null terminated). Shall not exceed OT_BLE_DEV_NAME_MAX_LENGTH. [in] aAppearance
The value of appearance characteristic.
- Return values
-
OT_ERROR_NONE
Connection parameters have been successfully set. OT_ERROR_INVALID_ARGS
Invalid parameters has been supplied.
◆ otPlatBleGattClientCharacteristicsDiscover()
otError otPlatBleGattClientCharacteristicsDiscover | ( | otInstance * |
aInstance,
|
uint16_t |
aStartHandle,
|
||
uint16_t |
aEndHandle
|
||
) |
Performs GATT Characteristic Discovery of a service.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aStartHandle
The start handle of a service. [in] aEndHandle
The end handle of a service.
- Return values
-
OT_ERROR_NONE
Characteristic Discovery procedure has been started. OT_ERROR_INVALID_STATE
BLE Device is in invalid state. OT_ERROR_INVALID_ARGS
Invalid start or end handle has been provided. OT_ERROR_NO_BUFS
No available internal buffer found.
◆ otPlatBleGattClientDescriptorsDiscover()
otError otPlatBleGattClientDescriptorsDiscover | ( | otInstance * |
aInstance,
|
uint16_t |
aStartHandle,
|
||
uint16_t |
aEndHandle
|
||
) |
Performs GATT Descriptor Discovery.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aStartHandle
The start handle. [in] aEndHandle
The end handle.
- Return values
-
OT_ERROR_NONE
Descriptor Discovery procedure has been started. OT_ERROR_INVALID_STATE
BLE Device is in invalid state. OT_ERROR_INVALID_ARGS
Invalid start or end handle has been provided. OT_ERROR_NO_BUFS
No available internal buffer found.
◆ otPlatBleGattClientMtuExchangeRequest()
otError otPlatBleGattClientMtuExchangeRequest | ( | otInstance * |
aInstance,
|
uint16_t |
aMtu
|
||
) |
Sends Exchange MTU Request.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aMtu
A value of GATT Client receive MTU size.
- Return values
-
OT_ERROR_NONE
Exchange MTU Request has been sent. OT_ERROR_INVALID_STATE
BLE Device is in invalid state. OT_ERROR_INVALID_ARGS
Invalid aMtu has been provided. OT_ERROR_NO_BUFS
No available internal buffer found.
◆ otPlatBleGattClientOnCharacteristicsDiscoverDone()
void otPlatBleGattClientOnCharacteristicsDiscoverDone | ( | otInstance * |
aInstance,
|
otPlatBleGattCharacteristic * |
aChars,
|
||
uint16_t |
aCount,
|
||
otError |
aError
|
||
) |
The BLE driver calls this method to notify OpenThread that GATT Characteristic Discovery of a service has been done.
In case of success, all elements inside
aChars
should have a valid mHandleValue value.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aChars
A pointer to discovered characteristic list. [in] aCount
Number of characteristics in aChar
list.[in] aError
The value of OT_ERROR_NONE indicates that at least one characteristic has been found and the total number of them is stored in aCount
. OT_ERROR_NOT_FOUND error should be set if no charactertistics are found. Otherwise error indicates the reason of failure is used.
◆ otPlatBleGattClientOnDescriptorsDiscoverDone()
void otPlatBleGattClientOnDescriptorsDiscoverDone | ( | otInstance * |
aInstance,
|
otPlatBleGattDescriptor * |
aDescs,
|
||
uint16_t |
aCount,
|
||
otError |
aError
|
||
) |
The BLE driver calls this method to notify OpenThread that GATT Descriptor Discovery has been done.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aDescs
A pointer to discovered descriptor list. [in] aCount
Number of descriptors in aDescs
list.[in] aError
The value of OT_ERROR_NONE indicates that at least one descriptor has been found and the total number of them is stored in aCount
. OT_ERROR_NOT_FOUND error should be set if no descriptors are found. Otherwise error indicates the reason of failure is used.
◆ otPlatBleGattClientOnIndication()
void otPlatBleGattClientOnIndication | ( | otInstance * |
aInstance,
|
uint16_t |
aHandle,
|
||
otBleRadioPacket * |
aPacket
|
||
) |
The BLE driver calls this method to notify OpenThread that an ATT Handle Value Indication has been received.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aHandle
The handle on which ATT Handle Value Indication has been sent. [in] aPacket
A pointer to the packet contains indicated value.
◆ otPlatBleGattClientOnMtuExchangeResponse()
void otPlatBleGattClientOnMtuExchangeResponse | ( | otInstance * |
aInstance,
|
uint16_t |
aMtu,
|
||
otError |
aError
|
||
) |
The BLE driver calls this method to notify OpenThread that Exchange MTU Response has been received.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aMtu
Attribute server receive MTU size. [in] aError
The value of OT_ERROR_NONE indicates that valid Exchange MTU Response has been received. Otherwise error indicates the reason of failure is used.
◆ otPlatBleGattClientOnReadResponse()
void otPlatBleGattClientOnReadResponse | ( | otInstance * |
aInstance,
|
otBleRadioPacket * |
aPacket
|
||
) |
The BLE driver calls this method to notify OpenThread that ATT Read Response packet has been received.
This method is called only if
otPlatBleGattClientRead
was previously requested.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aPacket
A pointer to the packet contains read value.
◆ otPlatBleGattClientOnServiceDiscovered()
void otPlatBleGattClientOnServiceDiscovered | ( | otInstance * |
aInstance,
|
uint16_t |
aStartHandle,
|
||
uint16_t |
aEndHandle,
|
||
uint16_t |
aServiceUuid,
|
||
otError |
aError
|
||
) |
The BLE driver calls this method to notify OpenThread that the next entry from GATT Primary Service Discovery has been found.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aStartHandle
The start handle of a service. [in] aEndHandle
The end handle of a service. [in] aServiceUuid
The Uuid16 for the service entry. [in] aError
The value of OT_ERROR_NONE indicates that service has been found and structure aStartHandle
andaEndHandle
contain valid handles. OT_ERROR_NOT_FOUND error should be set if service has not been found. Otherwise error indicates the reason of failure is used.
◆ otPlatBleGattClientOnSubscribeResponse()
void otPlatBleGattClientOnSubscribeResponse | ( | otInstance * |
aInstance,
|
uint16_t |
aHandle
|
||
) |
The BLE driver calls this method to notify OpenThread that subscribe response has been received.
This method is called only if
otPlatBleGattClienSubscribe
was previously requested.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aHandle
The handle on which ATT Write Response has been sent.
◆ otPlatBleGattClientOnWriteResponse()
void otPlatBleGattClientOnWriteResponse | ( | otInstance * |
aInstance,
|
uint16_t |
aHandle
|
||
) |
The BLE driver calls this method to notify OpenThread that ATT Write Response packet has been received.
This method is called only if
otPlatBleGattClientWrite
was previously requested.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aHandle
The handle on which ATT Write Response has been sent.
◆ otPlatBleGattClientRead()
otError otPlatBleGattClientRead | ( | otInstance * |
aInstance,
|
uint16_t |
aHandle
|
||
) |
Sends ATT Read Request.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aHandle
The handle of the attribute to be read.
- Return values
-
OT_ERROR_NONE
ATT Write Request has been sent. OT_ERROR_INVALID_STATE
BLE Device is in invalid state. OT_ERROR_INVALID_ARGS
Invalid handle value has been supplied. OT_ERROR_NO_BUFS
No available internal buffer found.
◆ otPlatBleGattClientServiceDiscover()
otError otPlatBleGattClientServiceDiscover | ( | otInstance * |
aInstance,
|
const otPlatBleUuid * |
aUuid
|
||
) |
Performs GATT Primary Service Discovery by UUID procedure of specific service.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aUuid
The UUID of a service to be registered.
- Return values
-
OT_ERROR_NONE
Service Discovery procedure has been started. OT_ERROR_INVALID_STATE
BLE Device is in invalid state. OT_ERROR_INVALID_ARGS
Invalid service UUID has been provided. OT_ERROR_NO_BUFS
No available internal buffer found.
◆ otPlatBleGattClientServicesDiscover()
otError otPlatBleGattClientServicesDiscover | ( | otInstance * |
aInstance
|
) |
Performs GATT Primary Service Discovery of all services available.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure.
- Return values
-
OT_ERROR_NONE
Service Discovery procedure has been started. OT_ERROR_INVALID_STATE
BLE Device is in invalid state. OT_ERROR_INVALID_ARGS
Invalid service UUID has been provided. OT_ERROR_NO_BUFS
No available internal buffer found.
◆ otPlatBleGattClientSubscribeRequest()
otError otPlatBleGattClientSubscribeRequest | ( | otInstance * |
aInstance,
|
uint16_t |
aHandle,
|
||
bool |
aSubscribing
|
||
) |
Subscribes for characteristic indications.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aHandle
The handle of the attribute to be written. [in] aSubscribing
True if subscribing, otherwise unsubscribing.
- Return values
-
OT_ERROR_NONE
Subscription has been sent. OT_ERROR_INVALID_STATE
BLE Device is in invalid state. OT_ERROR_INVALID_ARGS
Invalid handle value, data or data length has been supplied. OT_ERROR_NO_BUFS
No available internal buffer found.
◆ otPlatBleGattClientWrite()
otError otPlatBleGattClientWrite | ( | otInstance * |
aInstance,
|
uint16_t |
aHandle,
|
||
otBleRadioPacket * |
aPacket
|
||
) |
Sends ATT Write Request.
- Note
- This function shall be used only for GATT Client.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aHandle
The handle of the attribute to be written. [in] aPacket
A pointer to the packet contains value to be written to the attribute.
- Return values
-
OT_ERROR_NONE
ATT Write Request has been sent. OT_ERROR_INVALID_STATE
BLE Device is in invalid state. OT_ERROR_INVALID_ARGS
Invalid handle value, data or data length has been supplied. OT_ERROR_NO_BUFS
No available internal buffer found.
◆ otPlatBleGattMtuGet()
otError otPlatBleGattMtuGet | ( | otInstance * |
aInstance,
|
uint16_t * |
aMtu
|
||
) |
Reads currently use value of ATT_MTU.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [out] aMtu
A pointer contains current ATT_MTU value.
- Return values
-
OT_ERROR_NONE
ATT_MTU value has been placed in aMtu
.OT_ERROR_FAILED
BLE Device cannot determine its ATT_MTU.
◆ otPlatBleGattServerIndicate()
otError otPlatBleGattServerIndicate | ( | otInstance * |
aInstance,
|
uint16_t |
aHandle,
|
||
otBleRadioPacket * |
aPacket
|
||
) |
Sends ATT Handle Value Indication.
- Note
- This function shall be used only for GATT Server.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aHandle
The handle of the attribute to be indicated. [in] aPacket
A pointer to the packet contains value to be indicated.
- Return values
-
OT_ERROR_NONE
ATT Handle Value Indication has been sent. OT_ERROR_INVALID_STATE
BLE Device is in invalid state. OT_ERROR_INVALID_ARGS
Invalid handle value, data or data length has been supplied. OT_ERROR_NO_BUFS
No available internal buffer found.
◆ otPlatBleGattServerOnIndicationConfirmation()
void otPlatBleGattServerOnIndicationConfirmation | ( | otInstance * |
aInstance,
|
uint16_t |
aHandle
|
||
) |
The BLE driver calls this method to notify OpenThread that an ATT Handle Value Confirmation has been received.
This method is called only if
otPlatBleGattServerIndicate
was previously requested.
- Note
- This function shall be used only for GATT Server.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aHandle
The handle on which ATT Handle Value Confirmation has been sent.
◆ otPlatBleGattServerOnReadRequest()
void otPlatBleGattServerOnReadRequest | ( | otInstance * |
aInstance,
|
uint16_t |
aHandle,
|
||
otBleRadioPacket * |
aPacket
|
||
) |
The BLE driver calls this method to notify OpenThread that an ATT Read Request packet has been received.
- Note
- This function shall be used only for GATT Server.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aHandle
The handle of the attribute to be read. [out] aPacket
A pointer to the packet to be filled with pointers to attribute data to be read.
◆ otPlatBleGattServerOnSubscribeRequest()
void otPlatBleGattServerOnSubscribeRequest | ( | otInstance * |
aInstance,
|
uint16_t |
aHandle,
|
||
bool |
aSubscribing
|
||
) |
The BLE driver calls this method to notify OpenThread that an ATT Subscription Request packet has been received.
- Note
- This function shall be used only for GATT Server.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aHandle
The handle of the attribute to be written. [in] aSubscribing
True if subscribing, otherwise unsubscribing.
◆ otPlatBleGattServerOnWriteRequest()
void otPlatBleGattServerOnWriteRequest | ( | otInstance * |
aInstance,
|
uint16_t |
aHandle,
|
||
otBleRadioPacket * |
aPacket
|
||
) |
The BLE driver calls this method to notify OpenThread that an ATT Write Request packet has been received.
- Note
- This function shall be used only for GATT Server.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aHandle
The handle of the attribute to be written. [in] aPacket
A pointer to the packet contains value to be written to the attribute.
◆ otPlatBleGattServerServicesRegister()
otError otPlatBleGattServerServicesRegister | ( | otInstance * |
aInstance,
|
otPlatBleGattService * |
aServices
|
||
) |
Registers a list of GATT Services and their enclosed Characteristics.
The generated handles will be written back into this structure when the BLE stack is enabled.
- Note
- This function shall be used only for GATT Server.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aServices
Null terminated array of service structures to register.
- Return values
-
OT_ERROR_NONE
Service has been successfully registered. OT_ERROR_INVALID_STATE
BLE Device is in invalid state. OT_ERROR_INVALID_ARGS
Invalid service UUID has been provided. OT_ERROR_NO_BUFS
No available internal buffer found.
◆ otPlatBleGattVendorUuidRegister()
otError otPlatBleGattVendorUuidRegister | ( | otInstance * |
aInstance,
|
const otPlatBleUuid * |
aUuid
|
||
) |
Registers vendor specific UUID Base.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aUuid
A pointer to vendor specific 128-bit UUID Base.
◆ otPlatBleIsEnabled()
bool otPlatBleIsEnabled | ( | otInstance * |
aInstance
|
) |
Check whether Bluetooth Low Energy radio is enabled or not.
- Parameters
-
[in] aInstance
The OpenThread instance structure.
- Return values
-
::true
Bluetooth Low Energy radio is enabled. ::false
Bluetooth Low Energy radio is disabled.
◆ otPlatBleL2capConnectionRequest()
otError otPlatBleL2capConnectionRequest | ( | otInstance * |
aInstance,
|
uint16_t |
aPsm,
|
||
uint16_t |
aMtu,
|
||
uint16_t * |
aCid
|
||
) |
Sends LE Credit Based Connection Request.
- Note
- Platform layer is responsible for credits management and segmentation (MPS).
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aPsm
The value of LE Protocol/Service Multiplexer. [in] aMtu
The value specifies the maximum SDU size (in octets) that the L2CAP layer entity sending the LE Credit Based Connection Request can receive on this channel. [out] aCid
The source CID represents a channel endpoint on the device.
- Return values
-
OT_ERROR_NONE
LE Credit Based Connection Request has been sent. OT_ERROR_INVALID_STATE
BLE Device is in invalid state e.g. not in the GAP connection. OT_ERROR_INVALID_ARGS
Invalid parameters has been supplied. OT_ERROR_NO_BUFS
No available internal buffer found.
◆ otPlatBleL2capConnectionResponse()
otError otPlatBleL2capConnectionResponse | ( | otInstance * |
aInstance,
|
otPlatBleL2capError |
aError,
|
||
uint16_t |
aMtu,
|
||
uint16_t * |
aCid
|
||
) |
Sends LE Credit Based Connection Response.
- Note
- Platform layer is responsible for credits management and segmentation (MPS).
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aError
The error value indicates the outcome of the connection request. [in] aMtu
The value specifies the maximum SDU size (in octets) that the L2CAP layer entity sending the LE Credit Based Connection Response can receive on this channel. [out] aCid
The source CID represents a channel endpoint on the device. If aResult
value is different fromOT_BLE_L2C_ERROR_NONE
, this variable is unused and should be set to NULL.
- Return values
-
OT_ERROR_NONE
LE Credit Based Connection Response has been sent. OT_ERROR_INVALID_STATE
BLE Device is in invalid state e.g. not in the GAP connection. OT_ERROR_INVALID_ARGS
Invalid parameters has been supplied. OT_ERROR_NO_BUFS
No available internal buffer found.
◆ otPlatBleL2capDisconnect()
otError otPlatBleL2capDisconnect | ( | otInstance * |
aInstance,
|
uint16_t |
aLocalCid,
|
||
uint16_t |
aPeerCid
|
||
) |
Sends an L2CAP Disconnection Request.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aLocalCid
The local channel endpoint ID value. [in] aPeerCid
The peer channel endpoint ID value.
- Return values
-
OT_ERROR_NONE
L2CAP Disconnection Request has been sent. OT_ERROR_INVALID_STATE
BLE Device is in invalid state e.g. not in the GAP connection. OT_ERROR_INVALID_ARGS
Invalid parameters has been supplied. OT_ERROR_NO_BUFS
No available internal buffer found.
◆ otPlatBleL2capOnConnectionRequest()
void otPlatBleL2capOnConnectionRequest | ( | otInstance * |
aInstance,
|
uint16_t |
aPsm,
|
||
uint16_t |
aMtu,
|
||
uint16_t |
aPeerCid
|
||
) |
The BLE driver calls this method to notify OpenThread that an LE Credit Based Connection Request packet has been received.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aPsm
The value of LE Protocol/Service Multiplexer. [in] aMtu
The value specifies the maximum SDU size (in octets) that the L2CAP layer entity sending the LE Credit Based Connection Request can receive on this channel. [in] aPeerCid
The CID represents a channel endpoint on the peer device.
◆ otPlatBleL2capOnConnectionResponse()
void otPlatBleL2capOnConnectionResponse | ( | otInstance * |
aInstance,
|
otPlatBleL2capError |
aError,
|
||
uint16_t |
aMtu,
|
||
uint16_t |
aPeerCid
|
||
) |
The BLE driver calls this method to notify OpenThread that an LE Credit Based Connection Response packet has been received.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aError
The error value indicates the outcome of the connection request. [in] aMtu
The value specifies the maximum SDU size (in octets) that the L2CAP layer entity sending the LE Credit Based Connection Response can receive on this channel. [in] aPeerCid
The CID represents a channel endpoint on the peer device.
◆ otPlatBleL2capOnDisconnect()
void otPlatBleL2capOnDisconnect | ( | otInstance * |
aInstance,
|
uint16_t |
aLocalCid,
|
||
uint16_t |
aPeerCid
|
||
) |
The BLE driver calls this method to notify OpenThread that an L2CAP Disconnection Request has been received.
- Note
- Platform layer is responsible to response with L2CAP Disconnection Response internally.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aLocalCid
The local channel endpoint ID value. [in] aPeerCid
The peer channel endpoint ID value.
◆ otPlatBleL2capOnSduReceived()
void otPlatBleL2capOnSduReceived | ( | otInstance * |
aInstance,
|
uint16_t |
aLocalCid,
|
||
uint16_t |
aPeerCid,
|
||
otBleRadioPacket * |
aPacket
|
||
) |
The BLE driver calls this method to notify OpenThread that an L2CAP SDU has been received.
- Note
- Platform layer is responsible for credits management and segmentation (MPS).
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aLocalCid
The local channel endpoint ID value. [in] aPeerCid
The peer channel endpoint ID value. [in] aPacket
A pointer to the packet containing SDU.
◆ otPlatBleL2capOnSduSent()
void otPlatBleL2capOnSduSent | ( | otInstance * |
aInstance
|
) |
The BLE driver calls this method to notify OpenThread that an L2CAP SDU has been sent.
- Parameters
-
[in] aInstance
The OpenThread instance structure.
◆ otPlatBleL2capSduSend()
otError otPlatBleL2capSduSend | ( | otInstance * |
aInstance,
|
uint16_t |
aLocalCid,
|
||
uint16_t |
aPeerCid,
|
||
otBleRadioPacket * |
aPacket
|
||
) |
Sends an SDU on an L2CAP channel.
- Note
- Platform layer is responsible for credits management and segmentation (MPS).
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aLocalCid
The local channel endpoint ID value. [in] aPeerCid
The peer channel endpoint ID value. [in] aPacket
A pointer to the packet containing SDU.
- Return values
-
OT_ERROR_NONE
LE Credit Based Connection Request has been sent. OT_ERROR_INVALID_STATE
BLE Device is in invalid state e.g. not in the GAP connection. OT_ERROR_INVALID_ARGS
Invalid parameters has been supplied. OT_ERROR_NO_BUFS
No available internal buffer found.
◆ otPlatBleOnEnabled()
void otPlatBleOnEnabled | ( | otInstance * |
aInstance
|
) |
Callback sent when Bluetooth Low Energy is ready after being enabled.
- Parameters
-
[in] aInstance
The OpenThread instance structure.
◆ otPlatBleReset()
otError otPlatBleReset | ( | otInstance * |
aInstance
|
) |
Reset the Bluetooth Low Energy subsystem.
- Parameters
-
[in] aInstance
The OpenThread instance structure.
- Return values
-
OT_ERROR_NONE
Successfully reset. OT_ERROR_FAILED
The BLE stack could not be reset.