First post. First Core. First Impressions. Neat little unit.
Very impressive the way that it’s managed in the cloud. Am looking forward to buying the Proton. I’d like a simple tool to manage it completely off-cloud (like the Arduino IDE) but am sure that’s only a matter of time.
A few things that I’m struggling to understand, probably because I’m looking too hard:
As far as I can tell the Core has several bits of firmware/software. Is this correct:
a) Bootloader – permanently burned in to the Core
b) A read-only copy of firmware that is reinstated on factory-reset
c) The ‘deep’ firmware, eg deep_update_2014_06.bin
d) A combined operating system plus my own code – which is replaced in its entirety when I flash the firmware with my code.
Does spark flash call dfu-util? If so then does that mean I can use dfu-util directly to deploy my own code (having compiled it in the cloud and then downloaded it)? The reason that I ask is that it would be useful to be able to reinstate a known-good bit of code without the overhead of having to install spark-cli (because nodejs and npm are proving a pain to get working at the moment).
I’d like to understand the lifecycle of the code when it executes. I’ve read somewhere that loop() gets repeatedly called every 10-15 milliseconds and that if loop() takes more than five seconds then it starts to affect the system because of the interaction with the cloud. Is that correct? During the execution of loop(), does my code get interrupted by anything – for instance the Core wanting to talk to the cloud or other events handling?