summaryrefslogtreecommitdiffstats
path: root/meta-agl-demo/recipes-kernel/sllin/files
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-demo/recipes-kernel/sllin/files')
-rw-r--r--meta-agl-demo/recipes-kernel/sllin/files/lin_config.conf10
-rw-r--r--meta-agl-demo/recipes-kernel/sllin/files/sllin-demo-virtual.service12
-rw-r--r--meta-agl-demo/recipes-kernel/sllin/files/sllin-demo.service6
-rwxr-xr-xmeta-agl-demo/recipes-kernel/sllin/files/start_lin_demo.sh15
4 files changed, 36 insertions, 7 deletions
diff --git a/meta-agl-demo/recipes-kernel/sllin/files/lin_config.conf b/meta-agl-demo/recipes-kernel/sllin/files/lin_config.conf
new file mode 100644
index 00000000..9775b8b3
--- /dev/null
+++ b/meta-agl-demo/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/meta-agl-demo/recipes-kernel/sllin/files/sllin-demo-virtual.service b/meta-agl-demo/recipes-kernel/sllin/files/sllin-demo-virtual.service
new file mode 100644
index 00000000..78824219
--- /dev/null
+++ b/meta-agl-demo/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/meta-agl-demo/recipes-kernel/sllin/files/sllin-demo.service b/meta-agl-demo/recipes-kernel/sllin/files/sllin-demo.service
index 7eb6cfac..2f2f5ac2 100644
--- a/meta-agl-demo/recipes-kernel/sllin/files/sllin-demo.service
+++ b/meta-agl-demo/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/meta-agl-demo/recipes-kernel/sllin/files/start_lin_demo.sh b/meta-agl-demo/recipes-kernel/sllin/files/start_lin_demo.sh
index 741189fb..26f64c0a 100755
--- a/meta-agl-demo/recipes-kernel/sllin/files/start_lin_demo.sh
+++ b/meta-agl-demo/recipes-kernel/sllin/files/start_lin_demo.sh
@@ -1,10 +1,17 @@
#!/bin/sh
-sleep 1
-ldattach 25 /dev/ttySC3
-pidof ldattach > /var/run/lin_ldattach
-sleep 1
+# Attach serial LIN->CAN bridge and set up LIN polling
+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
usleep 100000
cansend sllin0 030#
usleep 100000