From 25ec251da61ff53495d609b3400db0a1d7f957d7 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Thu, 16 May 2024 18:24:25 -0400 Subject: Add gateway demo Changes: - Add recipe for AGL VSS to MQTT proxy daemon - Update agl-vcar.dbc CAN database definition to add signals useful for demoing the proxy (per V2C EG discussion). - Add a patch to kuksa-dbc-feeder to allow sensor signal updates to generate CAN messages in output mode. - Add VSS vspec variants to define the desired CAN input and output support for the various kuksa-dbc-feeder instances in the default and full gateway demos. - Add configurations for kuksa-dbc-feeder for the running the default gateway demo with CAN output from a demo control panel instance on a single CAN interface, as well as a fuller setup with a second kuksa-dbc-feeder running against a second CAN interface on the gateway to handle the demo steering wheel and HVAC support. - Add gateway demo specific configuration files for various KUKSA.val databroker clients to override the databroker location. - Add agl-gateway-demo and agl-gateway-demo-preconfigured images for the default and full demos. - Add *-preconfigured-gateway image flavors for the Flutter IVI, IC, and KVM demo images that support running with the databroker on the gateway. NOTES: - The *-preconfigured-gateway images assume the gateway has an IP address of 192.168.10.4. - Required changes to the agl-demo-control-panel application and the addition of a agl-ivi-demo-control-panel-preconfigured-gateway image will come in a subsequent change. Bug-AGL: SPEC-5107, SPEC-5138 Change-Id: I9797aa72737af7af3d791a5151198f80b6d90e0d Signed-off-by: Scott Murray Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29906 Tested-by: Jan-Simon Moeller Reviewed-by: Jan-Simon Moeller --- .../files/ics-homescreen.yaml.gateway-demo | 6 ++++ .../files/ics-homescreen.yaml.kvm-gateway-demo | 10 ++++++ .../flutter-ics-homescreen_git.bb | 39 +++++++++++++++++----- 3 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml.gateway-demo create mode 100644 recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml.kvm-gateway-demo (limited to 'recipes-demo/flutter-ics-homescreen') diff --git a/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml.gateway-demo b/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml.gateway-demo new file mode 100644 index 000000000..e9346bc41 --- /dev/null +++ b/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml.gateway-demo @@ -0,0 +1,6 @@ +kuksa: + hostname : 192.168.10.4 + port : 55555 + authorization : "/etc/xdg/AGL/ics-homescreen/ics-homescreen.token" + use-tls : true + tls-server-name : localhost diff --git a/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml.kvm-gateway-demo b/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml.kvm-gateway-demo new file mode 100644 index 000000000..5d6e73b32 --- /dev/null +++ b/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml.kvm-gateway-demo @@ -0,0 +1,10 @@ +kuksa: + hostname : 192.168.10.4 + port : 55555 + authorization : "/etc/xdg/AGL/ics-homescreen/ics-homescreen.token" + use-tls : true + tls-server-name : localhost +radio: + hostname : 172.16.10.1 +mpd: + hostname : 172.16.10.1 diff --git a/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb b/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb index 1c99f6d6d..74a89ce80 100644 --- a/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb +++ b/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb @@ -10,7 +10,9 @@ SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/flutter-ics-homescreen;p file://flutter-ics-homescreen.json \ file://flutter-ics-homescreen.service \ file://ics-homescreen.yaml \ + file://ics-homescreen.yaml.gateway-demo \ file://ics-homescreen.yaml.kvm-demo \ + file://ics-homescreen.yaml.kvm-gateway-demo \ file://ics-homescreen.token \ file://radio-presets.yaml \ file://kvm.conf \ @@ -48,7 +50,9 @@ do_install:append() { # something like OAuth is plumbed in as an alternative. install -d ${D}${sysconfdir}/xdg/AGL/ics-homescreen install -m 0644 ${WORKDIR}/ics-homescreen.yaml ${D}${sysconfdir}/xdg/AGL/ics-homescreen.yaml.default + install -m 0644 ${WORKDIR}/ics-homescreen.yaml.gateway-demo ${D}${sysconfdir}/xdg/AGL/ install -m 0644 ${WORKDIR}/ics-homescreen.yaml.kvm-demo ${D}${sysconfdir}/xdg/AGL/ + install -m 0644 ${WORKDIR}/ics-homescreen.yaml.kvm-gateway-demo ${D}${sysconfdir}/xdg/AGL/ install -m 0644 ${WORKDIR}/ics-homescreen.token ${D}${sysconfdir}/xdg/AGL/ics-homescreen/ install -m 0644 ${WORKDIR}/radio-presets.yaml ${D}${sysconfdir}/xdg/AGL/ics-homescreen/ } @@ -63,21 +67,38 @@ RDEPENDS:${PN} += " \ applaunchd \ " -PACKAGE_BEFORE_PN += "${PN}-conf ${PN}-conf-kvm-demo" - +PACKAGE_BEFORE_PN += "${PN}-conf" FILES:${PN}-conf += "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.default" RDEPENDS:${PN}-conf = "${PN}" RPROVIDES:${PN}-conf = "ics-homescreen.yaml" -RCONFLICTS:${PN}-conf = "${PN}-conf-kvm-demo" ALTERNATIVE:${PN}-conf = "ics-homescreen.yaml" ALTERNATIVE_TARGET_${PN}-conf = "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.default" -FILES:${PN}-conf-kvm-demo += " \ - ${sysconfdir}/xdg/AGL/ics-homescreen.yaml.kvm-demo \ - ${systemd_system_unitdir}/flutter-ics-homescreen.service.d/kvm.conf \ -" -RDEPENDS:${PN}-conf-kvm-demo = "${PN}" +PACKAGE_BEFORE_PN += "${PN}-conf-gateway-demo" +FILES:${PN}-conf-gateway-demo += "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.gateway-demo" +RDEPENDS:${PN}-conf-gateway-demo = "${PN}" +RPROVIDES:${PN}-conf-gateway-demo = "ics-homescreen.yaml" +ALTERNATIVE:${PN}-conf-gateway-demo = "ics-homescreen.yaml" +ALTERNATIVE_TARGET_${PN}-conf-gateway-demo = "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.gateway-demo" +ALTERNATIVE_PRIORITY_${PN}-conf-gateway-demo = "20" + +# systemd override to add network-online.target dependency for KVM setups +PACKAGE_BEFORE_PN += "${PN}-conf-kvm" +FILES:${PN}-conf-kvm += "${systemd_system_unitdir}/flutter-ics-homescreen.service.d/kvm.conf" +RDEPENDS:${PN}-conf-kvm = "${PN}" + +PACKAGE_BEFORE_PN += "${PN}-conf-kvm-demo" +FILES:${PN}-conf-kvm-demo += "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.kvm-demo" +RDEPENDS:${PN}-conf-kvm-demo = "${PN} ${PN}-conf-kvm" RPROVIDES:${PN}-conf-kvm-demo = "ics-homescreen.yaml" -RCONFLICTS:${PN}-conf-kvm-demo = "${PN}-conf" ALTERNATIVE:${PN}-conf-kvm-demo = "ics-homescreen.yaml" ALTERNATIVE_TARGET_${PN}-conf-kvm-demo = "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.kvm-demo" +ALTERNATIVE_PRIORITY_${PN}-conf-kvm-demo = "30" + +PACKAGE_BEFORE_PN += "${PN}-conf-kvm-gateway-demo" +FILES:${PN}-conf-kvm-gateway-demo += "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.kvm-gateway-demo" +RDEPENDS:${PN}-conf-kvm-gateway-demo = "${PN} ${PN}-conf-kvm" +RPROVIDES:${PN}-conf-kvm-gateway-demo = "ics-homescreen.yaml" +ALTERNATIVE:${PN}-conf-kvm-gateway-demo = "ics-homescreen.yaml" +ALTERNATIVE_TARGET_${PN}-conf-kvm-gateway-demo = "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.kvm-gateway-demo" +ALTERNATIVE_PRIORITY_${PN}-conf-kvm-gateway-demo = "31" -- cgit 1.2.3-korg