Subsections


B.10 HWSUPP - Hinweise für Paket-Entwickler

Im folgenden ist beschrieben was ein Paket-Entwickler zu tun hat, um Button- oder LED-Funktionalität zu einem Paket hinzuzufügenB.1.

B.10.1 LED-Erweiterungen

B.10.1.1 LED-Typ

In der Datei check/myopt.exp wird die Liste der erlaubten LED-Typen die in HWSUPP_LED_x eingetragen werden können erweitert.

Beispiel:

+HWSUPP_LED_TYPE(OPT_MYOPT) = 'myopt' 
                            : ', myopt'

B.10.1.2 Parameterprüfung

In der Datei check/myopt.ext werden die Parameter die für den neuen LED-Typen in HWSUPP_LED_x_PARAM eingetragen werden können geprüft.

Beispiel:

if (opt_hwsupp)
then
    depends on hwsupp version 4.0

    foreach i in hwsupp_led_n
    do
        set action=hwsupp_led_%[i]
        set param=hwsupp_led_%_param[i]
        if (action == "myopt")
        then
            if (!(param =~ "(RE:MYOPT_LED_PARAM)"))
            then
                error "When HWSUPP_LED_\${i}='myopt', ...
                       must be entered in HWSUPP_LED_\${i}_PARAM" 
            fi
        fi
    done
fi

B.10.1.3 LED schalten

Um eine LED zu schalten ist in einem eigenen Skript (z.B. /usr/bin/<opt>_setled) das Kommando /usr/bin/hwsupp_setled <LED> <Status>/ aufzurufen.

Die LED-Nummer kann aus /var/run/hwsupp.conf> ausgelesen werden.

Als Status ist off, on oder blink zu übergeben.

Beispiel:

if [ -f /var/run/hwsupp.conf ]
then
    . /var/run/hwsupp.conf
    [ 0$hwsupp_led_n -eq 0 ] || for i in `seq 1 $hwsupp_led_n`
    do
        eval action=\$hwsupp_led_${i}
        eval param=\$hwsupp_led_${i}_param
        if [ "$action" = "<opt>" ]
        then
            if [ <myexpression> ]
            then
                /usr/bin/hwsupp_setled $i on
            else
                /usr/bin/hwsupp_setled $i off
            fi
        fi
    done
fi

Den aktuellen Zustand einer LED kann man mit /usr/bin/hwsupp_getled <LED>/ abfragen. Es wird je nach Status off, on oder blink ausgegeben.

B.10.2 Button-Erweiterungen

B.10.3 Button-Aktion

In der Datei check/myopt.exp wird die Liste der erlaubten Button-Typen die in HWSUPP_BUTTON_x eingetragen werden können erweitert.

Beispiel:

+HWSUPP_BUTTON_TYPE(OPT_MYOPT) = 'myopt' 
                               : ', myopt'

B.10.3.1 Parameterprüfung

In der Datei check/myopt.ext werden die Parameter, die für den neuen Button-Typen in HWSUPP_BUTTON_x_PARAM eingetragen werden können, geprüft.

Beispiel:

if (opt_hwsupp)
then
    depends on hwsupp version 4.0

    foreach i in hwsupp_button_n
    do
        set action=hwsupp_buttonn_%[i]
        set param=hwsupp_button_%_param[i]
        if (action == "myopt")
        then
            add_to_opt "files/usr/bin/myopt_keyprog" "mode=555 flags=sh"
            if (!(param =~ "(RE:MYOPT_BUTTON_PARAM)"))
            then
                error "When HWSUPP_BUTTON_\${i}='myopt', ...
                       must be entered in  HWSUPP_BUTTON_\${i}_PARAM" 
            fi
        fi
    done
fi

B.10.3.2 Button-Funktion

Wenn eine Taste gedrückt wird, wird die Datei /usr/bin/myopt_keyprog ausgeführt.

Als Parameter wird er Inhalt von HWSUPP_BUTTON_x_PARAM übergeben

Beispiel:

##TODO## example

© 2001-2020 Das fli4l-Team - February 2, 2020