fix for dm800 oled
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Tue, 19 Aug 2008 12:16:53 +0000 (12:16 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Tue, 19 Aug 2008 12:16:53 +0000 (12:16 +0000)
lib/gdi/lcd.cpp

index 5fe1c3a..3911719 100644 (file)
@@ -44,12 +44,18 @@ void eLCD::unlock()
 
 eDBoxLCD::eDBoxLCD(): eLCD(eSize(132, 64))
 {
 
 eDBoxLCD::eDBoxLCD(): eLCD(eSize(132, 64))
 {
+       is_oled = 0;
 #ifndef NO_LCD
        lcdfd = open("/dev/dbox/oled0", O_RDWR);
        if (lcdfd < 0)
        {
 #ifndef NO_LCD
        lcdfd = open("/dev/dbox/oled0", O_RDWR);
        if (lcdfd < 0)
        {
+               FILE *f=fopen("/proc/stb/fp/oled_brightness", "w");
+               if (f)
+               {
+                       is_oled = 2;
+                       fclose(f);
+               }
                lcdfd = open("/dev/dbox/lcd0", O_RDWR);
                lcdfd = open("/dev/dbox/lcd0", O_RDWR);
-               is_oled = 0;
        } else
        {
                eDebug("found OLED display!");
        } else
        {
                eDebug("found OLED display!");
@@ -135,7 +141,7 @@ eDBoxLCD *eDBoxLCD::getInstance()
 
 void eDBoxLCD::update()
 {
 
 void eDBoxLCD::update()
 {
-       if (!is_oled)
+       if (!is_oled || is_oled == 2)
        {
                unsigned char raw[132*8];
                int x, y, yy;
        {
                unsigned char raw[132*8];
                int x, y, yy;