Hey everyone,
In my application I'm using TI15.4 stack in FH mode, and we have a need to sync activation of outputs on multiple sensors, such as an LED for instance.
Easiest way to accomplish this is via broadcasts, however due to application requirements, we've realized that broadcasts are too power hungry. Since we need a quick activation time, that would requires broadcast interval to be short, and it's just not acceptable in terms of power. Besides, all sensors would be wasting power for turning on reception during the broadcast slots, even when there is no broacast message to be sent, and even on nodes that don't need the synching, wasting unnecessary power.
So our second approach is to use polls, we use short interval polls, only on sensors which have the need for quick activation. The problem with polls is they happen randomly within that interval. Let's imagine a 5s poll interval. My idea is when the collector sends the activation request for all the desired nodes, it also sends a timestamp for when the LED should turn on, and this would always need to be higher than 5s (the poll interval). This way I can guarantee that even in the worst scenario (5s after the request was sent by collector) all the LEDs still turn on simultaneous.
The problem now is having a network synched clock. I don't want to implement a new one, since that will require frequent synchronization messages from the collector, to correct the drift on the nodes, wasting more power. I noticed in the documentation that the ACKs from the collector contain UTT-IE elements, for the nodes to manage their unicast communication schedule with the collector, to know which channel the collector is in at any given moment.
Am I correct in assuming this UTT-IE information could be used for this application? I know it's not the purpose of those elements, those are used for internal network events, but if a timing information or some sort of network clock is available there, which is relatively well synched across all network devices, then I think there should be a way to tap into that information and use it as a output synching mechanism as well. In practicality, I just need a time variable that is the same at any moment, on the entire network. Or is there another way I'm missing? Is there some sort of network clock/timing info somewhere else that could be used for this?

