Пример

Этот модуль включает функции, управляющие экземпляром OpenThread.

Резюме

Перечисления

anonymous enum {
OT_CHANGED_IP6_ADDRESS_ADDED = 1 << 0,
OT_CHANGED_IP6_ADDRESS_REMOVED = 1 << 1,
OT_CHANGED_THREAD_ROLE = 1 << 2,
OT_CHANGED_THREAD_LL_ADDR = 1 << 3,
OT_CHANGED_THREAD_ML_ADDR = 1 << 4,
OT_CHANGED_THREAD_RLOC_ADDED = 1 << 5,
OT_CHANGED_THREAD_RLOC_REMOVED = 1 << 6,
OT_CHANGED_THREAD_PARTITION_ID = 1 << 7,
OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER = 1 << 8,
OT_CHANGED_THREAD_NETDATA = 1 << 9,
OT_CHANGED_THREAD_CHILD_ADDED = 1 << 10,
OT_CHANGED_THREAD_CHILD_REMOVED = 1 << 11,
OT_CHANGED_IP6_MULTICAST_SUBSCRIBED = 1 << 12,
OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED = 1 << 13,
OT_CHANGED_THREAD_CHANNEL = 1 << 14,
OT_CHANGED_THREAD_PANID = 1 << 15,
OT_CHANGED_THREAD_NETWORK_NAME = 1 << 16,
OT_CHANGED_THREAD_EXT_PANID = 1 << 17,
OT_CHANGED_NETWORK_KEY = 1 << 18,
OT_CHANGED_PSKC = 1 << 19,
OT_CHANGED_SECURITY_POLICY = 1 << 20,
OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL = 1 << 21,
OT_CHANGED_SUPPORTED_CHANNEL_MASK = 1 << 22,
OT_CHANGED_COMMISSIONER_STATE = 1 << 23,
OT_CHANGED_THREAD_NETIF_STATE = 1 << 24,
OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE = 1 << 25,
OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL = 1 << 26,
OT_CHANGED_JOINER_STATE = 1 << 27,
OT_CHANGED_ACTIVE_DATASET = 1 << 28,
OT_CHANGED_PENDING_DATASET = 1 << 29
}
перечисление
Это перечисление определяет флаги, которые передаются как часть otStateChangedCallback .

Определения типов

otChangedFlags определение типа
uint32_t
Этот тип представляет собой битовое поле, указывающее конкретное измененное состояние/конфигурацию.
otInstance определение типа
struct otInstance
Эта структура представляет структуру экземпляра OpenThread.
otStateChangedCallback )(otChangedFlags aFlags, void *aContext) определение типа
void(*
Этот указатель функции вызывается для уведомления об определенных изменениях конфигурации или состояния в OpenThread.

Функции

otGetRadioVersionString ( otInstance *aInstance)
const char *
Эта функция получает строку версии радио OpenThread.
otGetVersionString (void)
const char *
Эта функция получает строку версии OpenThread.
otInstanceErasePersistentInfo ( otInstance *aInstance)
Эта функция стирает всю постоянную информацию OpenThread (сетевые настройки), хранящуюся в энергонезависимой памяти.
otInstanceFactoryReset ( otInstance *aInstance)
void
Этот метод удаляет все настройки, хранящиеся в энергонезависимой памяти, а затем запускает сброс платформы.
otInstanceFinalize ( otInstance *aInstance)
void
Эта функция отключает библиотеку OpenThread.
otInstanceGetUptime ( otInstance *aInstance)
uint64_t
Эта функция возвращает текущее время безотказной работы экземпляра (в миллисекундах).
otInstanceGetUptimeAsString ( otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
Эта функция возвращает текущее время безотказной работы экземпляра в виде удобочитаемой строки.
otInstanceInit (void *aInstanceBuffer, size_t *aInstanceBufferSize)
Эта функция инициализирует библиотеку OpenThread.
otInstanceInitSingle (void)
Эта функция инициализирует единственный статический экземпляр библиотеки OpenThread.
otInstanceIsInitialized ( otInstance *aInstance)
bool
Эта функция указывает, является ли экземпляр действительным/инициализированным.
otInstanceReset ( otInstance *aInstance)
void
Этот метод вызывает сброс платформы.
otInstanceResetRadioStack ( otInstance *aInstance)
void
Этот метод сбрасывает внутренние состояния радиостека OpenThread.
otRemoveStateChangeCallback ( otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
Эта функция удаляет обратный вызов, чтобы указать, когда в OpenThread изменяется определенная конфигурация или состояние.
otSetStateChangedCallback ( otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
Эта функция регистрирует обратный вызов, чтобы указать, когда в OpenThread изменяется определенная конфигурация или состояние.

Перечисления

анонимное перечисление

 anonymous enum

Это перечисление определяет флаги, которые передаются как часть otStateChangedCallback .

Характеристики
OT_CHANGED_ACTIVE_DATASET

Активный рабочий набор данных изменен.

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

Канал нового ожидаемого канала менеджера каналов изменен.

OT_CHANGED_COMMISSIONER_STATE

Состояние комиссара изменено.

OT_CHANGED_IP6_ADDRESS_ADDED

Добавлен IPv6-адрес.

OT_CHANGED_IP6_ADDRESS_REMOVED

IPv6-адрес был удален.

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

Подписан на многоадресный IPv6-адрес.

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

Отписан от многоадресного адреса IPv6.

OT_CHANGED_JOINER_STATE

Состояние столяра изменено.

OT_CHANGED_NETWORK_KEY

Сетевой ключ изменен.

OT_CHANGED_PENDING_DATASET

Ожидающий рабочий набор данных изменен.

OT_CHANGED_PSKC

PSKc изменился.

OT_CHANGED_SECURITY_POLICY

Политика безопасности изменена.

OT_CHANGED_SUPPORTED_CHANNEL_MASK

Маска поддерживаемого канала изменена.

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

Изменена конфигурация локального магистрального маршрутизатора.

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

Состояние магистрального маршрутизатора изменилось.

OT_CHANGED_THREAD_CHANNEL

Сетевой канал потока изменен.

OT_CHANGED_THREAD_CHILD_ADDED

Добавлен ребенок.

OT_CHANGED_THREAD_CHILD_REMOVED

Ребенка удалили.

OT_CHANGED_THREAD_EXT_PANID

Расширенный идентификатор PAN сети потока изменен.

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

Последовательность ключей потока изменена.

OT_CHANGED_THREAD_LL_ADDR

Ссылка-локальный адрес изменился.

OT_CHANGED_THREAD_ML_ADDR

Локальный адрес сетки изменился.

OT_CHANGED_THREAD_NETDATA

Сетевые данные потока изменены.

OT_CHANGED_THREAD_NETIF_STATE

Состояние сетевого интерфейса потока изменилось.

OT_CHANGED_THREAD_NETWORK_NAME

Сетевое имя потока изменено.

OT_CHANGED_THREAD_PANID

Идентификатор PAN сети потока изменен.

OT_CHANGED_THREAD_PARTITION_ID

Идентификатор раздела изменен.

OT_CHANGED_THREAD_RLOC_ADDED

Добавлен РЛОК.

OT_CHANGED_THREAD_RLOC_REMOVED

РЛОК был удален.

OT_CHANGED_THREAD_ROLE

Роль (отключенный, отсоединенный, дочерний, маршрутизатор, лидер) изменена.

Определения типов

otChangedFlags

uint32_t otChangedFlags

Этот тип представляет собой битовое поле, указывающее конкретное измененное состояние/конфигурацию.

См. определения OT_CHANGED_* .

otInstance

struct otInstance otInstance

Эта структура представляет структуру экземпляра OpenThread.

otStateChangedCallback

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

Этот указатель функции вызывается для уведомления об определенных изменениях конфигурации или состояния в OpenThread.

Подробности
Параметры
[in] aFlags
Битовое поле, указывающее конкретное состояние, которое изменилось. См. определения OT_CHANGED_* .
[in] aContext
Указатель на контекст конкретного приложения.

Функции

otGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

Эта функция получает строку версии радио OpenThread.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращает
Указатель на радиоверсию OpenThread.

otGetVersionString

const char * otGetVersionString(
  void
)

Эта функция получает строку версии OpenThread.

Подробности
Возвращает
Указатель на версию OpenThread.

otInstanceErasePersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

Эта функция стирает всю постоянную информацию OpenThread (сетевые настройки), хранящуюся в энергонезависимой памяти.

Стирание выполняется успешно, только если устройство находится в disabled состоянии/роли.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращаемые значения
OT_ERROR_NONE
Вся постоянная информация/состояние успешно стерта.
OT_ERROR_INVALID_STATE
Устройство не находится в disabled состоянии/роли.

otInstanceFactoryReset

void otInstanceFactoryReset(
  otInstance *aInstance
)

Этот метод удаляет все настройки, хранящиеся в энергонезависимой памяти, а затем запускает сброс платформы.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.

otInstanceFinalize

void otInstanceFinalize(
  otInstance *aInstance
)

Эта функция отключает библиотеку OpenThread.

Вызовите эту функцию, когда OpenThread больше не используется.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.

otInstanceGetUptime

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

Эта функция возвращает текущее время безотказной работы экземпляра (в миллисекундах).

Эта функция требует OPENTHREAD_CONFIG_UPTIME_ENABLE .

Время безотказной работы указывается как количество миллисекунд с момента инициализации экземпляра OpenThread.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращает
Время безотказной работы (количество миллисекунд).

otInstanceGetUptimeAsString

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

Эта функция возвращает текущее время безотказной работы экземпляра в виде удобочитаемой строки.

Эта функция требует OPENTHREAD_CONFIG_UPTIME_ENABLE .

Строка имеет формат " : : . " для часов, минут, секунд и миллисекунд (если время безотказной работы меньше одного дня) или "

д. : : . " (если дольше суток).

Если результирующая строка не помещается в aBuffer (в пределах его символов aSize ), строка будет усечена, но выводимая строка всегда завершается нулем.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[out] aBuffer
Указатель на массив символов для вывода строки.
[in] aSize
Размер aBuffer (в байтах). Рекомендуется использовать OT_UPTIME_STRING_SIZE .

otInstanceInit

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

Эта функция инициализирует библиотеку OpenThread.

Эта функция инициализирует OpenThread и подготавливает его к последующим вызовам OpenThread API. Эта функция должна вызываться перед любыми другими вызовами OpenThread.

Эта функция доступна и может использоваться только при включенной поддержке нескольких экземпляров OpenThread.

Подробности
Параметры
[in] aInstanceBuffer
Буфер, используемый OpenThread для размещения структуры otInstance.
[in,out] aInstanceBufferSize
На входе размер InstanceBuffer. На выходе, если для otInstance недостаточно места, количество байтов, необходимых для otInstance.
Возвращает
Указатель на новый экземпляр OpenThread.
Смотрите также:
otInstanceFinalize

otInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

Эта функция инициализирует единственный статический экземпляр библиотеки OpenThread.

Эта функция инициализирует OpenThread и подготавливает его к последующим вызовам OpenThread API. Эта функция должна вызываться перед любыми другими вызовами OpenThread.

Эта функция доступна и может использоваться, только если отключена поддержка нескольких экземпляров OpenThread.

Подробности
Возвращает
Указатель на единственный экземпляр OpenThread.

otInstanceIsInitialized

bool otInstanceIsInitialized(
  otInstance *aInstance
)

Эта функция указывает, является ли экземпляр действительным/инициализированным.

Экземпляр считается действительным, если он получен и инициализирован с помощью либо otInstanceInitSingle() (в случае с одним экземпляром), либо otInstanceInit() (в случае с несколькими экземплярами). Последующий вызов otInstanceFinalize() приводит к тому, что экземпляр считается неинициализированным.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращает
TRUE, если данный экземпляр действителен/инициализирован, в противном случае FALSE.

otInstanceReset

void otInstanceReset(
  otInstance *aInstance
)

Этот метод вызывает сброс платформы.

Процесс сброса гарантирует, что все состояние/информация OpenThread (хранящиеся в энергозависимой памяти) будут удалены. Обратите внимание, что otPlatformReset не стирает какое-либо постоянное состояние/информацию, сохраненную в энергонезависимой памяти.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.

otInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

Этот метод сбрасывает внутренние состояния радиостека OpenThread.

Обратные вызовы и конфигурации сохраняются.

Этот API доступен только для сборок радио ( OPENTHREAD_RADIO = 1 ).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.

otRemoveStateChangeCallback

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

Эта функция удаляет обратный вызов, чтобы указать, когда в OpenThread изменяется определенная конфигурация или состояние.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aCallback
Указатель на функцию, которая вызывается с определенной конфигурацией или изменениями состояния.
[in] aContext
Указатель на контекст конкретного приложения.

otSetStateChangedCallback

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

Эта функция регистрирует обратный вызов, чтобы указать, когда в OpenThread изменяется определенная конфигурация или состояние.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aCallback
Указатель на функцию, которая вызывается с определенной конфигурацией или изменениями состояния.
[in] aContext
Указатель на контекст конкретного приложения.
Возвращаемые значения
OT_ERROR_NONE
Добавил обратный вызов в список обратных вызовов.
OT_ERROR_ALREADY
Обратный звонок уже зарегистрирован.
OT_ERROR_NO_BUFS
Не удалось добавить обратный вызов из-за нехватки ресурсов.

Макросы

OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

Рекомендуемый размер строкового представления времени безотказной работы.

Ресурсы

Разделы справочника по API OpenThread взяты из исходного кода, доступного на GitHub . Чтобы получить дополнительную информацию или внести свой вклад в нашу документацию, обратитесь к разделу Ресурсы .