summaryrefslogtreecommitdiffstats
path: root/recipes-demo-hmi
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2018-12-07 16:46:37 -0500
committerScott Murray <scott.murray@konsulko.com>2018-12-10 13:50:24 -0500
commit251fb524e791d40cb7a7e1581649e63da9da3b08 (patch)
tree1c39d533cb1a7318b83146a0e43e563654f0f6fb /recipes-demo-hmi
parent7ea4459ecd58198e4932db3f41fadecf0024325c (diff)
Define instrument cluster demo platform. This layer is similar to meta-agl-demo, except it defines a small platform for the instrument cluster demo, based on the agl-profile-cluster-qt5 profile. There is a "agl-cluster-demo" feature defined to enable building the platform. At the moment, only qemux86-64 and Minnowboard turbot versions have been built and tested. Other architectures should be feasible, but the agl-cluster-demo-receiver application needs some further development to support non-Intel platforms, as currently it is using the vaapisink gstreamer plug-in. Change-Id: I217608a1ecc9678d5d55a95c65f3ab6f10d5b54f Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Diffstat (limited to 'recipes-demo-hmi')
-rw-r--r--recipes-demo-hmi/cluster-dashboard/cluster-dashboard_git.bb29
-rw-r--r--recipes-demo-hmi/cluster-receiver/cluster-receiver_git.bb26
-rw-r--r--recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/areas.db40
-rw-r--r--recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/layers.json41
-rw-r--r--recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/roles.db34
-rw-r--r--recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf_1.0.bb19
6 files changed, 189 insertions, 0 deletions
diff --git a/recipes-demo-hmi/cluster-dashboard/cluster-dashboard_git.bb b/recipes-demo-hmi/cluster-dashboard/cluster-dashboard_git.bb
new file mode 100644
index 0000000..74974eb
--- /dev/null
+++ b/recipes-demo-hmi/cluster-dashboard/cluster-dashboard_git.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Instrument Cluster Dashboard AGL Demonstration"
+DESCRIPTION = "AGL HMI Application for demonstrating instrument cluster dashboard"
+HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-cluster-demo-dashboard"
+SECTION = "apps"
+
+LICENSE = "Apache-2.0 & BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984 \
+ file://app/cluster-gauges.qml;beginline=9;endline=48;md5=54187d50b29429abee6095fe8b7c1a78"
+
+SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-cluster-demo-dashboard;protocol=https;branch=${AGL_BRANCH}"
+SRCREV = "${AGL_APP_REVISION}"
+
+PV = "1.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+# build-time dependencies
+DEPENDS += "qtquickcontrols2 qtwebsockets qlibwindowmanager"
+
+inherit pkgconfig cmake_qt5 aglwgt
+
+RDEPENDS_${PN} += " \
+ qlibwindowmanager \
+ qtquickcontrols \
+ qtquickcontrols-qmlplugins \
+ qtquickcontrols2 \
+ qtquickcontrols2-qmlplugins \
+ qtwebsockets \
+ qtwebsockets-qmlplugins \
+"
diff --git a/recipes-demo-hmi/cluster-receiver/cluster-receiver_git.bb b/recipes-demo-hmi/cluster-receiver/cluster-receiver_git.bb
new file mode 100644
index 0000000..92f9221
--- /dev/null
+++ b/recipes-demo-hmi/cluster-receiver/cluster-receiver_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Instrument Cluster Receiver AGL Demonstration"
+DESCRIPTION = "AGL HMI Application for demonstrating instrument cluster remote display"
+HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-cluster-demo-receiver"
+SECTION = "apps"
+
+LICENSE = "Apache-2.0 & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984 \
+ file://app/surface.hpp;beginline=5;endline=21;md5=5351c531a191f0e3463aafcd0a6a00a3"
+
+SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-cluster-demo-receiver;protocol=https;branch=${AGL_BRANCH}"
+SRCREV = "${AGL_APP_REVISION}"
+
+PV = "1.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+# build-time dependencies
+DEPENDS = "wayland wayland-ivi-extension libwindowmanager gstreamer1.0"
+
+inherit cmake aglwgt
+
+RDEPENDS_${PN} += " \
+ gstreamer1.0-plugins-base \
+ gstreamer1.0-plugins-good \
+ gstreamer1.0-plugins-bad \
+ gstreamer1.0-vaapi \
+"
diff --git a/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/areas.db b/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/areas.db
new file mode 100644
index 0000000..00322ac
--- /dev/null
+++ b/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/areas.db
@@ -0,0 +1,40 @@
+{
+ "areas": [
+ {
+ "name": "fullscreen",
+ "rect": {
+ "x": 0,
+ "y": 0,
+ "w": 1920,
+ "h": 1080
+ }
+ },
+ {
+ "name": "normal.full",
+ "rect": {
+ "x": 672,
+ "y": 264,
+ "w": 576,
+ "h": 552
+ }
+ },
+ {
+ "name": "restriction.normal",
+ "rect": {
+ "x": 672,
+ "y": 264,
+ "w": 576,
+ "h": 552
+ }
+ },
+ {
+ "name": "on_screen",
+ "rect": {
+ "x": 672,
+ "y": 264,
+ "w": 576,
+ "h": 552
+ }
+ }
+ ]
+}
diff --git a/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/layers.json b/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/layers.json
new file mode 100644
index 0000000..1fd9d18
--- /dev/null
+++ b/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/layers.json
@@ -0,0 +1,41 @@
+{
+ "comment": "Surface ID to Layer ID mapping",
+
+ "main_surface": {
+ "surface_role": "HomeScreen",
+ "comment": "This surface should never be made invisible (The HomeScreen)"
+ },
+
+ "mappings": [
+ {
+ "role": "BackGroundLayer",
+ "name": "BackGroundLayer",
+ "layer_id": 999,
+ "comment": "Single BackGround layer map for the map, radio, music and video"
+ },
+ {
+ "role": "homescreen",
+ "name": "FarHomeScreen",
+ "layer_id": 1000,
+ "comment": "FarHomeScreen is the part of HomeScreen. The z order of this layer is lower than NearHomeScreen"
+ },
+ {
+ "role": "receiver|fallback",
+ "name": "Apps",
+ "layer_id": 1001,
+ "comment": "Range of IDs that will always be placed on layer 1001"
+ },
+ {
+ "role": "restriction",
+ "name": "Restriction",
+ "layer_id": 1002,
+ "comment": "This layer is for restriction notification. This is used by restriction role"
+ },
+ {
+ "role": "^on_screen.*",
+ "name": "OnScreen",
+ "layer_id": 9999,
+ "comment": "Range of IDs that will always be placed on the OnScreen layer, that gets a very high 'dummy' id of 9999"
+ }
+ ]
+}
diff --git a/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/roles.db b/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/roles.db
new file mode 100644
index 0000000..1370214
--- /dev/null
+++ b/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/roles.db
@@ -0,0 +1,34 @@
+{
+ "roles":[
+ {
+ "category": "homescreen",
+ "role": "homescreen",
+ "area": "fullscreen",
+ "layer": "homescreen",
+ },
+ {
+ "category": "debug",
+ "role": "receiver | fallback",
+ "area": "normal.full",
+ "layer": "apps",
+ },
+ {
+ "category": "restriction",
+ "role": "restriction",
+ "area": "restriction.normal",
+ "layer": "restriction",
+ },
+ {
+ "category": "pop_up",
+ "role": "on_screen | on_screen_phone",
+ "area": "on_screen",
+ "layer": "on_screen",
+ },
+ {
+ "category": "system_alert",
+ "role": "system_alert",
+ "area": "on_screen",
+ "layer": "on_screen",
+ }
+ ]
+}
diff --git a/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf_1.0.bb b/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf_1.0.bb
new file mode 100644
index 0000000..0cef85c
--- /dev/null
+++ b/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf_1.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Cluster demo windowmanager configuration"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://layers.json \
+ file://areas.db \
+ file://roles.db \
+"
+
+do_compile[noexec] = "1"
+
+do_install() {
+ install -d ${D}${sysconfdir}/xdg/windowmanager
+ install -m 0644 ${WORKDIR}/layers.json ${D}${sysconfdir}/xdg/windowmanager/layers.json
+ install -m 0644 ${WORKDIR}/areas.db ${D}${sysconfdir}/xdg/windowmanager/areas.db
+ install -m 0644 ${WORKDIR}/roles.db ${D}${sysconfdir}/xdg/windowmanager/roles.db
+}
+
+#FILES_${PN} += "${sysconfdir}/*"