Пример
Этот модуль включает функции, управляющие экземпляром 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_*
.
otStateChangedCallback
void(* otStateChangedCallback)(otChangedFlags aFlags, void *aContext)
Указатель вызывается для уведомления об определенных изменениях конфигурации или состояния в OpenThread.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
Функции
отжетрадиоверсионстринг
const char * otGetRadioVersionString( otInstance *aInstance )
Получает строку версии радио OpenThread.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Указатель на версию радио OpenThread. |
отGetVersionString
const char * otGetVersionString( void )
Получает строку версии OpenThread.
Подробности | |
---|---|
Возврат | Указатель на версию OpenThread. |
отинстанцеэрасеперсистентинфо
otError otInstanceErasePersistentInfo( otInstance *aInstance )
Удаляет всю постоянную информацию OpenThread (сетевые настройки), хранящуюся в энергонезависимой памяти.
Удаление выполняется успешно только в том случае, если устройство находится в disabled
состоянии/роли.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otInstanceFactoryReset
void otInstanceFactoryReset( otInstance *aInstance )
Удаляет все настройки, хранящиеся в энергонезависимой памяти, а затем запускает сброс платформы.
Подробности | |||
---|---|---|---|
Параметры |
|
отинстанцефинализе
void otInstanceFinalize( otInstance *aInstance )
Отключает библиотеку OpenThread.
Вызовите эту функцию, когда OpenThread больше не используется.
Подробности | |||
---|---|---|---|
Параметры |
|
отинстанцежетид
uint32_t otInstanceGetId( otInstance *aInstance )
Получает идентификатор экземпляра.
Идентификатору экземпляра присваивается случайное значение при создании экземпляра, и тогда его значение не изменится после инициализации.
Подробности | |
---|---|
Возврат | Идентификатор экземпляра. |
отинстанцежетуптайм
uint64_t otInstanceGetUptime( otInstance *aInstance )
Возвращает время безотказной работы текущего экземпляра (в мс).
Для включения требуется OPENTHREAD_CONFIG_UPTIME_ENABLE
.
Время безотказной работы указывается как количество миллисекунд с момента инициализации экземпляра OpenThread.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Время безотказной работы (количество миллисекунд). |
отинстанцежетуптимеасстринг
void otInstanceGetUptimeAsString( otInstance *aInstance, char *aBuffer, uint16_t aSize )
Возвращает время безотказной работы текущего экземпляра в виде удобочитаемой строки.
Для включения требуется OPENTHREAD_CONFIG_UPTIME_ENABLE
.
Строка имеет формат "
Если результирующая строка не помещается в aBuffer
(в пределах символов aSize
), строка будет усечена, но выводимая строка всегда заканчивается нулем.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
отинстанцеинит
otInstance * otInstanceInit( void *aInstanceBuffer, size_t *aInstanceBufferSize )
Инициализирует библиотеку OpenThread.
Инициализирует OpenThread и подготавливает его для последующих вызовов API OpenThread. Эту функцию необходимо вызывать перед любыми другими вызовами OpenThread.
Доступен и может использоваться только в том случае, если включена поддержка нескольких экземпляров OpenThread.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | Указатель на новый экземпляр OpenThread. |
отинстанцефинализе
отинстанцеинитмултипле
otInstance * otInstanceInitMultiple( uint8_t aIdx )
Инициализирует экземпляр OpenThread.
Эта функция инициализирует OpenThread и подготавливает его для последующих вызовов API OpenThread. Эту функцию необходимо вызывать перед любыми другими вызовами OpenThread. Этот метод использует статический буфер для инициализации экземпляра OpenThread.
Эта функция доступна и может использоваться только в том случае, если включена поддержка нескольких статических экземпляров OpenThread ( OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE
).
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Указатель на новый экземпляр OpenThread. |
отинстанцеинитсингл
otInstance * otInstanceInitSingle( void )
Инициализирует один статический экземпляр библиотеки OpenThread.
Инициализирует OpenThread и подготавливает его для последующих вызовов API OpenThread. Эту функцию необходимо вызывать перед любыми другими вызовами OpenThread.
Доступен и может использоваться только в том случае, если отключена поддержка нескольких экземпляров OpenThread.
Подробности | |
---|---|
Возврат | Указатель на один экземпляр OpenThread. |
отинстанциисинициализированный
bool otInstanceIsInitialized( otInstance *aInstance )
Указывает, действителен/инициализирован ли экземпляр.
Экземпляр считается действительным, если он получен и инициализирован с помощью otInstanceInitSingle()
(в случае одного экземпляра) или otInstanceInit()
(в случае нескольких экземпляров). Последующий вызов otInstanceFinalize()
приводит к тому, что экземпляр считается неинициализированным.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | TRUE, если данный экземпляр действителен/инициализирован, в противном случае FALSE. |
отинстанцересет
void otInstanceReset( otInstance *aInstance )
Запускает сброс платформы.
Процесс сброса гарантирует, что все состояние/информация OpenThread (хранящиеся в энергозависимой памяти) будут удалены. Обратите внимание, что otPlatformReset
не стирает какое-либо постоянное состояние/информацию, сохраненную в энергонезависимой памяти.
Подробности | |||
---|---|---|---|
Параметры |
|
отинстанцересетрадиостек
void otInstanceResetRadioStack( otInstance *aInstance )
Сбрасывает внутренние состояния радиостека OpenThread.
Обратные вызовы и конфигурации сохраняются.
Этот API доступен только в сборках радио ( OPENTHREAD_RADIO = 1
).
Подробности | |||
---|---|---|---|
Параметры |
|
отинстанцересеттобутлоадер
otError otInstanceResetToBootloader( otInstance *aInstance )
Запускает сброс платформы в режим загрузчика, если это поддерживается.
Требуется OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE
.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
otRemoveStateChangeCallback
void otRemoveStateChangeCallback( otInstance *aInstance, otStateChangedCallback aCallback, void *aContext )
Удаляет обратный вызов, чтобы указать, когда в OpenThread изменяется определенная конфигурация или состояние.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
otSetStateChangedCallback
otError otSetStateChangedCallback( otInstance *aInstance, otStateChangedCallback aCallback, void *aContext )
Регистрирует обратный вызов, чтобы указать, когда в OpenThread изменяется определенная конфигурация или состояние.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
Макросы
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
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 . Для получения дополнительной информации или внесения вклада в нашу документацию обратитесь к Ресурсам .