Diversos

Este módulo inclui abstrações de plataforma para comportamentos diversos.

Resumo

Enumerações

otPlatMcuPowerState{
  OT_PLAT_MCU_POWER_STATE_ON = 0,
  OT_PLAT_MCU_POWER_STATE_LOW_POWER = 1,
  OT_PLAT_MCU_POWER_STATE_OFF = 2
}
enum
Enumeração dos estados de energia do microcontrolador.
otPlatResetReason enum
Enumeração de possíveis códigos de motivo da redefinição.

remotas

otPlatAssertFail(const char *aFilename, int aLineNumber)
void
Fornece uma implementação específica da plataforma para declaração.
otPlatGetMcuPowerState(otInstance *aInstance)
Recebe o estado de energia do MCU desejado atual.
otPlatGetResetReason(otInstance *aInstance)
Retorna o motivo da última redefinição da plataforma.
otPlatReset(otInstance *aInstance)
void
Executa uma redefinição de software na plataforma, se compatível.
otPlatResetToBootloader(otInstance *aInstance)
Realiza uma redefinição de hardware na plataforma para iniciar o modo do carregador de inicialização, se compatível.
otPlatSetMcuPowerState(otInstance *aInstance, otPlatMcuPowerState aState)
Define o estado de energia do MCU desejado.
otPlatWakeHost(void)
void
Executa uma operação específica da plataforma para ativar o MCU do host.

Enumerações

otPlatMcuPowerState

 otPlatMcuPowerState

Enumeração dos estados de energia do microcontrolador.

Esses valores são usados para a configuração do NCP quando o OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL está ativado.

O estado de energia especifica o estado de energia desejado do microcontrolador (MCU) do NCP quando o sistema operacional da plataforma entra no modo ocioso (ou seja, todos os eventos/tarefas ativos são processados e o MCU pode entrar em um estado de economia de energia).

O estado de energia determina principalmente como o host deve interagir com o NCP e se ele precisa de um acionador externo (um "poke") para o NCP antes de se comunicar com o NCP ou não.

Após uma redefinição, o estado de energia do MCU PRECISA ser OT_PLAT_POWER_STATE_ON.

Propriedades
OT_PLAT_MCU_POWER_STATE_LOW_POWER

O MCU do NCP pode entrar no estado de baixa energia (economia de energia).

Quando o estado de energia desejado do NCP está definido como LOW_POWER, o host precisa "picar" o NCP (por exemplo, um acionador externo, como uma interrupção) antes de se comunicar com o NCP (enviar uma mensagem para o NCP). O mecanismo de "poke" é determinado pelo código da plataforma (com base na interface do NCP para o host).

Enquanto o estado de energia estiver definido como LOW_POWER, o NCP ainda poderá enviar mensagens ao host a qualquer momento. Receber uma mensagem do NCP NÃO indica que o estado de energia do NCP mudou. Por exemplo, o host deve continuar "cutindo" quando quiser falar com o NCP até que o estado de energia seja explicitamente alterado (por uma chamada bem-sucedida para otPlatSetMcuPowerState() alterando o estado para ON).

OT_PLAT_MCU_POWER_STATE_OFF

O NCP está totalmente desativado.

É necessário redefinir o hardware do NCP (por um pino RESET) para trazer o NCP de volta para SPINEL_MCU_POWER_STATE_ON. A RAM não é retida após a redefinição.

OT_PLAT_MCU_POWER_STATE_ON

O MCU do NCP permanece ativado e ativo o tempo todo.

Quando o estado de energia desejado do NCP está definido como ON, o host pode enviar mensagens para o NCP sem precisar de nenhum "poke" ou gatilho externo.

otPlatResetReason

 otPlatResetReason

Enumeração de possíveis códigos de motivo da redefinição.

Eles estão na mesma ordem dos códigos de motivo de redefinição do Spinel.

remotas

otPlatAssertFail

void otPlatAssertFail(
  const char *aFilename,
  int aLineNumber
)

Fornece uma implementação específica da plataforma para declaração.

Detalhes
Parâmetros
[in] aFilename
O nome do arquivo em que a declaração ocorreu.
[in] aLineNumber
O número da linha no arquivo em que a declaração ocorreu.

otPlatGetMcuPowerState

otPlatMcuPowerState otPlatGetMcuPowerState(
  otInstance *aInstance
)

Recebe o estado de energia do MCU desejado atual.

Isso só é aplicável e usado para a configuração do NCP quando o OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL está ativado.

Após uma redefinição, o estado de energia PRECISA retornar OT_PLAT_POWER_STATE_ON. Durante a operação, o estado de energia DEVE mudar apenas com uma chamada explícita para otPlatSetMcuPowerState() bem-sucedida.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
Retorna
O estado de energia atual.

otPlatGetResetReason

otPlatResetReason otPlatGetResetReason(
  otInstance *aInstance
)

Retorna o motivo da última redefinição da plataforma.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread.

otPlatReset

void otPlatReset(
  otInstance *aInstance
)

Executa uma redefinição de software na plataforma, se compatível.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread.

otPlatResetToBootloader

otError otPlatResetToBootloader(
  otInstance *aInstance
)

Realiza uma redefinição de hardware na plataforma para iniciar o modo do carregador de inicialização, se compatível.

Usado quando o OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE está ativado.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread.
Valores de retorno
OT_ERROR_NONE
O carregador de inicialização foi redefinido.
OT_ERROR_BUSY
Falha devido a outra operação em andamento.
OT_ERROR_NOT_CAPABLE
Não é possível redefinir para o carregador de inicialização.

otPlatSetMcuPowerState

otError otPlatSetMcuPowerState(
  otInstance *aInstance,
  otPlatMcuPowerState aState
)

Define o estado de energia do MCU desejado.

Isso só é aplicável e usado para a configuração do NCP quando o OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL está ativado.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a instância do OpenThread.
[in] aState
O novo estado de energia do MCU.
Valores de retorno
OT_ERROR_NONE
O estado de energia foi atualizado.
OT_ERROR_FAILED
O estado de energia do MCU fornecido não é suportado pela plataforma.

otPlatWakeHost

void otPlatWakeHost(
  void
)

Executa uma operação específica da plataforma para ativar o MCU do host.

Isso é usado apenas para configurações do NCP.

Recursos

Os tópicos de Referência da API OpenThread são originados do código-fonte, disponível no GitHub. Para mais informações ou para contribuir com nossa documentação, consulte Recursos.