This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NRF thread role

Hi Nordic engineer:

           When I used examples\multi protocol\ble thread\ble_thread_dyn_mtd_coap_cli, I found that the device could not automatically assign LEADER, Router, and CHILD roles.

                 <info> app: Thread version: OPENTHREAD/20180926-00632-g2279ef61; NRF52840; May 23 2019 20:43:08
                 <info> app: Network name: OpenThread
                 <info> app: Thread interface has been enabled.
                 <info> app: 802.15.4 Channel : 11
                 <info> app: 802.15.4 PAN ID : 0xABCD
                <info> app: Radio mode: : rx-off-when-idle
                <info> app: BLE Thread dynamic MTD CoAP client example started.
                <info> app: State changed! Flags: 0x045F133D Current role: 1

                <info> app: State changed! Flags: 0x00000040 Current role: 1    

 
           When I use this example, Thread3.1.0\examples\thread\simple_coap_client, the device automatically determines the role after 10 seconds of power-on initialization.

           <info> app: Thread version: OPENTHREAD/20180926-00632-g2279ef61; NRF52840; May 23 2019 20:44:20
           <info> app: Network name: OpenThread
           <info> app: Thread interface has been enabled.
          <info> app: 802.15.4 Channel : 11
          <info> app: 802.15.4 PAN ID : 0xABCD
           <info> app: Radio mode: : rx-on-when-idle
          <info> app: State changed! Flags: 0x040F131D Current role: 1

           <info> app: State changed! Flags: 0x027012A5 Current role: 4

  • Hi Noa, 

    As the name suggested, it can only act as MTD device (Minimum Thread Device). It can't take the role of Leader or router. 

    It's defined here

    Minimal Thread Device

    A Minimal Thread Device does not subscribe to multicast traffic and forwards all messages to its Parent. There are two types of MTDs:

    • Minimal End Device (MED) — transceiver always on, does not need to poll for messages from its parent
    • Sleepy End Device (SED) — normally disabled, wakes on occasion to poll for messages from its parent

    An MTD can only operate as an End Device (Child).

    It would need to have a router to assign it as a child. 

  • Hi Hung Bui,

          Thank you very much, I set some parameters and some libraries, successfully set up as MTD devices. 

             

Related