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"
json_select led
json_select "$key"
- json_get_vars name sysfs type trigger device interface default port_mask
- json_select ..
- json_select ..
+ json_get_vars name sysfs type trigger default
uci -q batch <<-EOF
delete system.$cfg
set system.$cfg='led'
set system.$cfg.name='$name'
set system.$cfg.sysfs='$sysfs'
- set system.$cfg.dev='$device'
set system.$cfg.trigger='$trigger'
- set system.$cfg.port_mask='$port_mask'
set system.$cfg.default='$default'
EOF
case "$type" in
netdev)
+ local device
+ json_get_vars device
uci -q batch <<-EOF
set system.$cfg.trigger='netdev'
set system.$cfg.mode='link tx rx'
+ set system.$cfg.dev='$device'
EOF
;;
usb)
+ local device
+ json_get_vars device
uci -q batch <<-EOF
set system.$cfg.trigger='usbdev'
set system.$cfg.interval='50'
+ set system.$cfg.dev='$device'
+ EOF
+ ;;
+
+ rssi)
+ local iface 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
+ ;;
+
+ switch)
+ local port_mask
+ json_get_vars port_mask
+ uci -q batch <<-EOF
+ set system.$cfg.port_mask='$port_mask'
EOF
;;
esac
+
+ json_select ..
+ json_select ..
}
json_init
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