Configuring OpenThread libraries on TI CC13x4_CC26x4 Platforms#
Overview#
TI Matter example applications provide configuration options for how Thread code is included in the build. Thread code can be included in as:
Thread certified library optimized for Matter (recommended for development and production)
Full Source (can be used for development)
Custom option where customers can update the Thread config file to change the included OpenThread feature set
The library builds have been optimized for Matter to disable features such as
Thread Joiner capability in order to save on Flash/RAM usage. Refer to the
ti_matter_production_certification.md
to get the cert ID for your Matter
certification application when using the certified Thread libraries from TI.
Build arguments have been added to enable Matter applications to link against certified OpenThread FTD/MTD libraries or custom user libraries.
Platform Code Changes#
To configure a TI example to utilize either an OpenThread source or library
build, open up the args.gni
file of the example:
To configure the device as an FTD or MTD, set following parameter to either true or false respectively.
chip_openthread_ftd = true
TI Certified OpenThread Library:
Typically this is used for development.
ot_ti_lib_dir
Is set to an empty stringot_ti_lib_dir=""
chip_openthread_target
Points to the TI certified library dependencychip_openthread_target = "${chip_root}/third_party/openthread/platforms/ti:ot-ti-cert"
openthread_external_platform
Points to the OpenThread build dependency`openthread_external_platform="${chip_root}/third_party/openthread/platforms/ti:libopenthread-ti"`
OpenThread Library From Source:
ot_ti_lib_dir
Is set to an empty stringot_ti_lib_dir=""
chip_openthread_target
Is set to an empty stringchip_openthread_target = ""
openthread_external_platform
Points to the OpenThread build dependencyopenthread_external_platform="${chip_root}/third_party/openthread/platforms/ti:libopenthread-ti"
Custom OpenThread Library:
The custom OpenThread library is used to implement extra features, or when modifying the stack in anyway.
ot_ti_lib_dir
Points to a library directory containing a customlibopenthread-ftd/mtd
variantot_ti_lib_dir="${chip_root}/CUSTOM_LIB_DIR_PATH/"
chip_openthread_target
Is set to an empty stringchip_openthread_target = ""
openthread_external_platform
Points to the OpenThread build dependencyopenthread_external_platform="${chip_root}/third_party/openthread/platforms/ti:libopenthread-ti"
The TI OpenThread certified library for the MTD/FTD configurations is based on the following header file:
third_party/openthread/ot-ti/src/openthread-core-cc13xx_cc26xx-config-matter.h
In order to update the OpenThread configuration when building from source or a custom library, users may adjust features via the following configuration header file:
${chip_root}/examples/platform/cc13x4_26x4/project_include/OpenThreadConfig.h
Please refer to TI’s standalone OpenThread Application build process for instructions on acquiring FTD/MTD libraries as they are automatically built when generating the standalone applications.
third_party/openthread/ot-ti/README.md