summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-ledtrig-rssi
diff options
context:
space:
mode:
authorFlorian Eckert <fe@dev.tdt.de>2020-02-20 12:04:12 +0100
committerFlorian Eckert <fe@dev.tdt.de>2020-02-27 13:28:03 +0100
commit638f5ce071f229fb0c11456a0b59d425179ab288 (patch)
tree86b6c26b5eead5a6e7fa207a45a9e1784927410a /applications/luci-app-ledtrig-rssi
parenteffb720741534acc12891c149bafa832f9419a6c (diff)
luci-mod-system: add led plugin infrastructure
This commit creates the possibility that not only kernel-led-triggers can be selected but also application-led-triggers from user space. This is done via a plugin mechanism. The application-led-triggers are scripts that set kernel-led-triggers on system events or services. Until now this has not been possible. The package rssileds is a kind of application-led-trigger. The following new packages are added: * luci-app-ledtrig-rssi (application-led-trigger) * luci-app-ledtrig-switch (kernel-led-trigger) not needed on every most devices * luci-app-ledtrig-usport (kernel-led-trigger) optional trigger Since we have now a plugin mechanism I have added the following triggers as a dependency. So this triggers are now installed per default on LuCI installation. * kmod-ledtrig-default-on * kmod-ledtrig-heartbeat * kmod-ledtrig-netdev * kmod-ledtrig-timer The kernel trigger kmod-ledtrig-usbdev was removed with the commit https://github.com/openwrt/openwrt/commit/d0b50c2770a0e2d54b37153f2801e2e7dc865fa6 So I have not ported the relevant code anymore. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Diffstat (limited to 'applications/luci-app-ledtrig-rssi')
-rw-r--r--applications/luci-app-ledtrig-rssi/Makefile16
-rw-r--r--applications/luci-app-ledtrig-rssi/htdocs/luci-static/resources/view/system/led-trigger/rssi.js38
2 files changed, 54 insertions, 0 deletions
diff --git a/applications/luci-app-ledtrig-rssi/Makefile b/applications/luci-app-ledtrig-rssi/Makefile
new file mode 100644
index 000000000..b3be2065c
--- /dev/null
+++ b/applications/luci-app-ledtrig-rssi/Makefile
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2020 TDT AG <development@tdt.de>
+#
+# This is free software, licensed under the Apache License Version 2.0.
+# See https://www.apache.org/licenses/LICENSE-2.0 for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:= LuCI Support for ledtrigger rssi
+LUCI_DEPENDS:=+rssileds
+LUCI_PKGARCH:=all
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/applications/luci-app-ledtrig-rssi/htdocs/luci-static/resources/view/system/led-trigger/rssi.js b/applications/luci-app-ledtrig-rssi/htdocs/luci-static/resources/view/system/led-trigger/rssi.js
new file mode 100644
index 000000000..611adc8b1
--- /dev/null
+++ b/applications/luci-app-ledtrig-rssi/htdocs/luci-static/resources/view/system/led-trigger/rssi.js
@@ -0,0 +1,38 @@
+'use strict';
+'require form';
+'require tools.widgets as widgets';
+
+return L.Class.extend({
+ trigger: _('rssi (service)'),
+ kernel: false,
+ addFormOptions(s){
+ var o;
+
+ o = s.option(widgets.DeviceSelect, '_rssi_iface', _('Device'));
+ o.rmempty = true;
+ o.ucioption = 'iface';
+ o.modalonly = true;
+ o.noaliases = true;
+ o.depends('trigger', 'rssi');
+
+ o = s.option(form.Value, 'minq', _('Minimal quality'));
+ o.rmempty = true;
+ o.modalonly = true;
+ o.depends('trigger', 'rssi');
+
+ o = s.option(form.Value, 'maxq', _('Maximal quality'));
+ o.rmempty = true;
+ o.modalonly = true;
+ o.depends('trigger', 'rssi');
+
+ o = s.option(form.Value, 'offset', _('Value offset'));
+ o.rmempty = true;
+ o.modalonly = true;
+ o.depends('trigger', 'rssi');
+
+ o = s.option(form.Value, 'factor', _('Multiplication factor'));
+ o.rmempty = true;
+ o.modalonly = true;
+ o.depends('trigger', 'rssi');
+ }
+});