Greetings all. Spark is busier than ever, but it’s important to me that we keep you in the loop. Here’s the latest.
Our Photon prototypes are functional. We have the soft AP setup process working in the happy path with early versions of the firmware and iOS SDK. We are squashing the common errors quickly and building our list of edge cases to tackle next.
Here’s a tale of one of the perplexing bugs we recently crushed, related to a specific moment in the soft AP process when the Photon scans for Wi-Fi networks in the area, reporting them to the mobile app. Broadcom provides example scanning code in the WICED SDK in an app called
snip.scan which works on their standard eval board. We ported it to our firmware, which is running on quite different hardware, but few modifications were required.
When there are only a few networks around, like in @mdma’s dev environment, everything works perfectly. However, when we tried it at Sparkhaus (or basically anywhere in San Francisco) we would see a couple odd behaviors. We would never get more than about 5 Wi-Fi networks from a scan. The more networks there are in the area, the less likely it becomes that your desired network was in the list of 5 shown in the mobile app. Worse, the dev Photons sometimes crashed during the scan! We had all eyes on the code, testing it everywhere from Mangalore, to Tel Aviv, to San Francisco. Everybody was reporting results back to Mat in Norway, where he couldn’t reproduce the failure.
And then he awoke in the middle of the night with an idea. I was still sitting at my desk in SF, and we went back and forth testing a few things, narrowing down potential causes. And then it suddently became clear. Hidden networks were the issue. They showed up in the list but without an SSID. Null references were getting passed through to underlying WICED code anytime there was a hidden network around. Once we pinpointed the problem, the fix was obvious. And there was much rejoicing.
You might wonder where you can watch the firmware development. We’ve gotten this question from many product creators. Broadcom’s WICED SDK is proprietary and closed source. We’re negotiating with them to be able to distribute it with our open source stack, and we’re hopeful that an agreement will be reached soon. For the moment we’re working on the firmware in a private repo, and we will open source it as soon as we get the go ahead from Broadcom.
Fleet Management Coming…
We’re starting to have more meetings with the product creators who are farthest along. We have the beginnings of a fleet management system and are building more features every day. We are aiming to be the best solution for managing your massive deployments of amazing connected products.
Some big things are happening soon.
Are you ready?