A number of you have encountered a bug where the Spark Core will not hold a persistent connection to the Cloud, and does not successfully attempt to re-connect to the Cloud. Here are a few threads on the topic:
NOTE: This is a different issue from an unresponsive Core that still claims to be connected (https://community.spark.io/t/known-issue-long-delays-or-blocking-code-kills-the-connection-to-the-cloud/950). We are separately working on that issue, as noted in the linked thread.
This is a top priority issue and our lead embedded developer is still on vacation. So we're offering it up to the community: who wants to take a stab?
There seem to be two separate issues at hand:
1) A Core with a solid, reliable internet connection will at some point disconnect from the Cloud, often after hours of being successfully connected.
2) While the Core should automatically re-connect, it does not do so, and instead stays in a persistent state of "flashing cyan" until it is manually reset. (NOTE: This is in contrast with disconnects that happen for other reasons; for instance, when we re-boot the Cloud, Cores automatically re-connect without issue).
These issues probably stem from our implementation of the CC3000 host driver.
We are issuing the following bug bounty:
- If you (1) make an improvement to our firmware to fix the above issues and kill the 'cyan flash of death' (2) send your improvements in as a pull request on Github, and (3) your pull request is accepted by the team, we will send you a $100 credit for Spark stuff (Cores, accessories, or kits), plus a Spark T-shirt to share your love!
- If multiple pull requests are sent, the first that we accept will get the bounty. If we accept other pull requests for incremental improvements, they will receive a free Spark Core, up to a limit of 5 pull requests. Only one bounty per person.
- If you make any other unrelated improvements to our firmware that specifically relate to improving reliability of the connection to the Cloud that we accept as a pull request (same 3-step process as above), we will also send a free Spark Core, up to a limit of 5. Only one bounty per person.
NOTE: You will need to sign our Contributor License Agreement for us to accept your pull requests.
Repositories below! Thanks for your help, and if you have any questions, please let me know.