Add demo specific KUKSA.val configuration 16/27716/1
authorScott Murray <scott.murray@konsulko.com>
Tue, 7 Jun 2022 00:16:57 +0000 (20:16 -0400)
committerScott Murray <scott.murray@konsulko.com>
Wed, 6 Jul 2022 18:00:05 +0000 (14:00 -0400)
Add kuksa-val-agl and kuksa-val-agl-demo-cluster recipes that install
extra configuration for KUKSA.val for the AGL demo platform.

Changes:
- Add kuksa-val-agl recipe to install AGL specific signals overlay
  and uses a new environment variable hook in the kuksa-val systemd
  unit to pass the required --overlays option to pick it up.
- Add kuksa-val-agl-demo-cluster recipe to install cluster support
  specific kuksa-val environment file that makes kuksa-val-server
  listen on all addresses.  This is hopefully a stop gap approach
  for the cluster demo until support for listening on multiple
  addresses is added upstream.
- Add kuksa-val-agl to packagegroup-agl-ivi-services to enable the
  AGL specific signals in the demo images.
- Add kuksa-val-agl-demo-cluster to packagegroup-agl-demo-cluster-support
  to pick it up when the agl-demo-cluster-support feature is used
  to build an image for the full AGL demo setup.

Bug-AGL: SPEC-4405

Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I41e90829a40aebf7f29e7719334f37d639542e07

recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster.bb [new file with mode: 0644]
recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster/kuksa-val.env [new file with mode: 0644]
recipes-connectivity/kuksa-val/kuksa-val-agl.bb [new file with mode: 0644]
recipes-connectivity/kuksa-val/kuksa-val-agl/00-agl_vss_overlay_2.2.json [new file with mode: 0644]
recipes-connectivity/kuksa-val/kuksa-val-agl/kuksa-val.env [new file with mode: 0644]
recipes-connectivity/kuksa-val/kuksa-val/kuksa-val.service
recipes-platform/packagegroups/packagegroup-agl-demo-cluster-support.bb
recipes-platform/packagegroups/packagegroup-agl-ivi-services.bb

diff --git a/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster.bb b/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster.bb
new file mode 100644 (file)
index 0000000..1f1a641
--- /dev/null
@@ -0,0 +1,22 @@
+SUMMARY = "AGL cluster demo configuration for KUKSA.val, the KUKSA Vehicle Abstraction Layer"
+HOMEPAGE = "https://github.com/eclipse/kuksa.val"
+BUGTRACKER = "https://github.com/eclipse/kuksa.val/issues"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://kuksa-val.env"
+
+inherit allarch update-alternatives
+
+do_install() {
+    install -d ${D}${sysconfdir}/default
+    install -m 0644 ${WORKDIR}/kuksa-val.env ${D}${sysconfdir}/default/kuksa-val.agl-demo-cluster-support
+}
+
+ALTERNATIVE:${PN} = "kuksa-val-env"
+ALTERNATIVE_LINK_NAME[kuksa-val-env] = "${sysconfdir}/default/kuksa-val"
+ALTERNATIVE_TARGET[kuksa-val-env] = "${sysconfdir}/default/kuksa-val.agl-demo-cluster-support"
+ALTERNATIVE_PRIORITY[kuksa-val-env] = "20"
+
+RDEPENDS:${PN} += "kuksa-val"
diff --git a/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster/kuksa-val.env b/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster/kuksa-val.env
new file mode 100644 (file)
index 0000000..e6778a3
--- /dev/null
@@ -0,0 +1 @@
+EXTRA_ARGS="--overlays /usr/share/kuksa-val/overlays --address 0.0.0.0"
diff --git a/recipes-connectivity/kuksa-val/kuksa-val-agl.bb b/recipes-connectivity/kuksa-val/kuksa-val-agl.bb
new file mode 100644 (file)
index 0000000..1614c5f
--- /dev/null
@@ -0,0 +1,27 @@
+SUMMARY = "AGL demo signal overlay for KUKSA.val, the KUKSA Vehicle Abstraction Layer"
+HOMEPAGE = "https://github.com/eclipse/kuksa.val"
+BUGTRACKER = "https://github.com/eclipse/kuksa.val/issues"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://00-agl_vss_overlay_2.2.json \
+           file://kuksa-val.env \
+"
+
+inherit allarch update-alternatives
+
+do_install() {
+    install -d ${D}${sysconfdir}/default
+    install -m 0644 ${WORKDIR}/kuksa-val.env ${D}${sysconfdir}/default/kuksa-val.agl
+    install -d ${D}${datadir}/kuksa-val/overlays
+    install -m 0644 ${WORKDIR}/00-agl_vss_overlay_2.2.json ${D}${datadir}/kuksa-val/overlays/
+}
+
+FILES:${PN} += "${datadir}/kuksa-val/overlays"
+
+ALTERNATIVE:${PN} = "kuksa-val-env"
+ALTERNATIVE_LINK_NAME[kuksa-val-env] = "${sysconfdir}/default/kuksa-val"
+ALTERNATIVE_TARGET[kuksa-val-env] = "${sysconfdir}/default/kuksa-val.agl"
+
+RDEPENDS:${PN} += "kuksa-val"
diff --git a/recipes-connectivity/kuksa-val/kuksa-val-agl/00-agl_vss_overlay_2.2.json b/recipes-connectivity/kuksa-val/kuksa-val-agl/00-agl_vss_overlay_2.2.json
new file mode 100644 (file)
index 0000000..6cfdf5e
--- /dev/null
@@ -0,0 +1,81 @@
+{
+  "Vehicle": {
+    "children": {
+      "ADAS": {
+        "children": {
+          "CruiseControl": {
+            "children": {
+              "IsSet": {
+                "datatype": "boolean",
+                "description": "Indicates if cruise control speed is set. True = Enabled. False = Disabled.",
+                "type": "sensor",
+                "uuid": "65444a5d94dd45c59187f4179bf541ad"
+              }
+            }
+          }
+        }
+      },
+      "Cabin": {
+        "children": {
+          "Infotainment": {
+            "children": {
+              "Media": {
+                "children": {
+                  "Action": {
+                    "datatype": "string",
+                    "description": "Tells if the media was",
+                    "enum": [
+                      "unknown",
+                      "Stop",
+                      "Play",
+                      "FastForward",
+                      "FastBackward",
+                      "SkipForward",
+                      "SkipBackward",
+                      "NextSource"
+                    ],
+                    "type": "actuator",
+                    "uuid": "0357aea525bf505981a14e4fc720094e"
+                  }
+                }
+              },
+              "Navigation": {
+                "children": {
+                  "State": {
+                    "datatype": "string",
+                    "description": "Navigation state",
+                    "enum": [
+                      "unknown",
+                      "Active",
+                      "Arrived",
+                      "Stopped"
+                    ],
+                    "type": "sensor",
+                    "uuid": "4c16a4aace5a418580c6370356d2acb9"
+                  },
+                  "ElapsedDistance": {
+                    "datatype": "float",
+                    "description": "Navigation elapsed distance",
+                    "type": "sensor",
+                    "unit": "km",
+                    "uuid": "0bef606dcf5b4a75bfd7e5f3c68359ec"
+                  }
+                }
+              },
+              "Cluster": {
+                "children": {
+                  "Mode": {
+                    "datatype": "boolean",
+                    "description": "Cluster mode switch engaged",
+                    "type": "actuator",
+                    "uuid": "7df1649ebed447ef81bb6e92786514d9"
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/recipes-connectivity/kuksa-val/kuksa-val-agl/kuksa-val.env b/recipes-connectivity/kuksa-val/kuksa-val-agl/kuksa-val.env
new file mode 100644 (file)
index 0000000..74a5f4e
--- /dev/null
@@ -0,0 +1 @@
+EXTRA_ARGS="--overlays /usr/share/kuksa-val/overlays"
index 97ef665..5467e9a 100644 (file)
@@ -4,7 +4,8 @@ After=network.target
 
 [Service]
 User=kuksa
-ExecStart=/usr/bin/kuksa-val-server
+EnvironmentFile=-/etc/default/kuksa-val
+ExecStart=/usr/bin/kuksa-val-server $EXTRA_ARGS
 Restart=on-abort
 
 [Install]
index 8c3fe3b..a950ef4 100644 (file)
@@ -13,4 +13,5 @@ RDEPENDS:${PN} += "\
     packagegroup-agl-demo-platform \
     tbtnavi \
     cluster-demo-network-config \
+    kuksa-val-agl-demo-cluster \
 "
index 77f832b..d9e691b 100644 (file)
@@ -9,5 +9,6 @@ PACKAGES = "\
 
 RDEPENDS:${PN} += "\
     kuksa-val \
+    kuksa-val-agl \
     kuksa-dbc-feeder \
     "