Tools and apps for the iDrive 7 head unit (MGU) of a BMW, installed from the mgu Store.
| Path | |
|---|---|
native/cluster-render |
the cluster renderer: one service that draws every app's layers on the instrument cluster and the HUD, on iDrive 7 and iDrive 8 |
native/waze-on-cluster |
the CarPlay map (Waze, Apple Maps or Google Maps), or Android Auto's, on the instrument cluster, drawn through cluster-render |
apps/robertn_waze_cluster |
the iDrive app for it: Enable and Disable for CarPlay and Android Auto, status, Logs |
release |
builds and publishes the Store catalog |
tools |
oap_pack.js, oap_link.js: pack the app |
In the Store, add the GitHub source robertnisipeanu/idrive-apps and install
Waze on cluster. The Store installs what it requires first: mgu-deploy
0.7.11 from mgu-store, then cluster-render and the Waze tool from here. One
head-unit start activates the CarPlay patch, and the Android Auto patch on a
car that supports it. The Store removes them again:
the app, then the tool, then the renderer.
make -C native/cluster-render test test-x86 target # host tests; the unit's toolchain and binary (Docker)
make -C native/waze-on-cluster test test-x86 target
node apps/robertn_waze_cluster/tools/test_control.js
node apps/robertn_waze_cluster/tools/test_page.js
node release/test/release_test.js
node release/release.js check # reproducible artifactsEach folder's README has the details; release/README.md
covers versions, the catalog and publishing.
GPL-3.0-or-later (LICENSE), unless a file's SPDX header says
otherwise. What apps compile in or copy from cluster-render, its include/,
client/, kit/, js/cluster_render_client.js and PROTOCOL.md, is
MPL-2.0 (LICENSES/MPL-2.0.txt). Third-party files
keep their own licenses: the RAMSES and vsomeip interfaces in cluster-render
(MPL-2.0), the Intel Media SDK headers in waze-on-cluster (MIT), Project
Nayuki's QR code generator in robertn_waze_cluster (MIT).