summaryrefslogtreecommitdiffstats
path: root/recipes-navigation/gpsd
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-navigation/gpsd')
-rw-r--r--recipes-navigation/gpsd/gpsd-machine-conf_%.bbappend1
-rw-r--r--recipes-navigation/gpsd/gpsd-machine-conf_agldemo.inc8
-rw-r--r--recipes-navigation/gpsd/gpsd/sw-device-hook23
-rw-r--r--recipes-navigation/gpsd/gpsd_%.bbappend1
-rw-r--r--recipes-navigation/gpsd/gpsd_agldemo.inc10
5 files changed, 43 insertions, 0 deletions
diff --git a/recipes-navigation/gpsd/gpsd-machine-conf_%.bbappend b/recipes-navigation/gpsd/gpsd-machine-conf_%.bbappend
new file mode 100644
index 00000000..77c0ef8a
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd-machine-conf_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'agldemo', 'gpsd-machine-conf_agldemo.inc', '', d)}
diff --git a/recipes-navigation/gpsd/gpsd-machine-conf_agldemo.inc b/recipes-navigation/gpsd/gpsd-machine-conf_agldemo.inc
new file mode 100644
index 00000000..f2bca1a6
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd-machine-conf_agldemo.inc
@@ -0,0 +1,8 @@
+# Mark package as machine specific, which the upstream stub recipe
+# does not do for unclear reasons.
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+# Allow an empty package as results from the upstream stub recipe.
+# This allows using the package without needing machine specific
+# hooks.
+ALLOW_EMPTY:${PN} = "1"
diff --git a/recipes-navigation/gpsd/gpsd/sw-device-hook b/recipes-navigation/gpsd/gpsd/sw-device-hook
new file mode 100644
index 00000000..e1e6f7a4
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd/sw-device-hook
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# Figure out the parent usb device
+USBDEV=`ls -l "$1" |sed -ne 's!^c[^ ]* [0-9]* [^ ]* [^ ]* \([0-9]*\), \([0-9]*\) .*!/sys/dev/char/\1:\2/device/../..!p'`
+
+# Silently ignore any non-USB ports
+if [ ! -r "$USBDEV/idVendor" ] || [ ! -r "$USBDEV/idProduct" ]; then
+ exit 0
+fi
+
+VID=`cat "$USBDEV/idVendor"`
+PID=`cat "$USBDEV/idProduct"`
+case "$2" in
+ ACTIVATE) CMD=START ;;
+ *) CMD=STOP ;;
+esac
+
+case "$VID:$PID" in
+ "1199:9071"|"1199:9079") echo \$GPS_$CMD >"$1" ;;
+ *) ;;
+esac
+
+exit 0
diff --git a/recipes-navigation/gpsd/gpsd_%.bbappend b/recipes-navigation/gpsd/gpsd_%.bbappend
new file mode 100644
index 00000000..ac56bfb8
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'agldemo', 'gpsd_agldemo.inc', '', d)}
diff --git a/recipes-navigation/gpsd/gpsd_agldemo.inc b/recipes-navigation/gpsd/gpsd_agldemo.inc
new file mode 100644
index 00000000..cb26510d
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd_agldemo.inc
@@ -0,0 +1,10 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/gpsd:"
+
+SRC_URI += "file://sw-device-hook"
+
+do_install:append() {
+ # Install device-hook script for starting NMEA output on Sierra Wireless modems
+ install -d ${D}${sysconfdir}/gpsd
+ install -m 0755 ${WORKDIR}/sw-device-hook ${D}${sysconfdir}/gpsd/device-hook
+}
+