add gluon-config-mode-outdoor package

adds a section to the wizard for outdoor capable devices
that informs the user of of the regulatory situation and
allows a quick toggle of the outdoor mode.
This commit is contained in:
Martin Weinelt 2018-03-26 14:42:47 +02:00
parent e20d5b0a3e
commit 501c3b38bb
5 changed files with 59 additions and 1 deletions

View File

@ -3,7 +3,8 @@ nodefault 'web-wizard'
packages 'web-wizard' \
'gluon-config-mode-hostname' \
'gluon-config-mode-geo-location' \
'gluon-config-mode-contact-info'
'gluon-config-mode-contact-info' \
'gluon-config-mode-outdoor'
packages 'web-wizard & autoupdater' \
'gluon-config-mode-autoupdater'

View File

@ -0,0 +1,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-config-mode-outdoor
PKG_VERSION:=1
include ../gluon.mk
define Package/gluon-config-mode-outdoor
TITLE:=UI for displaying & changing the outdoor mode flag in the wizard
DEPENDS:=+gluon-config-mode-core
endef
$(eval $(call BuildPackageGluon,gluon-config-mode-outdoor))

View File

@ -0,0 +1,9 @@
msgid ""
"Please enable this option in case the node is to be installed outdoors "
"to comply with local frequency regulations."
msgstr ""
"Wenn der Knoten im Freien aufgestellt werden soll, dann aktiviere bitte "
"diese Option um den örtlichen Frequenzbestimmungen zu entsprechen."
msgid "Node will be installed outdoors"
msgstr "Knoten wird im Außenbereich betrieben"

View File

@ -0,0 +1,7 @@
msgid ""
"Please enable this option in case the node is to be installed outdoors "
"to comply with local frequency regulations."
msgstr ""
msgid "Node will be installed outdoors"
msgstr ""

View File

@ -0,0 +1,28 @@
return function(form, uci)
local platform_info = require 'platform_info'
if not platform_info.is_outdoor_device() then
-- only visible on wizard for outdoor devices
return
end
local pkg_i18n = i18n 'gluon-config-mode-outdoor'
local section = form:section(Section, nil, pkg_i18n.translate(
"Please enable this option in case the node is to be installed outdoors "
.. "to comply with local frequency regulations."
))
local outdoor = section:option(Flag, 'outdoor', pkg_i18n.translate("Node will be installed outdoors"))
outdoor.default = outdoor_mode
function outdoor:write(data)
if data ~= outdoor_mode then
uci:set('gluon', 'wireless', 'outdoor', data)
uci:save('gluon')
os.execute('/lib/gluon/upgrade/200-wireless')
end
end
return {'gluon', 'wireless'}
end