Refactoring
This commit is contained in:
122
driver/st7565.c
122
driver/st7565.c
@@ -47,80 +47,78 @@ void ST7565_DrawLine(const unsigned int Column, const unsigned int Line, const u
|
||||
}
|
||||
|
||||
|
||||
// Optimization
|
||||
//
|
||||
// ST7565_BlitScreen(0) = ST7565_BlitStatusLine()
|
||||
// ST7565_BlitScreen(1..7) = ST7565_BlitLine()
|
||||
// ST7565_BlitScreen(8) = ST7565_BlitFullScreen()
|
||||
//
|
||||
#ifdef ENABLE_FEAT_F4HWN
|
||||
// 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);
|
||||
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++) {
|
||||
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);
|
||||
}
|
||||
|
||||
SPI_ToggleMasterMode(&SPI0->CR, true);
|
||||
}
|
||||
void ST7565_BlitFullScreen(void)
|
||||
{
|
||||
ST7565_BlitScreen(8);
|
||||
}
|
||||
|
||||
void ST7565_BlitFullScreen(void)
|
||||
{
|
||||
ST7565_BlitScreen(8);
|
||||
}
|
||||
void ST7565_BlitLine(unsigned line)
|
||||
{
|
||||
ST7565_BlitScreen(line + 1);
|
||||
}
|
||||
|
||||
void ST7565_BlitLine(unsigned line)
|
||||
{
|
||||
ST7565_BlitScreen(line + 1);
|
||||
}
|
||||
void ST7565_BlitStatusLine(void)
|
||||
{
|
||||
ST7565_BlitScreen(0);
|
||||
}
|
||||
#else
|
||||
void ST7565_BlitFullScreen(void)
|
||||
{
|
||||
SPI_ToggleMasterMode(&SPI0->CR, false);
|
||||
ST7565_WriteByte(0x40);
|
||||
for (unsigned line = 0; line < FRAME_LINES; line++) {
|
||||
DrawLine(0, line+1, gFrameBuffer[line], LCD_WIDTH);
|
||||
}
|
||||
SPI_ToggleMasterMode(&SPI0->CR, true);
|
||||
}
|
||||
|
||||
void ST7565_BlitStatusLine(void)
|
||||
{
|
||||
ST7565_BlitScreen(0);
|
||||
}
|
||||
|
||||
/*
|
||||
void ST7565_BlitFullScreen(void)
|
||||
{
|
||||
SPI_ToggleMasterMode(&SPI0->CR, false);
|
||||
ST7565_WriteByte(0x40);
|
||||
for (unsigned line = 0; line < FRAME_LINES; line++) {
|
||||
void ST7565_BlitLine(unsigned line)
|
||||
{
|
||||
SPI_ToggleMasterMode(&SPI0->CR, false);
|
||||
ST7565_WriteByte(0x40); // start line ?
|
||||
DrawLine(0, line+1, gFrameBuffer[line], LCD_WIDTH);
|
||||
SPI_ToggleMasterMode(&SPI0->CR, true);
|
||||
}
|
||||
SPI_ToggleMasterMode(&SPI0->CR, true);
|
||||
}
|
||||
|
||||
void ST7565_BlitLine(unsigned line)
|
||||
{
|
||||
SPI_ToggleMasterMode(&SPI0->CR, false);
|
||||
ST7565_WriteByte(0x40); // start line ?
|
||||
DrawLine(0, line+1, gFrameBuffer[line], LCD_WIDTH);
|
||||
SPI_ToggleMasterMode(&SPI0->CR, true);
|
||||
}
|
||||
|
||||
void ST7565_BlitStatusLine(void)
|
||||
{ // the top small text line on the display
|
||||
SPI_ToggleMasterMode(&SPI0->CR, false);
|
||||
ST7565_WriteByte(0x40); // start line ?
|
||||
DrawLine(0, 0, gStatusLine, LCD_WIDTH);
|
||||
SPI_ToggleMasterMode(&SPI0->CR, true);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
void ST7565_BlitStatusLine(void)
|
||||
{ // the top small text line on the display
|
||||
SPI_ToggleMasterMode(&SPI0->CR, false);
|
||||
ST7565_WriteByte(0x40); // start line ?
|
||||
DrawLine(0, 0, gStatusLine, LCD_WIDTH);
|
||||
SPI_ToggleMasterMode(&SPI0->CR, true);
|
||||
}
|
||||
#endif
|
||||
|
||||
void ST7565_FillScreen(uint8_t value)
|
||||
{
|
||||
|
Reference in New Issue
Block a user