Remove scratch buffer
This commit is contained in:
committed by
Raphael Coeffic
parent
b40441f0c0
commit
86152da85d
@@ -114,6 +114,7 @@ if(PCB STREQUAL X10 OR PCB STREQUAL X12S OR PCB STREQUAL NV14)
|
||||
${BOOTLOADER_SRC}
|
||||
../../../../../gui/colorlcd/fonts.cpp
|
||||
../../../../../gui/colorlcd/colors.cpp
|
||||
../../../../../fonts/lvgl/lv_font_roboto_16.c
|
||||
../../../../../thirdparty/libopenui/src/bitmapbuffer.cpp
|
||||
../../../../../targets/${TARGET_DIR}/sdram_driver.c
|
||||
../../../../../targets/common/arm/stm32/sdio_sd.c
|
||||
@@ -122,6 +123,11 @@ if(PCB STREQUAL X10 OR PCB STREQUAL X12S OR PCB STREQUAL NV14)
|
||||
../../../../../syscalls.c
|
||||
)
|
||||
|
||||
# Add LVGL sources
|
||||
foreach(LVGL_FILE ${LVGL_SRC_FILES})
|
||||
set(BOOTLOADER_SRC ${BOOTLOADER_SRC} ../../../../../${LVGL_FILE})
|
||||
endforeach()
|
||||
|
||||
if(USB_CHARGER)
|
||||
set(BOOTLOADER_SRC
|
||||
${BOOTLOADER_SRC}
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
uint8_t LCD_FIRST_FRAME_BUFFER[DISPLAY_BUFFER_SIZE * sizeof(pixel_t)] __SDRAM;
|
||||
uint8_t LCD_SECOND_FRAME_BUFFER[DISPLAY_BUFFER_SIZE * sizeof(pixel_t)] __SDRAM;
|
||||
uint8_t LCD_BACKUP_FRAME_BUFFER[DISPLAY_BUFFER_SIZE * sizeof(pixel_t)] __SDRAM;
|
||||
uint8_t LCD_SCRATCH_FRAME_BUFFER[DISPLAY_BUFFER_SIZE * sizeof(pixel_t)] __SDRAM;
|
||||
uint8_t currentLayer = LCD_FIRST_LAYER;
|
||||
|
||||
BitmapBuffer lcdBuffer1(BMP_RGB565, LCD_W, LCD_H, (uint16_t *)LCD_FIRST_FRAME_BUFFER);
|
||||
@@ -628,10 +627,6 @@ uint16_t* lcdGetBackupBuffer()
|
||||
return (uint16_t*)LCD_BACKUP_FRAME_BUFFER;
|
||||
}
|
||||
|
||||
uint16_t* lcdGetScratchBuffer()
|
||||
{
|
||||
return (uint16_t*)LCD_SCRATCH_FRAME_BUFFER;
|
||||
}
|
||||
|
||||
static volatile uint8_t _frameBufferAddressReloaded = 0;
|
||||
|
||||
@@ -673,6 +668,7 @@ void newLcdRefresh(uint16_t * buffer)
|
||||
while(_frameBufferAddressReloaded == 0);
|
||||
#endif
|
||||
}
|
||||
|
||||
void lcdRefresh()
|
||||
{
|
||||
//lcdSwitchLayers();
|
||||
|
||||
@@ -59,19 +59,16 @@ void lcdRefresh()
|
||||
|
||||
pixel_t displayBuf1[DISPLAY_BUFFER_SIZE];
|
||||
pixel_t displayBuf2[DISPLAY_BUFFER_SIZE];
|
||||
pixel_t scratchBuf[DISPLAY_BUFFER_SIZE];
|
||||
pixel_t LCD_BACKUP_FRAME_BUFFER[DISPLAY_BUFFER_SIZE];
|
||||
|
||||
BitmapBuffer lcdBackup(BMP_RGB565, LCD_W, LCD_H, LCD_BACKUP_FRAME_BUFFER);
|
||||
|
||||
BitmapBuffer scratch(BMP_RGB565, LCD_W, LCD_H, scratchBuf);
|
||||
BitmapBuffer _lcd1(BMP_RGB565, LCD_W, LCD_H, displayBuf1);
|
||||
BitmapBuffer _lcd2(BMP_RGB565, LCD_W, LCD_H, displayBuf2);
|
||||
|
||||
BitmapBuffer * lcd = &_lcd1;
|
||||
BitmapBuffer * lcdFront = &_lcd2;
|
||||
|
||||
uint16_t *lcdGetScratchBuffer() { return static_cast<uint16_t *>(scratchBuf); }
|
||||
|
||||
void lcdStoreBackupBuffer()
|
||||
{
|
||||
@@ -115,10 +112,10 @@ void newLcdRefresh(uint16_t *buffer, const rect_t& copy_area)
|
||||
// Mark screen dirty for async refresh
|
||||
simuLcdRefresh = true;
|
||||
|
||||
// .. and wait for refresh
|
||||
auto start = RTOS_GET_MS();
|
||||
while(simuLcdRefresh ||
|
||||
(RTOS_GET_MS() - start > 100));
|
||||
// // .. and wait for refresh
|
||||
// auto start = RTOS_GET_MS();
|
||||
// while(simuLcdRefresh ||
|
||||
// (RTOS_GET_MS() - start <= 100));
|
||||
}
|
||||
void lcdRefresh()
|
||||
{
|
||||
@@ -145,8 +142,8 @@ void lcdRefresh()
|
||||
|
||||
void lcdInit()
|
||||
{
|
||||
_lcd1.clear();
|
||||
_lcd2.clear();
|
||||
memset(displayBuf1, 0, sizeof(displayBuf1));
|
||||
memset(displayBuf2, 0, sizeof(displayBuf2));
|
||||
}
|
||||
|
||||
void DMAFillRect(uint16_t *dest, uint16_t destw, uint16_t desth, uint16_t x,
|
||||
|
||||
Reference in New Issue
Block a user