base-files: config_generate: support rssi leds
authorJo-Philipp Wich <jow@openwrt.org>
Thu, 26 Nov 2015 12:04:43 +0000 (12:04 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Thu, 26 Nov 2015 12:04:43 +0000 (12:04 +0000)
Add support for emitting rssi monitor and led configuration sections.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 47656

package/base-files/files/bin/config_generate

index 78315ff9f9870f83284b2076228cd92a33dca8a8..d5bc38ecd722673109fb72c8c3d7dcd8d5b40729 100755 (executable)
@@ -267,6 +267,26 @@ generate_switch() {
        json_select ..
 }
 
+generate_rssimon() {
+       local key="$1"
+       local cfg="rssid_$key"
+       local refresh threshold
+
+       json_select rssimon
+       json_select "$key"
+       json_get_vars refresh threshold
+       json_select ..
+       json_select ..
+
+       uci -q batch <<-EOF
+               delete system.$cfg
+               set system.$cfg='rssid'
+               set system.$cfg.dev='$key'
+               set system.$cfg.refresh='$refresh'
+               set system.$cfg.threshold='$threshold'
+       EOF
+}
+
 generate_led() {
        local key="$1"
        local cfg="led_$key"
@@ -274,8 +294,6 @@ generate_led() {
        json_select led
        json_select "$key"
        json_get_vars name sysfs type trigger device interface default port_mask
-       json_select ..
-       json_select ..
 
        uci -q batch <<-EOF
                delete system.$cfg
@@ -302,7 +320,23 @@ generate_led() {
                                set system.$cfg.interval='50'
                        EOF
                ;;
+
+               rssi)
+                       local minq maxq offset factor
+                       json_get_vars iface minq maxq offset factor
+                       uci -q batch <<-EOF
+                               set system.$cfg.trigger='rssi'
+                               set system.$cfg.iface='rssid_$iface'
+                               set system.$cfg.minq='$minq'
+                               set system.$cfg.maxq='$maxq'
+                               set system.$cfg.offset='$offset'
+                               set system.$cfg.factor='$factor'
+                       EOF
+               ;;
        esac
+
+       json_select ..
+       json_select ..
 }
 
 json_init
@@ -316,6 +350,9 @@ for key in $keys; do generate_network $key; done
 json_get_keys keys switch
 for key in $keys; do generate_switch $key; done
 
+json_get_keys keys rssimon
+for key in $keys; do generate_rssimon $key; done
+
 json_get_keys keys led
 for key in $keys; do generate_led $key; done