Instância

Esse 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ífica que foi alterada.
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.

remotas

otGetRadioVersionString(otInstance *aInstance)
const char *
Recebe a string da versão de rádio do 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
Recebe 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 OpenThread.
otInstanceInitMultiple(uint8_t aIdx)
Inicializa a instância do OpenThread.
otInstanceInitSingle(void)
Inicializa a instância estática única da biblioteca 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.
otInstanceResetToBootloader(otInstance *aInstance)
Aciona uma redefinição da plataforma para o modo do carregador de inicialização, se compatível.
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ífica que foi alterada.

Consulte definições de OT_CHANGED_*.

otInstance

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 bit que indica um estado específico que foi alterado. Consulte definições de OT_CHANGED_*.
[in] aContext
Um ponteiro para o contexto específico do aplicativo.

remotas

otGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

Recebe a string da versão de rádio do OpenThread.

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

otGetVersionString

const char * otGetVersionString(
  void
)

Recebe a string da versão do OpenThread.

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

otInstanceErasePersistentInfo

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á bem-sucedida se o dispositivo estiver no estado/função 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 persistentes foram apagados.
OT_ERROR_INVALID_STATE
O dispositivo não está no estado/função 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.

otInstanceGetId

uint32_t otInstanceGetId(
  otInstance *aInstance
)

Recebe o identificador da instância.

O identificador de instância é definido como um valor aleatório quando a instância é construída, e o valor não muda 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).

A ativação do OPENTHREAD_CONFIG_UPTIME_ENABLE é necessária.

O tempo de atividade é indicado como um número de milissegundos desde a inicialização da instância do OpenThread.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O 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.

A ativação do OPENTHREAD_CONFIG_UPTIME_ENABLE é necessária.

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

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

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

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[out] aBuffer
Um ponteiro para uma matriz de caracteres que vai gerar a string.
[in] aSize
O tamanho de aBuffer (em bytes). Recomendamos usar OT_UPTIME_STRING_SIZE.

otInstanceInit

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

Inicializa a biblioteca OpenThread.

Inicializa o OpenThread e o prepara para as próximas chamadas 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 estiver ativado.

Detalhes
Parâmetros
[in] aInstanceBuffer
O buffer do OpenThread usar 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

otInstanceInitMultiple

otInstance * otInstanceInitMultiple(
  uint8_t aIdx
)

Inicializa a instância do OpenThread.

Essa função inicializa o OpenThread e o prepara para as próximas chamadas da API OpenThread. Essa função precisa ser chamada antes de qualquer outra chamada para o OpenThread. Esse método usa buffer estático para inicializar a instância do OpenThread.

Esta função está disponível e só pode ser usada quando o suporte a várias instâncias estáticas do OpenThread está ativado (OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE)

Detalhes
Parâmetros
[in] aIdx
O índice da instância do OpenThread a ser inicializada.
Retorna
Um ponteiro para a nova instância do OpenThread.

otInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

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

Inicializa o OpenThread e o prepara para as próximas chamadas 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 a várias instâncias do OpenThread estiver desativado.

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

otInstanceIsInitialized

bool otInstanceIsInitialized(
  otInstance *aInstance
)

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

A instância será considerada válida se for 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 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 todo o estado/as informações do OpenThread (armazenados na memória volátil) sejam apagados. O otPlatformReset não apaga informações/estados permanentes salvos 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.

As configurações e os callbacks são preservados.

Essa API está disponível apenas em builds de rádio (OPENTHREAD_RADIO = 1).

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

otInstanceResetToBootloader

otError otInstanceResetToBootloader(
  otInstance *aInstance
)

Aciona uma redefinição da plataforma para o modo do carregador de inicialização, se compatível.

Exige OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma 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.

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 que é chamada com determinadas mudanças de configuração ou estado.
[in] aContext
Um ponteiro para o 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 que é chamada com determinadas mudanças de configuração ou estado.
[in] aContext
Um ponteiro para o contexto específico do aplicativo.
Valores de retorno
OT_ERROR_NONE
O callback foi adicionado à lista de callbacks.
OT_ERROR_ALREADY
O callback já foi registrado.
OT_ERROR_NO_BUFS
Não foi possível adicionar o callback devido a restrições de recursos.

Macros

OT_CHANGED_ACTIVE_DATASET

 OT_CHANGED_ACTIVE_DATASET (1U << 28)

O conjunto de dados operacional ativo foi alterado.

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

 OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21)

Novo canal de conversa pendente do administrador de canal alterado.

OT_CHANGED_COMMISSIONER_STATE

 OT_CHANGED_COMMISSIONER_STATE (1U << 23)

O estado do comissário mudou.

OT_CHANGED_IP6_ADDRESS_ADDED

 OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0)

O endereço IPv6 foi adicionado.

OT_CHANGED_IP6_ADDRESS_REMOVED

 OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1)

O endereço IPv6 foi removido.

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12)

Inscrito em um endereço multicast IPv6.

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13)

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

OT_CHANGED_JOINER_STATE

 OT_CHANGED_JOINER_STATE (1U << 27)

O estado do combinador mudou.

OT_CHANGED_NAT64_TRANSLATOR_STATE

 OT_CHANGED_NAT64_TRANSLATOR_STATE (1U << 30)

O estado do conversor NAT64 mudou.

OT_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.

OT_CHANGED_PENDING_DATASET

 OT_CHANGED_PENDING_DATASET (1U << 29)

O conjunto de dados operacional pendente foi alterado.

OT_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.

OT_CHANGED_SUPPORTED_CHANNEL_MASK

 OT_CHANGED_SUPPORTED_CHANNEL_MASK (1U << 22)

A máscara de canal com suporte foi alterada.

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

 OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL (1U << 26)

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

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

 OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25)

O estado do roteador de backbone foi alterado.

OT_CHANGED_THREAD_CHANNEL

 OT_CHANGED_THREAD_CHANNEL (1U << 14)

O canal da rede Thread mudou.

OT_CHANGED_THREAD_CHILD_ADDED

 OT_CHANGED_THREAD_CHILD_ADDED (1U << 10)

O filho foi adicionado.

OT_CHANGED_THREAD_CHILD_REMOVED

 OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11)

O filho foi removido.

OT_CHANGED_THREAD_EXT_PANID

 OT_CHANGED_THREAD_EXT_PANID (1U << 17)

O ID do PAN estendido da rede Thread mudou.

OT_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.

OT_CHANGED_THREAD_LL_ADDR

 OT_CHANGED_THREAD_LL_ADDR (1U << 3)

O endereço link-local foi alterado.

OT_CHANGED_THREAD_ML_ADDR

 OT_CHANGED_THREAD_ML_ADDR (1U << 4)

O endereço da malha local mudou.

OT_CHANGED_THREAD_NETDATA

 OT_CHANGED_THREAD_NETDATA (1U << 9)

Os dados da rede Thread foram alterados.

OT_CHANGED_THREAD_NETIF_STATE

 OT_CHANGED_THREAD_NETIF_STATE (1U << 24)

O estado da interface de rede Thread mudou.

OT_CHANGED_THREAD_NETWORK_NAME

 OT_CHANGED_THREAD_NETWORK_NAME (1U << 16)

O nome da rede Thread mudou.

OT_CHANGED_THREAD_PANID

 OT_CHANGED_THREAD_PANID (1U << 15)

O ID de PAN da rede Thread mudou.

OT_CHANGED_THREAD_PARTITION_ID

 OT_CHANGED_THREAD_PARTITION_ID (1U << 7)

O ID da partição mudou.

OT_CHANGED_THREAD_RLOC_ADDED

 OT_CHANGED_THREAD_RLOC_ADDED (1U << 5)

RLOC foi adicionado.

OT_CHANGED_THREAD_RLOC_REMOVED

 OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6)

O RLOC foi removido.

OT_CHANGED_THREAD_ROLE

 OT_CHANGED_THREAD_ROLE (1U << 2)

Papel (desativado, desconectado, filho, roteador, líder) alterado.

OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

Tamanho recomendado para 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.