Różne

Ten moduł zawiera abstrakcje platformy dotyczące różnych zachowań.

Podsumowanie

Wyliczenia

otPlatMcuPowerState{
  OT_PLAT_MCU_POWER_STATE_ON = 0,
  OT_PLAT_MCU_POWER_STATE_LOW_POWER = 1,
  OT_PLAT_MCU_POWER_STATE_OFF = 2
}
enum | typ wyliczeniowy
Wyliczenie stanów zasilania mikrokontrolera.
otPlatResetReason enum | typ wyliczeniowy
Wyliczenie możliwych kodów przyczyn zresetowania.

Funkcje

otPlatAssertFail(const char *aFilename, int aLineNumber)
void
Udostępnia implementację uwierzytelniania na konkretnej platformie.
otPlatGetMcuPowerState(otInstance *aInstance)
Pobiera bieżący żądany stan zasilania MCU.
otPlatGetResetReason(otInstance *aInstance)
Zwraca przyczynę ostatniego resetowania platformy.
otPlatReset(otInstance *aInstance)
void
Wykonuje resetowanie oprogramowania na platformie, jeśli jest obsługiwane.
otPlatResetToBootloader(otInstance *aInstance)
Wykonuje reset sprzętu na platformie, aby uruchomić tryb programu rozruchowego (jeśli jest obsługiwany).
otPlatSetMcuPowerState(otInstance *aInstance, otPlatMcuPowerState aState)
Ustawia wymagany stan zasilania MCU.
otPlatWakeHost(void)
void
Wykonuje operację zgodną z platformą w celu wybudzenia MCU hosta.

Wyliczenia

otPlatMcuPowerState

 otPlatMcuPowerState

Wyliczenie stanów zasilania mikrokontrolera.

Te wartości są używane w konfiguracji NCP, gdy włączona jest zasada OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL.

Stan zasilania określa wymagany stan zasilania mikrokontrolera (MCU) NCP, gdy system operacyjny platformy przechodzi w tryb bezczynności (tzn. wszystkie aktywne zadania i zdarzenia są przetwarzane, a MCU może potencjalnie przejść w tryb oszczędzania energii).

Stan zasilania określa przede wszystkim sposób interakcji hosta z NCP oraz to, czy host wymaga zewnętrznego aktywatora („poke”) do NCP, zanim będzie mógł komunikować się z NCP.

Po zresetowaniu stan zasilania MCU MUSI mieć wartość OT_PLAT_POWER_STATE_ON.

Właściwości
OT_PLAT_MCU_POWER_STATE_LOW_POWER

MCU NCP może wejść w stan niskiego zużycia energii (oszczędzania energii).

Gdy żądany stan zasilania NCP jest ustawiony na LOW_POWER, host powinien „wywołać” NCP (np. wyzwalacz zewnętrzny, na przykład przerwanie), zanim będzie mógł komunikować się z NCP (wysyła wiadomość do NCP). Mechanizm „poke” jest określany przez kod platformy (na podstawie interfejsu NCP do hosta).

Gdy stan zasilania jest ustawiony na LOW_POWER, NCP może nadal (w dowolnym momencie) wysyłać wiadomości do hosta. Pamiętaj, że otrzymanie komunikatu z NCP NIE oznacza zmiany stanu zasilania NCP. Oznacza to, że host powinien kontynuować „wywołanie”, gdy chce komunikować się z NCP, dopóki stan zasilania nie zostanie bezpośrednio zmieniony (przez pomyślne wywołanie funkcji otPlatSetMcuPowerState() przez zmianę stanu na ON).

OT_PLAT_MCU_POWER_STATE_OFF

NCP jest całkowicie wyłączony.

Aby przywrócić NCP do wartości SPINEL_MCU_POWER_STATE_ON, należy zresetować sprzętowy NCP (za pomocą kodu PIN RESET). Pamięć RAM nie jest przechowywana po zresetowaniu.

OT_PLAT_MCU_POWER_STATE_ON

MCU NCP jest zawsze włączone i aktywne.

Gdy żądany stan zasilania kontrolera NCP jest ustawiony na ON, host może wysyłać wiadomości do NCP bez wymagania „poke” ani zewnętrznych aktywatorów.

otPlatResetReason

 otPlatResetReason

Wyliczenie możliwych kodów przyczyn zresetowania.

Są one podane w tej samej kolejności co kody przyczyny resetowania Spinel.

Funkcje

otPlatAssertFail

void otPlatAssertFail(
  const char *aFilename,
  int aLineNumber
)

Udostępnia implementację uwierzytelniania na konkretnej platformie.

Szczegóły
Parametry
[in] aFilename
Nazwa pliku, w którym wystąpiło potwierdzenie.
[in] aLineNumber
Numer wiersza w pliku, w którym wystąpiło potwierdzenie.

otPlatGetMcuPowerState

otPlatMcuPowerState otPlatGetMcuPowerState(
  otInstance *aInstance
)

Pobiera bieżący żądany stan zasilania MCU.

Ma zastosowanie tylko w przypadku konfiguracji NCP tylko wtedy, gdy włączona jest zasada OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL.

Po zresetowaniu stan zasilania MUSI zwracać wartość OT_PLAT_POWER_STATE_ON. W trakcie działania stan zasilania POWINNO zmieniać tylko na podstawie jednoznacznego udanego wywołania funkcji otPlatSetMcuPowerState().

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Obecny stan zasilania.

otPlatGetResetReason

otPlatResetReason otPlatGetResetReason(
  otInstance *aInstance
)

Zwraca przyczynę ostatniego resetowania platformy.

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

otPlatReset

void otPlatReset(
  otInstance *aInstance
)

Wykonuje resetowanie oprogramowania na platformie, jeśli jest obsługiwane.

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

otPlatResetToBootloader

otError otPlatResetToBootloader(
  otInstance *aInstance
)

Wykonuje reset sprzętu na platformie, aby uruchomić tryb programu rozruchowego (jeśli jest obsługiwany).

Używana, gdy włączona jest zasada OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwracane wartości
OT_ERROR_NONE
Zresetowano do programu rozruchowego.
OT_ERROR_BUSY
Niepowodzenie, ponieważ trwa inna operacja.
OT_ERROR_NOT_CAPABLE
Nie można zresetować do programu rozruchowego.

otPlatSetMcuPowerState

otError otPlatSetMcuPowerState(
  otInstance *aInstance,
  otPlatMcuPowerState aState
)

Ustawia wymagany stan zasilania MCU.

Ma zastosowanie tylko w przypadku konfiguracji NCP tylko wtedy, gdy włączona jest zasada OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aState
Nowy stan zasilania MCU.
Zwracane wartości
OT_ERROR_NONE
Stan zasilania został zaktualizowany.
OT_ERROR_FAILED
Podany stan zasilania MCU nie jest obsługiwany przez platformę.

otPlatWakeHost

void otPlatWakeHost(
  void
)

Wykonuje operację zgodną z platformą w celu wybudzenia MCU hosta.

Jest ona używana tylko w przypadku konfiguracji NCP.

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.