aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-kernel/sllin
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 16:20:50 -0500
commit9720369548deb31910c6addabad74886653444bc (patch)
tree48040f5ac87f39020dbe7bdaad041bce28660331 /recipes-kernel/sllin
parentd367bf23b04810d53351c63e6505376eaacc32ae (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>
Diffstat (limited to 'recipes-kernel/sllin')
-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
4 files changed, 24 insertions, 6 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"