Obsługa radiowa

Ten moduł zawiera informacje na temat platformy na potrzeby operacji radiowych.

Podsumowanie

Funkcje

otPlatDiagRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Sterownik radiowy wywołuje tę metodę, aby powiadamiać moduł diagnostyczny OpenThread o odebranej ramce.
otPlatDiagRadioTransmitDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Sterownik radiowy wywołuje tę metodę, by powiadomić moduł diagnostyczny OpenThread o zakończeniu transmisji.
otPlatRadioAddCalibratedPower(otInstance *aInstance, uint8_t aChannel, int16_t aActualPower, const uint8_t *aRawPowerSetting, uint16_t aRawPowerSettingLength)
Dodaj skalibrowaną moc określonego kanału do tabeli kalibracji zasilania.
otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
Dodaj adres rozszerzone do tabeli odpowiedników pod adresem źródłowym.
otPlatRadioAddSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
Dodaj krótki adres do tabeli odpowiedników z adresem źródłowym.
otPlatRadioClearCalibratedPowers(otInstance *aInstance)
Usuń wszystkie skalibrowane zasilenia z tabeli kalibracji zasilania.
otPlatRadioClearSrcMatchExtEntries(otInstance *aInstance)
void
Usuń wszystkie adresy rozszerzone i długie z tabeli odpowiedników z adresami źródłowymi.
otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
Usuń adres rozszerzony z tabeli odpowiedników pod adresem źródłowym.
otPlatRadioClearSrcMatchShortEntries(otInstance *aInstance)
void
Usuń wszystkie krótkie adresy z tabeli odpowiedników adresów źródłowych.
otPlatRadioClearSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
Usuń krótki adres z tabeli odpowiedników pod adresem źródłowym.
otPlatRadioConfigureEnhAckProbing(otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress)
Włącz/wyłącz lub zaktualizuj sondowanie oparte na ulepszonym potwierdzeniu w radiu dla określonego inicjatora.
otPlatRadioDisable(otInstance *aInstance)
Wyłącz radio.
otPlatRadioEnable(otInstance *aInstance)
Włącz radio.
otPlatRadioEnableCsl(otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr)
Włącz lub wyłącz odbiornik CSL.
otPlatRadioEnableSrcMatch(otInstance *aInstance, bool aEnable)
void
Włącz/wyłącz funkcję dopasowania adresu źródłowego.
otPlatRadioEnergyScan(otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
Uruchom sekwencję skanowania energii w radiu.
otPlatRadioEnergyScanDone(otInstance *aInstance, int8_t aEnergyScanMaxRssi)
void
Sterownik radiowy wywołuje tę metodę, aby powiadomić OpenThread o zakończeniu skanowania energii.
otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
Pobierz dane dotyczące współistnienia radia.
otPlatRadioGetCslAccuracy(otInstance *aInstance)
uint8_t
Pobierz aktualną szacowaną dokładność najgorszego przypadku (maksymalne odchylenie ± od częstotliwości nominalnej) lokalnego zegara radiowego w jednostkach PPM.
otPlatRadioGetCslUncertainty(otInstance *aInstance)
uint8_t
Stała niepewność (np.
otPlatRadioGetPreferredChannelMask(otInstance *aInstance)
uint32_t
Pobiera maskę kanału preferowanej przez radio, którą urządzenie preferuje przy tworzeniu.
otPlatRadioGetRawPowerSetting(otInstance *aInstance, uint8_t aChannel, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength)
Pobierz nieprzetworzone ustawienie mocy dla danego kanału.
otPlatRadioGetRegion(otInstance *aInstance, uint16_t *aRegionCode)
Pobierz kod regionu.
otPlatRadioGetRssi(otInstance *aInstance)
int8_t
Pobierz najnowszy pomiar RSSI.
otPlatRadioGetState(otInstance *aInstance)
Sprawdź bieżący stan radia.
otPlatRadioGetSupportedChannelMask(otInstance *aInstance)
uint32_t
Uzyskaj maskę kanału obsługiwanej przez radio, na którym urządzenie może być włączone.
otPlatRadioGetTransmitBuffer(otInstance *aInstance)
Pobierz bufor ramki transmisji radiowej.
otPlatRadioIsCoexEnabled(otInstance *aInstance)
bool
Sprawdź, czy korzystanie z funkcji radiowej jest włączone.
otPlatRadioIsEnabled(otInstance *aInstance)
bool
Sprawdź, czy radio jest włączone.
otPlatRadioReceive(otInstance *aInstance, uint8_t aChannel)
Przełącz radio z uśpienia na Odbieranie (włącz radio).
otPlatRadioReceiveAt(otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration)
Zaplanuj okno odbioru radiowego na określoną godzinę i przez określony czas.
otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Sterownik radiowy wywołuje tę metodę, aby powiadamiać OpenThread o odebranej klatce.
otPlatRadioSetChannelMaxTransmitPower(otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
Ustaw maksymalną moc transmisji dla określonego kanału.
otPlatRadioSetChannelTargetPower(otInstance *aInstance, uint8_t aChannel, int16_t aTargetPower)
Ustaw docelową moc dla danego kanału.
otPlatRadioSetCoexEnabled(otInstance *aInstance, bool aEnabled)
Włącz połączenie radiowe.
otPlatRadioSetRegion(otInstance *aInstance, uint16_t aRegionCode)
Ustaw kod regionu.
otPlatRadioSleep(otInstance *aInstance)
Przełącz radio z funkcji Odbierz w uśpienie (wyłącz radio).
otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
Rozpocznij sekwencję transmisji w radiu.
otPlatRadioTxDone(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
void
Sterownik radiowy wywołuje tę funkcję, aby powiadomić OpenThread o zakończeniu operacji transmisji, dostarczając zarówno przesyłaną ramkę, jak i (jeśli ma zastosowanie) odebraną ramkę potwierdzenia.
otPlatRadioTxStarted(otInstance *aInstance, otRadioFrame *aFrame)
void
Sterownik radiowy wywołuje tę metodę, aby powiadamiać OpenThread o rozpoczęciu transmisji.
otPlatRadioUpdateCslSampleTime(otInstance *aInstance, uint32_t aCslSampleTime)
void
Zaktualizuj czas próbkowania CSL w sterowniku radia.

Funkcje

otPlatDiagRadioReceiveDone

void otPlatDiagRadioReceiveDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

Sterownik radiowy wywołuje tę metodę, aby powiadamiać moduł diagnostyczny OpenThread o odebranej ramce.

Jest używane, gdy włączona jest diagnostyka.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aFrame
Wskaźnik do odebranej ramki lub wartość NULL, jeśli operacja odbierania nie powiodła się.
[in] aError
OT_ERROR_NONE po pomyślnym odebraniu klatki, OT_ERROR_ABORT, gdy odbiór został przerwany i ramka nie została odebrana; OT_ERROR_NO_BUFS, gdy nie można było odebrać klatki z powodu braku przestrzeni bufora RX.

otPlatDiagRadioTransmitDone

void otPlatDiagRadioTransmitDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

Sterownik radiowy wywołuje tę metodę, by powiadomić moduł diagnostyczny OpenThread o zakończeniu transmisji.

Jest używane, gdy włączona jest diagnostyka.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aFrame
Wskaźnik do przesyłanej klatki.
[in] aError
Podczas przesyłania klatki wystąpił błąd OT_ERROR_NONE. Nie udało się przeprowadzić OT_ERROR_CHANNEL_ACCESS_FAILURE tx z powodu aktywności na kanale (OT_ERROR_ABORT), gdy transmisja została przerwana z innych powodów.

otPlatRadioAddCalibratedPower

otError otPlatRadioAddCalibratedPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int16_t aActualPower,
  const uint8_t *aRawPowerSetting,
  uint16_t aRawPowerSettingLength
)

Dodaj skalibrowaną moc określonego kanału do tabeli kalibracji zasilania.

aActualPower to rzeczywista mierzona moc wyjściowa, gdy parametry modułu radiowego są ustawione na aRawPowerSetting.

Ustawienie mocy nieprzetworzonej to nieprzezroczysta tablica bajtów. OpenThread nie określa formatu ustawienia nieprzetworzonego zasilania. Format jest związany ze sprzętem radiowym i powinien być zdefiniowany przez programistów w sterowaniu radiową platformy. Jeśli np. urządzenie radiowe zawiera zarówno układ radiowy, jak i układ FEM, ustawienie mocy nieprzetworzonej może być połączeniem rejestru mocy radiowej i wartości wzmocnienia FEM.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aChannel
Kanał radiowy.
[in] aActualPower
Rzeczywista moc w 0,01 dBm.
[in] aRawPowerSetting
Wskaźnik do ustawienia nieprzetworzonej tablicy bajtów.
[in] aRawPowerSettingLength
Długość (aRawPowerSetting).
Zwracane wartości
OT_ERROR_NONE
Skalibrowana moc została dodana do tabeli kalibracji mocy.
OT_ERROR_NO_BUFS
Brak dostępnych wpisów w tabeli kalibracji zasilania.
OT_ERROR_INVALID_ARGS
Wartości aChannel, aActualPower lub aRawPowerSetting są nieprawidłowe albo aActualPower już istnieje w tabeli kalibracji mocy.
OT_ERROR_NOT_IMPLEMENTED
Ta funkcja nie jest wdrożona.

otPlatRadioAddSrcMatchExtEntry

otError otPlatRadioAddSrcMatchExtEntry(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Dodaj adres rozszerzone do tabeli odpowiedników pod adresem źródłowym.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aExtAddress
Rozszerzony adres do dodania, zapisany w kolejności bajtów little-endian.
Zwracane wartości
OT_ERROR_NONE
Rozszerzony adres został dodany do źródłowej tabeli odpowiedników.
OT_ERROR_NO_BUFS
Brak dostępnego wpisu w źródłowej tabeli odpowiedników.

otPlatRadioAddSrcMatchShortEntry

otError otPlatRadioAddSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Dodaj krótki adres do tabeli odpowiedników z adresem źródłowym.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aShortAddress
Krótki adres do dodania.
Zwracane wartości
OT_ERROR_NONE
Krótki adres został dodany do źródłowej tabeli odpowiedników.
OT_ERROR_NO_BUFS
Brak dostępnego wpisu w źródłowej tabeli odpowiedników.

otPlatRadioClearCalibratedPowers

otError otPlatRadioClearCalibratedPowers(
  otInstance *aInstance
)

Usuń wszystkie skalibrowane zasilenia z tabeli kalibracji zasilania.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwracane wartości
OT_ERROR_NONE
Wszystkie skalibrowane zasilanie zostały usunięte z tabeli kalibracji zasilania.
OT_ERROR_NOT_IMPLEMENTED
Ta funkcja nie jest wdrożona.

otPlatRadioClearSrcMatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

Usuń wszystkie adresy rozszerzone i długie z tabeli odpowiedników z adresami źródłowymi.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.

otPlatRadioClearSrcMatchExtEntry

otError otPlatRadioClearSrcMatchExtEntry(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Usuń adres rozszerzony z tabeli odpowiedników pod adresem źródłowym.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aExtAddress
Rozszerzony adres, który ma zostać usunięty, przechowywany w kolejności bajtów little-endian.
Zwracane wartości
OT_ERROR_NONE
Rozszerzony adres został usunięty ze źródłowej tabeli odpowiedników.
OT_ERROR_NO_ADDRESS
Rozszerzonego adresu nie ma w tabeli odpowiedników adresu źródłowego.

otPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

Usuń wszystkie krótkie adresy z tabeli odpowiedników adresów źródłowych.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.

otPlatRadioClearSrcMatchShortEntry

otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Usuń krótki adres z tabeli odpowiedników pod adresem źródłowym.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aShortAddress
Krótki adres do usunięcia.
Zwracane wartości
OT_ERROR_NONE
Krótki adres został usunięty ze źródłowej tabeli odpowiedników.
OT_ERROR_NO_ADDRESS
Krótkiego adresu nie ma w tabeli odpowiedników adresu źródłowego.

otPlatRadioConfigureEnhAckProbing

otError otPlatRadioConfigureEnhAckProbing(
  otInstance *aInstance,
  otLinkMetrics aLinkMetrics,
  otShortAddress aShortAddress,
  const otExtAddress *aExtAddress
)

Włącz/wyłącz lub zaktualizuj sondowanie oparte na ulepszonym potwierdzeniu w radiu dla określonego inicjatora.

Gdy sondowanie oparte na ulepszonym potwierdzeniu zostało skonfigurowane przez konkretnego inicjatora testowania, ulepszone potwierdzenie wysłane do tego węzła powinno zawierać dane IE dotyczące konkretnego dostawcy z danymi wskaźników linków. Ta metoda informuje sieć radiową o tym, że ma rozpocząć/zatrzymywać zbieranie danych dotyczących wskaźników linków i uwzględniać IE specyficzne dla dostawcy, które zawierają dane w ramach ulepszonego potwierdzenia wysłanego do tego inicjatora sondowania.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aLinkMetrics
Ten parametr określa dane, których ma dotyczyć zapytanie. Zgodnie ze specyfikacją 4.11.3.4.4.6 można określić maksymalnie 2 wskaźniki. Sondowanie zostanie wyłączone, jeśli aLinkMetrics ma wartość bitową 0.
[in] aShortAddress
Krótki adres osoby inicjującej badanie.
[in] aExtAddress
Rozszerzony adres źródłowy inicjatora testowania. aExtAddr NIE MOŻE mieć wartości NULL.
Zwracane wartości
OT_ERROR_NONE
Sondowanie oparte na ulepszonym potwierdzeniu zostało skonfigurowane.
OT_ERROR_INVALID_ARGS
aExtAddress to NULL.
OT_ERROR_NOT_FOUND
Podczas próby wyczyszczenia nie znaleziono inicjatora wskazanego przez aShortAddress.
OT_ERROR_NO_BUFS
Inicjator nie może być obsługiwany.
OT_ERROR_NOT_IMPLEMENTED
Funkcja nie została wdrożona.

otPlatRadioDisable

otError otPlatRadioDisable(
  otInstance *aInstance
)

Wyłącz radio.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwracane wartości
OT_ERROR_NONE
Przełączono na Wyłączone.
OT_ERROR_INVALID_STATE
Radio nie było w trybie uśpienia.

otPlatRadioEnable

otError otPlatRadioEnable(
  otInstance *aInstance
)

Włącz radio.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwracane wartości
OT_ERROR_NONE
Włączono.
OT_ERROR_FAILED
Nie udało się włączyć radia.

otPlatRadioEnableCsl

otError otPlatRadioEnableCsl(
  otInstance *aInstance,
  uint32_t aCslPeriod,
  otShortAddress aShortAddr,
  const otExtAddress *aExtAddr
)

Włącz lub wyłącz odbiornik CSL.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aCslPeriod
Okres CSL: 0 przy wyłączaniu CSL. Przedział czasu CSL jest podany w jednostce 10 symboli.
[in] aShortAddr
Krótki adres źródłowy peera odbiornika CSL.
[in] aExtAddr
Rozszerzony adres źródłowy peera odbiornika CSL.
Zwracane wartości
kErrorNotImplemented
Sterownik radiowy nie obsługuje CSL.
kErrorFailed
Inne błędy dotyczące platformy.
kErrorNone
Usługa CSL została włączona lub wyłączona.

otPlatRadioEnableSrcMatch

void otPlatRadioEnableSrcMatch(
  otInstance *aInstance,
  bool aEnable
)

Włącz/wyłącz funkcję dopasowania adresu źródłowego.

Funkcja dopasowania adresu źródłowego określa, w jaki sposób warstwa radiowa określa bit „oczekująca ramka” dla potwierdzeń wysłanych w odpowiedzi na polecenia żądania danych ze strony podrzędnej.

Jeśli ta opcja jest wyłączona, warstwa radiowa musi ustawiać zdarzenie „frame pending” (oczekuje na klatkę) przy wszystkich żądaniach na podstawie poleceń żądania danych.

Jeśli ta opcja jest włączona, warstwa radiowa korzysta z tabeli odpowiedników z adresem źródłowym w celu określenia, czy ustawić, czy wyczyścić bit „frame pending” (oczekuje) w odpowiedzi na polecenie żądania danych.

Tabela odpowiedników z adresem źródłowym zawiera listę elementów podrzędnych, w przypadku których istnieje oczekująca ramka. Do tabeli odpowiedników z adresem źródłowym można dodać zarówno krótki, jak i rozszerzony adres.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aEnable
Włącz/wyłącz funkcję dopasowania adresu źródłowego.

otPlatRadioEnergyScan

otError otPlatRadioEnergyScan(
  otInstance *aInstance,
  uint8_t aScanChannel,
  uint16_t aScanDuration
)

Uruchom sekwencję skanowania energii w radiu.

Jest używany, gdy radio zapewnia obsługę OT_RADIO_CAPS_ENERGY_SCAN.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aScanChannel
Kanał, na którym zostanie przeprowadzone skanowanie energii.
[in] aScanDuration
Czas skanowania kanału (w milisekundach).
Zwracane wartości
OT_ERROR_NONE
Skanowanie kanału zostało rozpoczęte.
OT_ERROR_BUSY
Radio przeprowadza skanowanie energii.
OT_ERROR_NOT_IMPLEMENTED
Radio nie obsługuje skanowania energii.

otPlatRadioEnergyScanDone

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

Sterownik radiowy wywołuje tę metodę, aby powiadomić OpenThread o zakończeniu skanowania energii.

Jest używany, gdy radio zapewnia obsługę OT_RADIO_CAPS_ENERGY_SCAN.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aEnergyScanMaxRssi
Maksymalna wartość RSSI napotkana w skanowanym kanale.

otPlatRadioGetCoexMetrics

otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

Pobierz dane dotyczące współistnienia radia.

Jest używane, gdy włączona jest funkcja OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[out] aCoexMetrics
Wskaźnik struktury wskaźników współistnienia.
Zwracane wartości
OT_ERROR_NONE
Wskaźniki współwystępowania zostały pobrane.
OT_ERROR_INVALID_ARGS
aCoexMetrics zawiera wartość NULL.

otPlatRadioGetCslAccuracy

uint8_t otPlatRadioGetCslAccuracy(
  otInstance *aInstance
)

Pobierz aktualną szacowaną dokładność najgorszego przypadku (maksymalne odchylenie ± od częstotliwości nominalnej) lokalnego zegara radiowego w jednostkach PPM.

To jest zegar używany do planowania operacji CSL.

Jeśli implementacja nie szacuje bieżącej wartości, ale zwraca stałą wartość, ta wartość MUSI być najgorszą dokładnością w przypadku wszystkich możliwych do przewidzenia warunków działania (temperatury, ciśnienia itp.) w implementacji.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Bieżące dryf harmonogramu CSL/TX w PPM.

otPlatRadioGetCslUncertainty

uint8_t otPlatRadioGetCslUncertainty(
  otInstance *aInstance
)

Stała niepewność (np.

losowe zakłócenia) czasu nadejścia transmisji CSL odbieranych przez to urządzenie w jednostkach 10 mikrosekund.

Określa najgorsze odchylenie stałe, dodatnie lub ujemne, rzeczywistego czasu nadejścia transmisji od czasu transmisji obliczonego w odniesieniu do lokalnego zegara radiowego, niezależnie od czasu, który upłynął. Oprócz niepewności nagromadzonej w upływie czasu próbka kanału CSL („okno RX”) musi zostać rozszerzona o podwójne odchylenie, aby lokalny odbiornik mógł wykryć rzeczywistą transmisję w przypadku zakłóceń w czasie przylotu.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Niepewność CSL w jednostkach 10 nas.

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

Pobiera maskę kanału preferowanej przez radio, którą urządzenie preferuje przy tworzeniu.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwroty
Maska kanału preferowana w radiu.

otPlatRadioGetRawPowerSetting

otError otPlatRadioGetRawPowerSetting(
  otInstance *aInstance,
  uint8_t aChannel,
  uint8_t *aRawPowerSetting,
  uint16_t *aRawPowerSettingLength
)

Pobierz nieprzetworzone ustawienie mocy dla danego kanału.

Warstwa radiowa platformy powinna analizować ustawienia mocy obliczeniowej na podstawie formatu zdefiniowanego w warstwie radiowej i ustawiać parametry każdego modułu radiowego.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aChannel
Kanał radiowy.
[out] aRawPowerSetting
Wskaźnik do ustawienia nieprzetworzonej tablicy bajtów.
[in,out] aRawPowerSettingLength
Po wpisaniu danych wskaźnik do rozmiaru aRawPowerSetting. Na wyjściu wskazuje długość nieprzetworzonych danych ustawienia mocy.
Zwracane wartości
OT_ERROR_NONE
Udało się pobrać docelową moc.
OT_ERROR_INVALID_ARGS
Wartość aChannel jest nieprawidłowa, wartość aRawPowerSetting lub aRawPowerSettingLength ma wartość NULL lub jest za krótka.
OT_ERROR_NOT_FOUND
Nie znaleziono ustawienia nieprzetworzonej mocy obliczeniowej urządzenia aChannel.

otPlatRadioGetRegion

otError otPlatRadioGetRegion(
  otInstance *aInstance,
  uint16_t *aRegionCode
)

Pobierz kod regionu.

Format regionu radiowego to 2-bajtowy format ASCII odpowiadający kodowi ISO 3166 alfa-2.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[out] aRegionCode
Region radiowy.
Zwracane wartości
OT_ERROR_INVALID_ARGS
Pole aRegionCode ma wartość nullptr.
OT_ERROR_FAILED
Inne błędy dotyczące platformy.
OT_ERROR_NONE
Kod regionu został pobrany.
OT_ERROR_NOT_IMPLEMENTED
Funkcja nie została wdrożona.

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

Pobierz najnowszy pomiar RSSI.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwroty
RSSI w dBm, gdy jest prawidłowy. 127, gdy RSSI jest nieprawidłowy.

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

Sprawdź bieżący stan radia.

Nie jest wymagane przez OpenThread. Może być używany do debugowania lub do celów związanych z aplikacją.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwroty
Obecny stan radia.

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

Uzyskaj maskę kanału obsługiwanej przez radio, na którym urządzenie może być włączone.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwroty
Maska kanału obsługiwanej przez radio.

otPlatRadioGetTransmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

Pobierz bufor ramki transmisji radiowej.

OpenThread tworzy w tym buforze ramkę IEEE 802.15.4, a następnie wywołuje metodę otPlatRadioTransmit(), aby zażądać transmisji.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwroty
Wskaźnik do bufora ramki przesyłania.

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

Sprawdź, czy korzystanie z funkcji radiowej jest włączone.

Jest używane, gdy włączona jest funkcja OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwroty
TRUE, jeśli współdziałanie radiowe jest włączone. W przeciwnym razie ma wartość FALSE.

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

Sprawdź, czy radio jest włączone.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwroty
TRUE, jeśli radio jest włączone, lub FALSE, jeśli jest włączone.

otPlatRadioReceive

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

Przełącz radio z uśpienia na Odbieranie (włącz radio).

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aChannel
Kanał, który ma być używany do odbierania.
Zwracane wartości
OT_ERROR_NONE
Przełączono na Odbieranie.
OT_ERROR_INVALID_STATE
Radio zostało wyłączone lub transmitowane.

otPlatRadioReceiveAt

otError otPlatRadioReceiveAt(
  otInstance *aInstance,
  uint8_t aChannel,
  uint32_t aStart,
  uint32_t aDuration
)

Zaplanuj okno odbioru radiowego na określoną godzinę i przez określony czas.

Szczegóły
Parametry
[in] aChannel
Kanał radiowy, który ma być odbiorcą.
[in] aStart
Czas rozpoczęcia okna odbierania w odniesieniu do lokalnego zegara radiowego – patrz: otPlatRadioGetNow. Odbiornik radiowy musi być włączony i gotowy do odebrania pierwszego symbolu SHR klatki w momencie rozpoczęcia okna.
[in] aDuration
Czas trwania okna odbierania w mikrosekundach, zmierzony przez lokalny zegar radiowy. Po tym czasie NALEŻY wyłączyć radio (lub przełączyć się na tryb TX, jeśli trzeba wysłać ramkę potwierdzenia), chyba że nadal otrzymuje ona klatkę. W drugim przypadku radio powinno pozostać w trybie odbioru do czasu, gdy odbiór klatki zakończy się powodzeniem lub niepowodzeniem.
Zwracane wartości
OT_ERROR_NONE
Zaplanowano okres odbioru.
OT_ERROR_FAILED
Nie udało się zaplanować czasu odbioru.

otPlatRadioReceiveDone

void otPlatRadioReceiveDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

Sterownik radiowy wywołuje tę metodę, aby powiadamiać OpenThread o odebranej klatce.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aFrame
Wskaźnik do odebranej ramki lub wartość NULL, jeśli operacja odbierania nie powiodła się.
[in] aError
OT_ERROR_NONE po pomyślnym odebraniu klatki, OT_ERROR_ABORT, gdy odbiór został przerwany i ramka nie została odebrana; OT_ERROR_NO_BUFS, gdy nie można było odebrać klatki z powodu braku przestrzeni bufora RX.

otPlatRadioSetChannelMaxTransmitPower

otError otPlatRadioSetChannelMaxTransmitPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int8_t aMaxPower
)

Ustaw maksymalną moc transmisji dla określonego kanału.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aChannel
Kanał radiowy.
[in] aMaxPower
Maksymalna moc w dBm, po podaniu wartości OT_Radio_RSSI_INVALID, spowoduje wyłączenie kanału.
Zwracane wartości
OT_ERROR_NOT_IMPLEMENTED
Funkcja nie jest wdrożona
OT_ERROR_INVALID_ARGS
Podany kanał jest nieprawidłowy.
OT_ERROR_FAILED
Inne błędy dotyczące platformy.
OT_ERROR_NONE
Maksymalna moc transmisji została ustawiona.

otPlatRadioSetChannelTargetPower

otError otPlatRadioSetChannelTargetPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int16_t aTargetPower
)

Ustaw docelową moc dla danego kanału.

Sterownik radiowy powinien ustawić faktyczną moc wyjściową nie mniejszą od docelowej lub jej równą oraz jak najbardziej zbliżyć się do mocy docelowej.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aChannel
Kanał radiowy.
[in] aTargetPower
Docelowa moc w 0,01 dBm. Zaliczenie INT16_MAX spowoduje, że ten kanał nie będzie mógł wykorzystywać mocy docelowej.
Zwracane wartości
OT_ERROR_NONE
Docelowa moc została ustawiona.
OT_ERROR_INVALID_ARGS
Wartość aChannel lub aTargetPower jest nieprawidłowa.
OT_ERROR_NOT_IMPLEMENTED
Funkcja nie została wdrożona.

otPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Włącz połączenie radiowe.

Jest używane, gdy włączona jest funkcja OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aEnabled
TRUE, aby włączyć współistnienie radiowe. W przeciwnym razie ma wartość FALSE.
Zwracane wartości
OT_ERROR_NONE
Włączono.
OT_ERROR_FAILED
Nie udało się włączyć połączenia radiowego.

otPlatRadioSetRegion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

Ustaw kod regionu.

Format regionu radiowego to 2-bajtowy format ASCII odpowiadający kodowi ISO 3166 alfa-2.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aRegionCode
Kod regionu radia. aRegionCode >> 8 to pierwszy znak ASCII, a aRegionCode & 0xff to drugi znak ASCII.
Zwracane wartości
OT_ERROR_FAILED
Inne błędy dotyczące platformy.
OT_ERROR_NONE
Kod regionu został ustawiony.
OT_ERROR_NOT_IMPLEMENTED
Funkcja nie została wdrożona.

otPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

Przełącz radio z funkcji Odbierz w uśpienie (wyłącz radio).

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwracane wartości
OT_ERROR_NONE
Przełączono w tryb uśpienia.
OT_ERROR_BUSY
Nadawano radio.
OT_ERROR_INVALID_STATE
Radio zostało wyłączone.

otPlatRadioTransmit

otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Rozpocznij sekwencję transmisji w radiu.

Przed wysłaniem żądania transmisji element wywołujący musi utworzyć ramkę IEEE 802.15.4 w buforze dostarczonym przez otPlatRadioGetTransmitBuffer(). Kanał i moc transmisji również są zawarte w strukturze otRadioFrame.

Oto elementy, które składają się na:

  1. Przeniesienie radia na Nadaj z jednego z następujących stanów:
    • Odbieraj, jeśli funkcja RX jest włączona, gdy urządzenie jest nieaktywne lub funkcja OT_RADIO_CAPS_SLEEP_TO_TX nie jest obsługiwana
    • Uśpienie, jeśli funkcja RX jest wyłączona, gdy urządzenie jest nieaktywne i obsługiwany jest tryb OT_RADIO_CAPS_SLEEP_TO_TX.
  2. Przesyłam psdu na dany kanał i przy określonej mocy transmisji.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aFrame
Wskaźnik ramki do przesłania.
Zwracane wartości
OT_ERROR_NONE
Przełączono na tryb Transmituj.
OT_ERROR_INVALID_STATE
Radio nie miało stanu odbierania.

otPlatRadioTxDone

void otPlatRadioTxDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otRadioFrame *aAckFrame,
  otError aError
)

Sterownik radiowy wywołuje tę funkcję, aby powiadomić OpenThread o zakończeniu operacji transmisji, dostarczając zarówno przesyłaną ramkę, jak i (jeśli ma zastosowanie) odebraną ramkę potwierdzenia.

Gdy radio zapewnia obsługę OT_RADIO_CAPS_TRANSMIT_SEC, warstwa platformy radiowej aktualizuje aFrame o licznik ramek zabezpieczeń i kluczowe wartości indeksu obsługiwane przez radio.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aFrame
Wskaźnik do przesyłanej klatki.
[in] aAckFrame
Wskaźnik do ramki potwierdzenia z wartością NULL, jeśli nie otrzymano potwierdzenia.
[in] aError
OT_ERROR_NONE podczas przesyłania klatki, OT_ERROR_NO_ACK, gdy ramka została przesłana, ale nie odebrano potwierdzenia potwierdzenia, OT_ERROR_CHANNEL_ACCESS_FAILURE tx z powodu aktywności na kanale, OT_ERROR_ABORT, gdy transmisja została przerwana z innych powodów.

otPlatRadioTxStarted

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Sterownik radiowy wywołuje tę metodę, aby powiadamiać OpenThread o rozpoczęciu transmisji.

Szczegóły
Parametry
[in] aInstance
Wskaźnik struktury instancji OpenThread.
[in] aFrame
Wskaźnik do przesyłanej klatki.

otPlatRadioUpdateCslSampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

Zaktualizuj czas próbkowania CSL w sterowniku radia.

Czas próbki jest przechowywany w sterowniku radiowego jako kopia do obliczania etapu podczas wysyłania potwierdzenia za pomocą CSL IE. Przykładowy odbiornik CSL (okno) odbiornika CSL rozciąga się przed czasem próbkowania i po nim. Czas próbkowania CSL oznacza sygnaturę czasową w oknie przykładowego CSL, w której klatka powinna zostać odebrana w „idealnych warunkach” przy braku niedokładności/odchylenia zegara.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aCslSampleTime
Czas następnej próbki w mikrosekundach. To czas, w którym oczekiwany jest pierwszy symbol MHR klatki.

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, zajrzyj do zasobów.