БЛЕ

Этот модуль включает абстракцию платформы для связи с хостом BLE.

Краткое содержание

Платформа должна поддерживать Bluetooth LE 4.2 или выше.

Определения типов

otBleRadioPacket определение типа
Представляет пакет BLE.

Функции

otPlatBleDisable ( otInstance *aInstance)
Отключите радио Bluetooth с низким энергопотреблением.
otPlatBleEnable ( otInstance *aInstance)
Включите радио Bluetooth с низким энергопотреблением.
otPlatBleGapAdvStart ( otInstance *aInstance, uint16_t aInterval)
Запускает процедуру BLE-рекламы.
otPlatBleGapAdvStop ( otInstance *aInstance)
Останавливает процедуру рекламы BLE.
otPlatBleGapDisconnect ( otInstance *aInstance)
Отключает соединение BLE.
otPlatBleGapOnConnected ( otInstance *aInstance, uint16_t aConnectionId)
void
Драйвер BLE вызывает этот метод, чтобы уведомить OpenThread о подключении центрального устройства BLE.
otPlatBleGapOnDisconnected ( otInstance *aInstance, uint16_t aConnectionId)
void
Драйвер BLE вызывает этот метод, чтобы уведомить OpenThread об отключении центрального устройства BLE.
otPlatBleGattMtuGet ( otInstance *aInstance, uint16_t *aMtu)
При чтении в настоящее время используется значение ATT_MTU.
otPlatBleGattOnMtuUpdate ( otInstance *aInstance, uint16_t aMtu)
void
Драйвер BLE вызывает этот метод, чтобы уведомить OpenThread об обновлении ATT_MTU.
otPlatBleGattServerIndicate ( otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
Отправляет индикацию значения дескриптора ATT.
otPlatBleGattServerOnWriteRequest ( otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
void
Драйвер BLE вызывает этот метод, чтобы уведомить OpenThread о получении пакета запроса на запись ATT.

Структуры

отБлеРадиоПакет

Представляет пакет BLE.

Определения типов

отБлеРадиоПакет

struct otBleRadioPacket otBleRadioPacket

Представляет пакет BLE.

Функции

otPlatBleDisable

otError otPlatBleDisable(
  otInstance *aInstance
)

Отключите радио Bluetooth с низким энергопотреблением.

Если этот параметр отключен, стек BLE будет очищать очереди событий и не генерировать новые события. Периферийное устройство BLE выключено или переведено в режим сна с низким энергопотреблением. Любая динамическая память, используемая стеком, должна быть освобождена, но статическая память может оставаться зарезервированной.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
Возвращаемые значения
OT_ERROR_NONE
Успешно переведен в отключенное состояние.
OT_ERROR_FAILED
Радио BLE невозможно отключить.

otPlatBleEnable

otError otPlatBleEnable(
  otInstance *aInstance
)

Включите радио Bluetooth с низким энергопотреблением.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
Возвращаемые значения
OT_ERROR_NONE
Успешно включено.
OT_ERROR_FAILED
Не удалось включить радио BLE.

отплатблегападвстарт

otError otPlatBleGapAdvStart(
  otInstance *aInstance,
  uint16_t aInterval
)

Запускает процедуру BLE-рекламы.

Устройство BLE должно использовать ненаправленную рекламу без применения фильтра. Один рекламный пакет BLE должен быть отправлен по всем рекламным каналам (37, 38 и 39).

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
[in] aInterval
Интервал между последующими рекламными пакетами в единицах OT_BLE_ADV_INTERVAL_UNIT. Должно находиться в пределах диапазона OT_BLE_ADV_INTERVAL_MIN и OT_BLE_ADV_INTERVAL_MAX или OT_BLE_ADV_INTERVAL_DEFAULT для значения по умолчанию, установленного во время компиляции.
Возвращаемые значения
OT_ERROR_NONE
Процедура размещения рекламы начата.
OT_ERROR_INVALID_STATE
Устройство BLE находится в недопустимом состоянии.
OT_ERROR_INVALID_ARGS
Указано неверное значение интервала.

otPlatBleGapAdvStop

otError otPlatBleGapAdvStop(
  otInstance *aInstance
)

Останавливает процедуру рекламы BLE.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
Возвращаемые значения
OT_ERROR_NONE
Процедура размещения рекламы остановлена.
OT_ERROR_INVALID_STATE
Устройство BLE находится в недопустимом состоянии.

otPlatBleGapDisconnect

otError otPlatBleGapDisconnect(
  otInstance *aInstance
)

Отключает соединение BLE.

Устройство BLE должно использовать код причины подключения удаленного пользователя (0x13) при отключении от однорангового устройства BLE.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
Возвращаемые значения
OT_ERROR_NONE
Процедура отключения запущена.
OT_ERROR_INVALID_STATE
Устройство BLE находится в недопустимом состоянии.

отПлатБлеГапОнКоннектед

void otPlatBleGapOnConnected(
  otInstance *aInstance,
  uint16_t aConnectionId
)

Драйвер BLE вызывает этот метод, чтобы уведомить OpenThread о подключении центрального устройства BLE.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
[in] aConnectionId
Идентификатор открытого соединения.

отплатблегапондисконнектед

void otPlatBleGapOnDisconnected(
  otInstance *aInstance,
  uint16_t aConnectionId
)

Драйвер BLE вызывает этот метод, чтобы уведомить OpenThread об отключении центрального устройства BLE.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
[in] aConnectionId
Идентификатор закрытого соединения.

otPlatBleGattMtuGet

otError otPlatBleGattMtuGet(
  otInstance *aInstance,
  uint16_t *aMtu
)

При чтении в настоящее время используется значение ATT_MTU.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
[out] aMtu
Указатель для вывода текущего значения ATT_MTU.
Возвращаемые значения
OT_ERROR_NONE
Значение ATT_MTU было помещено в aMtu .
OT_ERROR_FAILED
Устройство BLE не может определить свой ATT_MTU.

otPlatBleGattOnMtuUpdate

void otPlatBleGattOnMtuUpdate(
  otInstance *aInstance,
  uint16_t aMtu
)

Драйвер BLE вызывает этот метод, чтобы уведомить OpenThread об обновлении ATT_MTU.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
[in] aMtu
Обновленное значение ATT_MTU.

отПлатБлеГаттСерверИндикат

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

Отправляет индикацию значения дескриптора ATT.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
[in] aHandle
Дескриптор атрибута, который будет указан.
[in] aPacket
Указатель на пакет содержит значение, которое необходимо указать.
Возвращаемые значения
OT_ERROR_NONE
Индикация значения дескриптора ATT отправлена.
OT_ERROR_INVALID_STATE
Устройство BLE находится в недопустимом состоянии.
OT_ERROR_INVALID_ARGS
Указано неверное значение дескриптора, данные или длина данных.
OT_ERROR_NO_BUFS
Доступный внутренний буфер не найден.

otPlatBleGattServerOnWriteRequest

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

Драйвер BLE вызывает этот метод, чтобы уведомить OpenThread о получении пакета запроса на запись ATT.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
[in] aHandle
Дескриптор записываемого атрибута.
[in] aPacket
Указатель на пакет содержит значение, которое необходимо записать в атрибут.

Макросы

OT_BLE_ADV_INTERVAL_DEFAULT

 OT_BLE_ADV_INTERVAL_DEFAULT 100

Интервал по умолчанию для рекламного пакета (мс).

OT_BLE_ADV_INTERVAL_MAX

 OT_BLE_ADV_INTERVAL_MAX 0x4000

Максимально допустимый интервал для рекламного пакета в единицах OT_BLE_ADV_INTERVAL_UNIT (10,24 с).

OT_BLE_ADV_INTERVAL_MIN

 OT_BLE_ADV_INTERVAL_MIN 0x0020

Минимально допустимый интервал для рекламного пакета в единицах OT_BLE_ADV_INTERVAL_UNIT (20 мс).

OT_BLE_ADV_INTERVAL_UNIT

 OT_BLE_ADV_INTERVAL_UNIT OT_BLE_TIMESLOT_UNIT

Единица измерения длительности интервала (0,625 мс).

OT_BLE_ATT_MTU_MAX

 OT_BLE_ATT_MTU_MAX 67

Максимально допустимый размер ATT MTU (должен быть >= 23).

OT_BLE_DEFAULT_POWER

 OT_BLE_DEFAULT_POWER 0

Значение мощности по умолчанию для BLE.

OT_BLE_TIMESLOT_UNIT

 OT_BLE_TIMESLOT_UNIT 625

Продолжительность временного интервала на физическом уровне в микросекундах (0,625 мс).

Ресурсы

Справочные разделы API OpenThread взяты из исходного кода, доступного на GitHub . Для получения дополнительной информации или внесения вклада в нашу документацию обратитесь к Ресурсам .