aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-config
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2019-12-29 18:36:48 -0500
committerScott Murray <scott.murray@konsulko.com>2019-12-29 20:01:49 -0500
commitfb407cc3cbb66df0a154ef400294d209fb681b22 (patch)
tree1e819555033a69625d1e2cd43cad92d2285f49db /recipes-config
parenta3690396cceb937fbc29aa774dbdeea54283f924 (diff)
Add virtual sllin support and LIN bridging to CAN for demos
To enable seeing the steering wheel LIN messages on the cluster board for the planned CES demo, a systemd unit that wraps the use of candump in bridging mode is added when the agl-cluster-support feature is enabled. To make sure that the sllin0 interface is always available for testing without the specific demo LIN hardware, a vcan interface is set up as sllin0 when the ttyUSB0 device representing the serial adapter for the LIN transceiver is not present. Since this virtual sllin0 interface is very useful for general testing of the steering wheel event support up through the low-can and signal-composer stack, it has not been hidden behind agl-cluster-demo-support. Bug-AGL: SPEC-3049 Change-Id: Idb478e3fe4085859e8704ab0329a341b1a11e0ef Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Diffstat (limited to 'recipes-config')
-rw-r--r--recipes-config/cluster-lin-bridging-config/cluster-lin-bridging-config.bb29
-rw-r--r--recipes-config/cluster-lin-bridging-config/files/cluster-lin-bridging.service11
2 files changed, 40 insertions, 0 deletions
diff --git a/recipes-config/cluster-lin-bridging-config/cluster-lin-bridging-config.bb b/recipes-config/cluster-lin-bridging-config/cluster-lin-bridging-config.bb
new file mode 100644
index 000000000..2b6567a7a
--- /dev/null
+++ b/recipes-config/cluster-lin-bridging-config/cluster-lin-bridging-config.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "Configure LIN to external CAN bridging"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+
+SRC_URI = "\
+ file://cluster-lin-bridging.service \
+"
+
+inherit systemd
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "cluster-lin-bridging.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/cluster-lin-bridging.service ${D}${systemd_system_unitdir}
+}
+
+FILES_${PN} += "${systemd_system_unitdir}"
+
+RDEPENDS_${PN} = " \
+ can-utils \
+ sllin \
+ sllin-virtual \
+"
diff --git a/recipes-config/cluster-lin-bridging-config/files/cluster-lin-bridging.service b/recipes-config/cluster-lin-bridging-config/files/cluster-lin-bridging.service
new file mode 100644
index 000000000..1dde33786
--- /dev/null
+++ b/recipes-config/cluster-lin-bridging-config/files/cluster-lin-bridging.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=LIN to CAN bridging
+After=sllin-demo.service sllin-demo-virtual.service
+Requires=sllin-demo.service sllin-demo-virtual.service
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/candump -s 2 -B can0 sllin0
+
+[Install]
+WantedBy=multi-user.target