diff options
author | Scott Murray <scott.murray@konsulko.com> | 2020-11-15 16:43:52 -0500 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2020-11-15 16:43:52 -0500 |
commit | 6295efdc2f60ea16f48962e7ffc4355dfbdfabf8 (patch) | |
tree | 0755e03eecb620ca9956843f9cf5b12b20d57feb /recipes-apis/agl-service-can-low-level | |
parent | e8fa8563692fcab198ebedf5f1fa2130b76b8507 (diff) |
Enable testing without CAN hardwarequillback_16.93.0quillback_16.92.0quillback_16.91.1quillback_16.91.0quillback/16.93.0quillback/16.92.0quillback/16.91.1quillback/16.91.0pike_15.92.0pike_15.91.1pike_15.91.0pike/15.92.0pike/15.91.1pike/15.91.0octopus_14.94.0octopus_14.93.0octopus_14.92.0octopus_14.91.0octopus/14.94.0octopus/14.93.0octopus/14.92.0octopus/14.91.0needlefish_13.93.0needlefish_13.92.0needlefish_13.91.0needlefish/13.93.0needlefish/13.92.0needlefish/13.91.0marlin_12.93.0marlin_12.92.0marlin_12.91.0marlin_12.90.1marlin_12.90.0marlin/12.93.0marlin/12.92.0marlin/12.91.0marlin/12.90.1marlin/12.90.0lamprey_11.92.0lamprey_11.91.0lamprey/11.92.0lamprey/11.91.0koi_10.93.0koi_10.92.0koi_10.91.0koi/10.93.0koi/10.92.0koi/10.91.016.93.016.92.016.91.116.91.015.92.015.91.115.91.014.94.014.93.014.92.014.91.013.93.013.92.013.91.012.93.012.92.012.91.012.90.112.90.011.92.011.91.010.93.010.92.010.91.0
Changes:
- Add can-dev-mapping-helper support changes from meta-agl-demo.
It is less than ideal to duplicate them, but the timing of the
planned layer reorganization and slimming down of meta-agl makes
this seem less hassle. Once the shift to the new layout is done,
things can be rationalized as necessary.
- Also add the simple_can_simulator.py script, since without any
physical CAN connection something is needed to drive testing.
Bug-AGL: SPEC-3689
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I655409806026024c804942415ac476e59b916c28
Diffstat (limited to 'recipes-apis/agl-service-can-low-level')
5 files changed, 76 insertions, 0 deletions
diff --git a/recipes-apis/agl-service-can-low-level/agl-service-can-low-level_git.bbappend b/recipes-apis/agl-service-can-low-level/agl-service-can-low-level_git.bbappend new file mode 100644 index 0000000..4f28210 --- /dev/null +++ b/recipes-apis/agl-service-can-low-level/agl-service-can-low-level_git.bbappend @@ -0,0 +1,10 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI += "file://can-dev-mapping-helper.conf" + +do_install_append() { + install -D -m 0644 ${WORKDIR}/can-dev-mapping-helper.conf \ + ${D}${sysconfdir}/systemd/system/afm-service-agl-service-can-low-level-.service.d/can-dev-mapping-helper.conf +} + +RDEPENDS_${PN} += "can-dev-mapping-helper" diff --git a/recipes-apis/agl-service-can-low-level/can-dev-mapping-helper_1.0.bb b/recipes-apis/agl-service-can-low-level/can-dev-mapping-helper_1.0.bb new file mode 100644 index 0000000..37793fd --- /dev/null +++ b/recipes-apis/agl-service-can-low-level/can-dev-mapping-helper_1.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "Systemd unit for agl-service-can-low-level CAN device helper" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +inherit systemd allarch + +SRC_URI = "file://can-dev-mapping-helper.service \ + file://can-dev-mapping-helper.sh \ +" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service + install -D -m 0755 ${WORKDIR}/${BPN}.sh ${D}${sbindir}/${BPN}.sh +} + +FILES_${PN} += "${systemd_system_unitdir}" + +RDEPENDS_${PN} += "bash" diff --git a/recipes-apis/agl-service-can-low-level/files/can-dev-mapping-helper.conf b/recipes-apis/agl-service-can-low-level/files/can-dev-mapping-helper.conf new file mode 100644 index 0000000..c89cc4d --- /dev/null +++ b/recipes-apis/agl-service-can-low-level/files/can-dev-mapping-helper.conf @@ -0,0 +1,3 @@ +[Unit] +Wants=can-dev-mapping-helper.service +After=can-dev-mapping-helper.service diff --git a/recipes-apis/agl-service-can-low-level/files/can-dev-mapping-helper.service b/recipes-apis/agl-service-can-low-level/files/can-dev-mapping-helper.service new file mode 100644 index 0000000..0436716 --- /dev/null +++ b/recipes-apis/agl-service-can-low-level/files/can-dev-mapping-helper.service @@ -0,0 +1,6 @@ +[Unit] +Description=CAN interface helper + +[Service] +ExecStart=/usr/sbin/can-dev-mapping-helper.sh +Type=oneshot diff --git a/recipes-apis/agl-service-can-low-level/files/can-dev-mapping-helper.sh b/recipes-apis/agl-service-can-low-level/files/can-dev-mapping-helper.sh new file mode 100644 index 0000000..c81014f --- /dev/null +++ b/recipes-apis/agl-service-can-low-level/files/can-dev-mapping-helper.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# +# Script to bring up CAN interfaces configured in /etc/dev-mapping.conf +# as vcan interfaces if no physical interface is present. +# + +vcan_up() { + if [ -n "$1" ]; then + echo "Bringing up $1 as virtual CAN device" + ip link add dev $1 type vcan + ip link set up $1 + fi +} + +if [ ! -f /etc/dev-mapping.conf ]; then + exit 0 +fi + +hs=$(grep ^hs= /etc/dev-mapping.conf |cut -d= -f2 |tr -d '"') +ls=$(grep ^ls= /etc/dev-mapping.conf |cut -d= -f2 |tr -d '"') + +if [ -n "$hs" ]; then + echo "Checking $hs" + if ! ifconfig $hs >/dev/null 2>&1; then + vcan_up $hs + fi +fi +if [ -n "$ls" -a "$ls" != "$hs" ]; then + echo "Checking $ls" + if ! ifconfig $ls >/dev/null 2>&1; then + vcan_up $ls + fi +fi + +exit 0 |