With the addition of the Ph2 and the new settings it’s fair to say we were not up to snuff when it comes to app stability. In December we significantly went over Google’s “bad behavior” benchmark when it comes to app crashes. As written earlier, we’ve been daily checking and meticulously cracking these and older lingering bugs and mostly updated weekly to avoid those from re-appearing. I am happy to announce that this weekend we lost the red “bad behavior in the last 30 days” tag.

We continue to trace and if anything possible fix each and every crash we get reported and release those fixes within a week of receipt. This is by far the most important reason for seeing recent updates in the play store and we appreciate you installing them to keep user experience as good as possible.

While we’re certainly not done untangling the ZOE ZE50 and new ZE40 (together called ZOE Ph2), we’re pretty confident we’ve cracked the basics fairly well.

ZOE Ph2 is a significantly different car than the old models and required additional code to access the car’s computers. We had to make changes in the CanSee dongle and the ELM327 (KONNWEI) dongle driver has much improved, also performance wise. And once again, lots and lots and lots of testing in cold winter nights on driveways, city streets and even road trips. While all this was going we’ve also been doing some internal refactoring to facilitate the different models in a less cluttered way, together with an improved process to do our research, read, finding the fields we need to make CanZE do it’s thing. All this despite the modest outside looking the same, so maybe we’re more impressed than you are!

Having said all that, our short term effort is clawing back on decreased stability that was introduced by all the code changes made in the last few months. Crashlytics which anonymously provides post-mortem information is a huge help and as I write this, all known crashes are tackled either in the current production release or ready for the next release, so please do update if you haven’t already. You, the thousands of end users are the heroes doing the cold harsh field testing. Thank you for that.

So what’s the speculative part? Well, with the Twingo EV now on the market we’ve had a bit of time to take a look and we can possibly make it work. This is not a promise: history taught us we couldn’t make the ZE50 work until enthusiastic and knowledgeable team members actually owning these cars were co-developing. But with above changes and already one enthusiastic tester in the field, we might just crack it. Still, it’s a tough cookie with slower research cycles. But who knows? If it works we could maybe add say a Twizy the same way? Even more speculation!

We’ve just released 1.55 to production which pushes a lot of dongle handling improvements already tested in beta1 and beta2, kinks out a few annoying crashes and bugs and adds or improves a few features.

We also did a lot of under-the-hood work to use the latest dependencies and improve readability and test-ability.

Finally a big thank you to GitHub user “landswellsong” for updating the Ukrainian and Russian translations.

ISOTP is a protocol to transfer messages larger than the maximum CANbus frame size of 8 bytes. While it’s purpose is only this, it is usually associated with diagnostic, request-reply type of traffic, as opposed to the broadcast “free frames” type of chatter.

When we started with CanZE we had more information about the free frames and while it is a real pain the xxx to implement and requires commands not available in cheap clone dongles, we also prefered it as it did not require us to inject any traffic whatsoever on the car’s CANbus.

Things have significantly changed since. Using diagnostic commands exclusively has a couple of advantages

  • it’s a given on the Ph2 vehicles. No way to get to it’s free frames;
  • it’s commands are fairly well documented from more or less public sources;
  • some data is simply not available on free frames;
  • more dongles will work without using free frames.

So, the setting for ISOTP are as follows, though they may seem a bit counter intuitive.

  • For the Ph2 cars, it has no meaning. We should probably disable it.
  • For Ph1 cars, if using a CanSee dongle, we nudge ISOTP off, as it’s the fastest option and works fine. If using a commercial dongle, we nudge it on.
  • Nudging means: it will save as set, but every time you open the settings, it will switch it again to the preferred option.

All in all, we might decide to get rid of the entire option as it’s confusing. If there are strong opinions either way, let us know.

As expected, many, mostly small issues emerged after 1.54 release. Over 30 commits have been made since. We just uploaded 1.55beta1 in the open beta track. The most important changes are:

  • A fix for getting DTCs for pre ZE50 cars
  • CCS charging for the ZE50!!
  • An Android compliant and much improved settings screen
  • Several KONNWEI optimizations
  • Many small fixes, including the pilot current for newer firmware in pre-ZE50 cars
  • Increased font size in graphs

As you can see, we’re not forgetting about the pre-ZE50 car drivers.

We’re very excited and would love to push this to the production track as soon as possible, so give it a spin.

After the release of 1.54 the team is already churning on a couple of things that will be released soon on the beta channel, such as

  • a completely overhauled settings screen “Android style”
  • fairly significant performance increase for the ELM dongles
  • DC charging information!

And of course a few minor issues tackled. Keep reporting issues on GitHub please, it’s the safest way to get our attention, and for you to get feedback.

It’s past midnight as I write this. After a few evenings virtual-team-testing and virtual-team-debugging mostly dormant ELM issues that sprang to life while working on ZE50 support, we now have a limited, though “official” production release with ZE50 support.

Please report issues to GitHub as usual, while our virtual team will sink away in virtual booze 😉