otRadioFrame
#include <radio.h>
Представляет радиокадр IEEE 802.15.4.
Краткое содержание
Публичные атрибуты | |
---|---|
mAckFrameCounter | uint32_t Счетчик кадров безопасности ACK (применимо, если установлен mAckedWithSecEnhAck ). |
mAckKeyId | uint8_t Индекс ключа безопасности ACK (применимо, если установлен mAckedWithSecEnhAck ). |
mAckedWithFramePending | bool Это указывает, был ли этот кадр подтвержден с установленным ожидающим кадром. |
mAckedWithSecEnhAck | bool Это указывает, был ли этот кадр подтвержден с помощью защищенного расширенного ACK. |
mAesKey | const otMacKeyMaterial * Ключевой материал, используемый для обеспечения безопасности кадра AES-CCM. |
mChannel | uint8_t Канал, используемый для передачи/получения кадра. |
mCslPresent | bool Установите значение true, если присутствует IE заголовка CSL. |
mCsmaCaEnabled | bool Установите значение true, чтобы включить CSMA-CA для этого пакета, в противном случае — значение false. |
mIeInfo | Указатель на информацию, связанную с элементами заголовка заголовка. |
mInfo | union otRadioFrame::@24 Объединение передачи и приема информации для радиокадра. |
mIsARetx | bool Указывает, является ли кадр повторной передачей или нет. |
mIsHeaderUpdated | bool Указывает, правильно ли обновляются счетчик кадров и IE CSL в заголовке. |
mIsSecurityProcessed | bool Истинно, если SubMac должен пропустить обработку AES этого кадра. |
mLength | uint16_t Длина PSDU. |
mLqi | uint8_t Индикатор качества канала для полученных кадров. |
mMaxCsmaBackoffs | uint8_t Максимальное количество попыток отсрочки перед объявлением сбоя CCA. |
mMaxFrameRetries | uint8_t Максимальное количество повторных попыток, разрешенных после сбоя передачи. |
mPsdu | uint8_t * ПСДУ. |
mRadioType | uint8_t Тип радиоканала - должен игнорироваться драйвером радио. |
mRssi | int8_t Индикатор уровня принятого сигнала в дБм для полученных кадров. |
mRxChannelAfterTxDone | uint8_t Канал RX после передачи кадра завершен (после всех повторных попыток кадра - получено подтверждение, тайм-аут или прерывание). |
mRxInfo | struct otRadioFrame::@24::@26 Структура, представляющая радиокадр приема информации. |
mTimestamp | uint64_t Время местных радиочасов в микросекундах, когда конец СФД присутствовал на местной антенне. |
mTxDelay | uint32_t Время задержки в микросекундах для этой передачи, указанное в mTxDelayBaseTime . |
mTxDelayBaseTime | uint32_t Базовое время в микросекундах для запланированных передач относительно местных радиочасов, см. otPlatRadioGetNow и mTxDelay . |
mTxInfo | struct otRadioFrame::@24::@25 Структура, представляющая информацию о передаче радиокадра. |
Публичные атрибуты
mAckFrameCounter
uint32_t otRadioFrame::mAckFrameCounter
Счетчик кадров безопасности ACK (применимо, если установлен mAckedWithSecEnhAck
).
mAckKeyId
uint8_t otRadioFrame::mAckKeyId
Индекс ключа безопасности ACK (применимо, если установлен mAckedWithSecEnhAck
).
mACKedWithFramePending
bool otRadioFrame::mAckedWithFramePending
Это указывает, был ли этот кадр подтвержден с установленным ожидающим кадром.
mACKedWithSecEnhAck
bool otRadioFrame::mAckedWithSecEnhAck
Это указывает, был ли этот кадр подтвержден с помощью защищенного расширенного ACK.
МЭСКЕЙ
const otMacKeyMaterial * otRadioFrame::mAesKey
Ключевой материал, используемый для обеспечения безопасности кадра AES-CCM.
мканал
uint8_t otRadioFrame::mChannel
Канал, используемый для передачи/получения кадра.
mCslPresent
bool otRadioFrame::mCslPresent
Установите значение true, если присутствует IE заголовка CSL.
mCsmaCaEnabled
bool otRadioFrame::mCsmaCaEnabled
Установите значение true, чтобы включить CSMA-CA для этого пакета, в противном случае — значение false.
mIeInfo
otRadioIeInfo * otRadioFrame::mIeInfo
Указатель на информацию, связанную с элементами заголовка заголовка.
мИнфо
union otRadioFrame::@24 otRadioFrame::mInfo
Объединение передачи и приема информации для радиокадра.
mIsARetx
bool otRadioFrame::mIsARetx
Указывает, является ли кадр повторной передачей или нет.
mIsHeaderUpdated
bool otRadioFrame::mIsHeaderUpdated
Указывает, правильно ли обновляются счетчик кадров и IE CSL в заголовке.
Если уровень платформы не предоставляет возможность OT_RADIO_CAPS_TRANSMIT_SEC
, он может игнорировать этот флаг.
Если платформа предоставляет возможность OT_RADIO_CAPS_TRANSMIT_SEC
, то ожидается, что платформа будет обрабатывать обработку безопасности передачи и назначение счетчика кадров. В этом случае ожидается следующее поведение:
Когда установлено значение mIsHeaderUpdated
, это означает, что ядро OpenThread уже установило счетчик кадров и IE CSL (если включена безопасность) в подготовленном кадре. Счетчик гарантированно соответствует значению счетчика предыдущих попыток того же кадра. Платформе не следует назначать или изменять счетчик кадров (но, возможно, все равно потребуется выполнить обработку безопасности в зависимости от флага mIsSecurityProcessed
).
Если mIsHeaderUpdated
не установлен, то счетчик кадров и ключ CSL IE не устанавливаются в кадре ядром OpenThread, и радиоплатформа несет ответственность за их назначение. Платформа должна обновить заголовок кадра (назначить значения счетчика и CSL IE) перед отправкой кадра по воздуху, однако, если передача прерывается и кадр никогда не отправляется по воздуху (например, ошибка доступа к каналу), платформа может выбрать чтобы не обновлять заголовок. Если платформа обновляет заголовок, она также должна установить этот флаг перед передачей кадра обратно из обратного вызова otPlatRadioTxDone()
.
mIsSecurityProcessed
bool otRadioFrame::mIsSecurityProcessed
Истинно, если SubMac должен пропустить обработку AES этого кадра.
мдлина
uint16_t otRadioFrame::mLength
Длина PSDU.
млци
uint8_t otRadioFrame::mLqi
Индикатор качества канала для полученных кадров.
mMaxCsmaBackoffs
uint8_t otRadioFrame::mMaxCsmaBackoffs
Максимальное количество попыток отсрочки перед объявлением сбоя CCA.
mMaxFrameRetries
uint8_t otRadioFrame::mMaxFrameRetries
Максимальное количество повторных попыток, разрешенных после сбоя передачи.
МПДУ
uint8_t * otRadioFrame::mPsdu
ПСДУ.
мРадиоТип
uint8_t otRadioFrame::mRadioType
Тип радиоканала - должен игнорироваться драйвером радио.
мРсси
int8_t otRadioFrame::mRssi
Индикатор уровня принятого сигнала в дБм для полученных кадров.
mRxChannelAfterTxDone
uint8_t otRadioFrame::mRxChannelAfterTxDone
Канал RX после передачи кадра завершен (после всех повторных попыток кадра - получено подтверждение, тайм-аут или прерывание).
Радиоплатформы могут полностью игнорировать это. Стек OT обязательно вызовет otPlatRadioReceive()
с желаемым каналом RX после того, как передача кадра завершена и сигнализирована в обратном вызове otPlatRadioTxDone()
. Радиоплатформы, которые не предоставляют OT_RADIO_CAPS_TRANSMIT_RETRIES
, всегда должны игнорировать это.
Это предназначено для ситуаций, когда может возникнуть задержка во взаимодействии между стеком OT и радиосвязью. Например, это используется в архитектуре RCP/хост, чтобы обеспечить более быстрое переключение RCP на канал PAN. В частности, это может помочь при передаче CSL сонному ребенку, когда ребенок может использовать для CSL другой канал, чем канал PAN. После передачи кадра мы хотим, чтобы радио/RCP быстро вернулись на канал PAN, чтобы гарантировать, что родительский элемент не пропустит передачу от дочернего элемента впоследствии, например, дочерний элемент отвечает на более ранний кадр, переданный CSL от родителя, используя канал PAN, в то время как радио все еще остается включенным. CSL-канал.
Переключение на канал RX ДОЛЖНО произойти после того, как кадр TX полностью завершен, т. е. после всех повторных попыток и когда получено подтверждение (когда в кадре TX установлен флаг «Ack Request») или таймаут подтверждения. Обратите внимание, что подтверждение ожидается на том же канале, по которому отправляется кадр.
mRxInfo
struct otRadioFrame::@24::@26 otRadioFrame::mRxInfo
Структура, представляющая радиокадр приема информации.
mTimestamp
uint64_t otRadioFrame::mTimestamp
Время местных радиочасов в микросекундах, когда конец СФД присутствовал на местной антенне.
mTxDelay
uint32_t otRadioFrame::mTxDelay
Время задержки в микросекундах для этой передачи, указанное в mTxDelayBaseTime
.
Примечание: mTxDelayBaseTime
+ mTxDelay
ДОЛЖНЫ указывать на момент времени, когда конец SFD будет присутствовать на местной антенне относительно местных радиочасов.
mTxDelayBaseTime
uint32_t otRadioFrame::mTxDelayBaseTime
Базовое время в микросекундах для запланированных передач относительно местных радиочасов, см. otPlatRadioGetNow
и mTxDelay
.
mTxInfo
struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo
Структура, представляющая информацию о передаче радиокадра.
Ресурсы
Справочные разделы API OpenThread взяты из исходного кода, доступного на GitHub . Для получения дополнительной информации или внесения вклада в нашу документацию обратитесь к Ресурсам .