Benutzer-Werkzeuge

Webseiten-Werkzeuge


lcd_blank

lcd_blank

Beschreibung

lcd_blank ermöglicht es, das Display eines Hifidelio Basic mit der Fernbedienung abzuschalten.

Download

lcd_blank

Das Archiv enthält folgende Dateien:

  • etc/init.d/lcd_blank → Start-Script;
  • etc/rc3.d/S96lcd_blank → Link auf das Start-Script;
  • opt/lcd_blank/lcd_blank → das lcd_blank Script.

Installation

  1. Das Archiv in die Netzwerkfreigabe des Hifidelio kopieren.
  2. Mit Telnet auf dem Hifidelio anmelden.
  3. Ins Root-Verzeichnis wechseln und das Archiv entpacken.
    cd /
    tar xzf /audio/import/lcd_blank.tgz 
  4. Damit lcd_blank funktioniert, muss zusätlich die Debug-Funktion des Hifidelio aktiviert werden.
    touch /DEBUG

Starten

Wenn der Hifidelio neu gestartet wird, wird lcd_blank aktiv. Alternativ kann lcd_blank aber auch über Telnet gestartet werden.

/etc/init.d/lcd_blank start

Das Script

Ein separater Prozess (tail -f) liest das Debug-Logfile mit und leitet neue Einträge an lcd_blank weiter. Das Script läuft daher verhältnismässig ressourcenschonend, da es nur aktiv wird, wenn im Debug-Logfile neue Einträge auftauchen.

Das Script wertet alle Zeilen aus, in denen die Steuerung der Helligkeit über die Fernbedienung protokolliert wird. Beim Hifidelio Basic hat diese aber nur Auswirkungen auf die Helligkeit der Tastenbeleuchtung. Die Helligkeit des Display und der Tasten wird intern von -10 bis +10 verwaltet, so dass man einen Schwellenwert definieren muss, bei dem das Display ein- bzw. ausgeschaltet wird. Sinnvollerweise nimmt man hier den Wert -10, da auch die Tasten bei diesem Wert mit der geringsten Helligkeit leuchten. Wird der Schwellenwert erreicht oder unterschritten, wird das Display ausgeschaltet; wird er überschritten, wird das Display wieder eingeschaltet.

#!/bin/bash

lcd_blank_level=-10

lcd_state=1

while (true); do

   read -a dbg

   if [ "${dbg[2]}" = "PD_Operations::HandleSlider," ]; then

      lcd_brightness=${dbg[5]}

      if [ $lcd_state = 1 ]; then

         if (( $lcd_brightness <= $lcd_blank_level )); then

            /usr/sbin/fbset -depth 0
            lcd_state=0

         fi

      else

         if (( $lcd_brightness >= $lcd_blank_level )); then

            /usr/sbin/fbset -depth 1
            lcd_state=1

         fi

      fi

   fi

done

Manuelles und automatisches Schalten des Display

Das manuelle und das automatische Ein- und Ausschalten des Displays funktionieren unabhängig voneinander, so dass man das Display leider immer nur mit der Methode wieder einschalten kann, mit der es auch ausgeschaltet wurde.

  • Wenn das Display mit der Fernbedienung ausgeschaltet wurde, muss es auch mit der Helligkeitstaste auf der Fernbedienung wieder eingeschaltet werden.
  • Wenn sich das Display hingegen automatisch ausgeschaltet hat, muss es durch Drücken einer beliebigen Taste wieder eingeschaltet werden.
lcd_blank.txt · Zuletzt geändert: 2016/11/01 21:21 von niagara