I’m having so much fun with this! The main thing of note is that I’ve ditched echarts for custom implementations of guages, line charts, heatmaps, and 3D surfaces. This has cut about 70% of the bundle size.
-rw-rw-r-- 1 dgs dgs 2889 Feb 1 08:24 favicon.cddaee99.svg
-rw-rw-r-- 1 dgs dgs 27699 Feb 1 08:24 index.html
-rw-rw-r-- 1 dgs dgs 409 Feb 1 08:24 manifest.webmanifest
-rw-rw-r-- 1 dgs dgs 32941 Feb 1 08:24 public.53624c73.css
-rw-rw-r-- 1 dgs dgs 622571 Feb 1 08:24 public.563c0857.js
-rw-rw-r-- 1 dgs dgs 1494 Feb 1 08:24 sw.js
Next up, the layout now actually works at small screen sizes. The gauges can be re-ordered by dragging them around.
My Stupid Car has just got a new limited slip diff, but this isn’t about that.
One of the benefits with developing VETuner, is that I can fix all the things that irritate me in TunerStudio . Top of the list is the difference dialog. If you load a new tune file that doesn’t agree with what the ECU has then you are presented with a multi-page dialog that looks something like this
I want to connect the code running in the browser, to the ECU. The browser code sends requests that the ECU processes in a synchronous manner and sends back the data.
sequenceDiagram
participant Browser
participant ECU
Browser->>+ECU: Request
ECU->>-Browser: Response
If I use Chrome on a desktop, I can use the WebSerial API and do effectively that. Running at 115200 baud I can get about a 60Hz rate poll rate, which is pretty decent.
Ever since I put a Megasquirt MS1 into the Stupid Car, back in 2009, I’ve been fiddling with software to work with it and similar ECUs. It started with MSLogger, and Android app that only logged and didn’t provide any capability to adjust the ECU. Then I joined the effort working on MSDroid which was much more capable.
Fast forward many years and MSDroid is effectively dead. I still fiddle with the code, but I can’t publish any updates to Google Play as it is tied into an obsolete payments library and that side of it belongs to the project owner.