Konfiguracja radia

Ten moduł zawiera abstrakcję platformy na potrzeby konfiguracji radiowej.

Podsumowanie

Funkcje

otPlatRadioGetBusSpeed(otInstance *aInstance)
uint32_t
Przesyłaj prędkość magistrali między hostem a układem radiowym (w bitach/sekundę).
otPlatRadioGetCaps(otInstance *aInstance)
Korzystaj z funkcji radia.
otPlatRadioGetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t *aThreshold)
Uzyskaj wartość progową CCA ED radia w dBm mierzoną na złączu anteny zgodnie ze standardem IEEE 802.15.4–2015, sekcja 10.1.4.
otPlatRadioGetFemLnaGain(otInstance *aInstance, int8_t *aGain)
Pobiera wzmocnienie LNA zewnętrznego urządzenia FEM w dBm.
otPlatRadioGetIeeeEui64(otInstance *aInstance, uint8_t *aIeeeEui64)
void
Pobiera przypisany fabrycznie IEEE EUI-64 dla tego interfejsu.
otPlatRadioGetNow(otInstance *aInstance)
uint64_t
Pobierz bieżący czas w mikrosekundach, przywołany ciągłym monotonicznym lokalnym zegarem radiowym (o szerokości 64 bitów).
otPlatRadioGetPromiscuous(otInstance *aInstance)
bool
sprawdzać stan trybu nasłuchiwania,
otPlatRadioGetReceiveSensitivity(otInstance *aInstance)
int8_t
Uzyskuj wartość czułości odbiornika radiowego.
otPlatRadioGetTransmitPower(otInstance *aInstance, int8_t *aPower)
Moc nadawania radiowej jest podawana w dBm.
otPlatRadioGetVersionString(otInstance *aInstance)
const char *
Pobieranie ciągu wersji radiowej.
otPlatRadioSetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t aThreshold)
Ustaw próg CCA ED stacji radiowej w dBm mierzony na złączu anteny zgodnie ze standardem IEEE 802.15.4–2015, sekcja 10.1.4.
otPlatRadioSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExtAddress)
void
Ustaw Rozszerzony adres na potrzeby filtrowania adresów.
otPlatRadioSetFemLnaGain(otInstance *aInstance, int8_t aGain)
Ustawia wzmocnienie Rx LNA zewnętrznego urządzenia FEM w dBm.
otPlatRadioSetMacFrameCounter(otInstance *aInstance, uint32_t aMacFrameCounter)
void
Ustawia bieżącą wartość licznika klatek MAC.
otPlatRadioSetMacFrameCounterIfLarger(otInstance *aInstance, uint32_t aMacFrameCounter)
void
Ustawia bieżącą wartość licznika klatek MAC tylko wtedy, gdy nowa podana wartość jest większa niż bieżąca.
otPlatRadioSetMacKey(otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType)
void
Zaktualizuj klucze MAC i indeks kluczy.
otPlatRadioSetPanId(otInstance *aInstance, otPanId aPanId)
void
Ustaw identyfikator PAN na potrzeby filtrowania adresów.
otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable)
void
Włącz lub wyłącz tryb nasłuchiwania.
otPlatRadioSetRxOnWhenIdle(otInstance *aInstance, bool aEnable)
void
Ustawia platformę radiową jako stan rx-on-when-brak.
otPlatRadioSetShortAddress(otInstance *aInstance, otShortAddress aShortAddress)
void
Ustaw krótki adres na potrzeby filtrowania adresów.
otPlatRadioSetTransmitPower(otInstance *aInstance, int8_t aPower)
Ustaw moc nadawania radiowej w dBm.

Funkcje

otPlatRadioGetBusSpeed

uint32_t otPlatRadioGetBusSpeed(
  otInstance *aInstance
)

Przesyłaj prędkość magistrali między hostem a układem radiowym (w bitach/sekundę).

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Prędkość magistrali między hostem a układem radiowym (w bitach na sekundę). Zwraca wartość 0, gdy warstwa MAC i wyższa oraz warstwa Radio są w tym samym układzie scalonym.

otPlatRadioGetCaps

otRadioCaps otPlatRadioGetCaps(
  otInstance *aInstance
)

Korzystaj z funkcji radia.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwroty
Wektor bitowy możliwości radiowych (patrz: OT_RADIO_CAP_* definicje).

otPlatRadioGetCcaEnergyDetectThreshold

otError otPlatRadioGetCcaEnergyDetectThreshold(
  otInstance *aInstance,
  int8_t *aThreshold
)

Uzyskaj wartość progową CCA ED radia w dBm mierzoną na złączu anteny zgodnie ze standardem IEEE 802.15.4–2015, sekcja 10.1.4.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[out] aThreshold
Próg CCA ED w dBm.
Zwracane wartości
OT_ERROR_NONE
Próg CCA ED został pobrany.
OT_ERROR_INVALID_ARGS
Pole aThreshold zawiera wartość NULL.
OT_ERROR_NOT_IMPLEMENTED
Nie zaimplementowano konfiguracji progu CCA ED opartego na dBm.

otPlatRadioGetFemLnaGain

otError otPlatRadioGetFemLnaGain(
  otInstance *aInstance,
  int8_t *aGain
)

Pobiera wzmocnienie LNA zewnętrznego urządzenia FEM w dBm.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[out] aGain
Wzmocnienie sygnału Rx LNA zewnętrznego modułu FEM w dBm.
Zwracane wartości
OT_ERROR_NONE
Pobrano wzmocnienie LNA zewnętrznego modułu FEM.
OT_ERROR_INVALID_ARGS
Pole aGain zawiera wartość NULL.
OT_ERROR_NOT_IMPLEMENTED
Ustawienie LNA zewnętrznej jednostki FEM nie jest zaimplementowane.

otPlatRadioGetIeeeEui64

void otPlatRadioGetIeeeEui64(
  otInstance *aInstance,
  uint8_t *aIeeeEui64
)

Pobiera przypisany fabrycznie IEEE EUI-64 dla tego interfejsu.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[out] aIeeeEui64
Wskaźnik do IEEE EUI-64 przypisanego do fabryki.

otPlatRadioGetNow

uint64_t otPlatRadioGetNow(
  otInstance *aInstance
)

Pobierz bieżący czas w mikrosekundach, przywołany ciągłym monotonicznym lokalnym zegarem radiowym (o szerokości 64 bitów).

Zegar radiowy NIE ZAwija się w trakcie działania urządzenia. Implementacje MUSZĄ więc identyfikować i kompensować wewnętrzne przepełnienia licznika. Zegar nie ma określonej epoki i NIE POWODUJE żadnych ciągłych ani nieciągłych korekt (np. sekund przestępnych). Implementacje MUSZĄ kompensować czas uśpienia urządzenia.

Implementacje MOGĄ regulować zegar radiowy i w jakikolwiek sposób kompensować czas snu (np. łącząc RTC o wysokiej precyzji i małej mocy z licznikiem o wysokiej rozdzielczości), pod warunkiem że prezentowany zegar łączony zapewnia ciągłą monotoniczną rozdzielczość w mikrosekundach zgodnie z limitami dokładności podanymi przez otPlatRadioGetCslAccuracy.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Bieżący czas w mikrosekundach. UINT64_MAX, gdy platforma nie obsługuje lub czas radiowy nie jest gotowy.

otPlatRadioGetPromiscuous

bool otPlatRadioGetPromiscuous(
  otInstance *aInstance
)

sprawdzać stan trybu nasłuchiwania,

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwracane wartości
TRUE
Tryb wulgarny jest włączony.
FALSE
Tryb wulgarny jest wyłączony.

otPlatRadioGetReceiveSensitivity

int8_t otPlatRadioGetReceiveSensitivity(
  otInstance *aInstance
)

Uzyskuj wartość czułości odbiornika radiowego.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwroty
Wartość czułości odbioru radiowego w dBm.

otPlatRadioGetTransmitPower

otError otPlatRadioGetTransmitPower(
  otInstance *aInstance,
  int8_t *aPower
)

Moc nadawania radiowej jest podawana w dBm.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[out] aPower
Moc transmisji w dBm.
Zwracane wartości
OT_ERROR_NONE
Moc transmisji została pobrana.
OT_ERROR_INVALID_ARGS
Pole aPower zawiera wartość NULL.
OT_ERROR_NOT_IMPLEMENTED
Przesyłanie konfiguracji zasilania przez dBm nie jest wdrożone.

otPlatRadioGetVersionString

const char * otPlatRadioGetVersionString(
  otInstance *aInstance
)

Pobieranie ciągu wersji radiowej.

Jest to opcjonalna funkcja platformy radiowej sterownika. Jeśli nie jest dostępny przez sterownik radiowy platformy, OpenThread używa wersji OpenThread (

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwroty
Wskaźnik wersji radiowej OpenThread.
Zobacz też:
otGetVersionString()).

otPlatRadioSetCcaEnergyDetectThreshold

otError otPlatRadioSetCcaEnergyDetectThreshold(
  otInstance *aInstance,
  int8_t aThreshold
)

Ustaw próg CCA ED stacji radiowej w dBm mierzony na złączu anteny zgodnie ze standardem IEEE 802.15.4–2015, sekcja 10.1.4.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aThreshold
Próg CCA ED w dBm.
Zwracane wartości
OT_ERROR_NONE
Moc transmisji została ustawiona.
OT_ERROR_INVALID_ARGS
Podany próg jest poza zakresem.
OT_ERROR_NOT_IMPLEMENTED
Nie zaimplementowano konfiguracji progu CCA ED opartego na dBm.

otPlatRadioSetExtendedAddress

void otPlatRadioSetExtendedAddress(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Ustaw Rozszerzony adres na potrzeby filtrowania adresów.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aExtAddress
Wskaźnik do rozszerzonego adresu IEEE 802.15.4 zapisanego w kolejności bajtów w formacie little-endian.

otPlatRadioSetFemLnaGain

otError otPlatRadioSetFemLnaGain(
  otInstance *aInstance,
  int8_t aGain
)

Ustawia wzmocnienie Rx LNA zewnętrznego urządzenia FEM w dBm.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aGain
Wzmocnienie sygnału Rx LNA zewnętrznego modułu FEM w dBm.
Zwracane wartości
OT_ERROR_NONE
Udało się ustawić wzmocnienie LNA zewnętrznego modułu FEM.
OT_ERROR_NOT_IMPLEMENTED
Ustawienie wzmocnienia LNA zewnętrznej jednostki FEM nie jest zaimplementowane.

otPlatRadioSetMacFrameCounter

void otPlatRadioSetMacFrameCounter(
  otInstance *aInstance,
  uint32_t aMacFrameCounter
)

Ustawia bieżącą wartość licznika klatek MAC.

Jest używane, gdy radio zapewnia obsługę OT_RADIO_CAPS_TRANSMIT_SEC.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aMacFrameCounter
Wartość licznika klatek MAC.

otPlatRadioSetMacFrameCounterIfLarger

void otPlatRadioSetMacFrameCounterIfLarger(
  otInstance *aInstance,
  uint32_t aMacFrameCounter
)

Ustawia bieżącą wartość licznika klatek MAC tylko wtedy, gdy nowa podana wartość jest większa niż bieżąca.

Jest używane, gdy radio zapewnia obsługę OT_RADIO_CAPS_TRANSMIT_SEC.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aMacFrameCounter
Wartość licznika klatek MAC.

otPlatRadioSetMacKey

void otPlatRadioSetMacKey(
  otInstance *aInstance,
  uint8_t aKeyIdMode,
  uint8_t aKeyId,
  const otMacKeyMaterial *aPrevKey,
  const otMacKeyMaterial *aCurrKey,
  const otMacKeyMaterial *aNextKey,
  otRadioKeyType aKeyType
)

Zaktualizuj klucze MAC i indeks kluczy.

Jest używany, gdy radio zapewnia możliwość OT_RADIO_CAPS_TRANSMIT_SEC.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aKeyIdMode
Tryb identyfikatora klucza.
[in] aKeyId
Bieżący indeks klucza MAC.
[in] aPrevKey
Wskaźnik do poprzedniego klucza MAC.
[in] aCurrKey
Wskaźnik do bieżącego klucza MAC.
[in] aNextKey
Wskaźnik do następnego klucza MAC.
[in] aKeyType
Użyty typ klucza.

otPlatRadioSetPanId

void otPlatRadioSetPanId(
  otInstance *aInstance,
  otPanId aPanId
)

Ustaw identyfikator PAN na potrzeby filtrowania adresów.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aPanId
identyfikator IEEE 802.15.4 PAN.

otPlatRadioSetPromiscuous

void otPlatRadioSetPromiscuous(
  otInstance *aInstance,
  bool aEnable
)

Włącz lub wyłącz tryb nasłuchiwania.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aEnable
PRAWDA, aby włączyć, lub FAŁSZ, aby wyłączyć tryb nasłuchiwania.

otPlatRadioSetRxOnWhenIdle

void otPlatRadioSetRxOnWhenIdle(
  otInstance *aInstance,
  bool aEnable
)

Ustawia platformę radiową jako stan rx-on-when-brak.

Jest kilka sytuacji, w których radio może przejść w stan uśpienia, jeśli urządzenie jest w trybie rx-off, gdy jest nieaktywne, ale subMac jest trudny i kosztowny do rozpoznania takich sytuacji i instruowania radia w celu przejścia w tryb uśpienia:

  • Finalizowanie zwykłego zadania rejestracji klatek, o ile:
    • Ramka jest odebrana bez błędów i przechodzi filtrowanie. Nie jest to fałszywe potwierdzenie.
    • Nie zażądano potwierdzenia lub przesłanie potwierdzenia nie jest możliwe z powodu warunków wewnętrznych.
  • Finalizowanie transmisji klatki lub transmisji ramki potwierdzenia, gdy w przesyłanej ramce nie jest wymagane potwierdzenie.
  • Sfinalizowanie operacji odbioru żądanego potwierdzenia z następujących powodów:
    • Upłynął limit czasu potwierdzenia.
    • Otrzymanie nieprawidłowej ramki potwierdzenia lub niepełnej ramki potwierdzenia.
    • Odbiór prawidłowego potwierdzenia, chyba że przesyłana ramka była poleceniem żądania danych, a bit oczekującej ramki w odebranym potwierdzeniu ma wartość Prawda. W takim przypadku implementacja platformy radiowej POWINNO utrzymywać odbiornik do czasu, gdy upłynie czas oczekiwania, który aktywuje rozpoczęcie okresu bezczynności.Możesz też uznać, że OPENTHREAD_CONFIG_MAC_DATA_POLL_TIMEOUT jest w tym przypadku włączony.
  • Finalizowanie samodzielnego zadania CCA.
  • Finalizowanie operacji CCA z zajętym wynikiem podczas procedury CSMA/CA.
  • Finalizowanie zadania wykrywania energii.
  • Finalizowanie okna odbioru radiowego zaplanowanego na otPlatRadioReceiveAt.

Jeśli platforma obsługuje OT_RADIO_CAPS_RX_ON_WHEN_IDLE, musi też obsługiwać OT_RADIO_CAPS_CSMA_BACKOFF i obsługiwać okresy bezczynności po CCA w sposób opisany powyżej.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aEnable
TRUE, aby utrzymywać radio w stanie odbierania, lub FALSE, aby przejść w tryb uśpienia podczas bezczynności.

otPlatRadioSetShortAddress

void otPlatRadioSetShortAddress(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Ustaw krótki adres na potrzeby filtrowania adresów.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aShortAddress
Krótki adres IEEE 802.15.4.

otPlatRadioSetTransmitPower

otError otPlatRadioSetTransmitPower(
  otInstance *aInstance,
  int8_t aPower
)

Ustaw moc nadawania radiowej w dBm.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aPower
Moc transmisji w dBm.
Zwracane wartości
OT_ERROR_NONE
Moc transmisji została ustawiona.
OT_ERROR_NOT_IMPLEMENTED
Przesyłanie konfiguracji zasilania przez dBm nie jest wdrożone.

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.