The ACC recording of 2.32.0 only polled, and the AAD_* properties read their defaults. The head unit's own assistance manager never polls them: it subscribes to each for change events, and a vendor HAL may fill a value only while someone listens. EVHardware gains a read-only listenToProperties and AssistBlock (global vendor properties 0x21x0A1xx, all 108 AAD_* ids); the recorder subscribes to that block for its three minutes and lists the properties heard, those with changing values first. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LhzAVaUyqcw5PkGjz4mWW6
3.6 KiB
Licence
Everything in this repository is released under the MIT Licence — see
LICENSE — except the EVHardware/ library, which has its own licence (below).
Where it comes from
Nils' MG4 is a fork of a chain of forks, all MIT:
- Leon Kernan's
ABRP_Uploader, the original. It carries the MIT Licence since 2026-07-29 (its LICENSE, commit75d8f2bc). Upstream's note that it had no licence predates that. - malys' EVABRPUploader, then fatihdonmezdev/FatihsMG4, both under MIT.
- This fork, under MIT as well.
MIT requires the copyright notice to travel with any copy or substantial portion of the
software. LICENSE names all of them; keep every line.
Map data
The roads of the "Grid with map" style are © OpenStreetMap contributors, under the
Open Database Licence, in vector tiles
© OpenMapTiles served by OpenFreeMap. The style shows
"OpenFreeMap © OpenMapTiles · © OpenStreetMap contributors" whenever it draws them. The server
fetches the tiles (server/maps.go).
The EVHardware library
EVHardware/ (the shared vehicle layer from EVSuite) is source-available under the
PolyForm Noncommercial License 1.0.0 — see EVHardware/LICENSE and
EVHardware/LICENSE.md. Commercial use is not permitted, and its
Required Notice: Copyright (c) 2026 EVHardware contributors must go with any copy.
It is a copy, not a submodule: malys/EVHardware at
e4e1158 (2026-10-18, after 1.18.0), merged on 2026-10-19 with the changes this fork carries on
top. Those are Fatih's reads the car needs and upstream does not have — the vendor tyre-pressure
ids 0x21401553–56, the vendor mileage 0x21401566 for the odometer, the charging status
from 0x2140F409, SoC, range, power, pack voltage and current on SWI69 as on SWI68, and SWI69
speed already in km/h — plus translated comments and, from this fork, the gear's raw code
(EVHardware.getGearRaw, EnergySnapshot.gearRaw), a drive mode write without the binder
fallback (writeDriveModeProperty), and read-only listening to properties for the signal
recorder (listenToProperties, AssistBlock). To take upstream again, merge three ways with
e4e1158 as the base.
The car app links EVHardware into its APK, so the built app may only be used and passed on non-commercially, whatever the MIT parts would allow on their own. The server, the Kubernetes manifests and the docs do not contain EVHardware and are plain MIT.
EVHardware's own notes say parts of it come from EVProfile, "itself a fork whose upstream licence situation is unresolved". Checked on 2026-10-18, that is settled for the code in question:
- malys/EVProfile is MIT. It is a fork of SliDeeN/MG4Control, and its last merge from MG4Control is a commit of 2026-08-02.
- MG4Control is MIT up to and including 2.6.5 (released 2026-08-05; its licence file dates
from 2026-06-24) and GPL v3 or later from 2.6.6 (2026-09-02). Its
LICENCE.mdstates that the earlier versions stay MIT for good.
So what EVProfile took from MG4Control dates from MG4Control's MIT period. This covers the lineage EVHardware names; it is not an audit of every line in EVHardware.
No warranty
Both licences disclaim all warranty and liability, and this software runs on a vehicle —
see DISCLAIMER.md for what that means concretely.