BLE#
This module includes the platform abstraction for BLE Host communication.
The platform needs to implement Bluetooth LE 4.2 or higher.
Modules#
Typedefs#
Represents a BLE packet.
Functions#
Enable the Bluetooth Low Energy radio.
Disable the Bluetooth Low Energy radio.
Starts BLE Advertising procedure.
Stops BLE Advertising procedure.
The BLE driver calls this method to notify OpenThread that a BLE Central Device has been connected.
The BLE driver calls this method to notify OpenThread that the BLE Central Device has been disconnected.
Disconnects BLE connection.
Reads currently use value of ATT_MTU.
The BLE driver calls this method to notify OpenThread that ATT_MTU has been updated.
Sends ATT Handle Value Indication.
The BLE driver calls this method to notify OpenThread that an ATT Write Request packet has been received.
Macros#
Time slot duration on PHY layer in microseconds (0.625ms).
Minimum allowed interval for advertising packet in OT_BLE_ADV_INTERVAL_UNIT units (20ms).
Maximum allowed interval for advertising packet in OT_BLE_ADV_INTERVAL_UNIT units (10.24s).
Default interval for advertising packet (ms).
Unit used to calculate interval duration (0.625ms).
Maximum allowed ATT MTU size (must be >= 23).
Default power value for BLE.
Typedef Documentation#
otBleRadioPacket#
typedef struct otBleRadioPacket otBleRadioPacket
Represents a BLE packet.
116
of file include/openthread/platform/ble.h
Function Documentation#
otPlatBleEnable#
otError otPlatBleEnable (otInstance * aInstance)
Enable the Bluetooth Low Energy radio.
[in] | aInstance | The OpenThread instance structure. |
Note
BLE Device should use the highest ATT_MTU supported that does not exceed OT_BLE_ATT_MTU_MAX octets.
133
of file include/openthread/platform/ble.h
otPlatBleDisable#
otError otPlatBleDisable (otInstance * aInstance)
Disable the Bluetooth Low Energy radio.
[in] | aInstance | The OpenThread instance structure. |
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.
149
of file include/openthread/platform/ble.h
otPlatBleGapAdvStart#
otError otPlatBleGapAdvStart (otInstance * aInstance, uint16_t aInterval)
Starts BLE Advertising procedure.
[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 or OT_BLE_ADV_INTERVAL_DEFAULT for a default value set at compile time. |
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.
176
of file include/openthread/platform/ble.h
otPlatBleGapAdvStop#
otError otPlatBleGapAdvStop (otInstance * aInstance)
Stops BLE Advertising procedure.
[in] | aInstance | The OpenThread instance structure. |
Note
This function shall be used only for BLE Peripheral role.
189
of file include/openthread/platform/ble.h
otPlatBleGapOnConnected#
void otPlatBleGapOnConnected (otInstance * aInstance, uint16_t aConnectionId)
The BLE driver calls this method to notify OpenThread that a BLE Central Device has been connected.
[in] | aInstance | The OpenThread instance structure. |
[in] | aConnectionId | The identifier of the open connection. |
199
of file include/openthread/platform/ble.h
otPlatBleGapOnDisconnected#
void otPlatBleGapOnDisconnected (otInstance * aInstance, uint16_t aConnectionId)
The BLE driver calls this method to notify OpenThread that the BLE Central Device has been disconnected.
[in] | aInstance | The OpenThread instance structure. |
[in] | aConnectionId | The identifier of the closed connection. |
209
of file include/openthread/platform/ble.h
otPlatBleGapDisconnect#
otError otPlatBleGapDisconnect (otInstance * aInstance)
Disconnects BLE connection.
[in] | aInstance | The OpenThread instance structure. |
The BLE device shall use the Remote User Terminated Connection (0x13) reason code when disconnecting from the peer BLE device..
223
of file include/openthread/platform/ble.h
otPlatBleGattMtuGet#
otError otPlatBleGattMtuGet (otInstance * aInstance, uint16_t * aMtu)
Reads currently use value of ATT_MTU.
[in] | aInstance | The OpenThread instance structure. |
[out] | aMtu | A pointer to output the current ATT_MTU value. |
239
of file include/openthread/platform/ble.h
otPlatBleGattOnMtuUpdate#
void otPlatBleGattOnMtuUpdate (otInstance * aInstance, uint16_t aMtu)
The BLE driver calls this method to notify OpenThread that ATT_MTU has been updated.
[in] | aInstance | The OpenThread instance structure. |
[in] | aMtu | The updated ATT_MTU value. |
248
of file include/openthread/platform/ble.h
otPlatBleGattServerIndicate#
otError otPlatBleGattServerIndicate (otInstance * aInstance, uint16_t aHandle, const otBleRadioPacket * aPacket)
Sends ATT Handle Value Indication.
[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. |
Note
This function shall be used only for GATT Server.
269
of file include/openthread/platform/ble.h
otPlatBleGattServerOnWriteRequest#
void otPlatBleGattServerOnWriteRequest (otInstance * aInstance, uint16_t aHandle, const otBleRadioPacket * aPacket)
The BLE driver calls this method to notify OpenThread that an ATT Write Request packet has been received.
[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. |
Note
This function shall be used only for GATT Server.
282
of file include/openthread/platform/ble.h
Macro Definition Documentation#
OT_BLE_TIMESLOT_UNIT#
#define OT_BLE_TIMESLOT_UNITValue:
625
Time slot duration on PHY layer in microseconds (0.625ms).
64
of file include/openthread/platform/ble.h
OT_BLE_ADV_INTERVAL_MIN#
#define OT_BLE_ADV_INTERVAL_MINValue:
0x0020
Minimum allowed interval for advertising packet in OT_BLE_ADV_INTERVAL_UNIT units (20ms).
71
of file include/openthread/platform/ble.h
OT_BLE_ADV_INTERVAL_MAX#
#define OT_BLE_ADV_INTERVAL_MAXValue:
0x4000
Maximum allowed interval for advertising packet in OT_BLE_ADV_INTERVAL_UNIT units (10.24s).
78
of file include/openthread/platform/ble.h
OT_BLE_ADV_INTERVAL_DEFAULT#
#define OT_BLE_ADV_INTERVAL_DEFAULTValue:
100
Default interval for advertising packet (ms).
85
of file include/openthread/platform/ble.h
OT_BLE_ADV_INTERVAL_UNIT#
#define OT_BLE_ADV_INTERVAL_UNITValue:
OT_BLE_TIMESLOT_UNIT
Unit used to calculate interval duration (0.625ms).
92
of file include/openthread/platform/ble.h
OT_BLE_ATT_MTU_MAX#
#define OT_BLE_ATT_MTU_MAXValue:
67
Maximum allowed ATT MTU size (must be >= 23).
99
of file include/openthread/platform/ble.h
OT_BLE_DEFAULT_POWER#
#define OT_BLE_DEFAULT_POWERValue:
0
Default power value for BLE.
105
of file include/openthread/platform/ble.h