Peri_meter hat geschrieben:Nach Änderung in:
Code: Alles auswählen
lcd_send_cmd (LCD_CMD_SRV, 0);
lcd_send_cmd (LCD_CMD_SRV, 1);
ist das einwandfrei.
Es freut mich dass Dir mit dieser Änderung geholfen ist.
Leider reagiert eine meiner drei Philips Boxen auf diese Änderung sehr allergisch, das LCD-Display bleibt da schwarz.
Anderen mit älteren Philips Boxen wird es sicher ähnlich gehen.
Das hatten wir schon mal vor 1 bis 2 Jahren.
In der Dbox2 wurden von den 3 Boxen-Herstellern LCD-Displays von mindestens 5 verschiedenen Display-Herstellern verwendet die wiederum Kontroller von mindestens 3 verschiedenen Chip-Herstellern verwendet haben.
Ein Blick in die Datei "lcd.conf" der BN2.01 zeigt mir dass es 6 verschiedene, stark von einander abweichende Grundeinstellungen für den Kontrast gibt.
Die Werte schwanken zwischen 8 und 47 und sind wohl abhängig vom jeweiligen Kontroller und der äußeren Beschaltung des Kontrollerchips.
Wer so was
Code: Alles auswählen
lcd_send_cmd (LCD_CMD_SRV, 0);
lcd_send_cmd (LCD_CMD_SRV, 1);
lcd_send_cmd (0x00, 15);
programmiert, hat im übrigen kein Datenblatt des KS0713 oder der beiden anderen Chips zur Hand gehabt, sondern hat nur was Ausprobiert das dann zufällig das gewünschte Ergebnis gebracht hat.
Mit
wird genauso wie mit
wird der Instruktionscode 0x81 an den LCD-Kontroller geschickt.
Dieses ist ein 2-Byte Befehl bei dem der LCD-Kontroller erst das nachfolgende Byte, das mit
an den LCD-Kontroller gesendet wird, als Parameter nimmt.
Mit dieser Änderung jedoch wird 0x81 als Parameter an den Kontroller geschickt.
Die obersten zwei Bits werden ignoriert und somit wird 1 als Konrast gesetzt.
Danach wird noch der eigentliche Kontrastparameter an den Kontroller gesendet.
Dieser wird jetzt wieder als Instruktion betrachtet und bei meiner alten Philips wird dadurch das Display völlig abgeschaltet.
Wenn schon was am Kontrast geändert werden muss, dann bitte richtig im Parameterteil, und bitte abhängig vom verwendeten LCD-Display!
Oder ein Mittelwert mit dem jeder Leben kann.
Das LCD-Display wird doch eigentlich schon vom Bootlader vollständig initialisiert.
Welchen Vorteil bringt es eigentlich dass das Display noch mal von U-Boot und danach noch mal vom Kernel vollständig neu initialisiert wird?
Bzw. welchen Nachteil bringt es dieses nicht zu tun?
Der Bootlader der jeweiligen Box initialisiert sein Display doch mit Sicherheit richtig so dass jede nachfolgende neu Initialisierung die nicht die verwendete Hardware berücksichtigt doch nur schlechter sein kann.
Gruß Voldemort