As announced. Many fixes, and new speed control for average speed control systems, a new research tool, and mode that might work a lot better for ELM based dongles.
Ever been busted by an Average Speed Camera system, also called SPECS? They measure your average speed by recording the time difference of passage between two camera locations, either a relatively short distance apart (i.e. between traffic light complexes) or up to several kilometers. In the Netherlands it is called “Trajactcontrole” (Trajectory [speed] control).
We have added an experimental screen called Average Speed to help you avoid tickets for these types of speed infractions. Start the screen and tap on any text on screen to start the measurement, which will be updated in real time. Tap again and a new measurement will start.
But be careful. Keep your eyes on the road and realize some of these systems take both an average as well as spot speed measurements.
Good news for people who want to dig deeper into their ZOE data themselves. We have had several functions to peek into the car. For instance, you can switch on field logging and when on, all fields that are pulled from the car by CanZE are also logged in files in your phone’s memory.
Also, there is the “All Data” screen where you can get all known fields of a single ECU in a single shot. On screen, and simultaneously in a log file.
This does give limited control though on what is pulled while driving. In the next release not only have we improved the log format, there will also be an experimental screen which enables you to log anything you want, as fast as possible. To enable this function you need to create a simple text file called _Research.csv in the folder where CanZE stores it’s log files (usually something like Phone\CanZE\). This file should have the exact same format as CanZE’s internal field definition files. Here is an example:
,7ec,24,39,.02,0,2,%,222002,622002,ff,State Of Charge (SOC) HV battery
,7ec,24,47,1,0,0,km,222006,622006,ff,Total vehicle distance
,7ec,24,39,.5,0,1,V,223203,623203,ff,HV LBC voltage measure
,7ec,24,39,.25,32768,1,A,223204,623204,ff,HV LBC current measure
This will show these 4 fields when opening the Research screen and they will be refreshed (and logged) as fast as possible. The field definitions can be found in the Assets folder of our github repository. BTW, these will all be updated in the upcoming release.
Note: ELM327 based dongles do not handle free frames (UUDT) very well. It is far better to use the equivalent diagnostic field (using ISOTP or ASDT). For ZOE, those always start with a 7.
This is ample opportunity to drop a serious reminder, as displayed when opening the repository and starting the app for the first time. A partial quotation:
Before you download and use this software consider the following: you are interfering with your car and doing that with hardware and software beyond your control (and frankly, for a large part beyond ours), created by a loose team of interested amateurs in this field. Any car is a possibly lethal piece of machinery and you might hurt or kill yourself or others using it, or even paying attention to the displays instead of watching the road. Be extremely prudent!
By even downloading this software, or the source code provided on github, you agree to have completely understand this.
Working for over a year, we’ve been making slow but steady progress on changing the way how we fundamentally talk to the dongle. The cheap Chinese dongles are awful coping with what we call “Free Frames”, and especially the torque bars make extensive use of those. Reliability is low, delay is high and many dongles won’t work at all. Finally, since the ZE40 models came along, many dongles were overwhelmed by the busier traffic on that type’s CANbus.
We’re getting close to releasing a version of CanZE that tackles all of the above. The downside will be that we will need to drop a few fields but we regard then as rather unessential. Think of indications like cabin temperature set-point, flap open; things that are clearly visible on the dashboard anyway.
For the technically minded readers: if approved, the next version will have an alternate mode that will use only ISOTP request-response type of communications. Next to loosing mentioned fields, a ISOTP is by definition somewhat intrusive to the car compared to free frame “sniffing”. This is academical though.
We will encourage all users using and ELM327 type of dongle, such as the KONNWEI902, to try switching on “Use ISOTP fields” in the settings; things might improve significantly. For those who have build or want to build an CanSee dongle, we suggest to keep using free frames. It will beat the ELM dongles in speed hands down. After feedback, we might automate the switch based on dongle type.
Stay tuned, all coding is done and we’re now testing.
Edit: As silly cheap dongles sometimes have no secure Bluetooth capabilities, CanZE switches to an insecure Bluetooth connection when “Use ISOTP fields” mode is switched on.
Edit: released in 1.45
- Growth: 3.1% for 30 days, 60% for a full year.
- ANRs and crashes are very low, way under “bad behavior” threshold. Attacking them systematically has payed off.
The Tire IDs (and pressures) are conveniently labeled Front Left, Front Right, etcetera, but the car has no separate receivers for the individual wheels. It just sees four values coming in and checks it. Enough for the warning light, but not for us users. We want to make sure the pressure is stated for the correct wheel, and the ID for the correct wheel is displayed.
We’re in a pickle a bit as we received a report that the Rear IDs in CanZE are swapped, while we have followed available documentation. As none of the developers have a TPMS equipped car, it’s impossible to experiment. So in case you are a “tire guy” with a TPMS equipped ZOE, please do some experiments and confirm (or deny) said report. Thanks!
In the next release we plan to introduce dark mode for Android 9 and 10 devices. It will have a dark, light and System (as in, follow what Android does) mode.
Until now, we’ve been keeping CanZE compatible with API level 15, meaning Android 4.0.3. For reference, we’re talking Samsung S2 era, early 2012 phones. To make dark mode work without over-complicating the code, we have to let go of supporting Android 4 and make API level 21 the minimum requirement. These are late 2014/early 2015 phones. The number of active users below API level 21 is approximately 2.5% of the active users, so we feel this is a fair compromise.
The sun-setting of Android 4 support has been announced starting today in the news bar. If you run CanZE on an Android 4 device it will no longer receive updates, but it will still run the older versions.
Things have been slow as vacation progressed. And of course now work is competing. But that doesn’t mean things have halted. A new release is in the making, though it mainly fixes language and edge case stability issues. No new functionality.
- Growth has slowed down but is still going on quite nicely: 2.4% in the last 30 days and we’re now at about 5300 active Android devices
- ANR’s are virtually zero (one user impacted)
- Crashes are down to a record low 0.15%, less than one per day. This is half of the peer median. And half of those are Bluetooth related.