The last two weeks have been a lot of work on a variety of issues. There is no longer a single unifying goal – “Get the meters shipped” – now there are many smaller goals. Here is what’s been happening.
Google Play Store
The Mooshimeter Android app is now available in the Google Play Store. The apk files will still be available at moosh.im/s , but beta testing will also be moving to Google Play’s beta testing service. The beta program allows for better feedback, and the Play Store also warns users about hardware and software compatibility. To join the Android app beta group, click here [Edit Feb 28: Fixed link].
The Android app can now upload new application firmware over the air to the Mooshimeter. There are still some bugs in the Android BLE stack that make the process clumsier and slower than from the iOS app. To upload the firmware the user must reboot the Mooshimeter and connect to it within the first 5 seconds of it booting (while it is giving the long, slow flashes). I’ll post an instruction video soon.
From the iOS app firmware upload takes about a minute, from the Android app it takes about 8 minutes. The Android BLE stack has a nasty habit of dropping packets when you try to send data too quickly, so the Android firmware upload process is doing a level of verification that the iOS version does not.
Users of some Android tablets were reporting the screen rotation behavior was exactly wrong: when they were in portrait, the app would turn to landscape and vice versa. Screen rotation was based on the angle reported by the orientation sensor before, but it turns out the zero angle is not standard in all devices. This has been addressed.
Manual Rotation Button
By popular demand, there is now a button to manually switch between meter and graph view. There is still a bug in auto-rotation on the iPad, working on it.
Previously beta testing has been through TestFlight, which is a separate entity from the App Store. Apple is shutting down TestFlight on Feb. 26, so beta testers have been migrated to the new Apple App Store testing service. I have mixed feelings about this new service… the integration with the App Store is nice because it means one less entity to deal with, but to upload a beta app requires “Beta Approval”, which seems to take 1-2 days. If you joined through the recruitment link before Feb 26th you’ve been ported to the new system. The new system doesn’t provide an easy recruitment link, so I might set up a separate Google Group for that and port it manually.
64 bit support
Apple started requiring in February that all submissions to the App Store be built for both arm32 and arm64. This makes apps more efficient on newer devices, but creates a bit of a pain for developers who have linked in static pre-built libraries that are only arm32 compatible. CorePlot is the graphic library used in the Mooshimeter iOS app and I haven’t seen universal (arm32 and arm64 compatible) libraries anywhere, so I built some. If you’re a developer and need to jump through the same hoop, I put the pre-built library here.
SD card logging
This firmware is still in development but I aim to release it in the next few days. I’m fighting some issues with data corruption and timing differences between the various flavors of microSD cards. Last night as an experiment I put a Mooshimeter in the fridge hooked to a light sensor and logged the light and temperature. I was curious whether I could see the duty cycle of the fridge compressor (thank you Prof. Hellman for the idea).
Sure enough, the data clearly reflects the fridge compressor kicking in every 45 minutes. This data needed a little bit of cleanup though – it’s been run through a median filter to catch outliers, because there is intermittent data corruption that I haven’t completely hammered out yet. Without the median filter the temperature data looks like this:
So the logging feature is very solidly in the “debugging” phase. It’ll be in your hands soon.
Resistance Measurement Lock-up
A user in the forums reported an issue measuring resistances in the 10KΩ range. Upon deeper investigation I found it’s another manifestation of the bug I detailed back in December here. The firmware correction for that bug fixed the 10MΩ mode but left the 10KΩ mode vulnerable to a lockup. I’ll push the patch with the release of the logging firmware.
That’s all for now, thanks for reading!