I have a few of the MRBKW01 eval boards and have been testing out the FreeRTOS supported demo code with early success. Next step is to optimize battery life of End Devices at transmit intervals of 10sec, 30sec, 120 sec and so on up to 300sec.
For low energy configs, I looked into the CSL and RIT configurations as well, but unfortunately these modes, on the surface, do not offer the frequency diversity needed in my application. TSCH obviously does.
Given the Freescale TSCH demo source code, has anyone had success putting their TSCH End Devices in a deep sleep between the scheduled wake up and transmit/receive cycles?
If so, could you give the community some pointers?
TSCH does not include low power support due to timeslot synchronization considerations.
Depending on your setup, a TSCH End Device could choose to enter a low power mode and then scan again for a Coordinator's Enhanced Beacon in order to re-synchronize to the network and then be able to exchange data, assuming that the TSCH Coordinator will continue to advertise Enhanced Beacons.
I would like to try your suggestion and allow the TSCH end device to enter a low power mode.
My precomplier has been updated to include the *framework/LPM/Interface/KW0xZ/* headers.
I've tried to build the Low Power Interface into my IAR workspace and get linker errors:
[Li005] no definition of PWR_CheckForAndEnterNewPowerState_Init
[Li005] no definition of PWR_CheckifDeviceCanGoToSleep
[Li005] no definition of PWR_EnterLowPower
I'm missing a pre-compiler flag somewhere and I'm afraid it is buried in the Freescale_802.15.4_MAC_06eTSCHg_M0_IAR.a binary.
How would you go about adding the Low Power lib into the TSCH End Device demo source?
Hello Ben,
The Low Power code is placed in the framework in these paths:
- framework\LPM\Interface\KW0xZ
- framework\LPM\Source\KW0xZ
Please add these sources to your project, similar to how it is done in the MAC_LE_Demo project.
Sorin, thanks for the reply.
I was hoping I could get away with making the end device sleep in between its scheduled interval update back to the coordinator, such that, a rescan for the Enhanced Beacon would not be necessary and synchronization would be maintained.
My minimum interval for transmission to the coordinator is 10 seconds. Plenty of time to sleep, however, I'm concerned about the clock drift when end device is sleeping.