added portrait and landscape inverse mode
This commit is contained in:
parent
83b373062b
commit
d482576656
2 changed files with 12 additions and 8 deletions
16
glcd.c
16
glcd.c
|
@ -68,19 +68,19 @@ static __inline uint16_t lcdReadReg(uint16_t lcdReg) {
|
||||||
|
|
||||||
static void lcdSetCursor(uint16_t x, uint16_t y) {
|
static void lcdSetCursor(uint16_t x, uint16_t y) {
|
||||||
if(DeviceCode==0x8989) {
|
if(DeviceCode==0x8989) {
|
||||||
if(orientation == portrait) {
|
if(orientation == portrait || orientation == portraitInv) {
|
||||||
lcdWriteReg(0x004e, x);
|
lcdWriteReg(0x004e, x);
|
||||||
lcdWriteReg(0x004f, y);
|
lcdWriteReg(0x004f, y);
|
||||||
} else if(orientation == landscape) {
|
} else if(orientation == landscape || orientation == landscapeInv) {
|
||||||
lcdWriteReg(0x004e, y);
|
lcdWriteReg(0x004e, y);
|
||||||
lcdWriteReg(0x004f, x);
|
lcdWriteReg(0x004f, x);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(DeviceCode==0x9919) {
|
else if(DeviceCode==0x9919) {
|
||||||
if(orientation == portrait) {
|
if(orientation == portrait || orientation == portraitInv) {
|
||||||
lcdWriteReg(0x004e, x);
|
lcdWriteReg(0x004e, x);
|
||||||
lcdWriteReg(0x004f, y);
|
lcdWriteReg(0x004f, y);
|
||||||
} else if(orientation == landscape) {
|
} else if(orientation == landscape || orientation == landscapeInv) {
|
||||||
lcdWriteReg(0x004e, y);
|
lcdWriteReg(0x004e, y);
|
||||||
lcdWriteReg(0x004f, x);
|
lcdWriteReg(0x004f, x);
|
||||||
}
|
}
|
||||||
|
@ -111,9 +111,13 @@ void lcdSetOrientation(uint8_t newOrientation) {
|
||||||
lcdWriteReg(0x0001, 0x293F);
|
lcdWriteReg(0x0001, 0x293F);
|
||||||
lcdWriteReg(0x0011, 0x6078);
|
lcdWriteReg(0x0011, 0x6078);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case portraitInv:
|
||||||
|
lcdWriteReg(0x0001, 0x693F);
|
||||||
|
lcdWriteReg(0x0011, 0x6040);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case landscapeInv:
|
||||||
|
lcdWriteReg(0x0001, 0x6B3F);
|
||||||
|
lcdWriteReg(0x0011, 0x6048);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
2
glcd.h
2
glcd.h
|
@ -42,7 +42,7 @@
|
||||||
(( green >> 2 ) << 5 ) | \
|
(( green >> 2 ) << 5 ) | \
|
||||||
( blue >> 3 ))
|
( blue >> 3 ))
|
||||||
|
|
||||||
enum orientation {portrait = 0, landscape = 1};
|
enum orientation {portrait, landscape, portraitInv, landscapeInv};
|
||||||
|
|
||||||
void lcdInit(void);
|
void lcdInit(void);
|
||||||
void lcdClear(uint16_t color);
|
void lcdClear(uint16_t color);
|
||||||
|
|
Loading…
Add table
Reference in a new issue