My guess would be Serial1, because that was improved in the new release (now has a ring buffer so it reliably returns data). I don’t see any reason the others would have changed in this release, at least not off the top of my head.
I’ve commented out everything in main loop and setup and it still fails.
Serial1 micht be the issue, as it is initialized in Garan library class constructor.
This need fixing.
Zach, ryotsuke, there has always been problems doing hardware setup in class constructors since the core firmware main() overwrites any user inits. Perhaps this is the problem with Serial1.begin in this case. I would be nice to fix this issue.
The issues is most likely related to the ordering of statically declared object. There has always been an issue with the order things are constructed when declared static (at file scope)
Good point david_s5. For lots of folks porting arduino libraries, this has been standard practice. Perhaps it should be standard for all Spark libraries to avoid any future problems.
I would also jump in and say unless you’re flashing over DFU each time, this could be a side-effect of the somewhat semi-random “OTA flashing bug” – If this happens consistently after a few times of flashing the same firmware, then it’s probably not random, etc.