BLE
Questo modulo include l'astrazione della piattaforma per la comunicazione con host BLE.
Riepilogo
La piattaforma deve implementare Bluetooth LE 4.2 o versioni successive.
Typedef |
|
---|---|
otBleRadioPacket
|
typedefstruct otBleRadioPacket
Rappresenta un pacchetto BLE. |
Funzioni |
|
---|---|
otPlatBleDisable(otInstance *aInstance)
|
Disattiva la radio Bluetooth Low Energy.
|
otPlatBleEnable(otInstance *aInstance)
|
Attiva la radio Bluetooth Low Energy.
|
otPlatBleGapAdvStart(otInstance *aInstance, uint16_t aInterval)
|
Avvia la procedura per la pubblicità BLE.
|
otPlatBleGapAdvStop(otInstance *aInstance)
|
Arresta la procedura BLE Advertising.
|
otPlatBleGapDisconnect(otInstance *aInstance)
|
Disconnette la connessione BLE.
|
otPlatBleGapOnConnected(otInstance *aInstance, uint16_t aConnectionId)
|
void
Il driver BLE chiama questo metodo per notificare a OpenThread che un dispositivo centrale BLE è stato connesso.
|
otPlatBleGapOnDisconnected(otInstance *aInstance, uint16_t aConnectionId)
|
void
Il driver BLE chiama questo metodo per notificare a OpenThread che il dispositivo centrale BLE è stato disconnesso.
|
otPlatBleGattMtuGet(otInstance *aInstance, uint16_t *aMtu)
|
Le letture attualmente utilizzano il valore di ATT_MTU.
|
otPlatBleGattOnMtuUpdate(otInstance *aInstance, uint16_t aMtu)
|
void
Il driver BLE chiama questo metodo per notificare a OpenThread che ATT_MTU è stato aggiornato.
|
otPlatBleGattServerIndicate(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
|
Invia un'indicazione del valore dell'handle ATT.
|
otPlatBleGattServerOnWriteRequest(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
|
void
Il driver BLE chiama questo metodo per notificare a OpenThread la ricezione di un pacchetto di richiesta di scrittura ATT.
|
Strutture |
|
---|---|
otBleRadioPacket |
Rappresenta un pacchetto BLE. |
Typedef
Funzioni
otPlatBleDisable
otError otPlatBleDisable( otInstance *aInstance )
Disattiva la radio Bluetooth Low Energy.
Se disattivato, lo stack BLE svuota le code di eventi e non genera nuovi eventi. La periferica BLE viene spenta o messa in sospensione a basso consumo. Qualsiasi memoria dinamica utilizzata dallo stack dovrebbe essere rilasciata, ma la memoria statica potrebbe rimanere riservata.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otPlatBleEnable
otError otPlatBleEnable( otInstance *aInstance )
Attiva la radio Bluetooth Low Energy.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otPlatBleGapAdvStart
otError otPlatBleGapAdvStart( otInstance *aInstance, uint16_t aInterval )
Avvia la procedura per la pubblicità BLE.
Il dispositivo BLE utilizzerà pubblicità non diretta senza filtro applicato. È necessario inviare un singolo pacchetto BLE Advertising su tutti i canali pubblicitari (37, 38 e 39).
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otPlatBleGapAdvStop
otError otPlatBleGapAdvStop( otInstance *aInstance )
Arresta la procedura BLE Advertising.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otPlatBleGapDisconnect
otError otPlatBleGapDisconnect( otInstance *aInstance )
Disconnette la connessione BLE.
Il dispositivo BLE utilizzerà il codice motivo della connessione con terminazione utente remota (0x13) quando si disconnette dal dispositivo BLE peer.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otPlatBleGapOnConnected
void otPlatBleGapOnConnected( otInstance *aInstance, uint16_t aConnectionId )
Il driver BLE chiama questo metodo per notificare a OpenThread che un dispositivo centrale BLE è stato connesso.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otPlatBleGapOnDisconnected
void otPlatBleGapOnDisconnected( otInstance *aInstance, uint16_t aConnectionId )
Il driver BLE chiama questo metodo per notificare a OpenThread che il dispositivo centrale BLE è stato disconnesso.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otPlatBleGattMtuGet
otError otPlatBleGattMtuGet( otInstance *aInstance, uint16_t *aMtu )
Le letture attualmente utilizzano il valore di ATT_MTU.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otPlatBleGattOnMtuUpdate
void otPlatBleGattOnMtuUpdate( otInstance *aInstance, uint16_t aMtu )
Il driver BLE chiama questo metodo per notificare a OpenThread che ATT_MTU è stato aggiornato.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otPlatBleGattServerIndicate
otError otPlatBleGattServerIndicate( otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket )
Invia un'indicazione del valore dell'handle ATT.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
otPlatBleGattServerOnWriteRequest
void otPlatBleGattServerOnWriteRequest( otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket )
Il driver BLE chiama questo metodo per notificare a OpenThread la ricezione di un pacchetto di richiesta di scrittura ATT.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
Macro
OT_BLE_ADV_INTERVAL_DEFAULT
OT_BLE_ADV_INTERVAL_DEFAULT 100
Intervallo predefinito per il pacchetto pubblicitario (ms).
OT_BLE_ADV_INTERVAL_MAX
OT_BLE_ADV_INTERVAL_MAX 0x4000
Intervallo massimo consentito per il pacchetto pubblicitario in unità OT_BLE_ADV_INTERVAL_UNIT (10,24 s).
OT_BLE_ADV_INTERVAL_MIN
OT_BLE_ADV_INTERVAL_MIN 0x0020
Intervallo minimo consentito per il pacchetto pubblicitario in unità OT_BLE_ADV_INTERVAL_UNIT (20 ms).
OT_BLE_ADV_INTERVAL_UNIT
OT_BLE_ADV_INTERVAL_UNIT OT_BLE_TIMESLOT_UNIT
Unità utilizzata per calcolare la durata dell'intervallo (0,625 ms).
OT_BLE_ATT_MTU_MAX
OT_BLE_ATT_MTU_MAX 67
Dimensione MTU ATT massima consentita (deve essere maggiore o uguale a 23).
OT_BLE_DEFAULT_POWER
OT_BLE_DEFAULT_POWER 0
Valore di alimentazione predefinito per BLE.
OT_BLE_TIMESLOT_UNIT
OT_BLE_TIMESLOT_UNIT 625
Durata dell'intervallo di tempo sul livello PHY in microsecondi (0,625 ms).
Risorse
Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per saperne di più o per contribuire alla nostra documentazione, consulta la sezione Risorse.