Hi @philipq, don’t read too much into our silence; we’re just very busy
@philipq, the CC3000 has a blocking driver. It is not possible, without implementing a true RTOS (for which there is not really enough available memory along with the rest of the stack), to make a connect()
call and run your own code on the Core simultaneously.
It is possible to change the logic of how many times the Core tries to connect and, when it fails to connect, what it does. If you don’t want the Core to try connecting forever, I’d encourage you to dig into the firmware libraries and make it so that the Core will attempt to connect once, then run your code for a little while, then try to connect again, then run your code for a while, etc. This does require modifying the underlying firmware libraries, as this isn’t a behavior we currently support.
The Photon will almost definitely resolve this issue completely. I say almost simply because we haven’t yet written the software, and I don’t want to make promises I can’t keep. But the architecture of the Photon includes an RTOS to manage user code and connectivity code simultaneously, so we should no longer see any issues with this on the new hardware.