ugps.init 784 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/bin/sh /etc/rc.common
  2. # Copyright (c) 2014 OpenWrt.org
  3. START=80
  4. USE_PROCD=1
  5. PROG=/usr/sbin/ugps
  6. service_triggers() {
  7. procd_add_reload_trigger gps
  8. }
  9. start_service() {
  10. local tty="$(uci get gps.@gps[-1].tty)"
  11. local baudrate="$(uci get gps.@gps[-1].baudrate || echo 0)"
  12. local atime="$(uci get gps.@gps[-1].adjust_time)"
  13. local disabled="$(uci get gps.@gps[-1].disabled || echo 0)"
  14. [ "$disabled" == "0" ] || return
  15. [ "$tty" ] || return
  16. case "$tty" in
  17. "/"*)
  18. true
  19. ;;
  20. *)
  21. tty="/dev/$tty"
  22. ;;
  23. esac
  24. procd_open_instance
  25. procd_set_param command "$PROG"
  26. [ "$baudrate" -eq 0 ] || procd_append_param command "-b ${baudrate}"
  27. [ "$atime" -eq 0 ] || procd_append_param command "-a"
  28. procd_append_param command "$tty"
  29. procd_set_param respawn
  30. procd_close_instance
  31. }