leds: support oneshot as well as timer triggers
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 25 Feb 2016 10:14:16 +0000 (10:14 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 25 Feb 2016 10:14:16 +0000 (10:14 +0000)
oneshot and timer have the same configuration options, just a different
trigger name.

Signed-off-by: Karl Palsson <karlp@etactica.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48770 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/base-files/files/bin/config_generate
package/base-files/files/lib/functions/uci-defaults.sh

index 92eb14b..28ba0e2 100755 (executable)
@@ -303,11 +303,11 @@ generate_led() {
                        EOF
                ;;
 
                        EOF
                ;;
 
-               timer)
+               timer|oneshot)
                        local delayon delayoff
                        json_get_vars delayon delayoff
                        uci -q batch <<-EOF
                        local delayon delayoff
                        json_get_vars delayon delayoff
                        uci -q batch <<-EOF
-                               set system.$cfg.trigger='timer'
+                               set system.$cfg.trigger='$type'
                                set system.$cfg.delayon='$delayon'
                                set system.$cfg.delayoff='$delayoff'
                        EOF
                                set system.$cfg.delayon='$delayon'
                                set system.$cfg.delayoff='$delayoff'
                        EOF
index de3f180..84b78b8 100755 (executable)
@@ -478,17 +478,18 @@ ucidef_set_led_ide() {
        json_select ..
 }
 
        json_select ..
 }
 
-ucidef_set_led_timer() {
+__ucidef_set_led_timer() {
        local cfg="led_$1"
        local name="$2"
        local sysfs="$3"
        local cfg="led_$1"
        local name="$2"
        local sysfs="$3"
-       local delayon="$4"
-       local delayoff="$5"
+       local trigger="$4"
+       local delayon="$5"
+       local delayoff="$6"
 
        json_select_object led
 
        json_select_object "$1"
 
        json_select_object led
 
        json_select_object "$1"
-       json_add_string type timer
+       json_add_string type "$trigger"
        json_add_string name "$name"
        json_add_string sysfs "$sysfs"
        json_add_int delayon "$delayon"
        json_add_string name "$name"
        json_add_string sysfs "$sysfs"
        json_add_int delayon "$delayon"
@@ -498,6 +499,14 @@ ucidef_set_led_timer() {
        json_select ..
 }
 
        json_select ..
 }
 
+ucidef_set_led_oneshot() {
+       __ucidef_set_led_timer $1 $2 $3 "oneshot" $4 $5
+}
+
+ucidef_set_led_timer() {
+       __ucidef_set_led_timer $1 $2 $3 "timer" $4 $5
+}
+
 ucidef_set_led_rssi() {
        local cfg="led_$1"
        local name="$2"
 ucidef_set_led_rssi() {
        local cfg="led_$1"
        local name="$2"