Конфигурация радио
Этот модуль включает абстракцию платформы для настройки радиосвязи.
Краткое содержание
Функции | |
---|---|
otPlatRadioGetBusSpeed ( otInstance *aInstance) | uint32_t Получите скорость шины в бит/секунду между хостом и радиочипом. |
otPlatRadioGetCaps ( otInstance *aInstance) | Получите возможности радиосвязи. |
otPlatRadioGetCcaEnergyDetectThreshold ( otInstance *aInstance, int8_t *aThreshold) | Получите пороговое значение CCA ED радиостанции в дБм, измеренное на антенном разъеме в соответствии со стандартом IEEE 802.15.4 — 2015, раздел 10.1.4. |
otPlatRadioGetFemLnaGain ( otInstance *aInstance, int8_t *aGain) | Получает усиление Rx LNA внешнего FEM в дБм. |
otPlatRadioGetIeeeEui64 ( otInstance *aInstance, uint8_t *aIeeeEui64) | void Получает назначенный на заводе стандарт IEEE EUI-64 для этого интерфейса. |
otPlatRadioGetNow ( otInstance *aInstance) | uint64_t Получите текущее время в микросекундах, привязанное к непрерывным монотонным местным радиочасам (ширина 64 бита). |
otPlatRadioGetPromiscuous ( otInstance *aInstance) | bool Получите статус беспорядочного режима. |
otPlatRadioGetReceiveSensitivity ( otInstance *aInstance) | int8_t Получите значение чувствительности приема радиостанции. |
otPlatRadioGetTransmitPower ( otInstance *aInstance, int8_t *aPower) | Получите мощность передачи радио в дБм. |
otPlatRadioGetVersionString ( otInstance *aInstance) | const char * Получите строку версии радио. |
otPlatRadioSetCcaEnergyDetectThreshold ( otInstance *aInstance, int8_t aThreshold) | Установите порог CCA ED радиостанции в дБм, измеренный на разъеме антенны в соответствии со стандартом IEEE 802.15.4 — 2015, раздел 10.1.4. |
otPlatRadioSetExtendedAddress ( otInstance *aInstance, const otExtAddress *aExtAddress) | void Установите расширенный адрес для фильтрации адресов. |
otPlatRadioSetFemLnaGain ( otInstance *aInstance, int8_t aGain) | Устанавливает усиление Rx LNA внешнего FEM в дБм. |
otPlatRadioSetMacFrameCounter ( otInstance *aInstance, uint32_t aMacFrameCounter) | void Устанавливает текущее значение счетчика кадров MAC. |
otPlatRadioSetMacFrameCounterIfLarger ( otInstance *aInstance, uint32_t aMacFrameCounter) | void Устанавливает текущее значение счетчика кадров MAC, только если новое заданное значение больше текущего значения. |
otPlatRadioSetMacKey ( otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType) | void Обновите MAC-ключи и индекс ключей. |
otPlatRadioSetPanId ( otInstance *aInstance, otPanId aPanId) | void Установите идентификатор PAN для фильтрации адресов. |
otPlatRadioSetPromiscuous ( otInstance *aInstance, bool aEnable) | void Включите или отключите беспорядочный режим. |
otPlatRadioSetRxOnWhenIdle ( otInstance *aInstance, bool aEnable) | void Устанавливает состояние приема в режиме ожидания для радиоплатформы. |
otPlatRadioSetShortAddress ( otInstance *aInstance, otShortAddress aShortAddress) | void Установите короткий адрес для фильтрации адресов. |
otPlatRadioSetTransmitPower ( otInstance *aInstance, int8_t aPower) | Установите мощность передачи радиостанции в дБм. |
Функции
otPlatRadioGetBusSpeed
uint32_t otPlatRadioGetBusSpeed( otInstance *aInstance )
Получите скорость шины в бит/секунду между хостом и радиочипом.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Скорость шины в битах/секунду между хостом и радиочипом. Возвращает 0, если уровень MAC и выше, а также уровень радио находятся на одном чипе. |
отПлатРадиоGetCaps
otRadioCaps otPlatRadioGetCaps( otInstance *aInstance )
Получите возможности радиосвязи.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Битовый вектор радиовозможностей (см. определения OT_RADIO_CAP_* ). |
otPlatRadioGetCcaEnergyDetectThreshold
otError otPlatRadioGetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t *aThreshold )
Получите пороговое значение CCA ED радиостанции в дБм, измеренное на антенном разъеме в соответствии со стандартом IEEE 802.15.4 — 2015, раздел 10.1.4.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
otPlatRadioGetFemLnaGain
otError otPlatRadioGetFemLnaGain( otInstance *aInstance, int8_t *aGain )
Получает усиление Rx LNA внешнего FEM в дБм.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
otPlatRadioGetIeeEui64
void otPlatRadioGetIeeeEui64( otInstance *aInstance, uint8_t *aIeeeEui64 )
Получает назначенный на заводе стандарт IEEE EUI-64 для этого интерфейса.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
отПлатРадиоGetNow
uint64_t otPlatRadioGetNow( otInstance *aInstance )
Получите текущее время в микросекундах, привязанное к непрерывным монотонным местным радиочасам (ширина 64 бита).
Радиочасы НЕ ДОЛЖНЫ включаться во время работы устройства. Поэтому реализации ДОЛЖНЫ выявлять и компенсировать внутренние переполнения счетчика. Часы не имеют определенной эпохи и НЕ ДОЛЖНЫ вносить какие-либо непрерывные или прерывистые корректировки (например, дополнительные секунды). Реализации ДОЛЖНЫ компенсировать любое время сна устройства.
Реализации МОГУТ выбрать дисциплину радиочасов и компенсировать время ожидания любыми способами (например, путем сочетания высокоточного/малопотребляющего RTC со счетчиком с высоким разрешением) при условии, что открытые комбинированные часы обеспечивают непрерывные монотонные такты с микросекундным разрешением в пределах точности. Об этом сообщил otPlatRadioGetCslAccuracy .
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Текущее время в микросекундах. UINT64_MAX, когда платформа не поддерживает или время радио не готово. |
otPlatRadioGetНеразборчивая связь
bool otPlatRadioGetPromiscuous( otInstance *aInstance )
Получите статус беспорядочного режима.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otPlatRadioGetReceiveSensitivity
int8_t otPlatRadioGetReceiveSensitivity( otInstance *aInstance )
Получите значение чувствительности приема радиостанции.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Значение чувствительности радиоприемника в дБм. |
otPlatRadioGetTransmitPower
otError otPlatRadioGetTransmitPower( otInstance *aInstance, int8_t *aPower )
Получите мощность передачи радио в дБм.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
otPlatRadioGetVersionString
const char * otPlatRadioGetVersionString( otInstance *aInstance )
Получите строку версии радио.
Это дополнительная функция платформы водителя радиоприемника. Если это не предусмотрено драйвером радио платформы, OpenThread вместо этого использует версию OpenThread (
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Указатель на версию радио OpenThread. |
otGetVersionString() ).
otPlatRadioSetCcaEnergyDetectThreshold
otError otPlatRadioSetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t aThreshold )
Установите порог CCA ED радиостанции в дБм, измеренный на разъеме антенны в соответствии со стандартом IEEE 802.15.4 — 2015, раздел 10.1.4.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
отПлатрадиосетекстендадрес
void otPlatRadioSetExtendedAddress( otInstance *aInstance, const otExtAddress *aExtAddress )
Установите расширенный адрес для фильтрации адресов.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
otPlatRadioSetFemLnaGain
otError otPlatRadioSetFemLnaGain( otInstance *aInstance, int8_t aGain )
Устанавливает усиление Rx LNA внешнего FEM в дБм.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otPlatRadioSetMacFrameCounter
void otPlatRadioSetMacFrameCounter( otInstance *aInstance, uint32_t aMacFrameCounter )
Устанавливает текущее значение счетчика кадров MAC.
Используется, когда радио обеспечивает возможность OT_RADIO_CAPS_TRANSMIT_SEC
.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
otPlatRadioSetMacFrameCounterIfLarger
void otPlatRadioSetMacFrameCounterIfLarger( otInstance *aInstance, uint32_t aMacFrameCounter )
Устанавливает текущее значение счетчика кадров MAC, только если новое заданное значение больше текущего значения.
Используется, когда радио обеспечивает возможность OT_RADIO_CAPS_TRANSMIT_SEC
.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
отПлатРадиоСетMacKey
void otPlatRadioSetMacKey( otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType )
Обновите MAC-ключи и индекс ключей.
Используется, когда радио обеспечивает возможность OT_RADIO_CAPS_TRANSMIT_SEC.
Подробности | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
|
отПлатрадиосетпанид
void otPlatRadioSetPanId( otInstance *aInstance, otPanId aPanId )
Установите идентификатор PAN для фильтрации адресов.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
otPlatRadioSetНеразборчивая связь
void otPlatRadioSetPromiscuous( otInstance *aInstance, bool aEnable )
Включите или отключите беспорядочный режим.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
otPlatRadioSetRxOnWhenIdle
void otPlatRadioSetRxOnWhenIdle( otInstance *aInstance, bool aEnable )
Устанавливает состояние приема в режиме ожидания для радиоплатформы.
Есть несколько ситуаций, когда радиостанция может перейти в спящий режим, если устройство находится в состоянии «прием выключен в режиме ожидания», но для SubMac сложно и затратно идентифицировать эти ситуации и дать команду радиостанции перейти в спящий режим:
- Доработка задачи по приему штатных кадров при условии, что:
- Кадр получен без ошибок, проходит фильтрацию и не является ложным подтверждением.
- ACK не запрашивается или передача ACK невозможна из-за внутренних условий.
- Завершение передачи кадра или передача кадра ACK, когда ACK не запрашивается в передаваемом кадре.
- Завершение операции приема запрошенного ACK вследствие:
- Истечение тайм-аута ACK.
- Прием недействительного подтверждения или отсутствия кадра подтверждения.
- Прием правильного ACK, если только переданный кадр не был командой запроса данных и бит ожидания кадра в полученном ACK установлен в значение true. В этом случае реализация радиоплатформы ДОЛЖНА поддерживать приемник включенным до определенного времени ожидания, которое запускает начало периода простоя.
OPENTHREAD_CONFIG_MAC_DATA_POLL_TIMEOUT
можно использовать в качестве эталона.
- Завершение отдельной задачи CCA.
- Завершение операции CCA с результатом «занято» во время процедуры CSMA/CA.
- Завершение задачи по обнаружению энергии.
- Завершение окна радиоприема, запланированного с помощью
otPlatRadioReceiveAt
.
Если платформа поддерживает OT_RADIO_CAPS_RX_ON_WHEN_IDLE
, она также должна поддерживать OT_RADIO_CAPS_CSMA_BACKOFF
и обрабатывать периоды простоя после CCA, как описано выше.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
отПлатРадиоСетШортАдресс
void otPlatRadioSetShortAddress( otInstance *aInstance, otShortAddress aShortAddress )
Установите короткий адрес для фильтрации адресов.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
otPlatRadioSetTransmitPower
otError otPlatRadioSetTransmitPower( otInstance *aInstance, int8_t aPower )
Установите мощность передачи радиостанции в дБм.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
Ресурсы
Справочные разделы API OpenThread взяты из исходного кода, доступного на GitHub . Для получения дополнительной информации или внесения вклада в нашу документацию обратитесь к Ресурсам .