aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2014-08-01 09:37:49 +0000
committerJohn Crispin <blogic@openwrt.org>2014-08-01 09:37:49 +0000
commit875e5f14ce86d36fa2a492334b178f0cb3b1b7c3 (patch)
tree0b21e68358e4e9e3a2def51d3e99ccf1f4fb7c39 /package/utils
parent4796b0e613cf84e47d568f64d14ae6c1f6b69483 (diff)
downloadmaster-187ad058-875e5f14ce86d36fa2a492334b178f0cb3b1b7c3.tar.gz
master-187ad058-875e5f14ce86d36fa2a492334b178f0cb3b1b7c3.tar.bz2
master-187ad058-875e5f14ce86d36fa2a492334b178f0cb3b1b7c3.zip
ugps: add a minimal gps daemon
* set the system time/data * "ubus call gps info" will tell you lattitude, longitude, elevation, speed and bearing Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41929 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/utils')
-rw-r--r--package/utils/ugps/Makefile41
-rw-r--r--package/utils/ugps/files/gps.config2
-rw-r--r--package/utils/ugps/files/ugps.init22
3 files changed, 65 insertions, 0 deletions
diff --git a/package/utils/ugps/Makefile b/package/utils/ugps/Makefile
new file mode 100644
index 0000000000..44dbb59fec
--- /dev/null
+++ b/package/utils/ugps/Makefile
@@ -0,0 +1,41 @@
+#
+# Copyright (C) 2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ugps
+PKG_VERSION:=2014-08-01
+PKG_RELEASE=$(PKG_SOURCE_VERSION)
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.bz2
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_URL:=git://git.openwrt.org/project/ugps.git
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_VERSION:=1c31c99edd9de9dcb403750b04041eccc751ac5e
+
+PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/ugps
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=OpenWrt GPS Daemon
+ DEPENDS:=+libubox +libubus
+endef
+
+TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
+
+define Package/ugps/install
+ $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/config
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/ugps $(1)/usr/sbin/
+ $(INSTALL_BIN) ./files/ugps.init $(1)/etc/init.d/ugps
+ $(INSTALL_BIN) ./files/gps.config $(1)/etc/config/gps
+endef
+
+$(eval $(call BuildPackage,ugps))
diff --git a/package/utils/ugps/files/gps.config b/package/utils/ugps/files/gps.config
new file mode 100644
index 0000000000..d997a590ce
--- /dev/null
+++ b/package/utils/ugps/files/gps.config
@@ -0,0 +1,2 @@
+config gps
+ option 'tty' 'ttyACM0'
diff --git a/package/utils/ugps/files/ugps.init b/package/utils/ugps/files/ugps.init
new file mode 100644
index 0000000000..621d017869
--- /dev/null
+++ b/package/utils/ugps/files/ugps.init
@@ -0,0 +1,22 @@
+#!/bin/sh /etc/rc.common
+# Copyright (c) 2014 OpenWrt.org
+
+START=80
+
+USE_PROCD=1
+PROG=/usr/sbin/ugps
+
+service_triggers() {
+ procd_add_reload_trigger gps
+}
+
+start_service() {
+ local tty="$(uci get gps.@gps[-1].tty)"
+
+ [ -d "/sys/class/tty/$tty/" ] || return
+
+ procd_open_instance
+ procd_set_param command "$PROG" "/dev/$tty"
+ procd_set_param respawn
+ procd_close_instance
+}