diff --git a/cmake/Bitmaps.cmake b/cmake/Bitmaps.cmake index 5fe6d5263..f91402e81 100644 --- a/cmake/Bitmaps.cmake +++ b/cmake/Bitmaps.cmake @@ -5,7 +5,7 @@ macro(add_bitmaps_target targetname filter width format) set(target ${target}.lbm) add_custom_command( OUTPUT ${target} - COMMAND python ${RADIO_DIRECTORY}/util/img2lbm.py ${bitmap} ${target} ${width} ${format} + COMMAND python ${RADIO_DIRECTORY}/util/img2lbm.py ${bitmap} ${target} ${width} ${format} ${ARGN} DEPENDS ${bitmap} ) list(APPEND bitmaps_files ${target}) diff --git a/radio/src/bitmaps/9x/CMakeLists.txt b/radio/src/bitmaps/9x/CMakeLists.txt index 862df0458..6b8d854dd 100644 --- a/radio/src/bitmaps/9x/CMakeLists.txt +++ b/radio/src/bitmaps/9x/CMakeLists.txt @@ -1,4 +1,4 @@ -add_bitmaps_target(9x_xbm_1bit ${RADIO_SRC_DIRECTORY}/bitmaps/*.xbm 128 1bit) +add_bitmaps_target(9x_xbm_1bit ${RADIO_SRC_DIRECTORY}/bitmaps/sticks.xbm 128 1bit 4) add_bitmaps_target(9x_fonts_1bit ${RADIO_SRC_DIRECTORY}/fonts/std/*.png 128 "") add_bitmaps_target(9x_bitmaps ${RADIO_SRC_DIRECTORY}/bitmaps/9x/*.png 128 1bit) add_dependencies(9x_bitmaps 9x_fonts_1bit 9x_xbm_1bit) diff --git a/radio/src/bitmaps/taranis/CMakeLists.txt b/radio/src/bitmaps/taranis/CMakeLists.txt index 283d25b82..3c03014b2 100644 --- a/radio/src/bitmaps/taranis/CMakeLists.txt +++ b/radio/src/bitmaps/taranis/CMakeLists.txt @@ -1,4 +1,4 @@ -add_bitmaps_target(taranis_xbm ${RADIO_SRC_DIRECTORY}/bitmaps/*.xbm 128 1bit) +add_bitmaps_target(taranis_xbm ${RADIO_SRC_DIRECTORY}/bitmaps/sticks.xbm 128 1bit 4) add_bitmaps_target(taranis_fonts ${RADIO_SRC_DIRECTORY}/fonts/std/*.png 128 "") add_bitmaps_target(taranis_bitmaps ${RADIO_SRC_DIRECTORY}/bitmaps/taranis/*.png 212 4bits) add_dependencies(taranis_bitmaps taranis_fonts taranis_xbm) \ No newline at end of file diff --git a/radio/src/targets/horus/lcd_driver.cpp b/radio/src/targets/horus/lcd_driver.cpp index 9da6039f4..1d2be2c0f 100644 --- a/radio/src/targets/horus/lcd_driver.cpp +++ b/radio/src/targets/horus/lcd_driver.cpp @@ -448,7 +448,7 @@ void DMAFillRect(uint16_t * dest, uint16_t destw, uint16_t x, uint16_t y, uint16 DMA2D_InitStruct.DMA2D_OutputGreen = (0x07E0 & color) >> 5; DMA2D_InitStruct.DMA2D_OutputBlue = 0x001F & color; DMA2D_InitStruct.DMA2D_OutputRed = (0xF800 & color) >> 11; - DMA2D_InitStruct.DMA2D_OutputAlpha = 0x0F; + DMA2D_InitStruct.DMA2D_OutputAlpha = 0x0f; DMA2D_InitStruct.DMA2D_OutputMemoryAdd = CONVERT_PTR_UINT(dest) + 2*(destw*y + x); DMA2D_InitStruct.DMA2D_OutputOffset = (destw - w); DMA2D_InitStruct.DMA2D_NumberOfLine = h; @@ -548,3 +548,31 @@ void lcdRefresh() LCD_SetLayer(LCD_FIRST_LAYER); LCD_SetTransparency(0); } + + +void lcdDrawBlackOverlay() +{ + DMA2D_DeInit(); + + DMA2D_InitTypeDef DMA2D_InitStruct; + DMA2D_InitStruct.DMA2D_Mode = DMA2D_M2M_BLEND; + DMA2D_InitStruct.DMA2D_CMode = DMA2D_RGB565; + DMA2D_InitStruct.DMA2D_OutputMemoryAdd = CONVERT_PTR_UINT(lcd->data); + DMA2D_InitStruct.DMA2D_OutputGreen = 50; + DMA2D_InitStruct.DMA2D_OutputBlue = 50; + DMA2D_InitStruct.DMA2D_OutputRed = 50; + DMA2D_InitStruct.DMA2D_OutputAlpha = 50; + DMA2D_InitStruct.DMA2D_OutputOffset = 0; + DMA2D_InitStruct.DMA2D_NumberOfLine = LCD_H; + DMA2D_InitStruct.DMA2D_PixelPerLine = LCD_W; + DMA2D_Init(&DMA2D_InitStruct); + + /* Start Transfer */ + DMA2D_StartTransfer(); + + /* Wait for CTC Flag activation */ + while (DMA2D_GetFlagStatus(DMA2D_FLAG_TC) == RESET); + + // DMAFillRect(lcd->data, LCD_W, 0, 0, LCD_W, LCD_H, lcdColorTable[COLOR_IDX(OVERLAY_COLOR)], 8); + // lcd->drawFilledRect(0, 0, LCD_W, LCD_H, SOLID, OVERLAY_COLOR | OPACITY(8)); +} \ No newline at end of file