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 --- ...uster-demo-flutter-guest-preconfigured-gateway.conf | 6 ++++++ ...l-ivi-demo-flutter-guest-preconfigured-gateway.conf | 13 +++++++++++++ ...cluster-demo-flutter-guest-preconfigured-gateway.bb | 3 +++ ...agl-ivi-demo-flutter-guest-preconfigured-gateway.bb | 3 +++ ...cluster-demo-flutter-guest-preconfigured-gateway.bb | 5 +++++ ...agl-ivi-demo-flutter-guest-preconfigured-gateway.bb | 7 +++++++ .../agl-kvm-demo-flutter-preconfigured-gateway.bb | 18 ++++++++++++++++++ .../images/agl-kvm-demo-flutter-preconfigured.bb | 8 +++----- 8 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest-preconfigured-gateway.conf create mode 100644 meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest-preconfigured-gateway.conf create mode 100644 meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest-preconfigured-gateway.bb create mode 100644 meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest-preconfigured-gateway.bb create mode 100644 meta-agl-kvm-demo/recipes-platform/images/agl-cluster-demo-flutter-guest-preconfigured-gateway.bb create mode 100644 meta-agl-kvm-demo/recipes-platform/images/agl-ivi-demo-flutter-guest-preconfigured-gateway.bb create mode 100644 meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured-gateway.bb (limited to 'meta-agl-kvm-demo') diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest-preconfigured-gateway.conf b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest-preconfigured-gateway.conf new file mode 100644 index 000000000..37003abde --- /dev/null +++ b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest-preconfigured-gateway.conf @@ -0,0 +1,6 @@ +QEMU_TASKSET_CPUS="4-7" +QEMU_SMP_OPT="-smp 2" +QEMU_MEM_OPT="-m 1G" +QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:03,netdev=net0" +QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=2048M video=Virtual-1:1920x1080" +QEMU_XDG_APP_ID="agl-cluster-demo" diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest-preconfigured-gateway.conf b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest-preconfigured-gateway.conf new file mode 100644 index 000000000..c2d420eb6 --- /dev/null +++ b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest-preconfigured-gateway.conf @@ -0,0 +1,13 @@ +QEMU_TASKSET_CPUS="0-3" +QEMU_SMP_OPT="-smp 4" +QEMU_MEM_OPT="-m 4G" +# With touchscreen plugged into the bottom connector of the 2x USB 2.0 +# on the reference hardware +QEMU_INPUT_OPT="-device qemu-xhci -usb -device usb-host,hostbus=5,hostport=1" +# Fallback for touchscreen or other pointing device plugged in elsewhere +#QEMU_INPUT_OPT="-device virtio-tablet-device" +QEMU_AUDIO_OPT="-audiodev alsa,id=agl -device intel-hda -device hda-duplex,audiodev=agl" +QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:02,netdev=net0" +QEMU_CAN_OPT="-object can-bus,id=canbus0 -object can-host-socketcan,id=canhost0,if=can0,canbus=canbus0 -device kvaser_pci,canbus=canbus0" +QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=4196M video=Virtual-1:1920x1080" +QEMU_XDG_APP_ID="agl-ivi-demo" diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest-preconfigured-gateway.bb b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest-preconfigured-gateway.bb new file mode 100644 index 000000000..45568faf1 --- /dev/null +++ b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest-preconfigured-gateway.bb @@ -0,0 +1,3 @@ +require qemu-config-agl-cluster-demo-flutter-guest.bb + +QEMU_IMAGE = "agl-cluster-demo-flutter-guest-preconfigured-gateway" diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest-preconfigured-gateway.bb b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest-preconfigured-gateway.bb new file mode 100644 index 000000000..a8c8fa754 --- /dev/null +++ b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest-preconfigured-gateway.bb @@ -0,0 +1,3 @@ +require qemu-config-agl-ivi-demo-flutter-guest.bb + +QEMU_IMAGE = "agl-ivi-demo-flutter-guest-preconfigured-gateway" diff --git a/meta-agl-kvm-demo/recipes-platform/images/agl-cluster-demo-flutter-guest-preconfigured-gateway.bb b/meta-agl-kvm-demo/recipes-platform/images/agl-cluster-demo-flutter-guest-preconfigured-gateway.bb new file mode 100644 index 000000000..2377d87d5 --- /dev/null +++ b/meta-agl-kvm-demo/recipes-platform/images/agl-cluster-demo-flutter-guest-preconfigured-gateway.bb @@ -0,0 +1,5 @@ +require agl-cluster-demo-flutter-guest-preconfigured.bb + +SUMMARY = "AGL KVM + gateway demo preconfigured guest cluster Flutter image" + +FLUTTER_CLUSTER_DASHBOARD_CONF = "flutter-cluster-dashboard-conf-gateway-demo" diff --git a/meta-agl-kvm-demo/recipes-platform/images/agl-ivi-demo-flutter-guest-preconfigured-gateway.bb b/meta-agl-kvm-demo/recipes-platform/images/agl-ivi-demo-flutter-guest-preconfigured-gateway.bb new file mode 100644 index 000000000..2e9b2ccb8 --- /dev/null +++ b/meta-agl-kvm-demo/recipes-platform/images/agl-ivi-demo-flutter-guest-preconfigured-gateway.bb @@ -0,0 +1,7 @@ +require agl-ivi-demo-flutter-guest-preconfigured.bb + +SUMMARY = "AGL KVM + gateway demo preconfigured guest IVI Flutter image" + +FLUTTER_ICS_HOMESCREEN_CONF = "flutter-ics-homescreen-conf-kvm-gateway-demo" +ONDEMANDNAVI_CONF = "ondemandnavi-conf-gateway-demo" +TBTNAVI_CONF = "tbtnavi-conf-gateway-demo" diff --git a/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured-gateway.bb b/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured-gateway.bb new file mode 100644 index 000000000..b98f52eef --- /dev/null +++ b/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured-gateway.bb @@ -0,0 +1,18 @@ +require agl-kvm-demo-flutter-preconfigured.bb + +SUMMARY = "AGL KVM + gateway preconfigured Flutter demo image" + +# We only want KUKSA.val client support, not the databroker (since +# that will be running on the gateway) +IMAGE_FEATURES:remove = "kuksa-val-databroker" + +# Not needed if we're not running the databroker +IMAGE_INSTALL:remove = "kuksa-databroker-agl-demo-cluster" + +IMAGE_INSTALL += "\ + agl-service-hvac-conf-gateway-demo \ + agl-service-audiomixer-conf-gateway-demo \ +" + +GUEST_VM1_IMAGE = "agl-ivi-demo-flutter-guest-preconfigured-gateway" +GUEST_VM2_IMAGE = "agl-cluster-demo-flutter-guest-preconfigured-gateway" diff --git a/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured.bb b/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured.bb index 9b02c68ce..ac392cbc5 100644 --- a/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured.bb +++ b/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured.bb @@ -1,11 +1,9 @@ -LICENSE = "MIT" - require agl-kvm-demo.bb -SUMMARY = "AGL KVM+QEMU preconfigured Flutter demo image" +SUMMARY = "AGL KVM preconfigured Flutter demo image" -# If building with "agl-kvm-host-kuksa", the databroker and likely -# some clients run on the host +# The databroker runs on the host to simplify things when running +# clients on the host instead of just in the guests. IMAGE_FEATURES += " \ kuksa-val-databroker \ kuksa-val-databroker-client \ -- cgit 1.2.3-korg