Files
mg4/LICENSE.md
T
nilsandClaude Opus 5.5 ce2ebd7f58 App 2.33.0: set the drive mode from Settings, only in P at a standstill
The owner lifted the read-only rule for the drive mode alone. Settings
has Eco, Normal, Sport, Snow and Custom; the lit button is what the car
reports. A tap reads gear and speed fresh and writes only in P at 0 km/h
(DriveModeWrite, unit-tested; unreadable is a refusal), through a CPM-only
write behind EVHardware's standstill gate, then reads the mode back and
says what the car reports. The wide layout's charging price joined the
battery card so the page still fits. Not tried on the car.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LhzAVaUyqcw5PkGjz4mWW6
2026-10-25 20:02:53 +01:00

3.2 KiB
Raw Permalink Blame History

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:

MIT requires the copyright notice to travel with any copy or substantial portion of the software. LICENSE names all of them; keep every line.

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) and a drive mode write without the binder fallback (writeDriveModeProperty). 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.md states 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.