Google is committed to advancing racial equity for Black communities. See how.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

BLE Host

Este módulo incluye la abstracción de la plataforma para la comunicación BLE Host.

Resumen

La plataforma necesita implementar Bluetooth LE 4.2 o superior.

Enumeraciones

anonymous enum {
OT_BLE_ADDRESS_LENGTH = 6,
OT_BLE_TIMESLOT_UNIT = 625,
OT_BLE_CONN_INTERVAL_UNIT = 2 * OT_BLE_TIMESLOT_UNIT,
OT_BLE_CONN_INTERVAL_MIN = 0x0006,
OT_BLE_CONN_INTERVAL_MAX = 0x0C80,
OT_BLE_CONN_SLAVE_LATENCY_MAX = 0x01F3,
OT_BLE_CONN_SUPERVISOR_TIMEOUT_MIN = 0x000A,
OT_BLE_CONN_SUPERVISOR_TIMEOUT_MAX = 0x0C80,
OT_BLE_CONN_SUPERVISOR_UNIT = 16 * OT_BLE_TIMESLOT_UNIT,
OT_BLE_DEV_NAME_MAX_LENGTH = 248,
OT_BLE_ADV_DATA_MAX_LENGTH = 31,
OT_BLE_SCAN_RESPONSE_MAX_LENGTH = 31,
OT_BLE_ADV_INTERVAL_MIN = 0x0020,
OT_BLE_ADV_INTERVAL_MAX = 0x4000,
OT_BLE_ADV_INTERVAL_UNIT = OT_BLE_TIMESLOT_UNIT,
OT_BLE_SCAN_INTERVAL_MIN = 0x0004,
OT_BLE_SCAN_INTERVAL_MAX = 0x4000,
OT_BLE_SCAN_INTERVAL_UNIT = OT_BLE_TIMESLOT_UNIT,
OT_BLE_SCAN_WINDOW_MIN = 0x0004,
OT_BLE_SCAN_WINDOW_MAX = 0x4000,
OT_BLE_SCAN_WINDOW_UNIT = OT_BLE_TIMESLOT_UNIT,
OT_BLE_HCI_REMOTE_USER_TERMINATED = 0x13,
OT_BLE_INVALID_HANDLE = 0x0000,
OT_BLE_CHARACTERISTIC_MAX_LENGTH = 512,
OT_BLE_ATT_MTU_MAX = 511,
OT_BLE_UUID_LENGTH = 16,
OT_BLE_UUID_CCCD = 0x2902
}
enumeración
otPlatBleAddressType {
OT_BLE_ADDRESS_TYPE_PUBLIC = 0,
OT_BLE_ADDRESS_TYPE_RANDOM_STATIC = 1,
OT_BLE_ADDRESS_TYPE_RANDOM_PRIVATE_RESOLVABLE = 2,
OT_BLE_ADDRESS_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE = 3
}
enumeración
Esta enumeración representa los tipos de dirección de dispositivo BLE.
otPlatBleAdvMode {
OT_BLE_ADV_MODE_CONNECTABLE = (1 << 0),
OT_BLE_ADV_MODE_SCANNABLE = (1 << 1)
}
enumeración
Esta enumeración define banderas para el modo de publicidad BLE.
otPlatBleCccdFlags {
OT_BLE_CHAR_PROP_BROADCAST = (1 << 0),
OT_BLE_CHAR_PROP_READ = (1 << 1),
OT_BLE_CHAR_PROP_WRITE_NO_RESPONSE = (1 << 2),
OT_BLE_CHAR_PROP_WRITE = (1 << 3),
OT_BLE_CHAR_PROP_NOTIFY = (1 << 4),
OT_BLE_CHAR_PROP_INDICATE = (1 << 5),
OT_BLE_CHAR_PROP_AUTH_SIGNED_WRITE = (1 << 6),
OT_BLE_CHAR_PROP_EXTENDED = (1 << 7)
}
enumeración
Esta enumeración define los indicadores de propiedades de caracteres para un Descriptor de configuración característica del cliente (CCCD).
otPlatBleL2capError {
OT_BLE_L2C_ERROR_NONE = 0x00,
OT_BLE_L2C_ERROR_INVALID_PSM = 0x02,
OT_BLE_L2C_ERROR_NO_MEM = 0x04,
OT_BLE_L2C_ERROR_INVALID_PARAMS = 0x0b
}
enumeración
La enumeración indica el resultado del procedimiento de solicitud de conexión L2CAP.
otPlatBleUuidType {
OT_BLE_UUID_TYPE_NONE = 0,
OT_BLE_UUID_TYPE_16 = 1,
OT_BLE_UUID_TYPE_32 = 2,
OT_BLE_UUID_TYPE_128 = 3
}
enumeración
Esta enumeración representa el valor BLE UUID.

Typedefs

otBleRadioPacket typedef
Esta estructura representa un paquete BLE.
otPlatBleAddressType typedef
Esta enumeración representa los tipos de dirección de dispositivo BLE.
otPlatBleAdvMode typedef
Esta enumeración define banderas para el modo de publicidad BLE.
otPlatBleCccdFlags typedef
Esta enumeración define los indicadores de propiedades de caracteres para un Descriptor de configuración característica del cliente (CCCD).
otPlatBleDeviceAddr typedef
Esta estructura representa la dirección del dispositivo BLE.
otPlatBleGapConnParams typedef
Esta estructura representa los parámetros de conexión BLE.
otPlatBleGattCharacteristic typedef
Esta estructura representa la característica del GATT.
otPlatBleGattDescriptor typedef
Esta estructura representa el descriptor GATT.
otPlatBleGattService typedef
Descriptor de registro para un servicio GATT.
otPlatBleL2capError typedef
La enumeración indica el resultado del procedimiento de solicitud de conexión L2CAP.
otPlatBleUuid typedef
struct otPlatBleUuid
Esta estructura representa el UUID BLE.
otPlatBleUuidType typedef
Esta enumeración representa el valor BLE UUID.
otPlatBleUuidValue typedef
Esta estructura representa el valor BLE UUID.

Las funciones

otPlatBleDisable ( otInstance *aInstance)
Deshabilite la radio Bluetooth de baja energía.
otPlatBleEnable ( otInstance *aInstance)
Habilite la radio Bluetooth de baja energía.
otPlatBleGapAddressGet ( otInstance *aInstance, otPlatBleDeviceAddr *aAddress)
Obtiene la dirección del dispositivo Bluetooth.
otPlatBleGapAddressSet ( otInstance *aInstance, const otPlatBleDeviceAddr *aAddress)
Establece la dirección del dispositivo Bluetooth.
otPlatBleGapAdvDataSet ( otInstance *aInstance, const uint8_t *aAdvData, uint8_t aAdvDataLength)
Establece el contenido del paquete de publicidad BLE.
otPlatBleGapAdvStart ( otInstance *aInstance, uint16_t aInterval, uint8_t aType)
Inicia el procedimiento de publicidad BLE.
otPlatBleGapAdvStop ( otInstance *aInstance)
Detiene el procedimiento de publicidad de BLE.
otPlatBleGapConnParamsSet ( otInstance *aInstance, const otPlatBleGapConnParams *aConnParams)
Establece los parámetros de conexión BLE deseados.
otPlatBleGapConnect ( otInstance *aInstance, otPlatBleDeviceAddr *aAddress, uint16_t aInterval, uint16_t aWindow)
Inicia el procedimiento de conexión BLE.
otPlatBleGapDisconnect ( otInstance *aInstance)
Desconecta la conexión BLE.
otPlatBleGapOnAdvReceived ( otInstance *aInstance, otPlatBleDeviceAddr *aAddress, otBleRadioPacket *aPacket)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido un paquete de publicidad.
otPlatBleGapOnConnected ( otInstance *aInstance, uint16_t aConnectionId)
void
El controlador BLE llama a este método para notificar a OpenThread que el dispositivo BLE se ha conectado.
otPlatBleGapOnDisconnected ( otInstance *aInstance, uint16_t aConnectionId)
void
El controlador BLE llama a este método para notificar a OpenThread que el dispositivo BLE se ha desconectado.
otPlatBleGapOnScanRespReceived ( otInstance *aInstance, otPlatBleDeviceAddr *aAddress, otBleRadioPacket *aPacket)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido un paquete de respuesta de exploración.
otPlatBleGapScanResponseSet ( otInstance *aInstance, const uint8_t *aScanResponse, uint8_t aScanResponseLength)
Establece el contenido del paquete BLE Scan Response.
otPlatBleGapScanStart ( otInstance *aInstance, uint16_t aInterval, uint16_t aWindow)
Inicia el procedimiento de escaneo BLE.
otPlatBleGapScanStop ( otInstance *aInstance)
Detiene el procedimiento de escaneo BLE.
otPlatBleGapServiceSet ( otInstance *aInstance, const char *aDeviceName, uint16_t aAppearance)
Establece el nombre y la apariencia del dispositivo BLE que es visible como servicio basado en GATT.
otPlatBleGattClientCharacteristicsDiscover ( otInstance *aInstance, uint16_t aStartHandle, uint16_t aEndHandle)
Realiza el descubrimiento característico GATT de un servicio.
otPlatBleGattClientDescriptorsDiscover ( otInstance *aInstance, uint16_t aStartHandle, uint16_t aEndHandle)
Realiza el descubrimiento del descriptor GATT.
otPlatBleGattClientMtuExchangeRequest ( otInstance *aInstance, uint16_t aMtu)
Envía solicitud de cambio de MTU.
otPlatBleGattClientOnCharacteristicsDiscoverDone ( otInstance *aInstance, otPlatBleGattCharacteristic *aChars, uint16_t aCount, otError aError)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha realizado el descubrimiento característico de GATT de un servicio.
otPlatBleGattClientOnDescriptorsDiscoverDone ( otInstance *aInstance, otPlatBleGattDescriptor *aDescs, uint16_t aCount, otError aError)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha realizado el descubrimiento del descriptor GATT.
otPlatBleGattClientOnIndication ( otInstance *aInstance, uint16_t aHandle, otBleRadioPacket *aPacket)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido una Indicación de valor de identificador ATT.
otPlatBleGattClientOnMtuExchangeResponse ( otInstance *aInstance, uint16_t aMtu, otError aError)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido la respuesta MTU de Exchange.
otPlatBleGattClientOnReadResponse ( otInstance *aInstance, otBleRadioPacket *aPacket)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido el paquete ATT Read Response.
otPlatBleGattClientOnServiceDiscovered ( otInstance *aInstance, uint16_t aStartHandle, uint16_t aEndHandle, uint16_t aServiceUuid, otError aError)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha encontrado la siguiente entrada de GATT Primary Service Discovery.
otPlatBleGattClientOnSubscribeResponse ( otInstance *aInstance, uint16_t aHandle)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido una respuesta de suscripción.
otPlatBleGattClientOnWriteResponse ( otInstance *aInstance, uint16_t aHandle)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido el paquete ATT Write Response.
otPlatBleGattClientRead ( otInstance *aInstance, uint16_t aHandle)
Envía solicitud de lectura ATT.
otPlatBleGattClientServiceDiscover ( otInstance *aInstance, const otPlatBleUuid *aUuid)
Realiza el descubrimiento del servicio primario de GATT mediante el procedimiento UUID del servicio específico.
otPlatBleGattClientServicesDiscover ( otInstance *aInstance)
Realiza el descubrimiento del servicio primario GATT de todos los servicios disponibles.
otPlatBleGattClientSubscribeRequest ( otInstance *aInstance, uint16_t aHandle, bool aSubscribing)
Suscribe para indicaciones características.
otPlatBleGattClientWrite ( otInstance *aInstance, uint16_t aHandle, otBleRadioPacket *aPacket)
Envía solicitud de escritura ATT.
otPlatBleGattMtuGet ( otInstance *aInstance, uint16_t *aMtu)
Las lecturas utilizan actualmente el valor de ATT_MTU.
otPlatBleGattServerIndicate ( otInstance *aInstance, uint16_t aHandle, otBleRadioPacket *aPacket)
Envía la indicación de valor de la manija ATT.
otPlatBleGattServerOnIndicationConfirmation ( otInstance *aInstance, uint16_t aHandle)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido una confirmación de valor de identificador ATT.
otPlatBleGattServerOnReadRequest ( otInstance *aInstance, uint16_t aHandle, otBleRadioPacket *aPacket)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido un paquete de solicitud de lectura ATT.
otPlatBleGattServerOnSubscribeRequest ( otInstance *aInstance, uint16_t aHandle, bool aSubscribing)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido un paquete de solicitud de suscripción ATT.
otPlatBleGattServerOnWriteRequest ( otInstance *aInstance, uint16_t aHandle, otBleRadioPacket *aPacket)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido un paquete de solicitud de escritura ATT.
otPlatBleGattServerServicesRegister ( otInstance *aInstance, otPlatBleGattService *aServices)
Registra una lista de los servicios del GATT y sus características adjuntas.
otPlatBleGattVendorUuidRegister ( otInstance *aInstance, const otPlatBleUuid *aUuid)
Registra la base UUID específica del proveedor.
otPlatBleIsEnabled ( otInstance *aInstance)
bool
Compruebe si la radio Bluetooth Low Energy está habilitada o no.
otPlatBleL2capConnectionRequest ( otInstance *aInstance, uint16_t aPsm, uint16_t aMtu, uint16_t *aCid)
Envía solicitud de conexión basada en crédito LE.
otPlatBleL2capConnectionResponse ( otInstance *aInstance, otPlatBleL2capError aError, uint16_t aMtu, uint16_t *aCid)
Envía respuesta de conexión basada en crédito LE.
otPlatBleL2capDisconnect ( otInstance *aInstance, uint16_t aLocalCid, uint16_t aPeerCid)
Envía una solicitud de desconexión de L2CAP.
otPlatBleL2capOnConnectionRequest ( otInstance *aInstance, uint16_t aPsm, uint16_t aMtu, uint16_t aPeerCid)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido un paquete de solicitud de conexión basada en crédito LE.
otPlatBleL2capOnConnectionResponse ( otInstance *aInstance, otPlatBleL2capError aError, uint16_t aMtu, uint16_t aPeerCid)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido un paquete de respuesta de conexión basada en crédito LE.
otPlatBleL2capOnDisconnect ( otInstance *aInstance, uint16_t aLocalCid, uint16_t aPeerCid)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido una solicitud de desconexión de L2CAP.
otPlatBleL2capOnSduReceived ( otInstance *aInstance, uint16_t aLocalCid, uint16_t aPeerCid, otBleRadioPacket *aPacket)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha recibido una SDU L2CAP.
otPlatBleL2capOnSduSent ( otInstance *aInstance)
void
El controlador BLE llama a este método para notificar a OpenThread que se ha enviado una SDU L2CAP.
otPlatBleL2capSduSend ( otInstance *aInstance, uint16_t aLocalCid, uint16_t aPeerCid, otBleRadioPacket *aPacket)
Envía una SDU en un canal L2CAP.
otPlatBleOnEnabled ( otInstance *aInstance)
void
La devolución de llamada se envía cuando Bluetooth Low Energy está listo después de habilitarse.
otPlatBleReset ( otInstance *aInstance)
Restablezca el subsistema Bluetooth de baja energía.

Estructuras

otBleRadioPacket

Esta estructura representa un paquete BLE.

otPlatBleDeviceAddr

Esta estructura representa la dirección del dispositivo BLE.

otPlatBleGapConnParams

Esta estructura representa los parámetros de conexión BLE.

otPlatBleGattCharacteristic

Esta estructura representa la característica del GATT.

otPlatBleGattDescriptor

Esta estructura representa el descriptor GATT.

otPlatBleGattService

Descriptor de registro para un servicio GATT.

otPlatBleUuid

Esta estructura representa el UUID BLE.

Sindicatos

otPlatBleUuidValue

Esta estructura representa el valor BLE UUID.

Enumeraciones

enumeración anónima

 anonymous enum
Propiedades
OT_BLE_ADDRESS_LENGTH

El tamaño de la dirección del dispositivo Bluetooth [bytes].

OT_BLE_ADV_DATA_MAX_LENGTH

Longitud máxima de datos publicitarios [bytes].

OT_BLE_ADV_INTERVAL_MAX

Intervalo máximo permitido para paquetes publicitarios en unidades OT_BLE_ADV_INTERVAL_UNIT (10.24s).

OT_BLE_ADV_INTERVAL_MIN

Intervalo mínimo permitido para paquetes publicitarios en unidades OT_BLE_ADV_INTERVAL_UNIT (20 ms).

OT_BLE_ADV_INTERVAL_UNIT

Unidad utilizada para calcular la duración del intervalo (0.625ms).

OT_BLE_ATT_MTU_MAX

Valor máximo de ATT_MTU [bytes].

OT_BLE_CHARACTERISTIC_MAX_LENGTH

Tamaño máximo de la característica BLE [bytes].

OT_BLE_CONN_INTERVAL_MAX

Intervalo de conexión máximo permitido en unidades OT_BLE_CONN_INTERVAL_UNIT (4s).

Ver v4.2 [Vol. 2, Parte E] página 946

OT_BLE_CONN_INTERVAL_MIN

Intervalo mínimo de conexión permitido en unidades OT_BLE_CONN_INTERVAL_UNIT (7.5ms).

Ver v4.2 [Vol. 2, Parte E] página 946

OT_BLE_CONN_INTERVAL_UNIT

Unidad utilizada para calcular el intervalo de conexión (1,25 ms)

OT_BLE_CONN_SLAVE_LATENCY_MAX

Máxima latencia esclava permitida en unidades de eventos de conexión.

Ver v4.2 [Vol. 2, Parte E] página 946

OT_BLE_CONN_SUPERVISOR_TIMEOUT_MAX

Tiempo de espera de conexión máximo permitido (32 s).

Ver v4.2 [Vol. 2, Parte E] página 946

OT_BLE_CONN_SUPERVISOR_TIMEOUT_MIN

Tiempo de espera de conexión mínimo permitido en unidades de 10 ms (100 ms).

Ver v4.2 [Vol. 2, Parte E] página 946

OT_BLE_CONN_SUPERVISOR_UNIT

Unidad utilizada para calcular el tiempo de espera del supervisor de conexión (10 ms).

OT_BLE_DEV_NAME_MAX_LENGTH

Longitud máxima de la característica del nombre del dispositivo [bytes].

OT_BLE_HCI_REMOTE_USER_TERMINATED

Código BLE HCI para conexión remota terminada por el usuario.

OT_BLE_INVALID_HANDLE

Valor del identificador no válido / desconocido.

OT_BLE_SCAN_INTERVAL_MAX

Intervalo máximo de escaneo permitido (10.24s).

OT_BLE_SCAN_INTERVAL_MIN

Intervalo mínimo de escaneo permitido (2.5ms).

OT_BLE_SCAN_INTERVAL_UNIT

Unidad utilizada para calcular la duración del intervalo de exploración (0,625 ms).

OT_BLE_SCAN_RESPONSE_MAX_LENGTH

Longitud máxima de datos de respuesta de exploración [bytes].

OT_BLE_SCAN_WINDOW_MAX

Ventana de exploración máxima permitida en unidades OT_BLE_TIMESLOT_UNIT (10.24s).

OT_BLE_SCAN_WINDOW_MIN

Ventana de exploración mínima permitida en unidades OT_BLE_TIMESLOT_UNIT (2,5 ms).

OT_BLE_SCAN_WINDOW_UNIT

Unidad utilizada para calcular la duración de la ventana de escaneo (0.625ms).

OT_BLE_TIMESLOT_UNIT

Duración del intervalo de tiempo en la capa PHY en microsegundos (0.625 ms).

OT_BLE_UUID_CCCD

Uuid del descriptor característico de la configuración del cliente.

OT_BLE_UUID_LENGTH

Longitud del UUID BLE completo en bytes.

otPlatBleAddressType

 otPlatBleAddressType

Esta enumeración representa los tipos de dirección de dispositivo BLE.

Propiedades
OT_BLE_ADDRESS_TYPE_PUBLIC

Dirección de dispositivo público Bluetooth.

OT_BLE_ADDRESS_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE

Dirección privada aleatoria no resoluble de Bluetooth.

OT_BLE_ADDRESS_TYPE_RANDOM_PRIVATE_RESOLVABLE

Dirección de resolución privada aleatoria de Bluetooth.

OT_BLE_ADDRESS_TYPE_RANDOM_STATIC

Dirección estática aleatoria de Bluetooth.

otPlatBleAdvMode

 otPlatBleAdvMode

Esta enumeración define banderas para el modo de publicidad BLE.

Propiedades
OT_BLE_ADV_MODE_CONNECTABLE

Si está configurado, el dispositivo publicitario permitirá que se inicien las conexiones.

OT_BLE_ADV_MODE_SCANNABLE

Si está configurado, el dispositivo publicitario responderá a las solicitudes de escaneo.

otPlatBleCccdFlags

 otPlatBleCccdFlags

Esta enumeración define los indicadores de propiedades de caracteres para un Descriptor de configuración característica de cliente (CCCD).

Ver v4.2 [Vol. 3, Parte G] 3.3.1.1 Propiedades características - Tabla 3.5

Propiedades
OT_BLE_CHAR_PROP_AUTH_SIGNED_WRITE

Si se establece, permite escrituras firmadas en el valor característico.

OT_BLE_CHAR_PROP_BROADCAST

Si se establece, permite transmisiones del Valor característico utilizando el Descriptor de configuración característico.

OT_BLE_CHAR_PROP_EXTENDED

Si se establece, las propiedades características adicionales se definen en el Descriptor de propiedades extendidas características.

OT_BLE_CHAR_PROP_INDICATE

Si se establece, permite indicaciones de un valor característico con acuse de recibo.

OT_BLE_CHAR_PROP_NOTIFY

Si se establece, permite notificaciones de un valor característico sin reconocimiento.

OT_BLE_CHAR_PROP_READ

Si se establece, permite lecturas del valor característico.

OT_BLE_CHAR_PROP_WRITE

Si se establece, permite escrituras del valor característico con respuesta.

OT_BLE_CHAR_PROP_WRITE_NO_RESPONSE

Si se establece, permitir escrituras del valor característico sin respuesta.

otPlatBleL2capError

 otPlatBleL2capError

La enumeración indica el resultado del procedimiento de solicitud de conexión L2CAP.

Ver Bluetooth v5.0 | Vol. 3, Parte A, 4.23, Tabla 4.20.

Propiedades
OT_BLE_L2C_ERROR_INVALID_PARAMS

Conexión rechazada: parámetros inaceptables.

OT_BLE_L2C_ERROR_INVALID_PSM

Conexión rechazada: LE_PSM no es compatible.

OT_BLE_L2C_ERROR_NONE

Conexión exitosa.

OT_BLE_L2C_ERROR_NO_MEM

Conexión rechazada: no hay recursos disponibles.

otPlatBleUuidType

 otPlatBleUuidType

Esta enumeración representa el valor BLE UUID.

Propiedades
OT_BLE_UUID_TYPE_128

UUID representado por un valor de 128 bits.

OT_BLE_UUID_TYPE_16

UUID representado por un valor de 16 bits.

OT_BLE_UUID_TYPE_32

UUID representado por un valor de 32 bits.

OT_BLE_UUID_TYPE_NONE

Valor no inicializado de UUID.

Typedefs

otBleRadioPacket

struct otBleRadioPacket otBleRadioPacket

Esta estructura representa un paquete BLE.

otPlatBleAddressType

enum otPlatBleAddressType otPlatBleAddressType

Esta enumeración representa los tipos de dirección de dispositivo BLE.

otPlatBleAdvMode

enum otPlatBleAdvMode otPlatBleAdvMode

Esta enumeración define banderas para el modo de publicidad BLE.

otPlatBleCccdFlags

enum otPlatBleCccdFlags otPlatBleCccdFlags

Esta enumeración define los indicadores de propiedades de caracteres para un Descriptor de configuración característica de cliente (CCCD).

Ver v4.2 [Vol. 3, Parte G] 3.3.1.1 Propiedades características - Tabla 3.5

otPlatBleDeviceAddr

struct otPlatBleDeviceAddr otPlatBleDeviceAddr

Esta estructura representa la dirección del dispositivo BLE.

otPlatBleGapConnParams

struct otPlatBleGapConnParams otPlatBleGapConnParams

Esta estructura representa los parámetros de conexión BLE.

otPlatBleGattCharacteristic

struct otPlatBleGattCharacteristic otPlatBleGattCharacteristic

Esta estructura representa la característica del GATT.

otPlatBleGattDescriptor

struct otPlatBleGattDescriptor otPlatBleGattDescriptor

Esta estructura representa el descriptor GATT.

otPlatBleGattService

struct otPlatBleGattService otPlatBleGattService

Descriptor de registro para un servicio GATT.

otPlatBleL2capError

enum otPlatBleL2capError otPlatBleL2capError

La enumeración indica el resultado del procedimiento de solicitud de conexión L2CAP.

Ver Bluetooth v5.0 | Vol. 3, Parte A, 4.23, Tabla 4.20.

otPlatBleUuid

struct otPlatBleUuid otPlatBleUuid

Esta estructura representa el UUID BLE.

otPlatBleUuidType

enum otPlatBleUuidType otPlatBleUuidType

Esta enumeración representa el valor BLE UUID.

otPlatBleUuidValue

union otPlatBleUuidValue otPlatBleUuidValue

Esta estructura representa el valor BLE UUID.

Las funciones

otPlatBleDisable

 otError otPlatBleDisable(
  otInstance *aInstance
)

Deshabilite la radio Bluetooth de baja energía.

Cuando está deshabilitado, la pila BLE vaciará las colas de eventos y no generará nuevos eventos. El periférico BLE se apaga o se pone en estado de reposo de baja potencia. Cualquier memoria dinámica utilizada por la pila debe liberarse, pero la memoria estática puede permanecer reservada.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Valores de retorno
OT_ERROR_NONE
Con éxito la transición a discapacitados.
OT_ERROR_FAILED
La radio BLE no se pudo desactivar.

otPlatBleEnable

 otError otPlatBleEnable(
  otInstance *aInstance
)

Habilite la radio Bluetooth de baja energía.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Valores de retorno
OT_ERROR_NONE
Habilitado con éxito
OT_ERROR_FAILED
La radio BLE no se pudo habilitar.

otPlatBleGapAddressGet

 otError otPlatBleGapAddressGet(
  otInstance *aInstance,
  otPlatBleDeviceAddr *aAddress
)

Obtiene la dirección del dispositivo Bluetooth.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[out] aAddress
El puntero a la dirección del dispositivo Bluetooth.
Valores de retorno
OT_ERROR_NONE
La solicitud se ha realizado con éxito.
OT_ERROR_INVALID_ARGS
Se han proporcionado parámetros no válidos.

otPlatBleGapAddressSet

 otError otPlatBleGapAddressSet(
  otInstance *aInstance,
  const otPlatBleDeviceAddr *aAddress
)

Establece la dirección del dispositivo Bluetooth.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aAddress
El puntero a la dirección del dispositivo Bluetooth.
Valores de retorno
OT_ERROR_NONE
La solicitud se ha realizado con éxito.
OT_ERROR_INVALID_ARGS
Se han proporcionado parámetros no válidos.

otPlatBleGapAdvDataSet

 otError otPlatBleGapAdvDataSet(
  otInstance *aInstance,
  const uint8_t *aAdvData,
  uint8_t aAdvDataLength
)

Establece el contenido del paquete de publicidad BLE.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aAdvData
Un puntero al contenido de datos publicitarios en formato sin formato.
[in] aAdvDataLength
El tamaño de los datos publicitarios. No debe exceder OT_BLE_ADV_DATA_MAX_LENGTH.
Valores de retorno
OT_ERROR_NONE
Los datos publicitarios se han configurado correctamente.
OT_ERROR_INVALID_ARGS
Se han proporcionado datos publicitarios no válidos.

otPlatBleGapAdvStart

 otError otPlatBleGapAdvStart(
  otInstance *aInstance,
  uint16_t aInterval,
  uint8_t aType
)

Inicia el procedimiento de publicidad BLE.

El dispositivo BLE utilizará publicidad no dirigida sin filtro aplicado. Se debe enviar un solo paquete de publicidad BLE en todos los canales de publicidad (37, 38 y 39).

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aInterval
El intervalo entre los siguientes paquetes publicitarios en unidades OT_BLE_ADV_INTERVAL_UNIT. Deberá estar dentro del rango OT_BLE_ADV_INTERVAL_MIN y OT_BLE_ADV_INTERVAL_MAX.
[in] aType
Las propiedades de publicidad como una máscara de bits: si es conectable | escaneable
Valores de retorno
OT_ERROR_NONE
Se ha iniciado el procedimiento publicitario.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.
OT_ERROR_INVALID_ARGS
Se ha proporcionado un valor de intervalo no válido.

otPlatBleGapAdvStop

 otError otPlatBleGapAdvStop(
  otInstance *aInstance
)

Detiene el procedimiento de publicidad de BLE.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Valores de retorno
OT_ERROR_NONE
El procedimiento publicitario ha sido detenido.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.

otPlatBleGapConnParamsSet

 otError otPlatBleGapConnParamsSet(
  otInstance *aInstance,
  const otPlatBleGapConnParams *aConnParams
)

Establece los parámetros de conexión BLE deseados.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aConnParams
Un puntero a la estructura de parámetros de conexión.
Valores de retorno
OT_ERROR_NONE
Los parámetros de conexión se han establecido correctamente.
OT_ERROR_INVALID_ARGS
Se han proporcionado parámetros de conexión no válidos.

otPlatBleGapConnect

 otError otPlatBleGapConnect(
  otInstance *aInstance,
  otPlatBleDeviceAddr *aAddress,
  uint16_t aInterval,
  uint16_t aWindow
)

Inicia el procedimiento de conexión BLE.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aAddress
Una dirección del dispositivo publicitario.
[in] aInterval
El intervalo de exploración en unidades OT_BLE_SCAN_INTERVAL_UNIT. Deberá estar en el rango OT_BLE_SCAN_INTERVAL_MIN y OT_BLE_SCAN_INTERVAL_MAX.
[in] aWindow
La ventana de escaneo en unidades OT_BLE_SCAN_WINDOW_UNIT. Deberá estar en el rango OT_BLE_SCAN_WINDOW_MIN y OT_BLE_SCAN_WINDOW_MAX.
Valores de retorno
OT_ERROR_NONE
Se inició el procedimiento de conexión.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.
OT_ERROR_INVALID_ARGS
Se ha proporcionado una dirección, intervalo o valor de ventana no válido

otPlatBleGapDisconnect

 otError otPlatBleGapDisconnect(
  otInstance *aInstance
)

Desconecta la conexión BLE.

El dispositivo BLE indicará el motivo del código OT_BLE_HCI_REMOTE_USER_TERMINATED HCI.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Valores de retorno
OT_ERROR_NONE
Se ha iniciado el procedimiento de desconexión.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.

otPlatBleGapOnAdvReceived

void otPlatBleGapOnAdvReceived(
  otInstance *aInstance,
  otPlatBleDeviceAddr *aAddress,
  otBleRadioPacket *aPacket
)

El controlador BLE llama a este método para notificar a OpenThread que se ha recibido un paquete de publicidad.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aAddress
Una dirección del dispositivo publicitario.
[in] aPacket
Un puntero al paquete recibido.

otPlatBleGapOnConnected

void otPlatBleGapOnConnected(
  otInstance *aInstance,
  uint16_t aConnectionId
)

El controlador BLE llama a este método para notificar a OpenThread que el dispositivo BLE se ha conectado.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aConnectionId
El identificador de la conexión abierta.

otPlatBleGapOnDisconnected

void otPlatBleGapOnDisconnected(
  otInstance *aInstance,
  uint16_t aConnectionId
)

El controlador BLE llama a este método para notificar a OpenThread que el dispositivo BLE se ha desconectado.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aConnectionId
El identificador de la conexión cerrada.

otPlatBleGapOnScanRespReceived

void otPlatBleGapOnScanRespReceived(
  otInstance *aInstance,
  otPlatBleDeviceAddr *aAddress,
  otBleRadioPacket *aPacket
)

El controlador BLE llama a este método para notificar a OpenThread que se ha recibido un paquete de respuesta de exploración.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aAddress
Una dirección del dispositivo publicitario.
[in] aPacket
Un puntero al paquete recibido.

otPlatBleGapScanResponseSet

 otError otPlatBleGapScanResponseSet(
  otInstance *aInstance,
  const uint8_t *aScanResponse,
  uint8_t aScanResponseLength
)

Establece el contenido del paquete BLE Scan Response.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aScanResponse
Un puntero para escanear datos de respuesta en formato sin formato.
[in] aScanResponseLength
El tamaño de los datos de respuesta de escaneo. No debe exceder OT_BLE_SCAN_RESPONSE_MAX_LENGTH.
Valores de retorno
OT_ERROR_NONE
Los datos de respuesta de escaneo se han configurado correctamente.
OT_ERROR_INVALID_ARGS
Se han proporcionado datos de respuesta de exploración no válidos.

otPlatBleGapScanStart

 otError otPlatBleGapScanStart(
  otInstance *aInstance,
  uint16_t aInterval,
  uint16_t aWindow
)

Inicia el procedimiento de escaneo BLE.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aInterval
El intervalo de exploración en unidades OT_BLE_SCAN_INTERVAL_UNIT. Deberá estar en el rango OT_BLE_SCAN_INTERVAL_MIN y OT_BLE_SCAN_INTERVAL_MAX.
[in] aWindow
La ventana de escaneo en unidades OT_BLE_SCAN_WINDOW_UNIT. Deberá estar en el rango OT_BLE_SCAN_WINDOW_MIN y OT_BLE_SCAN_WINDOW_MAX.
Valores de retorno
OT_ERROR_NONE
Se ha iniciado el procedimiento de escaneo.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.
OT_ERROR_INVALID_ARGS
Se ha proporcionado un intervalo o valor de ventana no válido.

otPlatBleGapScanStop

 otError otPlatBleGapScanStop(
  otInstance *aInstance
)

Detiene el procedimiento de escaneo BLE.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Valores de retorno
OT_ERROR_NONE
El procedimiento de escaneo se ha detenido.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.

otPlatBleGapServiceSet

 otError otPlatBleGapServiceSet(
  otInstance *aInstance,
  const char *aDeviceName,
  uint16_t aAppearance
)

Establece el nombre y la apariencia del dispositivo BLE que es visible como servicio basado en GATT.

La pila de host BLE debe establecer el modo de seguridad 1, nivel 1 (sin seguridad) para esas características.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aDeviceName
Un puntero a la cadena del nombre del dispositivo (nulo terminado). No debe exceder OT_BLE_DEV_NAME_MAX_LENGTH.
[in] aAppearance
El valor de la apariencia característica.
Valores de retorno
OT_ERROR_NONE
Los parámetros de conexión se han establecido correctamente.
OT_ERROR_INVALID_ARGS
Se han proporcionado parámetros no válidos.

otPlatBleGattClientCharacteristicsDiscover

 otError otPlatBleGattClientCharacteristicsDiscover(
  otInstance *aInstance,
  uint16_t aStartHandle,
  uint16_t aEndHandle
)

Realiza el descubrimiento característico GATT de un servicio.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aStartHandle
El identificador de inicio de un servicio.
[in] aEndHandle
El identificador final de un servicio.
Valores de retorno
OT_ERROR_NONE
Se ha iniciado el procedimiento de descubrimiento característico.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.
OT_ERROR_INVALID_ARGS
Se ha proporcionado un controlador de inicio o fin no válido
OT_ERROR_NO_BUFS
No se encontró buffer interno disponible.

otPlatBleGattClientDescriptorsDiscover

 otError otPlatBleGattClientDescriptorsDiscover(
  otInstance *aInstance,
  uint16_t aStartHandle,
  uint16_t aEndHandle
)

Realiza el descubrimiento del descriptor GATT.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aStartHandle
La manija de inicio.
[in] aEndHandle
El mango final.
Valores de retorno
OT_ERROR_NONE
Se ha iniciado el procedimiento Descriptor Discovery.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.
OT_ERROR_INVALID_ARGS
Se ha proporcionado un controlador de inicio o fin no válido
OT_ERROR_NO_BUFS
No se encontró buffer interno disponible.

otPlatBleGattClientMtuExchangeRequest

 otError otPlatBleGattClientMtuExchangeRequest(
  otInstance *aInstance,
  uint16_t aMtu
)

Envía solicitud de cambio de MTU.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aMtu
Un valor de GATT Client recibe el tamaño de MTU.
Valores de retorno
OT_ERROR_NONE
Se ha enviado la solicitud de cambio de MTU.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.
OT_ERROR_INVALID_ARGS
Se ha proporcionado aMtu no válido.
OT_ERROR_NO_BUFS
No se encontró buffer interno disponible.

otPlatBleGattClientOnCharacteristicsDiscoverDone

void otPlatBleGattClientOnCharacteristicsDiscoverDone(
  otInstance *aInstance,
  otPlatBleGattCharacteristic *aChars,
  uint16_t aCount,
  otError aError
)

El controlador BLE llama a este método para notificar a OpenThread que se ha realizado el descubrimiento característico de GATT de un servicio.

En caso de éxito, todos los elementos dentro de aChars deben tener un valor mHandleValue válido.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aChars
Un puntero a la lista de características descubiertas.
[in] aCount
Número de características en aChar lista de aChar .
[in] aError
El valor de OT_ERROR_NONE indica que se ha encontrado al menos una característica y el número total de ellas se almacena en aCount . El error OT_ERROR_NOT_FOUND debe establecerse si no se encuentran características. De lo contrario, el error indica que se utiliza el motivo del fallo.

otPlatBleGattClientOnDescriptorsDiscoverDone

void otPlatBleGattClientOnDescriptorsDiscoverDone(
  otInstance *aInstance,
  otPlatBleGattDescriptor *aDescs,
  uint16_t aCount,
  otError aError
)

El controlador BLE llama a este método para notificar a OpenThread que se ha realizado el descubrimiento del descriptor GATT.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aDescs
Un puntero a la lista de descriptores descubiertos.
[in] aCount
Número de descriptores en aDescs lista de descripciones.
[in] aError
El valor de OT_ERROR_NONE indica que se ha encontrado al menos un descriptor y que el número total de ellos se almacena en aCount . El error OT_ERROR_NOT_FOUND debe establecerse si no se encuentran descriptores. De lo contrario, el error indica que se utiliza el motivo del fallo.

otPlatBleGattClientOnIndication

void otPlatBleGattClientOnIndication(
  otInstance *aInstance,
  uint16_t aHandle,
  otBleRadioPacket *aPacket
)

El controlador BLE llama a este método para notificar a OpenThread que se ha recibido una indicación de valor de identificador ATT.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aHandle
El identificador en el que se ha enviado la Indicación de valor de identificador de ATT.
[in] aPacket
Un puntero al paquete contiene el valor indicado.

otPlatBleGattClientOnMtuExchangeResponse

void otPlatBleGattClientOnMtuExchangeResponse(
  otInstance *aInstance,
  uint16_t aMtu,
  otError aError
)

El controlador BLE llama a este método para notificar a OpenThread que se ha recibido la respuesta MTU de Exchange.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aMtu
El servidor de atributos recibe el tamaño de MTU.
[in] aError
El valor de OT_ERROR_NONE indica que se ha recibido una respuesta válida de Exchange MTU. De lo contrario, el error indica que se utiliza el motivo del fallo.

otPlatBleGattClientOnReadResponse

void otPlatBleGattClientOnReadResponse(
  otInstance *aInstance,
  otBleRadioPacket *aPacket
)

El controlador BLE llama a este método para notificar a OpenThread que se ha recibido el paquete ATT Read Response.

Este método solo se llama si otPlatBleGattClientRead se solicitó anteriormente.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aPacket
Un puntero al paquete contiene valor de lectura.

otPlatBleGattClientOnServiceDiscovered

void otPlatBleGattClientOnServiceDiscovered(
  otInstance *aInstance,
  uint16_t aStartHandle,
  uint16_t aEndHandle,
  uint16_t aServiceUuid,
  otError aError
)

El controlador BLE llama a este método para notificar a OpenThread que se ha encontrado la siguiente entrada del descubrimiento de servicio primario de GATT.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aStartHandle
El identificador de inicio de un servicio.
[in] aEndHandle
El identificador final de un servicio.
[in] aServiceUuid
El Uuid16 para la entrada del servicio.
[in] aError
El valor de OT_ERROR_NONE indica que se ha encontrado el servicio y que la estructura aStartHandle y aEndHandle contienen identificadores válidos. El error OT_ERROR_NOT_FOUND debe establecerse si no se ha encontrado el servicio. De lo contrario, el error indica que se utiliza el motivo del fallo.

otPlatBleGattClientOnSubscribeResponse

void otPlatBleGattClientOnSubscribeResponse(
  otInstance *aInstance,
  uint16_t aHandle
)

El controlador BLE llama a este método para notificar a OpenThread que se ha recibido una respuesta de suscripción.

Este método solo se llama si otPlatBleGattClienSubscribe se solicitó anteriormente.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aHandle
El identificador en el que se ha enviado la respuesta de escritura ATT.

otPlatBleGattClientOnWriteResponse

void otPlatBleGattClientOnWriteResponse(
  otInstance *aInstance,
  uint16_t aHandle
)

El controlador BLE llama a este método para notificar a OpenThread que se ha recibido el paquete ATT Write Response.

Este método solo se llama si otPlatBleGattClientWrite se solicitó anteriormente.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aHandle
El identificador en el que se ha enviado la respuesta de escritura ATT.

otPlatBleGattClientRead

 otError otPlatBleGattClientRead(
  otInstance *aInstance,
  uint16_t aHandle
)

Envía solicitud de lectura ATT.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aHandle
El identificador del atributo a leer.
Valores de retorno
OT_ERROR_NONE
Se ha enviado la solicitud de escritura ATT.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.
OT_ERROR_INVALID_ARGS
Se ha proporcionado un valor de identificador no válido.
OT_ERROR_NO_BUFS
No se encontró buffer interno disponible.

otPlatBleGattClientServiceDiscover

 otError otPlatBleGattClientServiceDiscover(
  otInstance *aInstance,
  const otPlatBleUuid *aUuid
)

Realiza el descubrimiento del servicio primario de GATT por el procedimiento UUID del servicio específico.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aUuid
El UUID de un servicio a registrar.
Valores de retorno
OT_ERROR_NONE
Se ha iniciado el procedimiento de descubrimiento de servicio.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.
OT_ERROR_INVALID_ARGS
Se ha proporcionado un UUID de servicio no válido.
OT_ERROR_NO_BUFS
No se encontró buffer interno disponible.

otPlatBleGattClientServicesDiscover

 otError otPlatBleGattClientServicesDiscover(
  otInstance *aInstance
)

Realiza el descubrimiento del servicio primario GATT de todos los servicios disponibles.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Valores de retorno
OT_ERROR_NONE
Se ha iniciado el procedimiento de descubrimiento de servicio.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.
OT_ERROR_INVALID_ARGS
Se ha proporcionado un UUID de servicio no válido.
OT_ERROR_NO_BUFS
No se encontró buffer interno disponible.

otPlatBleGattClientSubscribeRequest

 otError otPlatBleGattClientSubscribeRequest(
  otInstance *aInstance,
  uint16_t aHandle,
  bool aSubscribing
)

Suscribe para indicaciones características.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aHandle
El identificador del atributo a escribir.
[in] aSubscribing
Verdadero si se suscribe, de lo contrario se cancelará la suscripción.
Valores de retorno
OT_ERROR_NONE
La suscripción ha sido enviada.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.
OT_ERROR_INVALID_ARGS
Se han proporcionado valores de datos, datos o longitud de datos no válidos.
OT_ERROR_NO_BUFS
No se encontró buffer interno disponible.

otPlatBleGattClientWrite

 otError otPlatBleGattClientWrite(
  otInstance *aInstance,
  uint16_t aHandle,
  otBleRadioPacket *aPacket
)

Envía solicitud de escritura ATT.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aHandle
El identificador del atributo a escribir.
[in] aPacket
Un puntero al paquete contiene un valor para ser escrito en el atributo.
Valores de retorno
OT_ERROR_NONE
Se ha enviado la solicitud de escritura ATT.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.
OT_ERROR_INVALID_ARGS
Se han proporcionado valores de datos, datos o longitud de datos no válidos.
OT_ERROR_NO_BUFS
No se encontró buffer interno disponible.

otPlatBleGattMtuGet

 otError otPlatBleGattMtuGet(
  otInstance *aInstance,
  uint16_t *aMtu
)

Las lecturas utilizan actualmente el valor de ATT_MTU.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[out] aMtu
Un puntero contiene el valor ATT_MTU actual.
Valores de retorno
OT_ERROR_NONE
El valor ATT_MTU se ha colocado en aMtu .
OT_ERROR_FAILED
El dispositivo BLE no puede determinar su ATT_MTU.

otPlatBleGattServerIndicate

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

Envía la indicación de valor de la manija ATT.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aHandle
El identificador del atributo que se indicará.
[in] aPacket
Un puntero al paquete contiene el valor que se indicará.
Valores de retorno
OT_ERROR_NONE
Se ha enviado la indicación de valor de identificador ATT.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.
OT_ERROR_INVALID_ARGS
Se han proporcionado valores de datos, datos o longitud de datos no válidos.
OT_ERROR_NO_BUFS
No se encontró buffer interno disponible.

otPlatBleGattServerOnIndicationConfirmation

void otPlatBleGattServerOnIndicationConfirmation(
  otInstance *aInstance,
  uint16_t aHandle
)

El controlador BLE llama a este método para notificar a OpenThread que se ha recibido una confirmación de valor de identificador ATT.

Este método solo se llama si otPlatBleGattServerIndicate se solicitó anteriormente.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aHandle
El identificador en el que se ha enviado la confirmación de valor de identificador ATT.

otPlatBleGattServerOnReadRequest

void otPlatBleGattServerOnReadRequest(
  otInstance *aInstance,
  uint16_t aHandle,
  otBleRadioPacket *aPacket
)

El controlador BLE llama a este método para notificar a OpenThread que se ha recibido un paquete de solicitud de lectura ATT.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aHandle
El identificador del atributo a leer.
[out] aPacket
Un puntero al paquete que se llenará con punteros para atribuir datos a leer.

otPlatBleGattServerOnSubscribeRequest

void otPlatBleGattServerOnSubscribeRequest(
  otInstance *aInstance,
  uint16_t aHandle,
  bool aSubscribing
)

El controlador BLE llama a este método para notificar a OpenThread que se ha recibido un paquete de solicitud de suscripción ATT.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aHandle
El identificador del atributo a escribir.
[in] aSubscribing
Verdadero si se suscribe, de lo contrario se cancelará

otPlatBleGattServerOnWriteRequest

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

El controlador BLE llama a este método para notificar a OpenThread que se ha recibido un paquete de solicitud de escritura ATT.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aHandle
El identificador del atributo a escribir.
[in] aPacket
Un puntero al paquete contiene un valor para ser escrito en el atributo.

otPlatBleGattServerServicesRegister

 otError otPlatBleGattServerServicesRegister(
  otInstance *aInstance,
  otPlatBleGattService *aServices
)

Registra una lista de los servicios del GATT y sus características adjuntas.

Los identificadores generados se volverán a escribir en esta estructura cuando se habilite la pila BLE.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aServices
Matriz terminada en nulo de estructuras de servicio para registrar.
Valores de retorno
OT_ERROR_NONE
El servicio ha sido registrado con éxito.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido.
OT_ERROR_INVALID_ARGS
Se ha proporcionado un UUID de servicio no válido.
OT_ERROR_NO_BUFS
No se encontró buffer interno disponible.

otPlatBleGattVendorUuidRegister

 otError otPlatBleGattVendorUuidRegister(
  otInstance *aInstance,
  const otPlatBleUuid *aUuid
)

Registra la base UUID específica del proveedor.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aUuid
Un puntero a la base UUID de 128 bits específica del proveedor.

otPlatBleIsEnabled

bool otPlatBleIsEnabled(
  otInstance *aInstance
)

Compruebe si la radio Bluetooth Low Energy está habilitada o no.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Valores de retorno
::true
La radio Bluetooth de baja energía está habilitada.
::false
La radio Bluetooth de baja energía está desactivada.

otPlatBleL2capConnectionRequest

 otError otPlatBleL2capConnectionRequest(
  otInstance *aInstance,
  uint16_t aPsm,
  uint16_t aMtu,
  uint16_t *aCid
)

Envía solicitud de conexión basada en crédito LE.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aPsm
El valor de LE Protocol / Service Multiplexer.
[in] aMtu
El valor especifica el tamaño máximo de SDU (en octetos) que la entidad de capa L2CAP que envía la solicitud de conexión basada en crédito LE puede recibir en este canal.
[out] aCid
El CID de origen representa un punto final del canal en el dispositivo.
Valores de retorno
OT_ERROR_NONE
Se ha enviado la solicitud de conexión basada en crédito LE.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido, por ejemplo, no en la conexión GAP.
OT_ERROR_INVALID_ARGS
Se han proporcionado parámetros no válidos.
OT_ERROR_NO_BUFS
No se encontró buffer interno disponible.

otPlatBleL2capConnectionResponse

 otError otPlatBleL2capConnectionResponse(
  otInstance *aInstance,
  otPlatBleL2capError aError,
  uint16_t aMtu,
  uint16_t *aCid
)

Envía respuesta de conexión basada en crédito LE.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aError
El valor del error indica el resultado de la solicitud de conexión.
[in] aMtu
El valor especifica el tamaño máximo de SDU (en octetos) que la entidad de capa L2CAP que envía la respuesta de conexión basada en crédito LE puede recibir en este canal.
[out] aCid
El CID de origen representa un punto final del canal en el dispositivo. Si aResult valor de resultado es diferente de OT_BLE_L2C_ERROR_NONE , esta variable no se OT_BLE_L2C_ERROR_NONE y debe establecerse en NULL.
Valores de retorno
OT_ERROR_NONE
Se ha enviado la respuesta de conexión basada en crédito LE.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido, por ejemplo, no en la conexión GAP.
OT_ERROR_INVALID_ARGS
Se han proporcionado parámetros no válidos.
OT_ERROR_NO_BUFS
No se encontró buffer interno disponible.

otPlatBleL2capDisconnect

 otError otPlatBleL2capDisconnect(
  otInstance *aInstance,
  uint16_t aLocalCid,
  uint16_t aPeerCid
)

Envía una solicitud de desconexión de L2CAP.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aLocalCid
El valor de ID del punto final del canal local.
[in] aPeerCid
El valor de ID de punto final del canal par.
Valores de retorno
OT_ERROR_NONE
Se ha enviado la solicitud de desconexión de L2CAP.
OT_ERROR_INVALID_STATE
El dispositivo BLE está en estado no válido, por ejemplo, no en la conexión GAP.
OT_ERROR_INVALID_ARGS
Se han proporcionado parámetros no válidos.
OT_ERROR_NO_BUFS
No se encontró buffer interno disponible.

otPlatBleL2capOnConnectionRequest

void otPlatBleL2capOnConnectionRequest(
  otInstance *aInstance,
  uint16_t aPsm,
  uint16_t aMtu,
  uint16_t aPeerCid
)

El controlador BLE llama a este método para notificar a OpenThread que se ha recibido un paquete de solicitud de conexión basada en crédito LE.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aPsm
El valor de LE Protocol / Service Multiplexer.
[in] aMtu
El valor especifica el tamaño máximo de SDU (en octetos) que la entidad de capa L2CAP que envía la solicitud de conexión basada en crédito LE puede recibir en este canal.
[in] aPeerCid
El CID representa un punto final del canal en el dispositivo par.

otPlatBleL2capOnConnectionResponse

void otPlatBleL2capOnConnectionResponse(
  otInstance *aInstance,
  otPlatBleL2capError aError,
  uint16_t aMtu,
  uint16_t aPeerCid
)

El controlador BLE llama a este método para notificar a OpenThread que se ha recibido un paquete de respuesta de conexión basada en crédito LE.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aError
El valor del error indica el resultado de la solicitud de conexión.
[in] aMtu
El valor especifica el tamaño máximo de SDU (en octetos) que la entidad de capa L2CAP que envía la respuesta de conexión basada en crédito LE puede recibir en este canal.
[in] aPeerCid
The CID represents a channel endpoint on the peer device.

otPlatBleL2capOnDisconnect

void otPlatBleL2capOnDisconnect(
  otInstance *aInstance,
  uint16_t aLocalCid,
  uint16_t aPeerCid
)

The BLE driver calls this method to notify OpenThread that an L2CAP Disconnection Request has been received.

Details
Parameters
[in] aInstance
The OpenThread instance structure.
[in] aLocalCid
The local channel endpoint ID value.
[in] aPeerCid
The peer channel endpoint ID value.

otPlatBleL2capOnSduReceived

void otPlatBleL2capOnSduReceived(
  otInstance *aInstance,
  uint16_t aLocalCid,
  uint16_t aPeerCid,
  otBleRadioPacket *aPacket
)

The BLE driver calls this method to notify OpenThread that an L2CAP SDU has been received.

Details
Parameters
[in] aInstance
The OpenThread instance structure.
[in] aLocalCid
The local channel endpoint ID value.
[in] aPeerCid
The peer channel endpoint ID value.
[in] aPacket
A pointer to the packet containing SDU.

otPlatBleL2capOnSduSent

void otPlatBleL2capOnSduSent(
  otInstance *aInstance
)

The BLE driver calls this method to notify OpenThread that an L2CAP SDU has been sent.

Details
Parameters
[in] aInstance
The OpenThread instance structure.

otPlatBleL2capSduSend

 otError otPlatBleL2capSduSend(
  otInstance *aInstance,
  uint16_t aLocalCid,
  uint16_t aPeerCid,
  otBleRadioPacket *aPacket
)

Sends an SDU on an L2CAP channel.

Details
Parameters
[in] aInstance
The OpenThread instance structure.
[in] aLocalCid
The local channel endpoint ID value.
[in] aPeerCid
The peer channel endpoint ID value.
[in] aPacket
A pointer to the packet containing SDU.
Return Values
OT_ERROR_NONE
LE Credit Based Connection Request has been sent.
OT_ERROR_INVALID_STATE
BLE Device is in invalid state eg not in the GAP connection.
OT_ERROR_INVALID_ARGS
Invalid parameters has been supplied.
OT_ERROR_NO_BUFS
No available internal buffer found.

otPlatBleOnEnabled

void otPlatBleOnEnabled(
  otInstance *aInstance
)

Callback sent when Bluetooth Low Energy is ready after being enabled.

Details
Parameters
[in] aInstance
The OpenThread instance structure.

otPlatBleReset

 otError otPlatBleReset(
  otInstance *aInstance
)

Reset the Bluetooth Low Energy subsystem.

Details
Parameters
[in] aInstance
The OpenThread instance structure.
Return Values
OT_ERROR_NONE
Successfully reset.
OT_ERROR_FAILED
The BLE stack could not be reset.

Macros

OT_BLE_MS_TO_TICKS

 OT_BLE_MS_TO_TICKS (((x)*1000) / OT_BLE_ADV_INTERVAL_UNIT)

Convert the advertising interval from [ms] to [ble symbol times].