Which OpenThread lib to choose?

Hello

   Does the green box directly determine which version of the lib to use[lib_openthread_mtd.a]? If so, what is the purpose of the red box? If I change the red box to OPENTHREAD_FTD, will it choose lib_openthread_ftd.a?

Parents
  • Hi,

    CONFIG_OPENTHREAD_NORDIC_LIBRARY_MTD selects the pre-built OpenThread library optimized for Minimal Thread Device (MTD) use cases. This determines which set of features is included in the linked binary and ensures you are using the correct certified library variant for MTD devices. It does not configure your application to behave as an MTD, it only selects the library variant to link against. See OpenThread feature sets.

    CONFIG_OPENTHREAD_MTD configures your application to operate as a Minimal Thread Device. This affects how the application and the OpenThread stack behave at runtime (for example, which device role is assumed, and which APIs and features are enabled in your application code). See OpenThread device type options.

    Setting only CONFIG_OPENTHREAD_NORDIC_LIBRARY_MTD will select the correct library, but unless you also set CONFIG_OPENTHREAD_MTD, your application will not be configured to operate as an MTD. Both must be set to ensure the correct pre-built library is linked, and your application is configured for the intended device role.

    These configurations are separate because you can use the same library for different device roles and build the libraries from sources instead of using the pre-built libraries.

    Best regards,
    Marte

Reply
  • Hi,

    CONFIG_OPENTHREAD_NORDIC_LIBRARY_MTD selects the pre-built OpenThread library optimized for Minimal Thread Device (MTD) use cases. This determines which set of features is included in the linked binary and ensures you are using the correct certified library variant for MTD devices. It does not configure your application to behave as an MTD, it only selects the library variant to link against. See OpenThread feature sets.

    CONFIG_OPENTHREAD_MTD configures your application to operate as a Minimal Thread Device. This affects how the application and the OpenThread stack behave at runtime (for example, which device role is assumed, and which APIs and features are enabled in your application code). See OpenThread device type options.

    Setting only CONFIG_OPENTHREAD_NORDIC_LIBRARY_MTD will select the correct library, but unless you also set CONFIG_OPENTHREAD_MTD, your application will not be configured to operate as an MTD. Both must be set to ensure the correct pre-built library is linked, and your application is configured for the intended device role.

    These configurations are separate because you can use the same library for different device roles and build the libraries from sources instead of using the pre-built libraries.

    Best regards,
    Marte

Children
No Data
Related