otRadioFrame
#include <radio.h>
Reprezentuje ramkę radiową IEEE 802.15.4.
Podsumowanie
Atrybuty publiczne |
|
---|---|
mAckFrameCounter
|
uint32_t
Licznik ramek zabezpieczeń potwierdzenia (dotyczy, gdy ustawiona jest zasada
mAckedWithSecEnhAck ). |
mAckKeyId
|
uint8_t
Indeks klucza bezpieczeństwa potwierdzenia (dotyczy, gdy ustawiona jest zasada
mAckedWithSecEnhAck ). |
mAckedWithFramePending
|
bool
Wskazuje, czy ramka została potwierdzona z ustawieniem oczekującej ramki.
|
mAckedWithSecEnhAck
|
bool
Wskazuje, czy ramka została potwierdzona za pomocą bezpiecznego potwierdzenia ulepszenia.
|
mAesKey
|
const otMacKeyMaterial *
Materiał klucza używany do zabezpieczania ramki AES-CCM.
|
mChannel
|
uint8_t
Kanał używany do przesyłania/odbierania klatki.
|
mCslPresent
|
bool
Ustaw na wartość true, jeśli istnieje nagłówek CSL w IE.
|
mCsmaCaEnabled
|
bool
Ustaw wartość „true”, aby włączyć CSMA-CA dla tego pakietu. W przeciwnym razie ustaw wartość „false” (fałsz).
|
mIeInfo
|
Wskaźnik informacji związanych z nagłówkiem IE.
|
mInfo
|
union otRadioFrame::@24
Połączenie transmitowania i odbierania informacji dla ramki radiowej.
|
mIsARetx
|
bool
Wskazuje, czy ramka jest ponowną transmisją czy nie.
|
mIsHeaderUpdated
|
bool
Wskazuje, czy licznik ramek i IE IE w nagłówku są prawidłowo aktualizowane.
|
mIsSecurityProcessed
|
bool
Prawda, jeśli SubMac ma pomijać przetwarzanie AES tej klatki.
|
mLength
|
uint16_t
Długość subskrypcji PSDU.
|
mLqi
|
uint8_t
Wskaźnik jakości linku dla odebranych klatek.
|
mMaxCsmaBackoffs
|
uint8_t
Maksymalna liczba prób ponowienia przed zadeklarowaniem błędu CCA.
|
mMaxFrameRetries
|
uint8_t
Maksymalna dozwolona liczba ponownych prób po awarii transmisji.
|
mPsdu
|
uint8_t *
PSDU.
|
mRadioType
|
uint8_t
Typ linku radiowego – powinien być ignorowany przez sterownik radiowy.
|
mRssi
|
int8_t
Wskaźnik siły odbieranego sygnału w dBm dla odebranych klatek.
|
mRxChannelAfterTxDone
|
uint8_t
Kanał RX po TX ramki jest zakończony (po ponownym wykonaniu każdej próby klatki – po otrzymaniu potwierdzenia, po upływie czasu oczekiwania lub przerwaniu).
|
mRxInfo
|
struct otRadioFrame::@24::@26
Struktura reprezentująca ramkę radiową odbierającą informacje.
|
mTimestamp
|
uint64_t
Godzina lokalnego zegara radiowego w mikrosekundach, gdy na antenie lokalnej był widoczny koniec SFD.
|
mTxDelay
|
uint32_t
Czas opóźnienia tej transmisji podany w mikrosekundach jako wartość
mTxDelayBaseTime . |
mTxDelayBaseTime
|
uint32_t
Podstawowy czas w mikrosekundach dla zaplanowanych transmisji w stosunku do lokalnego zegara radiowego (patrz
otPlatRadioGetNow i mTxDelay ). |
mTxInfo
|
struct otRadioFrame::@24::@25
Struktura reprezentująca transmisję informacji ramki radiowej.
|
Atrybuty publiczne
mAckFrameCounter
uint32_t otRadioFrame::mAckFrameCounter
Licznik ramek zabezpieczeń potwierdzenia (dotyczy, gdy ustawiona jest zasada mAckedWithSecEnhAck
).
mAckKeyId
uint8_t otRadioFrame::mAckKeyId
Indeks klucza bezpieczeństwa potwierdzenia (dotyczy, gdy ustawiona jest zasada mAckedWithSecEnhAck
).
mAckedWithFramePending
bool otRadioFrame::mAckedWithFramePending
Wskazuje, czy ramka została potwierdzona z ustawieniem oczekującej ramki.
mAckedWithSecEnhAck
bool otRadioFrame::mAckedWithSecEnhAck
Wskazuje, czy ramka została potwierdzona za pomocą bezpiecznego potwierdzenia ulepszenia.
mAesKey
const otMacKeyMaterial * otRadioFrame::mAesKey
Materiał klucza używany do zabezpieczania ramki AES-CCM.
mChannel
uint8_t otRadioFrame::mChannel
Kanał używany do przesyłania/odbierania klatki.
mCslPresent
bool otRadioFrame::mCslPresent
Ustaw na wartość true, jeśli istnieje nagłówek CSL w IE.
mCsmaCaEnabled
bool otRadioFrame::mCsmaCaEnabled
Ustaw wartość „true”, aby włączyć CSMA-CA dla tego pakietu. W przeciwnym razie ustaw wartość „false” (fałsz).
mInfo
union otRadioFrame::@24 otRadioFrame::mInfo
Połączenie transmitowania i odbierania informacji dla ramki radiowej.
mIsARetx
bool otRadioFrame::mIsARetx
Wskazuje, czy ramka jest ponowną transmisją czy nie.
mIsHeaderUpdated
bool otRadioFrame::mIsHeaderUpdated
Wskazuje, czy licznik ramek i IE IE w nagłówku są prawidłowo aktualizowane.
Jeśli warstwa platformy nie zapewnia funkcji OT_RADIO_CAPS_TRANSMIT_SEC
, może zignorować tę flagę.
Jeśli platforma oferuje funkcję OT_RADIO_CAPS_TRANSMIT_SEC
, powinna obsługiwać przetwarzanie zabezpieczeń TX i przypisywanie licznika klatek. W tym przypadku należy spodziewać się następujących zachowań:
Jeśli zasada mIsHeaderUpdated
jest skonfigurowana, oznacza to, że rdzenie OpenThread ustawiły już licznik klatek i CSL IE (jeśli zabezpieczenia są włączone) w przygotowanej ramce. Licznik ma pewność, że odpowiada wartości licznika z poprzednich prób tej samej klatki. Platforma nie powinna przypisywać ani zmieniać licznika klatek (ale i tak może być konieczne przeprowadzenie przetwarzania zabezpieczeń w zależności od flagi mIsSecurityProcessed
).
Jeśli zasada mIsHeaderUpdated
nie jest skonfigurowana, licznik klatek i klucz CSL IE nie są ustawione w ramce przez OpenThread Core i to platforma radiowa odpowiada za ich przypisanie. Przed wysłaniem klatki przez sieć bezprzewodową platforma musi zaktualizować nagłówek ramki (przypisać wartości licznika i CSL IE). Jednak jeśli transmisja zostanie przerwana, a ramka nie zostanie przesłana bezprzewodowo (np. z powodu błędu dostępu do kanału), platforma może nie aktualizować nagłówka. Jeśli platforma aktualizuje nagłówek, musi też ustawić tę flagę przed przekazaniem ramki z powrotem z wywołania zwrotnego otPlatRadioTxDone()
.
mIsSecurityProcessed
bool otRadioFrame::mIsSecurityProcessed
Prawda, jeśli SubMac ma pomijać przetwarzanie AES tej klatki.
mLength
uint16_t otRadioFrame::mLength
Długość subskrypcji PSDU.
mLqi
uint8_t otRadioFrame::mLqi
Wskaźnik jakości linku dla odebranych klatek.
mMaxCsmaBackoffs
uint8_t otRadioFrame::mMaxCsmaBackoffs
Maksymalna liczba prób ponowienia przed zadeklarowaniem błędu CCA.
mMaxFrameRetries
uint8_t otRadioFrame::mMaxFrameRetries
Maksymalna dozwolona liczba ponownych prób po awarii transmisji.
mPsdu
uint8_t * otRadioFrame::mPsdu
PSDU.
mRadioType
uint8_t otRadioFrame::mRadioType
Typ linku radiowego – powinien być ignorowany przez sterownik radiowy.
mRssi
int8_t otRadioFrame::mRssi
Wskaźnik siły odbieranego sygnału w dBm dla odebranych klatek.
mRxChannelAfterTxDone
uint8_t otRadioFrame::mRxChannelAfterTxDone
Kanał RX po TX ramki jest zakończony (po ponownym wykonaniu każdej próby klatki – po otrzymaniu potwierdzenia, po upływie czasu oczekiwania lub przerwaniu).
Platformy radiowe mogą całkowicie zignorować tę regułę. Stos OT wywoła funkcję otPlatRadioReceive()
z wybranym kanałem RX po zakończeniu TX ramki i zasygnalizowaniu jej w wywołaniu zwrotnym otPlatRadioTxDone()
. Platformy radiowe, które nie oferują funkcji OT_RADIO_CAPS_TRANSMIT_RETRIES
, zawsze muszą to ignorować.
Jest to przeznaczone dla sytuacji, w których mogą występować opóźnienia w interakcjach między stosem OT a radiem. Przykładem takiego zastosowania jest architektura RCP/hosta, która zapewnia szybsze przełączanie RCP na kanał PAN. W szczególności może to pomóc w przypadku CSL Tx dla śpiącego dziecka, ponieważ może ono używać innego kanału CSL niż PAN. Po wykonaniu ramki tx chcemy szybko wrócić do kanału PAN, aby zapewnić, że urządzenie nadrzędne nie przegapi sygnału tx z systemu podrzędnego, np. odpowiadał na wcześniejszą ramkę przesłaną przez CSL za pomocą kanału PAN, podczas gdy radio pozostaje na kanale CSL.
Przełączenie na kanał RX MUSI nastąpić po zakończeniu procesu TX klatki, tj. po wszystkich ponownych próbach i odebraniu potwierdzenia (gdy w ramce TX ustawiona jest flaga „Ack Request”) lub po przekroczeniu limitu czasu potwierdzenia. Potwierdzenie jest oczekiwane w tym samym kanale, na który została wysłana ramka.
mRxInfo
struct otRadioFrame::@24::@26 otRadioFrame::mRxInfo
Struktura reprezentująca ramkę radiową odbierającą informacje.
mTimestamp
uint64_t otRadioFrame::mTimestamp
Godzina lokalnego zegara radiowego w mikrosekundach, gdy na antenie lokalnej był widoczny koniec SFD.
mTxDelay
uint32_t otRadioFrame::mTxDelay
Czas opóźnienia tej transmisji podany w mikrosekundach jako wartość mTxDelayBaseTime
.
Uwaga: mTxDelayBaseTime
+ mTxDelay
SHALL wskazuje moment, w którym koniec SFD będzie obecny na antenie lokalnej w stosunku do lokalnego zegara radiowego.
mTxDelayBaseTime
uint32_t otRadioFrame::mTxDelayBaseTime
Podstawowy czas w mikrosekundach dla zaplanowanych transmisji w stosunku do lokalnego zegara radiowego (patrz otPlatRadioGetNow
i mTxDelay
).
mTxInfo
struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo
Struktura reprezentująca transmisję informacji ramki radiowej.
Zasoby
Tematy referencyjne interfejsu OpenThread API pochodzą z kodu źródłowego dostępnego w GitHub. Aby dowiedzieć się więcej lub dołączyć do naszej dokumentacji, skorzystaj z sekcji Zasoby.