Пример

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

Краткое содержание

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

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.
otInstanceGetId ( otInstance *aInstance)
uint32_t
Получает идентификатор экземпляра.
otInstanceGetUptime ( otInstance *aInstance)
uint64_t
Возвращает время безотказной работы текущего экземпляра (в мс).
otInstanceGetUptimeAsString ( otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
Возвращает время безотказной работы текущего экземпляра в виде удобочитаемой строки.
otInstanceInit (void *aInstanceBuffer, size_t *aInstanceBufferSize)
Инициализирует библиотеку OpenThread.
otInstanceInitMultiple (uint8_t aIdx)
Инициализирует экземпляр OpenThread.
otInstanceInitSingle (void)
Инициализирует один статический экземпляр библиотеки OpenThread.
otInstanceIsInitialized ( otInstance *aInstance)
bool
Указывает, действителен/инициализирован ли экземпляр.
otInstanceReset ( otInstance *aInstance)
void
Запускает сброс платформы.
otInstanceResetRadioStack ( otInstance *aInstance)
void
Сбрасывает внутренние состояния радиостека OpenThread.
otInstanceResetToBootloader ( otInstance *aInstance)
Запускает сброс платформы в режим загрузчика, если это поддерживается.
otRemoveStateChangeCallback ( otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
Удаляет обратный вызов, чтобы указать, когда в OpenThread изменяется определенная конфигурация или состояние.
otSetStateChangedCallback ( otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
Регистрирует обратный вызов, чтобы указать, когда в OpenThread изменяется определенная конфигурация или состояние.

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

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
Указатель на контекст конкретного приложения.

Функции

отжетрадиоверсионстринг

const char * otGetRadioVersionString(
  otInstance *aInstance
)

Получает строку версии радио OpenThread.

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

отGetVersionString

const char * otGetVersionString(
  void
)

Получает строку версии OpenThread.

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

отинстанцеэрасеперсистентинфо

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.

отинстанцефинализе

void otInstanceFinalize(
  otInstance *aInstance
)

Отключает библиотеку OpenThread.

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

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

отинстанцежетид

uint32_t otInstanceGetId(
  otInstance *aInstance
)

Получает идентификатор экземпляра.

Идентификатору экземпляра присваивается случайное значение при создании экземпляра, и тогда его значение не изменится после инициализации.

Подробности
Возврат
Идентификатор экземпляра.

отинстанцежетуптайм

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

Возвращает время безотказной работы текущего экземпляра (в мс).

Для включения требуется OPENTHREAD_CONFIG_UPTIME_ENABLE .

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

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

отинстанцежетуптимеасстринг

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 .

отинстанцеинит

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

Инициализирует библиотеку OpenThread.

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

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

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

отинстанцеинитмултипле

otInstance * otInstanceInitMultiple(
  uint8_t aIdx
)

Инициализирует экземпляр OpenThread.

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

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

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

отинстанцеинитсингл

otInstance * otInstanceInitSingle(
  void
)

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

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

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

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

отинстанциисинициализированный

bool otInstanceIsInitialized(
  otInstance *aInstance
)

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

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

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

отинстанцересет

void otInstanceReset(
  otInstance *aInstance
)

Запускает сброс платформы.

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

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

отинстанцересетрадиостек

void otInstanceResetRadioStack(
  otInstance *aInstance
)

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

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

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

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

отинстанцересеттобутлоадер

otError otInstanceResetToBootloader(
  otInstance *aInstance
)

Запускает сброс платформы в режим загрузчика, если это поддерживается.

Требуется OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращаемые значения
OT_ERROR_NONE
Сброс в загрузчик выполнен успешно.
OT_ERROR_BUSY
Ошибка, поскольку выполняется другая операция.
OT_ERROR_NOT_CAPABLE
Невозможно выполнить сброс загрузчика.

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_CHANGED_ACTIVE_DATASET

 OT_CHANGED_ACTIVE_DATASET (1U << 28)

Активный набор эксплуатационных данных изменен.

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

 OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21)

Менеджер каналов: новый ожидающий канал потока изменен.

OT_CHANGED_COMMISSIONER_STATE

 OT_CHANGED_COMMISSIONER_STATE (1U << 23)

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

OT_CHANGED_IP6_ADDRESS_ADDED

 OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0)

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

OT_CHANGED_IP6_ADDRESS_REMOVED

 OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1)

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

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12)

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

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13)

Отменена подписка на адрес многоадресной рассылки IPv6.

OT_CHANGED_JOINER_STATE

 OT_CHANGED_JOINER_STATE (1U << 27)

Состояние соединения изменено.

OT_CHANGED_NAT64_TRANSLATOR_STATE

 OT_CHANGED_NAT64_TRANSLATOR_STATE (1U << 30)

Изменилось состояние транслятора NAT64.

OT_CHANGED_NETWORK_KEY

 OT_CHANGED_NETWORK_KEY (1U << 18)

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

 OT_CHANGED_PARENT_LINK_QUALITY (1U << 31)

Изменилось качество родительской ссылки.

OT_CHANGED_PENDING_DATASET

 OT_CHANGED_PENDING_DATASET (1U << 29)

Ожидаемый набор эксплуатационных данных изменен.

OT_CHANGED_PSKC

 OT_CHANGED_PSKC (1U << 19)

PSKc изменен.

OT_CHANGED_SECURITY_POLICY

 OT_CHANGED_SECURITY_POLICY (1U << 20)

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

OT_CHANGED_SUPPORTED_CHANNEL_MASK

 OT_CHANGED_SUPPORTED_CHANNEL_MASK (1U << 22)

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

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

 OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL (1U << 26)

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

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

 OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25)

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

OT_CHANGED_THREAD_CHANNEL

 OT_CHANGED_THREAD_CHANNEL (1U << 14)

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

OT_CHANGED_THREAD_CHILD_ADDED

 OT_CHANGED_THREAD_CHILD_ADDED (1U << 10)

Ребенок добавлен.

OT_CHANGED_THREAD_CHILD_REMOVED

 OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11)

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

OT_CHANGED_THREAD_EXT_PANID

 OT_CHANGED_THREAD_EXT_PANID (1U << 17)

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

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

 OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER (1U << 8)

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

OT_CHANGED_THREAD_LL_ADDR

 OT_CHANGED_THREAD_LL_ADDR (1U << 3)

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

OT_CHANGED_THREAD_ML_ADDR

 OT_CHANGED_THREAD_ML_ADDR (1U << 4)

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

OT_CHANGED_THREAD_NETDATA

 OT_CHANGED_THREAD_NETDATA (1U << 9)

Данные сети потоков изменены.

OT_CHANGED_THREAD_NETIF_STATE

 OT_CHANGED_THREAD_NETIF_STATE (1U << 24)

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

OT_CHANGED_THREAD_NETWORK_NAME

 OT_CHANGED_THREAD_NETWORK_NAME (1U << 16)

Имя сети потока изменено.

OT_CHANGED_THREAD_PANID

 OT_CHANGED_THREAD_PANID (1U << 15)

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

OT_CHANGED_THREAD_PARTITION_ID

 OT_CHANGED_THREAD_PARTITION_ID (1U << 7)

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

OT_CHANGED_THREAD_RLOC_ADDED

 OT_CHANGED_THREAD_RLOC_ADDED (1U << 5)

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

OT_CHANGED_THREAD_RLOC_REMOVED

 OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6)

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

OT_CHANGED_THREAD_ROLE

 OT_CHANGED_THREAD_ROLE (1U << 2)

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

OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

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

Ресурсы

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