The Thread Specification defines two types of devices with their respective sub-types:
Full Thread Devices (FTD)
1.1. Router
1.2. Router Elegible End Device (REED)
1.3. Full End Device (FED)
Minimal Thread Devices (MTD)
2.1. Minimal End Device (MED)
2.2. Sleepy End Device (SED)
2.3. Synchronized Sleepy End Device (SSED)
From my understanding of the specification, a FED cannot forward messages and is not capable of becoming a Router. This sounds to me like a power-hungry MTD, since it has its radio always on.
Then why does it even exist?
CodePudding user response:
openthread.io has a good definition of the differences between FED & MTD:
A Full Thread Device (FTD) always has its radio on, subscribes to the all-routers multicast address, and maintains IPv6 address mappings...Full End Device (FED) — cannot be promoted to a Router
A Minimal Thread Device does not subscribe to the all-routers multicast address and forwards all messages to its Parent...Minimal End Device (MED) — transceiver always on, does not need to poll for messages from its parent
An MTD saves power compared to an FTD at the expense of some functionality. Being a router or router-eligible requires more RAM. So if you have an always-on and line powered device but need to save RAM (or don't have any to spare,) it makes sense to configure it as a FED.