From e64cdaccca7309e2d3c5da798e01fbea227bd465 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Mon, 22 Apr 2019 20:48:47 -0400 Subject: Initial check-in Define telematics demo platform. This layer is similar to meta-agl-demo and meta-agl-cluster-demo, except it defines a small platform for the telematics demo, based on the agl-profile-telematics profile. There is a "agl-telematics-demo" feature defined to enable building the platform. The defined agl-telematics-demo-platform image contains a minimal amount of services to host a simple demo application that reads CAN events and logs them via the MQTT protocol. At the moment, only the raspberrypi3 version has been built and tested, but there is nothing platform specific in the agl-telematics-demo-recorder application that would prevent use on another platform. Change-Id: I0ed94eefeff703afdcec81884bf16c10c63de28f Signed-off-by: Scott Murray --- .../udev/sw-gpsd-udev-conf/60-sw-gpsd.rules | 8 +++++++ recipes-core/udev/sw-gpsd-udev-conf_1.0.bb | 16 ++++++++++++++ .../udev/usb-can-udev-conf/60-usb-can.rules | 7 ++++++ recipes-core/udev/usb-can-udev-conf/slcand-default | 2 ++ .../udev/usb-can-udev-conf/slcand@.service | 13 +++++++++++ recipes-core/udev/usb-can-udev-conf_1.0.bb | 25 ++++++++++++++++++++++ 6 files changed, 71 insertions(+) create mode 100644 recipes-core/udev/sw-gpsd-udev-conf/60-sw-gpsd.rules create mode 100644 recipes-core/udev/sw-gpsd-udev-conf_1.0.bb create mode 100644 recipes-core/udev/usb-can-udev-conf/60-usb-can.rules create mode 100644 recipes-core/udev/usb-can-udev-conf/slcand-default create mode 100644 recipes-core/udev/usb-can-udev-conf/slcand@.service create mode 100644 recipes-core/udev/usb-can-udev-conf_1.0.bb (limited to 'recipes-core') diff --git a/recipes-core/udev/sw-gpsd-udev-conf/60-sw-gpsd.rules b/recipes-core/udev/sw-gpsd-udev-conf/60-sw-gpsd.rules new file mode 100644 index 0000000..a554700 --- /dev/null +++ b/recipes-core/udev/sw-gpsd-udev-conf/60-sw-gpsd.rules @@ -0,0 +1,8 @@ +# udev rules for gpsd for Sierra Wireless modems +SUBSYSTEM!="tty", GOTO="sw_gpsd_rules_end" + +ENV{ID_VENDOR_ID}=="1199", ATTRS{bInterfaceNumber}=="02", SYMLINK+="gps%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service" + +ACTION=="remove", TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service" + +LABEL="sw_gpsd_rules_end" diff --git a/recipes-core/udev/sw-gpsd-udev-conf_1.0.bb b/recipes-core/udev/sw-gpsd-udev-conf_1.0.bb new file mode 100644 index 0000000..9b6fd57 --- /dev/null +++ b/recipes-core/udev/sw-gpsd-udev-conf_1.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "Sierra-Wireless MC7xxx modem gpsd udev configuration" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI = "file://60-sw-gpsd.rules" + +do_compile[noexec] = "1" + +do_install() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/60-sw-gpsd.rules ${D}${sysconfdir}/udev/rules.d/ + fi +} + +RDEPENDS_${PN} += "systemd" diff --git a/recipes-core/udev/usb-can-udev-conf/60-usb-can.rules b/recipes-core/udev/usb-can-udev-conf/60-usb-can.rules new file mode 100644 index 0000000..3aa800a --- /dev/null +++ b/recipes-core/udev/usb-can-udev-conf/60-usb-can.rules @@ -0,0 +1,7 @@ +# udev rules for USB CAN adapters +SUBSYSTEM!="tty", GOTO="usb_can_rules_end" + +# VScom USB-CAN Plus +ATTRS{idProduct}=="6015", ATTRS{idVendor}=="0403", SYMLINK+="usbcan%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="slcand@%k.service" + +LABEL="usb_can_rules_end" diff --git a/recipes-core/udev/usb-can-udev-conf/slcand-default b/recipes-core/udev/usb-can-udev-conf/slcand-default new file mode 100644 index 0000000..a86552f --- /dev/null +++ b/recipes-core/udev/usb-can-udev-conf/slcand-default @@ -0,0 +1,2 @@ +# Defaults for VScom USB-CAN Plus @ 500 Kb/s CAN rate +SLCAND_OPTS="-o -s6 -t hw -S 3000000" diff --git a/recipes-core/udev/usb-can-udev-conf/slcand@.service b/recipes-core/udev/usb-can-udev-conf/slcand@.service new file mode 100644 index 0000000..3c30e51 --- /dev/null +++ b/recipes-core/udev/usb-can-udev-conf/slcand@.service @@ -0,0 +1,13 @@ +[Unit] +Description=Serial CAN daemon (can-utils) +BindsTo=dev-%i.device +After=dev-%i.device + +[Service] +Type=forking +StopWhenUnneeded=yes +Environment=SLCAND_OPTS="-o -c -s6" SLCAND_DEV=can0 +EnvironmentFile=-/etc/default/slcand +EnvironmentFile=-/etc/sysconfig/slcand +ExecStart=/usr/bin/slcand $SLCAND_OPTS %I $SLCAND_DEV +ExecStartPost=/bin/sh -c '/bin/sleep 3; /sbin/ip link set $SLCAND_DEV up' diff --git a/recipes-core/udev/usb-can-udev-conf_1.0.bb b/recipes-core/udev/usb-can-udev-conf_1.0.bb new file mode 100644 index 0000000..fb5deec --- /dev/null +++ b/recipes-core/udev/usb-can-udev-conf_1.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "USB CAN adapter udev configuration" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI = "file://60-usb-can.rules \ + file://slcand@.service \ + file://slcand-default \ +" + +do_compile[noexec] = "1" + +do_install() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/60-usb-can.rules ${D}${sysconfdir}/udev/rules.d/ + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/slcand@.service ${D}${systemd_system_unitdir}/ + install -d ${D}${sysconfdir}/default + install -m 0644 ${WORKDIR}/slcand-default ${D}${sysconfdir}/default/slcand + fi +} + +FILES_${PN} += "${systemd_system_unitdir}" + +RDEPENDS_${PN} += "systemd" -- cgit 1.2.3-korg