Rolling out as we speak. Among other fixes you can find in the changelog, here are the most important changes
Author: Jeroen Meijer
Anyone who has played with the Research facility, or any log file really, knows the results can be massive and hard to process.
Massimo Ceraolo made a small post-processor that splits up the data per field, timestamped from start-of log. The output files (one per field) are pretty easy to convert into plots with Excel or other programs.
In the upcoming release you can save and load two tire sets to phone storage. It was a deliberate choice not to store the sensor IDs in CanZE’s internal storage, because that disappears when uninstalling. The sets can be found as simple CSV files in the /CanZE/ folder on your phone. This addition should make it much easier to swap your winter and summer tires.
Note: to understand how the Research screen in the Experimental section works, see this post.
It is now possible to log positional data together with the other logged data. This functionality is only available in the Research screen. To use it, you need to manually give CanZE location permission in the App settings of your phone, enable location, and finally add the following line to your /CanZE/_Research.csv file
Since GPS data are of course three numbers in one result, that result is presented in the log file as a string with the latitude, longitude and elevation separated with a /, for example
For the technically interested: this is a quite significant code change. Not only did we have to allow virtual fields in the Research screen, but also allow fields to be triggered externally. Normally, CanZE maintains a circular queue of fields it triggers to fetch from the car. In contrast, GPS events are triggered by Android itself, so instead of manipulating the queue and the process that handles that queue, now individual, virtual fields need to be enabled, started and stopped by screen starts, stops, pauses and resumes.
This feature is available in 1.50-beta3. I am pretty sure there are many kinks to iron out, so if you are interested, enroll in the Beta through the Play Store and put it to the test please.
Teaser alert: there is some exciting news coming up soon for the research and logger fanatics out there. But first, here is a recap of the permissions CanZE needs and why it needs it:
- Bluetooth and BluetoothAdmin: needed to make a connection to the dongle. Access can be dis-allowed, but of course CanZE is useless.
- WriteExternalStorage: needed to make log files and read the _Research.csv file. Can be disallowed, but then of course logging is not possible. Promise: We do not manipulate any files outside of the CanZE folder.
- Internet: used to fetch the news bar in the main screen, and to send crash data to crashlytics. This can not be disabled. Promise: For crashlytics: we add no information that can identify the car or phone to crashlogs. For news: no information is sent, the news file itself is hosted on github and we have no access to their web-server logs
- AccessFineLocation: has to be manually, explicitly allowed in Android’s permission settings if wanted and can be disallowed. Related to the teaser, stay tuned.
I have written quite often about our efforts to push back on crashes and ANRs (unresponsive screens). Up until now, and including the latest 1.49 release, our major tool for that has been the Google Play store. If enabled, your phone reports crashes and their call stack back to Google, where it is stripped from user identification and aggregated in our Play Store console. It works well, but it can give a massively false sense of comfort to the developers.
While not fully decided yet, we are implementing a Google product called “crashlytics” which goes a step further. When implemented, the crash reporting
- is done by CanZE, not by Android
- is still stripped from user identification
- reports all crashes, not just the ones enabled in Android
- can contain more information, such as the state of the application instead of just the call stack. This later works by the app saving some information to crashlytics. If the app runs fine, that info is discarded. If it crashes, it is send to the backend database together with the other crash info.
- is presented to us in a comprehensive console, with tons of filters, sorting, tagging.
We’ve read posts where applications reported tens to even hundreds of times more crashes than those coming back to the Play store and thus stayed under the radar. Of course we hope and think that this is not the case for CanZE, but we want you to have a trouble free experience.
What will you notice? Nothing at all. But be assured if/once implemented that every single crash will be reported and looked at.
As a test, this is now in the Open Beta channel.
As announced. Two major changes:
- serious rewrite and testing of Tires screen
- cleanup of Bluetooth connection UI: title changes gone, BT icon now on all screens
We might move to staged rollout in the future, meaning only a small, random percentage would get a new release first to allow a potential massive issue to show up and be addressed before a full rollout. With active user approaching 6000, this level of professionalism is becoming mandatory. As is the Open Beta of course for the daring.
It’s been almost a year since we rolled out TPMS ID writing in CanZE. To be honest, it has always been problematic. Time had come to either fix it for once and for all, or to put a bullet in it.
With a fresh idea from Frédéric Richard and fantastic testing effort from several people in the community (with a special heads up to Göran Nybom who did super detailed testing using his TPMS sensor programming tool) it has been totally overhauled. CanZE now uses a different writing method, fixed all the writing problems, does verity-after-write, checks if the car has TPMS at all and has 100% match between pressures and ID’s *) Oh and inconsistent language (tyres, tires) has been fixed to “tires”.
The latest code is already available in the Open Beta. It will go to production in a couple of days.
*) Remember, the car does not know the actual positions. It assumes the correct IDs are mounted on the correct wheel positions. If you notice a pressure problem but it is indicated in CanZE on a different wheel position, it’s simply a matter of reshuffling the sensor IDs.
Göran Nybom reported on the issue tracker that the Vgate iCar 3 ELM327, which at least seems not to be some no-brand-with-always-changing-guts dongle, works fine. Price seems fair (20-ish), and it’s smaller than the KONNWEI which people might like.
This is no endorsement, we don’t have one, but if you do, please comment with your results, so we can update the hardware page. Or send it to me 😉
Edit: unfortunately, the one I received did not support the ATAL command and contained a main controller with a scraped off top marking. So unfortunately, I cannot honestly recommend buying Vgate, at least not from Aliexpress or Ebay. it seems that these are carbon-copied too. Well, the shell at least.
With more features coming online in cars that unfortunately the software developers cannot and will not buy, we’re in the process of opening up an Open Beta channel for CanZE. If you are daring you can switch over to that track. The Open Beta will be used to release features that need additional testing.
A good example is the Tires screen. Writing TPMS valve IDs has been a long wish and it has been problematic since it was released. That’s what you get when unable to test on a real car! At this moment this is exactly what we are fixing (hopefully) in the beta.
Caution: The OpenBeta channel will not always be the bleeding edge latest and greatest. We have not yet determined if we will roll the actual releases over the Open Beta. We need to see how this goes. No promises. Remember, CanZE is a labor of love……
Nil the above. The way the Play Store works is that everything we put up there, Open Beta or production, has to have a higher number than the previous, and you will always receive the highest number you are entitled to. You are ALWAYS entitled to the production version, and are only entitled to the Open Beta if you opt in. So when we release a production version, by definition that will be the latest greatest. If we were still testing a feature at that point, we’d have to immediately re-release that feature version in the Open Beta.