I'm seeking advice on how to implement a watchdog that's integrated with the stack and the API and its various power modes.
I have a fairly simple application running on a CC2541, based on the simple BLE peripheral sample code. The application spends a lot of time waiting for a connection and advertises at a rate of once every 2 seconds. The application has to be robust as there is no way to reset the device once it is running, and it needs to stay going for 2 years or longer. I've found a couple of my prototype devices that I can no longer connect to without a reset, so something is hanging somewhere.
How robust is the ble stack? I'm using the latest version 1.3. Can I depend on it not to hang? How would I implement a watchdog for it?
What's the best way to implement a watchdog in my application (not just the stack) given that I want to take advantage of it's low power modes?
Battery life is critical so whatever I do has to be power efficient.
Thanks
Dan