Instância

Este módulo inclui funções que controlam a instância do OpenThread.

Resumo

Typedefs

otChangedFlags typedef
uint32_t
Representa um campo de bits que indica o estado/configuração específico que foi alterado.
otInstance typedef
struct otInstance
Representa a estrutura de instância do OpenThread.
otStateChangedCallback)(otChangedFlags aFlags, void *aContext) typedef
void(*
O ponteiro é chamado para notificar determinadas mudanças de configuração ou estado no OpenThread.

Funções

otGetRadioVersionString(otInstance *aInstance)
const char *
Obtém a string de versão de rádio OpenThread.
otGetVersionString(void)
const char *
Recebe a string da versão do OpenThread.
otInstanceErasePersistentInfo(otInstance *aInstance)
Apaga todas as informações persistentes do OpenThread (configurações de rede) armazenadas na memória não volátil.
otInstanceFactoryReset(otInstance *aInstance)
void
Exclui todas as configurações armazenadas na memória não volátil e aciona uma redefinição da plataforma.
otInstanceFinalize(otInstance *aInstance)
void
Desativa a biblioteca OpenThread.
otInstanceGetId(otInstance *aInstance)
uint32_t
Obtém o identificador da instância.
otInstanceGetUptime(otInstance *aInstance)
uint64_t
Retorna o tempo de atividade da instância atual (em ms).
otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
Retorna o tempo de atividade da instância atual como uma string legível.
otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
Inicializa a biblioteca do OpenThread.
otInstanceInitSingle(void)
Inicializa a instância única estática da biblioteca do OpenThread.
otInstanceIsInitialized(otInstance *aInstance)
bool
Indica se a instância é válida/inicializada.
otInstanceReset(otInstance *aInstance)
void
Aciona uma redefinição da plataforma.
otInstanceResetRadioStack(otInstance *aInstance)
void
Redefine os estados internos da pilha de rádio do OpenThread.
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
Remove um callback para indicar quando determinada configuração ou estado muda no OpenThread.
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
Registra um callback para indicar quando determinada configuração ou estado muda no OpenThread.

Typedefs

OtChangedFlags

uint32_t otChangedFlags

Representa um campo de bits que indica o estado/configuração específico que foi alterado.

Consulte as definições de OT_CHANGED_*.

Instância de ot

struct otInstance otInstance

Representa a estrutura de instância do OpenThread.

OtStateChangedCallback

void(* otStateChangedCallback)(otChangedFlags aFlags, void *aContext)

O ponteiro é chamado para notificar determinadas mudanças de configuração ou estado no OpenThread.

Detalhes
Parâmetros
[in] aFlags
Um campo de bits indicando o estado específico alterado. Consulte as definições de OT_CHANGED_*.
[in] aContext
Um ponteiro para contexto específico do aplicativo.

Funções

OtGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

Obtém a string de versão de rádio OpenThread.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
Um ponteiro para a versão do rádio OpenThread.

OtGetVersionString

const char * otGetVersionString(
  void
)

Recebe a string da versão do OpenThread.

Detalhes
Retorna
Um ponteiro para a versão do OpenThread.

OtInstanceClearPersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

Apaga todas as informações persistentes do OpenThread (configurações de rede) armazenadas na memória não volátil.

A limpeza só será concluída se o dispositivo estiver no estado/papel disabled.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Valores de retorno
OT_ERROR_NONE
Todas as informações/estados permanentes foram apagados.
OT_ERROR_INVALID_STATE
O dispositivo não está no estado/papel disabled.

OtInstanceFactoryReset

void otInstanceFactoryReset(
  otInstance *aInstance
)

Exclui todas as configurações armazenadas na memória não volátil e aciona uma redefinição da plataforma.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.

OtInstanceFinalize

void otInstanceFinalize(
  otInstance *aInstance
)

Desativa a biblioteca OpenThread.

Chame essa função quando o OpenThread não estiver mais em uso.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.

Código de instância otGet

uint32_t otInstanceGetId(
  otInstance *aInstance
)

Obtém o identificador da instância.

O identificador de instância é definido como um valor aleatório quando a instância é construída e, em seguida, seu valor não será alterado após a inicialização.

Detalhes
Retorna
O identificador da instância.

OtInstanceGetUptime

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

Retorna o tempo de atividade da instância atual (em ms).

O OPENTHREAD_CONFIG_UPTIME_ENABLE precisa estar ativado.

O tempo de atividade é fornecido como um número de milissegundos desde que a instância do OpenThread foi inicializada.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
Tempo de atividade (número de milissegundos).

OtInstanceGetUptimeAsString

void otInstanceGetUptimeAsString(
  otInstance *aInstance,
  char *aBuffer,
  uint16_t aSize
)

Retorna o tempo de atividade da instância atual como uma string legível.

O OPENTHREAD_CONFIG_UPTIME_ENABLE precisa estar ativado.

A string segue o formato "::." para horas, minutos, segundos e milissegundo (se o tempo de atividade for menor que um dia) ou "

d.::." (se mais de um dia).

Se a string resultante não couber em aBuffer (dentro dos caracteres aSize), ela será truncada, mas a string de saída será sempre terminada com nulo.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[out] aBuffer
Um ponteiro para uma matriz de caracteres para gerar a string.
[in] aSize
O tamanho de aBuffer (em bytes). Recomenda-se o uso de OT_UPTIME_STRING_SIZE.

OtInstanceInit

otInstance * otInstanceInit(
  void *aInstanceBuffer,
  size_t *aInstanceBufferSize
)

Inicializa a biblioteca do OpenThread.

Inicializa o OpenThread e o prepara para chamadas subsequentes da API OpenThread. Essa função precisa ser chamada antes de qualquer outra chamada para o OpenThread.

Está disponível e só pode ser usado quando o suporte para várias instâncias do OpenThread está ativado.

Detalhes
Parâmetros
[in] aInstanceBuffer
O buffer usado pelo OpenThread para alocar a estrutura otInstance.
[in,out] aInstanceBufferSize
Na entrada, o tamanho de aInstanceBuffer. Na saída, se não houver espaço suficiente para otInstance, o número de bytes necessários para otInstance.
Retorna
Um ponteiro para a nova instância do OpenThread.
Consulte também:
otInstanceFinalize

OtInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

Inicializa a instância única estática da biblioteca do OpenThread.

Inicializa o OpenThread e o prepara para chamadas subsequentes da API OpenThread. Essa função precisa ser chamada antes de qualquer outra chamada para o OpenThread.

Está disponível e só pode ser usado quando o suporte para várias instâncias do OpenThread está desativado.

Detalhes
Retorna
Um ponteiro para uma única instância do OpenThread.

OtInstanceIsInitialized

bool otInstanceIsInitialized(
  otInstance *aInstance
)

Indica se a instância é válida/inicializada.

A instância é considerada válida quando é adquirida e inicializada usando otInstanceInitSingle() (no caso de uma única instância) ou otInstanceInit() (no caso de várias instâncias). Uma chamada subsequente para otInstanceFinalize() faz com que a instância seja considerada não inicializada.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
TRUE se a instância especificada for válida/inicializada. Caso contrário, FALSE.

OtInstanceReset

void otInstanceReset(
  otInstance *aInstance
)

Aciona uma redefinição da plataforma.

O processo de redefinição garante que todos os estados/informações do OpenThread (armazenados na memória volátil) sejam apagados. Observe que o otPlatformReset não apaga nenhum estado ou informação permanente salva na memória não volátil.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.

OtInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

Redefine os estados internos da pilha de rádio do OpenThread.

Os callbacks e as configurações são preservados.

Esta API só está disponível em builds de rádio (OPENTHREAD_RADIO = 1).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.

OtRemoveStateChangeCallback

void otRemoveStateChangeCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

Remove um callback para indicar quando determinada configuração ou estado muda no OpenThread.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aCallback
Um ponteiro para uma função chamada com determinadas alterações de configuração ou estado.
[in] aContext
Um ponteiro para contexto específico do aplicativo.

OtSetStateChangedCallback

otError otSetStateChangedCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

Registra um callback para indicar quando determinada configuração ou estado muda no OpenThread.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aCallback
Um ponteiro para uma função chamada com determinadas alterações de configuração ou estado.
[in] aContext
Um ponteiro para contexto específico do aplicativo.
Valores de retorno
OT_ERROR_NONE
O callback foi adicionado à lista de callbacks.
OT_ERROR_ALREADY
O retorno de chamada já foi registrado.
OT_ERROR_NO_BUFS
Não foi possível adicionar o retorno de chamada devido a restrições de recursos.

Macros

CONJUNTO DE DADOS OT_CHANGED_ACTIVE

 OT_CHANGED_ACTIVE_DATASET (1U << 28)

Conjunto de dados operacional ativo alterado.

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

 OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21)

Novo canal Thread pendente do Gerenciador de canais alterado.

PRO_CHANGED_COMMISSIONER_STATE

 OT_CHANGED_COMMISSIONER_STATE (1U << 23)

Estado do comissário alterado.

PRO_CHANGED_IP6_ADDRESS_ADDED

 OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0)

Endereço IPv6 adicionado.

PRO_CHANGED_IP6_ADDRESS_REMOVED

 OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1)

O endereço IPv6 foi removido.

PR_CHANGED_IP6_MULTICAST_SUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12)

Inscrito em um endereço multicast IPv6.

PR_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13)

Inscrição em um endereço multicast IPv6 cancelada.

PRO_CHANGED_JOINER_STATE

 OT_CHANGED_JOINER_STATE (1U << 27)

Estado do combinador alterado.

PR_CHANGED_NAT64_TRANSLATOR_STATE

 OT_CHANGED_NAT64_TRANSLATOR_STATE (1U << 30)

O estado do tradutor NAT64 foi alterado.

PRO_CHANGED_NETWORK_KEY

 OT_CHANGED_NETWORK_KEY (1U << 18)

Chave de rede alterada.

 OT_CHANGED_PARENT_LINK_QUALITY (1U << 31)

A qualidade do link pai foi alterada.

CONJUNTO DE DADOS OT_CHANGED_PENDING_

 OT_CHANGED_PENDING_DATASET (1U << 29)

O conjunto de dados operacional pendente foi alterado.

PR_CHANGED_PSKC

 OT_CHANGED_PSKC (1U << 19)

PSKc alterado.

OT_CHANGED_SECURITY_POLICY

 OT_CHANGED_SECURITY_POLICY (1U << 20)

Política de segurança alterada.

PR_CHANGED_SUPPORTED_CHANNEL_MASK

 OT_CHANGED_SUPPORTED_CHANNEL_MASK (1U << 22)

A máscara de canal compatível foi alterada.

PRO_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

 OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL (1U << 26)

A configuração do roteador de backbone local foi alterada.

PRO_CHANGED_THREAD_BACKBONE_ROUTER_STATE

 OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25)

Estado do roteador de backbone alterado.

OT_CHANGED_THREAD_CHANNEL

 OT_CHANGED_THREAD_CHANNEL (1U << 14)

Canal da rede Thread alterado.

PRO_CHANGED_THREAD_CHILD_ADDED

 OT_CHANGED_THREAD_CHILD_ADDED (1U << 10)

A criança foi adicionada.

PRO_CHANGED_THREAD_CHILD_REMOVED

 OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11)

A criança foi removida.

PRO_CHANGED_THREAD_EXT_PANID

 OT_CHANGED_THREAD_EXT_PANID (1U << 17)

O código PAN estendido da rede Thread foi alterado.

PRO_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

 OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER (1U << 8)

A sequência de chaves da linha de execução foi alterada.

PRO_CHANGED_THREAD_LL_ADDR

 OT_CHANGED_THREAD_LL_ADDR (1U << 3)

O endereço do link-local foi alterado.

PR_CHANGED_THREAD_ML_ADDR

 OT_CHANGED_THREAD_ML_ADDR (1U << 4)

O endereço local da rede foi alterado.

PRO_CHANGED_THREAD_NETDATA

 OT_CHANGED_THREAD_NETDATA (1U << 9)

Os dados da rede Thread foram alterados.

PRO_CHANGED_THREAD_NETIF_STATE

 OT_CHANGED_THREAD_NETIF_STATE (1U << 24)

Estado da interface da rede Thread alterado.

PRO_CHANGED_THREAD_NETWORK_NAME

 OT_CHANGED_THREAD_NETWORK_NAME (1U << 16)

O nome da rede Thread foi alterado.

PRO_CHANGED_THREAD_PANID

 OT_CHANGED_THREAD_PANID (1U << 15)

O PAN da rede de conversas foi alterado.

PRO_CHANGED_THREAD_PARTITION_ID

 OT_CHANGED_THREAD_PARTITION_ID (1U << 7)

ID da partição alterado.

PRO_CHANGED_THREAD_RLOC_ADDED

 OT_CHANGED_THREAD_RLOC_ADDED (1U << 5)

O RLOC foi adicionado.

PRO_CHANGED_THREAD_RLOC_REMOVED

 OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6)

O RLOC foi removido.

PRO_CHANGED_THREAD_ROLE

 OT_CHANGED_THREAD_ROLE (1U << 2)

Função (desativada, separada, filha, roteador, líder) alterada.

Pr_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

Tamanho recomendado para a representação de string do tempo de atividade.

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.