summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2019-11-06 16:14:57 -0500
committerScott Murray <scott.murray@konsulko.com>2019-11-06 21:08:14 +0000
commit3fe7f283824a7afb6ffe22a904d57b28a9b69a72 (patch)
tree4d556ba9486bc6ca7af6ed0169ea2ab402075093
parentc4f32fa3c22b15a513c5ba0907b1927f6db53a61 (diff)
Update LIN demo to use lin-config
Changes include: - Add patch to fix lin-config recipe build QA error. - Tweak lin-config recipe to install lin_config as executable. - Rework sllin-demo systemd unit and start_lin_demo.sh script to use lin_config with an appropriate configuration file that enables polling of the steering wheel adapter instead of just using ldattach. Bug-AGL: SPEC-2918 Change-Id: I3258b7e34cecbbb1cfb93ea6f63a44f0bbb2c06f Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-rw-r--r--recipes-kernel/sllin/files/lin_config.conf10
-rw-r--r--recipes-kernel/sllin/files/sllin-demo.service6
-rw-r--r--[-rwxr-xr-x]recipes-kernel/sllin/files/start_lin_demo.sh7
-rw-r--r--recipes-kernel/sllin/sllin.bb7
-rw-r--r--recipes-support/lin-config/files/0002-Change-Makefile-to-use-LDFLAGS.patch20
-rw-r--r--recipes-support/lin-config/lin-config_git.bb8
6 files changed, 47 insertions, 11 deletions
diff --git a/recipes-kernel/sllin/files/lin_config.conf b/recipes-kernel/sllin/files/lin_config.conf
new file mode 100644
index 000000000..9775b8b39
--- /dev/null
+++ b/recipes-kernel/sllin/files/lin_config.conf
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--PCAN-LIN CT profile.-->
+<PCLIN_PROFILE Version="1">
+ <LIN Group="2">
+ <Scheduler_Entries Count="1">
+ <!-- Poll steering wheel adapter at address 0x21 every 100 ms -->
+ <Entry Time="100">33</Entry>
+ </Scheduler_Entries>
+ </LIN>
+</PCLIN_PROFILE>
diff --git a/recipes-kernel/sllin/files/sllin-demo.service b/recipes-kernel/sllin/files/sllin-demo.service
index 7eb6cfac4..2f2f5ac23 100644
--- a/recipes-kernel/sllin/files/sllin-demo.service
+++ b/recipes-kernel/sllin/files/sllin-demo.service
@@ -1,13 +1,13 @@
[Unit]
-Description = LIN DEMO startup
+Description=LIN demo configuration
+ConditionPathExists=/dev/ttyUSB0
After=afm-system-daemon.service
[Service]
Type=forking
-PIDFile=/var/run/lin_ldattach
+PIDFile=/var/run/lin_config.pid
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 741189fb7..4fcfcc6d2 100755..100644
--- a/recipes-kernel/sllin/files/start_lin_demo.sh
+++ b/recipes-kernel/sllin/files/start_lin_demo.sh
@@ -1,10 +1,13 @@
#!/bin/sh
+# Attach serial LIN->CAN bridge and set up LIN polling
sleep 1
-ldattach 25 /dev/ttySC3
-pidof ldattach > /var/run/lin_ldattach
+/usr/bin/lin_config -c /etc/lin_config.conf -a sllin:/dev/ttyUSB0
+pidof lin_config > /var/run/lin_config.pid
sleep 1
ip link set sllin0 up
+
+# Initialize HVAC controller
usleep 100000
cansend sllin0 030#
usleep 100000
diff --git a/recipes-kernel/sllin/sllin.bb b/recipes-kernel/sllin/sllin.bb
index 6213fd967..0478b21a7 100644
--- a/recipes-kernel/sllin/sllin.bb
+++ b/recipes-kernel/sllin/sllin.bb
@@ -19,6 +19,7 @@ SRC_URI_append = " \
file://0001-Disable-sllin-driver-debug-log.patch;pnum=2 \
file://sllin-demo.service \
file://start_lin_demo.sh \
+ file://lin_config.conf \
"
KERNEL_MODULE_AUTOLOAD_append = " sllin"
@@ -34,6 +35,10 @@ do_install_append () {
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 -d ${D}${sysconfdir}
+ install -m 0644 ${WORKDIR}/lin_config.conf ${D}${sysconfdir}/
}
-FILES_${PN}_append = " ${bindir}/start_lin_demo.sh"
+FILES_${PN} += "${bindir}/start_lin_demo.sh ${sysconfdir}/lin_config.conf"
+
+RDEPENDS_${PN} += "lin-config"
diff --git a/recipes-support/lin-config/files/0002-Change-Makefile-to-use-LDFLAGS.patch b/recipes-support/lin-config/files/0002-Change-Makefile-to-use-LDFLAGS.patch
new file mode 100644
index 000000000..26364455a
--- /dev/null
+++ b/recipes-support/lin-config/files/0002-Change-Makefile-to-use-LDFLAGS.patch
@@ -0,0 +1,20 @@
+Use LDFLAGS when linking
+
+Use LDFLAGS when linking the output binary to quiet QA warnings due to
+missing link flags.
+
+Upstream-Status: Pending
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+--- a/Makefile 2019-11-05 11:08:11.060565285 +0000
++++ b/Makefile 2019-11-05 11:09:38.663570084 +0000
+@@ -6,7 +6,7 @@
+ objects = linc_parse_xml.o pcl_config.o sllin_config.o lin_config.o
+
+ lin_config: $(objects)
+- $(CC) $(objects) $(LIBS) -o lin_config
++ $(CC) $(LDFLAGS) $(objects) $(LIBS) -o lin_config
+
+ %.o : %.c %.h
+ $(CC) $(CFLAGS) $(LIBS) -c $< -o $@
diff --git a/recipes-support/lin-config/lin-config_git.bb b/recipes-support/lin-config/lin-config_git.bb
index 6c8db847d..e83f71606 100644
--- a/recipes-support/lin-config/lin-config_git.bb
+++ b/recipes-support/lin-config/lin-config_git.bb
@@ -2,7 +2,6 @@ DESCRIPTION = "lin-config tool for the sllin driver module"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
DEPENDS += "libnl libxml2"
SRC_URI = "git://github.com/trainman419/linux-lin.git;protocol=https"
@@ -11,17 +10,16 @@ S = "${WORKDIR}/git/lin_config/src"
SRC_URI_append = " \
file://0001-Change-Makefile-to-use-pkg-config-for-libxml-2.0.patch \
+ file://0002-Change-Makefile-to-use-LDFLAGS.patch \
"
inherit pkgconfig
PV = "0.1+git${SRCPV}"
-
do_configure[noexec] = "1"
do_install_append() {
-
install -d ${D}/${bindir}
- install -m 644 ${S}/lin_config ${D}/${bindir}
-} \ No newline at end of file
+ install -m 755 ${S}/lin_config ${D}/${bindir}
+}