Hey @psb777 - I totally understand the request for a "final answer" on the topic. Let me do my best to put the issue to rest at least for the time being.
The CC3000 has a blocking host driver. That means that some of the CC3000 calls will block your user code. If that doesn't work with your application, then the Core is NOT the right product for you. The Photon will resolve these issues once and for all, but in the meantime I recommend that you use a second processor or a different product altogether.
The Core has multiple modes of connectivity: MANUAL
, SEMI-AUTOMATIC
, or AUTOMATIC
. If none of these modes works for your application, then you do have the option of digging into the underlying code to make modifications and try and get the behavior you're looking for. The behavior you want may or may not be possible, depending on how much of the particular constraints you're working through have to do with the CC3000 Host Driver code. If you've worked with an Arduino and a CC3000 shield, you'll hit all the same issues.
We are always interested in feedback and suggestions on what we should change. That said, all of our embedded firmware engineers are working on the Photon right now, and will be for the next couple of months, so we're not putting resources to changes on the Core firmware at the moment. As I mentioned earlier, once the Photon has shipped, we will start working on firmware that will affect both the Photon and the Core (because they will both use the same firmware stack, with a Hardware Abstraction Layer to support the differences).
As for a "definitive answer", I can't give one in the long term, because in my opinion that's not how it works. A community member might choose to issue a pull request, which we accept, that changes the behavior of connectivity by changing what some of the connectivity modes do or by providing a fourth option. Or perhaps we will do so ourselves once the Photon is out. But for the next couple of months, we will not be working on the Core firmware stack, which hopefully gives everybody enough clarity to make the necessary architecture decisions for their projects.