BLE

Bu modülde, BDE ana makine iletişimi için platform soyutlaması yer alır.

Özet

Platformun Bluetooth LE 4.2 veya sonraki bir sürümünü uygulaması gerekir.

Türdefler

otBleRadioPacket typedef
Bir BDE paketini temsil eder.

İşlevler

otPlatBleDisable(otInstance *aInstance)
Bluetooth Düşük Enerji radyosunu devre dışı bırakın.
otPlatBleEnable(otInstance *aInstance)
Bluetooth Düşük Enerji radyosunu etkinleştirin.
otPlatBleGapAdvStart(otInstance *aInstance, uint16_t aInterval)
BDE reklamcılık prosedürünü başlatır.
otPlatBleGapAdvStop(otInstance *aInstance)
BLE Reklamcılık prosedürünü durdurur.
otPlatBleGapDisconnect(otInstance *aInstance)
BDE bağlantısını keser.
otPlatBleGapOnConnected(otInstance *aInstance, uint16_t aConnectionId)
void
BLE sürücüsü, OpenThread'e bir BLE Merkezi Cihaz bağlandığını bildirmek için bu yöntemi çağırır.
otPlatBleGapOnDisconnected(otInstance *aInstance, uint16_t aConnectionId)
void
BLE sürücüsü, OpenThread'in BLE Central Device'ın bağlantısının kesildiğini bildirmek için bu yöntemi çağırır.
otPlatBleGattMtuGet(otInstance *aInstance, uint16_t *aMtu)
Okuma işlemleri, şu anda ATT_MTU değerini kullanıyor.
otPlatBleGattOnMtuUpdate(otInstance *aInstance, uint16_t aMtu)
void
BLE sürücüsü, OpenThread'in ATT_MTU'nun güncellendiğini bildirmek için bu yöntemi çağırır.
otPlatBleGattServerIndicate(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
ATT herkese açık kullanıcı adı değerini belirtir.
otPlatBleGattServerOnWriteRequest(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
void
BLE sürücüsü, OpenThread'e bir ATT Yazma İsteği paketinin alındığını bildirmek için bu yöntemi çağırır.

Yapılar

otBleRadioPacket

Bir BDE paketini temsil eder.

Türdefler

otBleRadioPacket

struct otBleRadioPacket otBleRadioPacket

Bir BDE paketini temsil eder.

İşlevler

otPlatBleDisable

otError otPlatBleDisable(
  otInstance *aInstance
)

Bluetooth Düşük Enerji radyosunu devre dışı bırakın.

Devre dışı bırakıldığında, BDE yığını etkinlik sıralarını temizler ve yeni etkinlikler oluşturmaz. BDE çevre birimi kapatıldı veya düşük güç uyku durumuna alındı. Yığın tarafından kullanılan tüm dinamik bellek serbest bırakılmalıdır, ancak statik bellek ayrılmış olarak kalabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
Döndürülen Değerler
OT_ERROR_NONE
Devre dışı bırakmaya başarıyla geçildi.
OT_ERROR_FAILED
BDE radyo devre dışı bırakılamadı.

otPlatBleEnable

otError otPlatBleEnable(
  otInstance *aInstance
)

Bluetooth Düşük Enerji radyosunu etkinleştirin.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
Döndürülen Değerler
OT_ERROR_NONE
Başarıyla etkinleştirildi.
OT_ERROR_FAILED
BLE radyo etkinleştirilemedi.

otPlatBleGapAdvStart

otError otPlatBleGapAdvStart(
  otInstance *aInstance,
  uint16_t aInterval
)

BDE reklamcılık prosedürünü başlatır.

BDE cihazı, filtre uygulanmadan yönlendirmesiz reklam kullanmalıdır. Tüm reklam kanallarında (37, 38 ve 39) tek bir BDE reklam paketi gönderilmelidir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aInterval
OT_BLE_ADV_INTERVAL_UNIT birimi cinsinden takip eden reklam paketleri arasındaki aralık. Derleme zamanında ayarlanan varsayılan bir değer için OT_BLE_ADV_INTERVAL_MIN ve OT_BLE_ADV_INTERVAL_MAX aralığında veya OT_BLE_ADV_INTERVAL_DEFAULT aralığında olmalıdır.
Döndürülen Değerler
OT_ERROR_NONE
Reklamcılık prosedürü başlatıldı.
OT_ERROR_INVALID_STATE
BDE cihazı geçersiz durumda.
OT_ERROR_INVALID_ARGS
Geçersiz aralık değeri girildi.

otPlatBleGapAdvStop

otError otPlatBleGapAdvStop(
  otInstance *aInstance
)

BLE Reklamcılık prosedürünü durdurur.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
Döndürülen Değerler
OT_ERROR_NONE
Reklamcılık prosedürü durduruldu.
OT_ERROR_INVALID_STATE
BDE cihazı geçersiz durumda.

otPlatBleGapDisconnect

otError otPlatBleGapDisconnect(
  otInstance *aInstance
)

BDE bağlantısını keser.

BDE cihazı, eş BDE cihazı ile bağlantısı kesilirken Uzak Kullanıcı Sonlandırılan Bağlantı (0x13) neden kodunu kullanmalıdır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
Döndürülen Değerler
OT_ERROR_NONE
Bağlantıyı kesme prosedürü başlatıldı.
OT_ERROR_INVALID_STATE
BDE cihazı geçersiz durumda.

otPlatBleGapOnConnected

void otPlatBleGapOnConnected(
  otInstance *aInstance,
  uint16_t aConnectionId
)

BLE sürücüsü, OpenThread'e bir BLE Merkezi Cihaz bağlandığını bildirmek için bu yöntemi çağırır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aConnectionId
Açık bağlantının tanımlayıcısı.

otPlatBleGapOnDisconnected

void otPlatBleGapOnDisconnected(
  otInstance *aInstance,
  uint16_t aConnectionId
)

BLE sürücüsü, OpenThread'in BLE Central Device'ın bağlantısının kesildiğini bildirmek için bu yöntemi çağırır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aConnectionId
Kapalı bağlantının tanımlayıcısı.

otPlatBleGattMtuGet

otError otPlatBleGattMtuGet(
  otInstance *aInstance,
  uint16_t *aMtu
)

Okuma işlemleri, şu anda ATT_MTU değerini kullanıyor.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[out] aMtu
Mevcut ATT_MTU değerini veren bir işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
ATT_MTU değeri aMtu bölümüne yerleştirildi.
OT_ERROR_FAILED
BDE cihazı ATT_MTU'yu belirleyemiyor.

otPlatBleGattOnMtuUpdate

void otPlatBleGattOnMtuUpdate(
  otInstance *aInstance,
  uint16_t aMtu
)

BLE sürücüsü, OpenThread'in ATT_MTU'nun güncellendiğini bildirmek için bu yöntemi çağırır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aMtu
Güncellenen ATT_MTU değeri.

otPlatBleGattServerIndicate

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

ATT herkese açık kullanıcı adı değerini belirtir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aHandle
Belirtilecek özelliğin herkese açık kullanıcı adı.
[in] aPacket
Paketin işaretçisinde, belirtilecek değer bulunur.
Döndürülen Değerler
OT_ERROR_NONE
ATT Herkese Açık Kullanıcı Değeri Göstergesi gönderildi.
OT_ERROR_INVALID_STATE
BDE cihazı geçersiz durumda.
OT_ERROR_INVALID_ARGS
Geçersiz herkese açık kullanıcı adı değeri, veri veya veri uzunluğu sağlandı.
OT_ERROR_NO_BUFS
Kullanılabilir dahili arabellek bulunamadı.

otPlatBleGattServerOnWriteRequest

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

BLE sürücüsü, OpenThread'e bir ATT Yazma İsteği paketinin alındığını bildirmek için bu yöntemi çağırır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aHandle
Yazılacak özelliğin herkese açık kullanıcı adı.
[in] aPacket
Paketin işaretçisi, özelliğe yazılacak değeri içerir.

Makrolar

OT_BLE_ADV_INTERVAL_DEFAULT

 OT_BLE_ADV_INTERVAL_DEFAULT 100

Reklam paketi için varsayılan aralık (ms).

OT_BLE_ADV_INTERVAL_MAX

 OT_BLE_ADV_INTERVAL_MAX 0x4000

OT_BLE_ADV_INTERVAL_UNIT (10,24 sn) cinsinden reklam paketi için izin verilen maksimum aralık.

OT_BLE_ADV_INTERVAL_MIN

 OT_BLE_ADV_INTERVAL_MIN 0x0020

OT_BLE_ADV_INTERVAL_UNIT (20 ms) birim cinsinden reklam paketi için izin verilen minimum aralık.

OT_BLE_ADV_INTERVAL_UNIT

 OT_BLE_ADV_INTERVAL_UNIT OT_BLE_TIMESLOT_UNIT

Aralık süresini hesaplamak için kullanılan birim (0,625 ms).

OT_BLE_ATT_MTU_MAX

 OT_BLE_ATT_MTU_MAX 67

İzin verilen maksimum ATT MTU boyutu (23 veya daha büyük olmalıdır).

OT_BLE_DEFAULT_POWER

 OT_BLE_DEFAULT_POWER 0

BDE için varsayılan güç değeri.

OT_BLE_TIMESLOT_UNIT

 OT_BLE_TIMESLOT_UNIT 625

PHY katmanındaki zaman aralığı süresi (mikrosaniye cinsinden (0,625 ms)).

Kaynaklar

OpenThread API Referans konuları, GitHub'da bulunan kaynak koddan gelir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar bölümüne bakın.