Just wanted to share my new project. It displays live NHL, NBA, and NFL scores on an Adafruit 32x32 RGB matrix panel. To switch between sports, I used an IR compound eye (found here). Just wave you hand in front of the sensor, and watch the magic happen! (You could easily change this to a button, or something else less magical)
Flashing this code will cause any subsequent OTA updates to fail, (at least on the core) so be prepared to flash locally, or factory reset
Compiling this code with v0.4.9 of the particle firmware will cause the core to disconnect from the cloud shortly after connecting. Compile with 0.4.7.
EDIT: It seems that both of these issues are fixed by using a Photon
Any insight/help on either of these issues is greatly appreciated.
And finally, I would like to thank @peekay123 for providing me with the core, and for his work on the libraries used.
This might be due to longish periodes between dropping out of loop() or your Particle.process() calls.
To test this theory put some Serial.println(millis()) (or the difference between last and current millis()) statements before end of loop() and all Particle.process() statemens and see what your max delay is. If it's about a sec or so, sprinkle some more Particle.process() in there.
The longest down time between Particle.process() was ~850ms, but even after resolving that, the OTA updates continue to fail. If it helps diagnose the problem, the core’s LED stays solid magenta when attempting to update.
@randomguy1124, I’ll try this out on my panel and Core to see what I can find. The panel display library uses high speed interrupts which may interfere with the updates on a Core.
@randomguy1124, I have designed a new RGB Matrix shield for this year’s San Francisco Maker Fair (May 20-22). A full kit including the shield and RGB panel will be sold at Particle’s booth. Because of that, expect interest in your great post as folks will likely be trying out on their kits! I just wanted to say thanks for this fantastic contribution