X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/c8724d0d7b016371309f189636b0992ea413bd96..e15e18a6bb21498eb89e68473e8b1a3a5e2310aa:/lib/gdi/lcd.cpp diff --git a/lib/gdi/lcd.cpp b/lib/gdi/lcd.cpp index f6f29a7c..518ee1b0 100644 --- a/lib/gdi/lcd.cpp +++ b/lib/gdi/lcd.cpp @@ -4,8 +4,12 @@ #include #include +#if defined(HAVE_DBOX_FP_H) && defined(HAVE_DBOX_LCD_KS0713_H) #include #include +#else +#define NO_LCD 1 +#endif #include #include @@ -56,7 +60,9 @@ eDBoxLCD::eDBoxLCD() lcdfd = open("/dev/dbox/oled0", O_RDWR); if (lcdfd < 0) { - FILE *f=fopen("/proc/stb/fp/oled_brightness", "w"); + FILE *f=fopen("/proc/stb/lcd/oled_brightness", "w"); + if (!f) + f = fopen("/proc/stb/fp/oled_brightness", "w"); if (f) { is_oled = 2; @@ -68,10 +74,6 @@ eDBoxLCD::eDBoxLCD() eDebug("found OLED display!"); is_oled = 1; } -#else - lcdfd = -1; -#endif - instance=this; if (lcdfd<0) eDebug("couldn't open LCD - load lcd.o!"); @@ -104,6 +106,9 @@ eDBoxLCD::eDBoxLCD() is_oled = 3; } } +#endif + instance=this; + setSize(xres, yres, bpp); } @@ -115,6 +120,7 @@ void eDBoxLCD::setInverted(unsigned char inv) int eDBoxLCD::setLCDContrast(int contrast) { +#ifndef NO_LCD int fp; if((fp=open("/dev/dbox/fp0", O_RDWR))<=0) { @@ -127,17 +133,21 @@ int eDBoxLCD::setLCDContrast(int contrast) eDebug("[LCD] can't set lcd contrast"); } close(fp); +#endif return(0); } int eDBoxLCD::setLCDBrightness(int brightness) { +#ifndef NO_LCD eDebug("setLCDBrightness %d", brightness); - FILE *f=fopen("/proc/stb/fp/oled_brightness", "w"); + FILE *f=fopen("/proc/stb/lcd/oled_brightness", "w"); + if (!f) + f = fopen("/proc/stb/fp/oled_brightness", "w"); if (f) { if (fprintf(f, "%d", brightness) == 0) - eDebug("write /proc/stb/fp/oled_brightness failed!! (%m)"); + eDebug("write /proc/stb/lcd/oled_brightness failed!! (%m)"); fclose(f); } else @@ -153,6 +163,7 @@ int eDBoxLCD::setLCDBrightness(int brightness) eDebug("[LCD] can't set lcd brightness (%m)"); close(fp); } +#endif return(0); } @@ -192,14 +203,8 @@ void eDBoxLCD::update() } write(lcdfd, raw, 132*8); } - else if (is_oled == 3) { - FILE *f = fopen("/tmp/bla", "w+"); - if (f) { - fwrite(_buffer, _stride * res.height(), 1, f); - fclose(f); - } + else if (is_oled == 3) write(lcdfd, _buffer, _stride * res.height()); - } else { unsigned char raw[64*64];