BLE
Dieses Modul enthält die Plattformabstraktion für die BLE-Host-Kommunikation.
Zusammenfassung
Auf der Plattform muss Bluetooth LE 4.2 oder höher implementiert sein.
Typedefs |
|
---|---|
otBleRadioPacket
|
typedefstruct otBleRadioPacket
Stellt ein BLE-Paket dar. |
Funktionen |
|
---|---|
otPlatBleDisable(otInstance *aInstance)
|
Bluetooth Low Energy-Radio deaktivieren
|
otPlatBleEnable(otInstance *aInstance)
|
Aktiviere die Bluetooth Low Energy-Funkschnittstelle.
|
otPlatBleGapAdvStart(otInstance *aInstance, uint16_t aInterval)
|
Startet das BLE Advertising-Verfahren.
|
otPlatBleGapAdvStop(otInstance *aInstance)
|
Beendet das BLE Advertising-Verfahren.
|
otPlatBleGapDisconnect(otInstance *aInstance)
|
Trennt die BLE-Verbindung.
|
otPlatBleGapOnConnected(otInstance *aInstance, uint16_t aConnectionId)
|
void
Der BLE-Treiber ruft diese Methode auf, um OpenThread darüber zu informieren, dass ein BLE Central Device verbunden wurde.
|
otPlatBleGapOnDisconnected(otInstance *aInstance, uint16_t aConnectionId)
|
void
Der BLE-Treiber ruft diese Methode auf, um OpenThread darüber zu informieren, dass die Verbindung zum BLE Central Device getrennt wurde.
|
otPlatBleGattMtuGet(otInstance *aInstance, uint16_t *aMtu)
|
Lesevorgänge verwenden derzeit den Wert ATT_MTU.
|
otPlatBleGattOnMtuUpdate(otInstance *aInstance, uint16_t aMtu)
|
void
Der BLE-Treiber ruft diese Methode auf, um OpenThread darüber zu informieren, dass ATT_MTU aktualisiert wurde.
|
otPlatBleGattServerIndicate(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
|
Sendet eine Wertangabe für den ATT-Handle.
|
otPlatBleGattServerOnWriteRequest(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
|
void
Der BLE-Treiber ruft diese Methode auf, um OpenThread darüber zu informieren, dass ein ATT-Schreibanfragepaket empfangen wurde.
|
Strukturen |
|
---|---|
otBleRadioPacket |
Stellt ein BLE-Paket dar. |
Typedefs
Funktionen
otPlatBleDisable
otError otPlatBleDisable( otInstance *aInstance )
Bluetooth Low Energy-Radio deaktivieren
Wenn diese Option deaktiviert ist, leert der BLE-Stack Ereigniswarteschlangen und generiert keine neuen Ereignisse. Das BLE-Peripheriegerät ist ausgeschaltet oder in einen Energiesparmodus versetzt. Jeder vom Stack verwendete dynamische Arbeitsspeicher sollte freigegeben werden, statischer Arbeitsspeicher kann jedoch reserviert bleiben.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otPlatBleEnable
otError otPlatBleEnable( otInstance *aInstance )
Aktiviere die Bluetooth Low Energy-Funkschnittstelle.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otPlatBleGapAdvStart
otError otPlatBleGapAdvStart( otInstance *aInstance, uint16_t aInterval )
Startet das BLE Advertising-Verfahren.
Das BLE-Gerät darf ungerichtete Werbung ohne angewendeten Filter verwenden. Ein einzelnes BLE-Werbepaket muss an alle Werbekanäle (37, 38 und 39) gesendet werden.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otPlatBleGapAdvStop
otError otPlatBleGapAdvStop( otInstance *aInstance )
Beendet das BLE Advertising-Verfahren.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otPlatBleGapDisconnect
otError otPlatBleGapDisconnect( otInstance *aInstance )
Trennt die BLE-Verbindung.
Das BLE-Gerät verwendet beim Trennen der Verbindung zum Peer-BLE-Gerät den Ursachencode für die Remote-Nutzer-Verbindung (0x13).
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otPlatBleGapOnConnected
void otPlatBleGapOnConnected( otInstance *aInstance, uint16_t aConnectionId )
Der BLE-Treiber ruft diese Methode auf, um OpenThread darüber zu informieren, dass ein BLE Central Device verbunden wurde.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otPlatBleGapOnDisconnected
void otPlatBleGapOnDisconnected( otInstance *aInstance, uint16_t aConnectionId )
Der BLE-Treiber ruft diese Methode auf, um OpenThread darüber zu informieren, dass die Verbindung zum BLE Central Device getrennt wurde.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otPlatBleGattMtuGet
otError otPlatBleGattMtuGet( otInstance *aInstance, uint16_t *aMtu )
Lesevorgänge verwenden derzeit den Wert ATT_MTU.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otPlatBleGattOnMtuUpdate
void otPlatBleGattOnMtuUpdate( otInstance *aInstance, uint16_t aMtu )
Der BLE-Treiber ruft diese Methode auf, um OpenThread darüber zu informieren, dass ATT_MTU aktualisiert wurde.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otPlatBleGattServerIndicate
otError otPlatBleGattServerIndicate( otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket )
Sendet eine Wertangabe für den ATT-Handle.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
otPlatBleGattServerOnWriteRequest
void otPlatBleGattServerOnWriteRequest( otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket )
Der BLE-Treiber ruft diese Methode auf, um OpenThread darüber zu informieren, dass ein ATT-Schreibanfragepaket empfangen wurde.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
Makros
OT_BLE_ADV_INTERVAL_DEFAULT
OT_BLE_ADV_INTERVAL_DEFAULT 100
Standardintervall für das Advertising-Paket (ms).
OT_BLE_ADV_INTERVAL_MAX
OT_BLE_ADV_INTERVAL_MAX 0x4000
Maximal zulässiges Intervall für das Werbepaket in OT_BLE_ADV_INTERVAL_UNIT-Einheiten (10,24 s).
OT_BLE_ADV_INTERVAL_MIN
OT_BLE_ADV_INTERVAL_MIN 0x0020
Zulässiges Mindestintervall für das Werbepaket in OT_BLE_ADV_INTERVAL_UNIT-Einheiten (20 ms).
OT_BLE_ADV_INTERVAL_UNIT
OT_BLE_ADV_INTERVAL_UNIT OT_BLE_TIMESLOT_UNIT
Einheit zur Berechnung der Intervalldauer (0,625 ms).
OT_BLE_ATT_MTU_MAX
OT_BLE_ATT_MTU_MAX 67
Maximal zulässige ATT-MTU-Größe (muss >= 23 sein).
OT_BLE_DEFAULT_POWER
OT_BLE_DEFAULT_POWER 0
Standardwert für BLE.
OT_BLE_TIMESLOT_UNIT
OT_BLE_TIMESLOT_UNIT 625
Slotdauer auf der PHY-Schicht in Mikrosekunden (0,625 ms).
Ressourcen
OpenThread API-Referenzthemen stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen finden Sie unter Ressourcen. Dort können Sie auch einen Beitrag zu unserer Dokumentation leisten.