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>

Backport of r41929

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@41970 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
blogic 2014-08-03 11:15:42 +00:00
parent b0b0d59815
commit d7cd6a0428
3 changed files with 65 additions and 0 deletions

View File

@ -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))

View File

@ -0,0 +1,2 @@
config gps
option 'tty' 'ttyACM0'

View File

@ -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
}