diff options
-rw-r--r-- | recipes-config/cluster-lin-bridging-config/cluster-lin-bridging-config.bb | 29 | ||||
-rw-r--r-- | recipes-config/cluster-lin-bridging-config/files/cluster-lin-bridging.service | 11 | ||||
-rw-r--r-- | recipes-kernel/sllin/files/sllin-demo-virtual.service | 12 | ||||
-rwxr-xr-x[-rw-r--r--] | recipes-kernel/sllin/files/start_lin_demo.sh | 12 | ||||
-rw-r--r-- | recipes-kernel/sllin/sllin.bb | 7 | ||||
-rw-r--r-- | recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb | 13 |
6 files changed, 76 insertions, 8 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 diff --git a/recipes-kernel/sllin/files/sllin-demo-virtual.service b/recipes-kernel/sllin/files/sllin-demo-virtual.service new file mode 100644 index 000000000..788242197 --- /dev/null +++ b/recipes-kernel/sllin/files/sllin-demo-virtual.service @@ -0,0 +1,12 @@ +[Unit] +Description=LIN demo configuration (virtual) +ConditionPathExists=!/dev/ttyUSB0 +After=afm-system-daemon.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/start_lin_demo.sh +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/recipes-kernel/sllin/files/start_lin_demo.sh b/recipes-kernel/sllin/files/start_lin_demo.sh index 4fcfcc6d2..26f64c0a1 100644..100755 --- a/recipes-kernel/sllin/files/start_lin_demo.sh +++ b/recipes-kernel/sllin/files/start_lin_demo.sh @@ -1,10 +1,14 @@ #!/bin/sh # Attach serial LIN->CAN bridge and set up LIN polling -sleep 1 -/usr/bin/lin_config -c /etc/lin_config.conf -a sllin:/dev/ttyUSB0 -pidof lin_config > /var/run/lin_config.pid -sleep 1 +if [ -c /dev/ttyUSB0 ]; then + sleep 1 + /usr/bin/lin_config -c /etc/lin_config.conf -a sllin:/dev/ttyUSB0 + pidof lin_config > /var/run/lin_config.pid + sleep 1 +else + ip link add dev sllin0 type vcan +fi ip link set sllin0 up # Initialize HVAC controller diff --git a/recipes-kernel/sllin/sllin.bb b/recipes-kernel/sllin/sllin.bb index 0478b21a7..7c4313f16 100644 --- a/recipes-kernel/sllin/sllin.bb +++ b/recipes-kernel/sllin/sllin.bb @@ -18,6 +18,7 @@ SRC_URI_append = " \ file://0003-Allow-recent-kernels-newer-4.11.x-to-build.patch;pnum=2 \ file://0001-Disable-sllin-driver-debug-log.patch;pnum=2 \ file://sllin-demo.service \ + file://sllin-demo-virtual.service \ file://start_lin_demo.sh \ file://lin_config.conf \ " @@ -29,16 +30,22 @@ SLLINBAUDRATE ??= "9600" module_conf_sllin = "options sllin baudrate=${SLLINBAUDRATE}" SYSTEMD_SERVICE_${PN} = "sllin-demo.service" +SYSTEMD_SERVICE_${PN}-virtual = "sllin-demo-virtual.service" do_install_append () { install -d 644 ${D}/${bindir} install -m 755 ${WORKDIR}/start_lin_demo.sh ${D}/${bindir}/start_lin_demo.sh install -d ${D}${systemd_system_unitdir} install -m 0644 ${WORKDIR}/sllin-demo.service ${D}${systemd_system_unitdir}/ + install -m 0644 ${WORKDIR}/sllin-demo-virtual.service ${D}${systemd_system_unitdir}/ install -d ${D}${sysconfdir} install -m 0644 ${WORKDIR}/lin_config.conf ${D}${sysconfdir}/ } +PACKAGES =+ "${PN}-virtual" + FILES_${PN} += "${bindir}/start_lin_demo.sh ${sysconfdir}/lin_config.conf" +FILES_${PN}-virtual = "${systemd_system_unitdir}/sllin-demo-virtual.service" + RDEPENDS_${PN} += "lin-config" diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb b/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb index 65e043ea5..092d4a71c 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb @@ -32,10 +32,10 @@ MOST_DRIVERS_dragonboard-410c ?= "" # HVAC dependencies ################### -LIN_DRIVERS ??= " sllin" +LIN_DRIVERS ??= " sllin sllin-virtual" # These boards use different kernels - needs to be checked -LIN_DRIVERS_dra7xx-evm ?= "" -LIN_DRIVERS_dragonboard-410c ?= "" +LIN_DRIVERS_dra7xx-evm ?= "sllin-virtual" +LIN_DRIVERS_dragonboard-410c ?= "sllin-virtual" # UNICENS service UNICENS ?= " \ @@ -66,7 +66,12 @@ QTAGLEXTRAS = "${@bb.utils.contains("DISTRO_FEATURES", "agl-hmi-framework", " qt # Cluster demo support. # ATM no cluster map viewer is supported with the older navigation application. MAPVIEWER = "${@bb.utils.contains("PREFERRED_RPROVIDER_virtual/navigation", "ondemandnavi", "tbtnavi", "",d)}" -CLUSTER_SUPPORT = "${@bb.utils.contains("DISTRO_FEATURES", "agl-cluster-demo-support", "${MAPVIEWER} cluster-demo-network-config", "",d)}" +CLUSTER_SUPPORT_PACKAGES = " \ + ${MAPVIEWER} \ + cluster-demo-network-config \ + cluster-lin-bridging-config \ +" +CLUSTER_SUPPORT = "${@bb.utils.contains("DISTRO_FEATURES", "agl-cluster-demo-support", "${CLUSTER_SUPPORT_PACKAGES}", "",d)}" # Hook for demo platform configuration # ATM used for: |