BLE

Ten moduł zawiera abstrakcję platformy do komunikacji z hostem BLE.

Podsumowanie

Platforma musi zaimplementować Bluetooth LE 4.2 lub nowszy.

Definicje typów

otBleRadioPacket typedef
Reprezentuje pakiet BLE.

Funkcje

otPlatBleDisable(otInstance *aInstance)
Wyłącz radio Bluetooth Low Energy.
otPlatBleEnable(otInstance *aInstance)
Włącz radio Bluetooth Low Energy.
otPlatBleGapAdvStart(otInstance *aInstance, uint16_t aInterval)
Rozpoczyna procedurę reklamową BLE.
otPlatBleGapAdvStop(otInstance *aInstance)
Zatrzymuje procedurę reklamową BLE.
otPlatBleGapDisconnect(otInstance *aInstance)
Rozłącza połączenie BLE.
otPlatBleGapOnConnected(otInstance *aInstance, uint16_t aConnectionId)
void
Sterownik BLE wywołuje tę metodę, by powiadomić OpenThread o połączeniu urządzenia centralnego BLE.
otPlatBleGapOnDisconnected(otInstance *aInstance, uint16_t aConnectionId)
void
Sterownik BLE wywołuje tę metodę, by powiadomić OpenThread o odłączeniu urządzenia centralnego BLE.
otPlatBleGattMtuGet(otInstance *aInstance, uint16_t *aMtu)
Odczyty używają obecnie wartości ATT_MTU.
otPlatBleGattOnMtuUpdate(otInstance *aInstance, uint16_t aMtu)
void
Sterownik BLE wywołuje tę metodę, aby powiadomić OpenThread o zaktualizowaniu ATT_MTU.
otPlatBleGattServerIndicate(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
Wysyła wskazanie wartości nicku ATT.
otPlatBleGattServerOnWriteRequest(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
void
Sterownik BLE wywołuje tę metodę, aby powiadamiać OpenThread o odebraniu pakietu żądania zapisu ATT.

Konstrukcja

otBleRadioPacket

Reprezentuje pakiet BLE.

Definicje typów

otBleRadioPacket

struct otBleRadioPacket otBleRadioPacket

Reprezentuje pakiet BLE.

Funkcje

otPlatBleDisable

otError otPlatBleDisable(
  otInstance *aInstance
)

Wyłącz radio Bluetooth Low Energy.

Gdy go wyłączysz, stos BLE opróżnia kolejki zdarzeń i nie będzie generować nowych zdarzeń. Urządzenie peryferyjne BLE zostało wyłączone lub przełączone w stan uśpienia z niskim zużyciem energii. Pamięć dynamiczna używana przez stos powinna zostać zwolniona, ale pamięć statyczna może pozostać zarezerwowana.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwracane wartości
OT_ERROR_NONE
Przełączono na wyłączone.
OT_ERROR_FAILED
Nie udało się wyłączyć radia BLE.

otPlatBleEnable

otError otPlatBleEnable(
  otInstance *aInstance
)

Włącz radio Bluetooth Low Energy.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwracane wartości
OT_ERROR_NONE
Włączono.
OT_ERROR_FAILED
Nie udało się włączyć radia BLE.

otPlatBleGapAdvStart

otError otPlatBleGapAdvStart(
  otInstance *aInstance,
  uint16_t aInterval
)

Rozpoczyna procedurę reklamową BLE.

Urządzenie BLE powinno wyświetlać reklamy niekierunkowe bez zastosowanych filtrów. Jeden pakiet reklamowy BLE musi zostać wysłany do wszystkich kanałów reklamowych (37, 38 i 39).

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aInterval
Odstęp między kolejnymi pakietami reklamowymi w jednostkach OT_BLE_ADV_INTERVAL_UNIT. Musi mieścić się w zakresie OT_BLE_ADV_INTERVAL_MIN i OT_BLE_ADV_INTERVAL_MAX lub OT_BLE_ADV_INTERVAL_DEFAULT dla wartości domyślnej ustawionej w czasie kompilacji.
Zwracane wartości
OT_ERROR_NONE
Procedura reklamowa została rozpoczęta.
OT_ERROR_INVALID_STATE
Urządzenie BLE jest w nieprawidłowym stanie.
OT_ERROR_INVALID_ARGS
Podano nieprawidłową wartość odstępu.

otPlatBleGapAdvStop

otError otPlatBleGapAdvStop(
  otInstance *aInstance
)

Zatrzymuje procedurę reklamową BLE.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwracane wartości
OT_ERROR_NONE
Procedura reklamowa została zatrzymana.
OT_ERROR_INVALID_STATE
Urządzenie BLE jest w nieprawidłowym stanie.

otPlatBleGapDisconnect

otError otPlatBleGapDisconnect(
  otInstance *aInstance
)

Rozłącza połączenie BLE.

Urządzenie BLE będzie używać kodu przyczyny zakończenia połączenia przez użytkownika (0x13) podczas rozłączenia z równorzędnym urządzeniem BLE.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwracane wartości
OT_ERROR_NONE
Rozpoczęto procedurę odłączania.
OT_ERROR_INVALID_STATE
Urządzenie BLE jest w nieprawidłowym stanie.

otPlatBleGapOnConnected

void otPlatBleGapOnConnected(
  otInstance *aInstance,
  uint16_t aConnectionId
)

Sterownik BLE wywołuje tę metodę, by powiadomić OpenThread o połączeniu urządzenia centralnego BLE.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aConnectionId
Identyfikator otwartego połączenia.

otPlatBleGapOnDisconnected

void otPlatBleGapOnDisconnected(
  otInstance *aInstance,
  uint16_t aConnectionId
)

Sterownik BLE wywołuje tę metodę, by powiadomić OpenThread o odłączeniu urządzenia centralnego BLE.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aConnectionId
Identyfikator zamkniętego połączenia.

otPlatBleGattMtuGet

otError otPlatBleGattMtuGet(
  otInstance *aInstance,
  uint16_t *aMtu
)

Odczyty używają obecnie wartości ATT_MTU.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[out] aMtu
Wskaźnik, który wyświetli bieżącą wartość ATT_MTU.
Zwracane wartości
OT_ERROR_NONE
Wartość ATT_MTU została umieszczona w komórce aMtu.
OT_ERROR_FAILED
Urządzenie BLE nie może określić jego ATT_MTU.

otPlatBleGattOnMtuUpdate

void otPlatBleGattOnMtuUpdate(
  otInstance *aInstance,
  uint16_t aMtu
)

Sterownik BLE wywołuje tę metodę, aby powiadomić OpenThread o zaktualizowaniu ATT_MTU.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aMtu
Zaktualizowana wartość ATT_MTU.

otPlatBleGattServerIndicate

otError otPlatBleGattServerIndicate(
  otInstance *aInstance,
  uint16_t aHandle,
  const otBleRadioPacket *aPacket
)

Wysyła wskazanie wartości nicku ATT.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aHandle
Uchwyt atrybutu do wskazywania.
[in] aPacket
Wskaźnik do pakietu zawiera wartość do wskazywania.
Zwracane wartości
OT_ERROR_NONE
Wskazanie wartości nicki ATT zostało wysłane.
OT_ERROR_INVALID_STATE
Urządzenie BLE jest w nieprawidłowym stanie.
OT_ERROR_INVALID_ARGS
Podano nieprawidłową wartość nicka, dane lub długość danych.
OT_ERROR_NO_BUFS
Nie znaleziono dostępnego bufora wewnętrznego.

otPlatBleGattServerOnWriteRequest

void otPlatBleGattServerOnWriteRequest(
  otInstance *aInstance,
  uint16_t aHandle,
  const otBleRadioPacket *aPacket
)

Sterownik BLE wywołuje tę metodę, aby powiadamiać OpenThread o odebraniu pakietu żądania zapisu ATT.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aHandle
Uchwyt atrybutu do zapisania.
[in] aPacket
Wskaźnik do pakietu zawiera wartość do zapisania w atrybucie.

Makra

OT_BLE_ADV_INTERVAL_DEFAULT

 OT_BLE_ADV_INTERVAL_DEFAULT 100

Domyślny interwał pakietu reklamowego (ms).

OT_BLE_ADV_INTERVAL_MAX

 OT_BLE_ADV_INTERVAL_MAX 0x4000

Maksymalny dozwolony odstęp dla pakietu reklamowego w jednostkach OT_BLE_ADV_INTERVAL_UNIT (10,24 s).

OT_BLE_ADV_INTERVAL_MIN

 OT_BLE_ADV_INTERVAL_MIN 0x0020

Minimalny dozwolony odstęp czasu dla pakietu reklamowego w jednostkach OT_BLE_ADV_INTERVAL_UNIT (20 ms).

OT_BLE_ADV_INTERVAL_UNIT

 OT_BLE_ADV_INTERVAL_UNIT OT_BLE_TIMESLOT_UNIT

Jednostka używana do obliczania czasu trwania interwału (0,625 ms).

OT_BLE_ATT_MTU_MAX

 OT_BLE_ATT_MTU_MAX 67

Maksymalny dozwolony rozmiar ATT MTU (musi wynosić >= 23).

OT_BLE_DEFAULT_POWER

 OT_BLE_DEFAULT_POWER 0

Domyślna wartość mocy dla BLE.

OT_BLE_TIMESLOT_UNIT

 OT_BLE_TIMESLOT_UNIT 625

Czas trwania przedziału czasu w warstwie PHY w mikrosekundach (0,625 ms).

Zasoby

Tematy referencyjne interfejsu OpenThread API pochodzą z kodu źródłowego dostępnego w GitHub. Aby dowiedzieć się więcej lub dołączyć do naszej dokumentacji, skorzystaj z sekcji Zasoby.