Obsługa radiowa

Ten moduł zawiera informacje o platformie związanej z działaniami radiowymi.

Podsumowanie

Funkcje

otPlatDiagRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Sterownik radiowy wywołuje tę metodę, aby powiadamiać moduł diagnostyczny OpenThread o otrzymanej ramce.
otPlatDiagRadioTransmitDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Sterownik radiowy wywołuje tę metodę, aby 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 wybranego kanału do tabeli kalibracji mocy.
otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
Dodaj rozszerzony adres do tabeli odpowiedników z adresem źródłowym.
otPlatRadioAddSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
Dodaj krótki adres do tabeli odpowiedników z adresami źródłowymi.
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 adresów źródłowych.
otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
Usuń rozszerzony adres ze źródłowej tabeli odpowiedników.
otPlatRadioClearSrcMatchShortEntries(otInstance *aInstance)
void
Usuń wszystkie krótkie adresy z tabeli odpowiedników adresów źródłowych.
otPlatRadioClearSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
usunąć krótki adres z tabeli odpowiedników z adresami źródłowymi;
otPlatRadioConfigureEnhAckProbing(otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress)
Włącz/wyłącz lub zaktualizuj sondowanie oparte na ulepszonej weryfikacji 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
Ustalona niepewność (np.
otPlatRadioGetPreferredChannelMask(otInstance *aInstance)
uint32_t
Pobiera maskę kanału preferowanego przez radio, którą urządzenie preferuje przy tworzeniu.
otPlatRadioGetRawPowerSetting(otInstance *aInstance, uint8_t aChannel, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength)
Pobierz surowe ustawienie mocy dla danego kanału.
otPlatRadioGetRegion(otInstance *aInstance, uint16_t *aRegionCode)
Pobierz kod regionu.
otPlatRadioGetRssi(otInstance *aInstance)
int8_t
Pobierz najnowsze pomiary RSSI.
otPlatRadioGetState(otInstance *aInstance)
Pobierz bieżący stan radia.
otPlatRadioGetSupportedChannelMask(otInstance *aInstance)
uint32_t
Uzyskaj maskę kanału obsługiwaną przez radio, na której urządzenie może być aktywne.
otPlatRadioGetTransmitBuffer(otInstance *aInstance)
Pobierz bufor ramki transmisji radiowej.
otPlatRadioIsCoexEnabled(otInstance *aInstance)
bool
Sprawdź, czy funkcja współużytkowania radia jest włączona.
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 konkretną godzinę i przez określony czas.
otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Sterownik radiowy wywołuje tę metodę, aby powiadomić OpenThread o odebranej ramce.
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 współużytkowanie radia.
otPlatRadioSetRegion(otInstance *aInstance, uint16_t aRegionCode)
Ustaw kod regionu.
otPlatRadioSleep(otInstance *aInstance)
Przełącz radio z funkcji Odbieraj 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 przesyłania, dostarczając zarówno przesyłaną ramkę, jak i ewentualnie odebraną ramkę potwierdzenia.
otPlatRadioTxStarted(otInstance *aInstance, otRadioFrame *aFrame)
void
Sterownik radiowy wywołuje tę metodę, aby powiadomić OpenThread o rozpoczęciu transmisji.
otPlatRadioUpdateCslSampleTime(otInstance *aInstance, uint32_t aCslSampleTime)
void
Zaktualizuj czas próbkowania CSL w sterowniku radiowym.

Funkcje

otPlatDiagRadioReceiveDone

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

Sterownik radiowy wywołuje tę metodę, aby powiadamiać moduł diagnostyczny OpenThread o otrzymanej 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 odbiorze ramki, OT_ERROR_ABORT, jeśli odbiór został przerwany, a ramka nie została odebrana, OT_ERROR_NO_BUFS, jeśli nie udało się odebrać klatki z powodu braku miejsca w buforze rx.

otPlatDiagRadioTransmitDone

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

Sterownik radiowy wywołuje tę metodę, aby 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 przesłanej klatki.
[in] aError
OT_ERROR_NONE podczas przesyłania klatki nie udało się przeprowadzić OT_ERROR_CHANNEL_ACCESS_FAILURE tx z powodu aktywności na kanale, a 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 wybranego kanału do tabeli kalibracji mocy.

aActualPower to rzeczywista zmierzona moc wyjściowa, gdy parametry modułów radiowych są ustawione na aRawPowerSetting.

Ustawienie mocy nieprzetworzonej jest nieprzejrzystą tablicą bajtów. OpenThread nie określa formatu ustawienia nieprzetworzonej mocy. Format jest związany ze sprzętem radiowym i powinien go zdefiniować programiści we sterowniku platformy radiowej. Jeśli na przykład sprzęt radiowy zawiera zarówno układ radiowy, jak i układ FEM, ustawienie mocy nieprzetworzonej może być kombinacją mocy sygnału radiowego i wartości wzmocnienia FEM.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aChannel
Kanał radiowy.
[in] aActualPower
Rzeczywista moc to 0,01 dBm.
[in] aRawPowerSetting
Wskaźnik do tablicy bajtów na potrzeby ustawienia nieprzetworzonej mocy.
[in] aRawPowerSettingLength
Długość (aRawPowerSetting).
Zwracane wartości
OT_ERROR_NONE
Skalibrowane zasilanie zostało dodane do tabeli kalibracji zasilania.
OT_ERROR_NO_BUFS
Brak dostępnego wpisu w tabeli kalibracji zasilania.
OT_ERROR_INVALID_ARGS
aChannel, aActualPower lub aRawPowerSetting jest nieprawidłowy 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 rozszerzony adres do tabeli odpowiedników z 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
Adres rozszerzony 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 adresami źródłowymi.

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 adresów źródłowych.

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

otPlatRadioClearSrcMatchExtEntry

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

Usuń rozszerzony adres ze źródłowej tabeli odpowiedników.

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 źródłowej tabeli odpowiedników.

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
)

usunąć krótki adres z tabeli odpowiedników z adresami źródłowymi;

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 adresów źródłowych.

otPlatRadioConfigureEnhAckProbing

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

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

Gdy sondowanie na podstawie ulepszonego potwierdzenia zostanie skonfigurowane przez konkretnego inicjatora testowania, ulepszone potwierdzenie potwierdzenia 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 radio, że ma rozpocząć/zatrzymywać zbieranie danych o linkach i uwzględniać IE specyficzny dla dostawcy, który zawiera dane w ramach ulepszonego potwierdzenia wysłanego do tego inicjatora badania.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aLinkMetrics
Ten parametr określa, których wskaźników ma dotyczyć zapytanie. Zgodnie ze specyfikacją 4.11.3.4.4.6 można określić maksymalnie 2 rodzaje danych. Sondowanie zostanie wyłączone, jeśli aLinkMetrics ma wartość bitową 0.
[in] aShortAddress
Krótki adres inicjatora badania.
[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
Nie można obsługiwać więcej inicjatora.
OT_ERROR_NOT_IMPLEMENTED
Ta 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
Zmieniono stan na Wyłączony.
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 oznacza wyłączenie CSL. Okres 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 odbiorcy CSL.
Zwracane wartości
kErrorNotImplemented
Sterownik radia nie obsługuje CSL.
kErrorFailed
Inne błędy związane z platformą.
kErrorNone
Włączono lub wyłączono CSL.

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 w warstwie radiowej określa się bit „oczekującej ramki” dla potwierdzeń wysłanych w odpowiedzi na polecenia żądań danych wysyłanych przez dzieci.

Jeśli ta opcja jest wyłączona, warstwa radiowa musi ustawiać stan „frame Dlatego” dla wszystkich potwierdzeń na polecenia związane z żądaniem danych.

Jeśli ta opcja jest włączona, warstwa radiowa korzysta z tabeli odpowiedników z adresami źródłowymi do określania, czy ustawić, czy usunąć bit „frame pending” w procesie potwierdzenia 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 adresami źródłowymi można dodać krótki lub wydłużony 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żywane, gdy radio ma funkcję OT_RADIO_CAPS_ENERGY_SCAN.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aScanChannel
Kanał, na którym ma zostać przeprowadzone skanowanie energii.
[in] aScanDuration
Czas trwania skanowania kanału (w milisekundach).
Zwracane wartości
OT_ERROR_NONE
Rozpoczęto skanowanie kanału.
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żywane, gdy radio ma funkcję OT_RADIO_CAPS_ENERGY_SCAN.

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

otPlatRadioGetCoexMetrics

otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

Pobierz dane dotyczące współistnienia radia.

Jest używany, 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ółbieżności zostały pobrane.
OT_ERROR_INVALID_ARGS
Pole 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.

Jest to zegar używany do planowania operacji CSL.

Jeśli implementacja nie szacuje bieżącej wartości, ale zwraca stałą wartość, ta wartość MUSI być dokładnością o najgorszej możliwej sytuacji we wszystkich przewidywanych warunkach pracy (temperatura, ciśnienie itp.) implementacji.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Aktualne dryf harmonogramu CSL rx/tx w PPM.

otPlatRadioGetCslUncertainty

uint8_t otPlatRadioGetCslUncertainty(
  otInstance *aInstance
)

Ustalona niepewność (np.

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

Określa najgorsze stałe, dodatnie lub ujemne odchylenie 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ć przedłużona o dwukrotnie większe 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 us.

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

Pobiera maskę kanału preferowanego 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 surowe ustawienie mocy dla danego kanału.

Warstwa radiowa platformy powinna analizować ustawienia mocy 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 tablicy bajtów na potrzeby ustawienia nieprzetworzonej mocy.
[in,out] aRawPowerSettingLength
Po wpisaniu danych wejściowych wskaźnik na rozmiar aRawPowerSetting. Na wyjściu wskaźnik pokazuje długość nieprzetworzonych danych ustawienia mocy.
Zwracane wartości
OT_ERROR_NONE
Udało się zdobyć 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 nieprzetworzonego zużycia energii dla urządzenia aChannel.

otPlatRadioGetRegion

otError otPlatRadioGetRegion(
  otInstance *aInstance,
  uint16_t *aRegionCode
)

Pobierz kod regionu.

Format regionu radiowego to 2-bajtowy format ASCII zgodny z kodem ISO 3166 alfa-2.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[out] aRegionCode
Region radiowy.
Zwracane wartości
OT_ERROR_INVALID_ARGS
aRegionCode ma wartość nullptr.
OT_ERROR_FAILED
Inne błędy związane z platformą.
OT_ERROR_NONE
Kod regionu został pobrany.
OT_ERROR_NOT_IMPLEMENTED
Ta funkcja nie została wdrożona.

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

Pobierz najnowsze pomiary RSSI.

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

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

Pobierz 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ługiwaną przez radio, na której urządzenie może być aktywne.

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

otPlatRadioGetTransmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

Pobierz bufor ramki transmisji radiowej.

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

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

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

Sprawdź, czy funkcja współużytkowania radia jest włączona.

Jest używany, gdy włączona jest funkcja OPENTHREAD_CONFIG_PLATFORM_Radio_COEX_ENABLE.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwroty
Wartość TRUE, jeśli włączony jest współbieżny sygnał radiowy, wartość FALSE w przeciwnym razie.

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

Sprawdź, czy radio jest włączone.

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

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 treści.
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 konkretną godzinę i przez określony czas.

Szczegóły
Parametry
[in] aChannel
Kanał radiowy, na którym chcesz otrzymywać treści.
[in] aStart
Czas rozpoczęcia okna odbierania w stosunku do lokalnego zegara radiowego (patrz: otPlatRadioGetNow). Odbiornik radiowy JEST włączony i gotowy do odebrania pierwszego symbolu SHR klatki w momencie rozpoczęcia okna.
[in] aDuration
Czas trwania okna odbierania (w mikrosekundach), mierzony przez lokalny zegar radiowy. Po upływie tego czasu radio POWINIEN zostać wyłączone (lub przełącz się na tryb TX, jeśli należy wysłać ramkę potwierdzenia), chyba że nadal będzie odbierana ramka. W drugim przypadku radio powinno być w trybie odbioru, dopóki odbiór klatki nie 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 powiadomić OpenThread o odebranej ramce.

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 odbiorze ramki, OT_ERROR_ABORT, jeśli odbiór został przerwany, a ramka nie została odebrana, OT_ERROR_NO_BUFS, jeśli nie udało się odebrać klatki z powodu braku miejsca w buforze 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 przekazaniu sygnału OT_Radio_RSSI_Nieprawidłowe spowoduje wyłączenie tego 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 związane z platformą.
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 i jak najbardziej zbliżoną do mocy docelowej.

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

otPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Włącz współużytkowanie radia.

Jest używany, gdy włączona jest funkcja OPENTHREAD_CONFIG_PLATFORM_Radio_COEX_ENABLE.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aEnabled
Wartość TRUE (prawda), aby włączyć współwystępowanie radiowe, lub wartość FALSE w przeciwnym razie.
Zwracane wartości
OT_ERROR_NONE
Włączono.
OT_ERROR_FAILED
Nie udało się włączyć współużytkowania radia.

otPlatRadioSetRegion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

Ustaw kod regionu.

Format regionu radiowego to 2-bajtowy format ASCII zgodny z kodem ISO 3166 alfa-2.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aRegionCode
Kod regionu radiowego. aRegionCode >> 8 to pierwszy znak ASCII, a aRegionCode & 0xff to drugi znak ASCII.
Zwracane wartości
OT_ERROR_FAILED
Inne błędy związane z platformą.
OT_ERROR_NONE
Kod regionu został ustawiony.
OT_ERROR_NOT_IMPLEMENTED
Ta funkcja nie została wdrożona.

otPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

Przełącz radio z funkcji Odbieraj 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 osoba wywołująca musi utworzyć ramkę IEEE 802.15.4 w buforze dostarczonym przez otPlatRadioGetTransmitBuffer(). Moc kanału i transmisji jest również zawarta w strukturze otRadioFrame.

Sekwencja przesyłania składa się z tych elementów:

  1. Przełączenie radia na opcję Nadaj z jednego z tych stanów:
    • Odbieraj, gdy 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 bezczynne i obsługiwany jest tryb OT_RADIO_CAPS_SLEEP_TO_TX.
  2. Przesyłam psdu w danym kanale i przy danej mocy transmisji.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aFrame
Wskaźnik do ramki do przesłania.
Zwracane wartości
OT_ERROR_NONE
Przełączono na tryb Transmitowanie.
OT_ERROR_INVALID_STATE
Radio nie było w stanie 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 przesyłania, dostarczając zarówno przesyłaną ramkę, jak i ewentualnie odebraną ramkę potwierdzenia.

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

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aFrame
Wskaźnik przesłanej klatki.
[in] aAckFrame
Wskaźnik do ramki potwierdzenia. Jeśli nie otrzymano potwierdzenia, ma wartość NULL.
[in] aError
OT_ERROR_NONE po przesłaniu klatki, OT_ERROR_NO_ACK, gdy ramka została przesłana, ale nie otrzymano potwierdzenia, OT_ERROR_CHANNEL_ACCESS_FAILURE tx nie mogła zostać wykonana 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 powiadomić OpenThread o rozpoczęciu transmisji.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do 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 radiowym.

Czas próbkowania jest zapisywany w sterowniku radiowym jako kopia do obliczania fazy podczas wysyłania potwierdzenia potwierdzenia za pomocą CSL IE. Przykładowy kod CSL (okno) odbiornika CSL rozszerza się przed czasem próbki i po nim. Czas próbkowania CSL oznacza sygnaturę czasową w oknie próbki CSL, w której klatka powinna zostać odebrana w „idealnych warunkach”, jeśli nie ma niedokładności ani dryfu zegara.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aCslSampleTime
Następny czas próbkowania w mikrosekundach. To moment, 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, skorzystaj z sekcji Zasoby.