git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Enigma2-{Wizard.py,Networksetup.py,ConfigList.py,skin_default.xml,NetworkWizard.py...
[enigma2.git]
/
lib
/
gdi
/
lcd.cpp
diff --git
a/lib/gdi/lcd.cpp
b/lib/gdi/lcd.cpp
index 5fe1c3ad0926770050a1cb850542b2863ed01f55..ecc19b5389853bc69bcf35f6ef95bcde9c089d68 100644
(file)
--- a/
lib/gdi/lcd.cpp
+++ b/
lib/gdi/lcd.cpp
@@
-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;
@@
-160,8
+166,14
@@
void eDBoxLCD::update()
memset(raw, 0, 64*64);
for (y=0; y<64; y++)
{
memset(raw, 0, 64*64);
for (y=0; y<64; y++)
{
+ int pix=0;
for (x=0; x<128 / 2; x++)
for (x=0; x<128 / 2; x++)
- raw[y*64+x] = (_buffer[y*132 + x * 2 + 2] & 0xF0) |(_buffer[y*132 + x * 2 + 1 + 2] >> 4);
+ {
+ pix = (_buffer[y*132 + x * 2 + 2] & 0xF0) |(_buffer[y*132 + x * 2 + 1 + 2] >> 4);
+ if (inverted)
+ pix = 0xFF - pix;
+ raw[y*64+x] = pix;
+ }
}
if (lcdfd >= 0)
write(lcdfd, raw, 64*64);
}
if (lcdfd >= 0)
write(lcdfd, raw, 64*64);