diff --git a/components/display/ST77xx.c b/components/display/ST77xx.c index 2370aae7..f38bbd1b 100644 --- a/components/display/ST77xx.c +++ b/components/display/ST77xx.c @@ -195,15 +195,14 @@ static void SetLayout( struct GDS_Device* Device, struct GDS_Layout *Layout ) { if (Layout->Rotate) Private->Offset.Width += Layout->HFlip ? 320 - Device->Width : 0; else Private->Offset.Height += Layout->HFlip ? 320 - Device->Height : 0; Device->WriteCommand( Device, Layout->Invert ? 0x20 : 0x21 ); - Private->MADCtl = Layout->ColorSwap ? (Private->MADCtl & ~(1 << 3)) : (Private->MADCtl | (1 << 3)); } else { Device->WriteCommand( Device, Layout->Invert ? 0x21 : 0x20 ); - Private->MADCtl = Layout->ColorSwap ? (Private->MADCtl | (1 << 3)) : (Private->MADCtl & ~(1 << 3)); } Private->MADCtl = Layout->HFlip ? (Private->MADCtl | (1 << 7)) : (Private->MADCtl & ~(1 << 7)); Private->MADCtl = Layout->VFlip ? (Private->MADCtl | (1 << 6)) : (Private->MADCtl & ~(1 << 6)); Private->MADCtl = Layout->Rotate ? (Private->MADCtl | (1 << 5)) : (Private->MADCtl & ~(1 << 5)); + Private->MADCtl = Layout->ColorSwap ? (Private->MADCtl & ~(1 << 3)) : (Private->MADCtl | (1 << 3)); Device->WriteCommand( Device, 0x36 ); WriteByte( Device, Private->MADCtl ); diff --git a/components/display/display.c b/components/display/display.c index dc90e709..371cbdeb 100644 --- a/components/display/display.c +++ b/components/display/display.c @@ -148,7 +148,7 @@ void display_init(char *welcome) { .Invert = strcasestr(config, "invert"), .ColorSwap = strcasestr(config, "cswap"), }; - + GDS_SetLayout(display, &Layout); GDS_SetFont(display, &Font_line_2); GDS_TextPos(display, GDS_FONT_DEFAULT, GDS_TEXT_CENTERED, GDS_TEXT_CLEAR | GDS_TEXT_UPDATE, welcome);