Instancia

Este módulo incluye funciones que controlan la instancia de OpenThread.

Resumen

Typedefs

otChangedFlags typedef
uint32_t
Representa un campo de bits que indica un estado o una configuración específicos que cambió.
otInstance typedef
struct otInstance
Representa la estructura de instancias de OpenThread.
otStateChangedCallback)(otChangedFlags aFlags, void *aContext) typedef
void(*
Se llama al puntero para notificar ciertos cambios de configuración o estado dentro de OpenThread.

remotas

otGetRadioVersionString(otInstance *aInstance)
const char *
Obtiene la cadena de versión de radio de OpenThread.
otGetVersionString(void)
const char *
Obtiene la cadena de versión de OpenThread.
otInstanceErasePersistentInfo(otInstance *aInstance)
Borra toda la información persistente de OpenThread (configuración de red) almacenada en la memoria no volátil.
otInstanceFactoryReset(otInstance *aInstance)
void
Borra toda la configuración almacenada en la memoria no volátil y, luego, activa un restablecimiento de la plataforma.
otInstanceFinalize(otInstance *aInstance)
void
Inhabilita la biblioteca de OpenThread.
otInstanceGetId(otInstance *aInstance)
uint32_t
Obtiene el identificador de instancia.
otInstanceGetUptime(otInstance *aInstance)
uint64_t
Muestra el tiempo de actividad actual de la instancia (en ms).
otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
Muestra el tiempo de actividad actual de la instancia como una string legible.
otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
Inicializa la biblioteca de OpenThread.
otInstanceInitMultiple(uint8_t aIdx)
Inicializa la instancia de OpenThread.
otInstanceInitSingle(void)
Inicializa la instancia única estática de la biblioteca de OpenThread.
otInstanceIsInitialized(otInstance *aInstance)
bool
Indica si la instancia es válida o se inicializó.
otInstanceReset(otInstance *aInstance)
void
Activa un restablecimiento de plataforma.
otInstanceResetRadioStack(otInstance *aInstance)
void
Restablece los estados internos de la pila de radio de OpenThread.
otInstanceResetToBootloader(otInstance *aInstance)
Activa un restablecimiento de la plataforma en el modo bootloader, si es compatible.
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
Quita una devolución de llamada para indicar cuando cambia determinada configuración o estado dentro de OpenThread.
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
Registra una devolución de llamada para indicar cuándo cambia determinada configuración o estado dentro de OpenThread.

Typedefs

otChangedFlags

uint32_t otChangedFlags

Representa un campo de bits que indica un estado o una configuración específicos que cambió.

Consulta las definiciones de OT_CHANGED_*.

otInstance

struct otInstance otInstance

Representa la estructura de instancias de OpenThread.

otStateChangedCallback

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

Se llama al puntero para notificar ciertos cambios de configuración o estado dentro de OpenThread.

Detalles
Parámetros
[in] aFlags
Un campo de bits que indica el estado específico que cambió. Consulta las definiciones de OT_CHANGED_*.
[in] aContext
Un puntero para el contexto específico de la aplicación.

remotas

otGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

Obtiene la cadena de versión de radio de OpenThread.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Un puntero a la versión de radio de OpenThread.

otGetVersionString

const char * otGetVersionString(
  void
)

Obtiene la cadena de versión de OpenThread.

Detalles
Qué muestra
Un puntero para la versión de OpenThread.

otInstanceErasePersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

Borra toda la información persistente de OpenThread (configuración de red) almacenada en la memoria no volátil.

La eliminación se realiza correctamente solo si el dispositivo tiene el estado o la función disabled.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
OT_ERROR_NONE
Se borró correctamente toda la información y el estado persistente.
OT_ERROR_INVALID_STATE
El dispositivo no tiene el estado o la función disabled.

otInstanceFactoryReset

void otInstanceFactoryReset(
  otInstance *aInstance
)

Borra toda la configuración almacenada en la memoria no volátil y, luego, activa un restablecimiento de la plataforma.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.

otInstanceFinalize

void otInstanceFinalize(
  otInstance *aInstance
)

Inhabilita la biblioteca de OpenThread.

Llama a esta función cuando OpenThread ya no esté en uso.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.

otInstanceGetId

uint32_t otInstanceGetId(
  otInstance *aInstance
)

Obtiene el identificador de instancia.

El identificador de instancia se establece en un valor aleatorio cuando se construye la instancia y, luego, su valor no cambia después de la inicialización.

Detalles
Qué muestra
El identificador de la instancia.

otInstanceGetUptime

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

Muestra el tiempo de actividad actual de la instancia (en ms).

Requiere que se habilite OPENTHREAD_CONFIG_UPTIME_ENABLE.

El tiempo de actividad se indica como la cantidad de milisegundos desde que se inicializó la instancia de OpenThread.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El tiempo de actividad (cantidad de milisegundos)

otInstanceGetUptimeAsString

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

Muestra el tiempo de actividad actual de la instancia como una string legible.

Requiere que se habilite OPENTHREAD_CONFIG_UPTIME_ENABLE.

La cadena sigue el formato "::." para horas, minutos, segundos y milisegundos (si el tiempo de actividad es menor que un día) o ".

d.::." (si dura más de un día).

Si la string resultante no cabe en aBuffer (dentro de sus caracteres aSize), la string se truncará, pero la string resultante siempre tendrá terminación nula.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[out] aBuffer
Un puntero para un array de caracteres como resultado de la string.
[in] aSize
El tamaño de aBuffer (en bytes). Se recomienda usar OT_UPTIME_STRING_SIZE.

otInstanceInit

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

Inicializa la biblioteca de OpenThread.

Inicializa OpenThread y lo prepara para llamadas posteriores a la API de OpenThread. Se debe llamar a esta función antes de cualquier otra llamada a OpenThread.

Está disponible y solo se puede usar cuando se habilita la compatibilidad con varias instancias de OpenThread.

Detalles
Parámetros
[in] aInstanceBuffer
Es el búfer de OpenThread que se usará para asignar la estructura otInstance.
[in,out] aInstanceBufferSize
En la entrada, el tamaño de aInstanceBuffer. En el resultado, si no hay suficiente espacio para otInstance, la cantidad de bytes necesarios para otInstance.
Qué muestra
Un puntero para la nueva instancia de OpenThread.
Consulta también:
otInstanceFinalize

otInstanceInitMultiple

otInstance * otInstanceInitMultiple(
  uint8_t aIdx
)

Inicializa la instancia de OpenThread.

Esta función inicializa OpenThread y lo prepara para llamadas posteriores a la API de OpenThread. Se debe llamar a esta función antes de cualquier otra llamada a OpenThread. Este método usa un búfer estático para inicializar la instancia de OpenThread.

Esta función está disponible y solo se puede usar cuando está habilitada la compatibilidad con varias instancias estáticas de OpenThread (OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE)

Detalles
Parámetros
[in] aIdx
El índice de la instancia de OpenThread que se inicializará.
Qué muestra
Un puntero para la nueva instancia de OpenThread.

otInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

Inicializa la instancia única estática de la biblioteca de OpenThread.

Inicializa OpenThread y lo prepara para llamadas posteriores a la API de OpenThread. Se debe llamar a esta función antes de cualquier otra llamada a OpenThread.

Está disponible y solo se puede usar cuando la compatibilidad con varias instancias de OpenThread está inhabilitada.

Detalles
Qué muestra
Un puntero para la única instancia de OpenThread.

otInstanceIsInitialized

bool otInstanceIsInitialized(
  otInstance *aInstance
)

Indica si la instancia es válida o se inicializó.

La instancia se considera válida si se adquiere y se inicializa con otInstanceInitSingle() (en el caso de una sola instancia) o otInstanceInit() (en el caso de varias instancias). Una llamada posterior a otInstanceFinalize() hace que la instancia se considere no inicializada.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
TRUE si la instancia dada es válida o está inicializada, de lo contrario, FALSE.

otInstanceReset

void otInstanceReset(
  otInstance *aInstance
)

Activa un restablecimiento de plataforma.

El proceso de restablecimiento garantiza que se borre toda la información y el estado de OpenThread (almacenado en memoria volátil). Ten en cuenta que otPlatformReset no borra ningún estado persistente ni información guardada en la memoria no volátil.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.

otInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

Restablece los estados internos de la pila de radio de OpenThread.

Las devoluciones de llamada y los parámetros de configuración se conservan.

Esta API solo está disponible en compilaciones de radio (OPENTHREAD_RADIO = 1).

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.

otInstanceResetToBootloader

otError otInstanceResetToBootloader(
  otInstance *aInstance
)

Activa un restablecimiento de la plataforma en el modo bootloader, si es compatible.

Requiere OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
OT_ERROR_NONE
Se restableció correctamente el bootloader.
OT_ERROR_BUSY
No se pudo completar la operación porque hay otra operación en curso.
OT_ERROR_NOT_CAPABLE
No se puede restablecer al bootloader.

otRemoveStateChangeCallback

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

Quita una devolución de llamada para indicar cuando cambia determinada configuración o estado dentro de OpenThread.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aCallback
Un puntero a una función que se llama con ciertos cambios de configuración o estado.
[in] aContext
Un puntero para el contexto específico de la aplicación.

otSetStateChangedCallback

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

Registra una devolución de llamada para indicar cuándo cambia determinada configuración o estado dentro de OpenThread.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aCallback
Un puntero a una función que se llama con ciertos cambios de configuración o estado.
[in] aContext
Un puntero para el contexto específico de la aplicación.
Valores que se muestran
OT_ERROR_NONE
Se agregó la devolución de llamada a la lista de devoluciones de llamada.
OT_ERROR_ALREADY
Ya se registró la devolución de llamada.
OT_ERROR_NO_BUFS
No se pudo agregar la devolución de llamada debido a restricciones de recursos.

Macros

OT_CHANGED_ACTIVE_DATASET

 OT_CHANGED_ACTIVE_DATASET (1U << 28)

Cambió el conjunto de datos operativos activo.

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

 OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21)

Se cambió el nuevo canal de Thread pendiente del Administrador de canales.

OT_CHANGED_COMMISSIONER_STATE

 OT_CHANGED_COMMISSIONER_STATE (1U << 23)

Cambió el estado de comisionado.

OT_CHANGED_IP6_ADDRESS_ADDED

 OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0)

Se agregó la dirección IPv6.

OT_CHANGED_IP6_ADDRESS_REMOVED

 OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1)

Se quitó la dirección IPv6.

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12)

Suscrito a una dirección de multidifusión IPv6.

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13)

Se anuló la suscripción a una dirección de multidifusión IPv6.

OT_CHANGED_JOINER_STATE

 OT_CHANGED_JOINER_STATE (1U << 27)

Cambió el estado de la unión.

OT_CHANGED_NAT64_TRANSLATOR_STATE

 OT_CHANGED_NAT64_TRANSLATOR_STATE (1U << 30)

El estado del traductor de NAT64 cambió.

OT_CHANGED_NETWORK_KEY

 OT_CHANGED_NETWORK_KEY (1U << 18)

Se cambió la clave de red.

 OT_CHANGED_PARENT_LINK_QUALITY (1U << 31)

Cambió la calidad de los vínculos superiores.

OT_CHANGED_PENDING_DATASET

 OT_CHANGED_PENDING_DATASET (1U << 29)

Se modificó el conjunto de datos operativo pendiente.

OT_CHANGED_PSKC

 OT_CHANGED_PSKC (1U << 19)

Se modificó la PSKc.

OT_CHANGED_SECURITY_POLICY

 OT_CHANGED_SECURITY_POLICY (1U << 20)

Se modificó la política de seguridad.

OT_CHANGED_SUPPORTED_CHANNEL_MASK

 OT_CHANGED_SUPPORTED_CHANNEL_MASK (1U << 22)

Se cambió la máscara de canal compatible.

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

 OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL (1U << 26)

Se cambió la configuración del router troncal local.

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

 OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25)

Cambió el estado del router troncal.

OT_CHANGED_THREAD_CHANNEL

 OT_CHANGED_THREAD_CHANNEL (1U << 14)

Se cambió el canal de red de Thread.

OT_CHANGED_THREAD_CHILD_ADDED

 OT_CHANGED_THREAD_CHILD_ADDED (1U << 10)

Se agregó al menor.

OT_CHANGED_THREAD_CHILD_REMOVED

 OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11)

Se quitó al menor.

OT_CHANGED_THREAD_EXT_PANID

 OT_CHANGED_THREAD_EXT_PANID (1U << 17)

Se cambió el ID PAN extendido de la red de Thread.

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

 OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER (1U << 8)

Se modificó la secuencia de claves del subproceso.

OT_CHANGED_THREAD_LL_ADDR

 OT_CHANGED_THREAD_LL_ADDR (1U << 3)

Cambió la dirección de vínculo local.

OT_CHANGED_THREAD_ML_ADDR

 OT_CHANGED_THREAD_ML_ADDR (1U << 4)

Se cambió la dirección local de la malla.

OT_CHANGED_THREAD_NETDATA

 OT_CHANGED_THREAD_NETDATA (1U << 9)

Se modificaron los datos de red de Thread.

OT_CHANGED_THREAD_NETIF_STATE

 OT_CHANGED_THREAD_NETIF_STATE (1U << 24)

Se cambió el estado de la interfaz de red de Thread.

OT_CHANGED_THREAD_NETWORK_NAME

 OT_CHANGED_THREAD_NETWORK_NAME (1U << 16)

Se cambió el nombre de la red de Thread.

OT_CHANGED_THREAD_PANID

 OT_CHANGED_THREAD_PANID (1U << 15)

Se modificó el ID PAN de la red de Thread.

OT_CHANGED_THREAD_PARTITION_ID

 OT_CHANGED_THREAD_PARTITION_ID (1U << 7)

Cambió el ID de partición.

OT_CHANGED_THREAD_RLOC_ADDED

 OT_CHANGED_THREAD_RLOC_ADDED (1U << 5)

Se agregó la RLOC.

OT_CHANGED_THREAD_RLOC_REMOVED

 OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6)

Se quitó la RLOC.

OT_CHANGED_THREAD_ROLE

 OT_CHANGED_THREAD_ROLE (1U << 2)

Se cambió el rol (inhabilitado, desconectado, secundario, router, líder).

OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

Tamaño recomendado para la representación de string del tiempo de actividad.

Recursos

Los temas de referencia de la API de OpenThread se originan a partir del código fuente, disponible en GitHub. Para obtener más información o contribuir a nuestra documentación, consulta Recursos.