I've been developing a DataField and testing it in the simulator and on my Edge 830. After some minor changes to my code and loading it onto my Edge yesterday, the device got stuck in a loop where it would crash while booting and then restart... only to crash a few seconds later in a forever repeating cycle. After much fiddling with button presses I eventually got to a diagnostics screen and after that it booted up with factory defaults - I had to reconfigure all settings, profiles, sensors, connections etc.
After some experimentation I found the issue seems to be related to my code size/usage - see below:
* First I removed a section of source code (lets call it Block A) and the Datafield loaded and worked.
* Then I replaced Block A, but removed a different section (Block B), and again it worked fine.
* Then I replaced Block B and it crashed.
* I then updated the SDK from 3.1.4 to 3.1.5, but the Datafield still crashed
I had thought I was comfortably below the device limits, according to the Simulator:
Memory Usage: 32.2/124.6kB
Peak Memory: 35.2kB
Object Usage: 40/65535
Peak Objects: 61
Please try help me figure this out
1. Is the above Memory usage info in the Simulator a reliable/accurate check? Is there a bug in the system or am I missing something?
2. If the repeating crash cycle occurs, how should it be stopped? (What button press sequence)
3. Is it possible to recover from the above without reverting to factory defaults, or to save/restore a configuration?
I am quite new to Connect IQ development so apologies if it's something obvious, but any help would be much appreciated.
Thanks
Mark