Save 68 bytes
This commit is contained in:
@@ -46,6 +46,53 @@ void ST7565_DrawLine(const unsigned int Column, const unsigned int Line, const u
|
|||||||
SPI_ToggleMasterMode(&SPI0->CR, true);
|
SPI_ToggleMasterMode(&SPI0->CR, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Optimization
|
||||||
|
//
|
||||||
|
// ST7565_BlitScreen(0) = ST7565_BlitStatusLine()
|
||||||
|
// ST7565_BlitScreen(1..7) = ST7565_BlitLine()
|
||||||
|
// ST7565_BlitScreen(8) = ST7565_BlitFullScreen()
|
||||||
|
//
|
||||||
|
|
||||||
|
static void ST7565_BlitScreen(uint8_t line)
|
||||||
|
{
|
||||||
|
SPI_ToggleMasterMode(&SPI0->CR, false);
|
||||||
|
ST7565_WriteByte(0x40);
|
||||||
|
|
||||||
|
if(line == 0)
|
||||||
|
{
|
||||||
|
DrawLine(0, 0, gStatusLine, LCD_WIDTH);
|
||||||
|
}
|
||||||
|
else if(line <= FRAME_LINES)
|
||||||
|
{
|
||||||
|
DrawLine(0, line, gFrameBuffer[line - 1], LCD_WIDTH);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (line = 1; line <= FRAME_LINES; line++) {
|
||||||
|
DrawLine(0, line, gFrameBuffer[line - 1], LCD_WIDTH);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SPI_ToggleMasterMode(&SPI0->CR, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ST7565_BlitFullScreen(void)
|
||||||
|
{
|
||||||
|
ST7565_BlitScreen(8);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ST7565_BlitLine(unsigned line)
|
||||||
|
{
|
||||||
|
ST7565_BlitScreen(line + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ST7565_BlitStatusLine(void)
|
||||||
|
{
|
||||||
|
ST7565_BlitScreen(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
void ST7565_BlitFullScreen(void)
|
void ST7565_BlitFullScreen(void)
|
||||||
{
|
{
|
||||||
SPI_ToggleMasterMode(&SPI0->CR, false);
|
SPI_ToggleMasterMode(&SPI0->CR, false);
|
||||||
@@ -71,6 +118,9 @@ void ST7565_BlitStatusLine(void)
|
|||||||
DrawLine(0, 0, gStatusLine, LCD_WIDTH);
|
DrawLine(0, 0, gStatusLine, LCD_WIDTH);
|
||||||
SPI_ToggleMasterMode(&SPI0->CR, true);
|
SPI_ToggleMasterMode(&SPI0->CR, true);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void ST7565_FillScreen(uint8_t value)
|
void ST7565_FillScreen(uint8_t value)
|
||||||
{
|
{
|
||||||
|
@@ -181,7 +181,7 @@ void UI_DisplayStatus()
|
|||||||
|
|
||||||
for (uint8_t i = 71; i < 79; i++)
|
for (uint8_t i = 71; i < 79; i++)
|
||||||
{
|
{
|
||||||
gFrameBuffer[-1][i] ^= 0x7F;
|
gStatusLine[i] ^= 0x7F;
|
||||||
}
|
}
|
||||||
x1 = x;
|
x1 = x;
|
||||||
}
|
}
|
||||||
|
@@ -121,7 +121,7 @@ void UI_DisplayWelcome(void)
|
|||||||
UI_PrintStringSmallNormal(Version, 0, 127, 6);
|
UI_PrintStringSmallNormal(Version, 0, 127, 6);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ST7565_BlitStatusLine(); // blank status line
|
//ST7565_BlitStatusLine(); // blank status line : I think it's useless
|
||||||
ST7565_BlitFullScreen();
|
ST7565_BlitFullScreen();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user