Mercurial > public > ostc4
diff BootLoader/Src/tInfoBootloader.c @ 30:ea1003f63e44
ADD GPL License ...
author | jDG |
---|---|
date | Tue, 23 Jan 2018 17:29:40 +0100 |
parents | 97eafbcb81a9 |
children | 7801c5d8a562 |
line wrap: on
line diff
--- a/BootLoader/Src/tInfoBootloader.c Tue Jan 23 13:36:25 2018 +0100 +++ b/BootLoader/Src/tInfoBootloader.c Tue Jan 23 17:29:40 2018 +0100 @@ -1,126 +1,130 @@ -/** - ****************************************************************************** - * @file tInfoBootloader.c - * @author heinrichs/weikamp, Christian Weikamp - * @version V0.0.1 - * @date 08-May-2015 - * @brief Write something on the screen in between steps - * - @verbatim - ============================================================================== - ##### How to use ##### - ============================================================================== - * a little bit of text (DMA is not running for fast clean) - @endverbatim - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT(c) 2015 heinrichs weikamp</center></h2> - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "tInfoBootloader.h" - -#include "base_bootloader.h" -#include "gfx_colors.h" -#include "gfx_engine.h" -#include "gfx_fonts.h" -#include "ostc.h" - -#include <string.h> -/* Exported variables --------------------------------------------------------*/ - -/* Private variables ---------------------------------------------------------*/ - - GFX_DrawCfgScreen tIBscreen; - GFX_DrawCfgWindow tIBwindow; - uint8_t line = 1; - - char textButtonLeft[30] = { 0 }; - char textButtonMid[31] = { 0 }; - char textButtonRight[31] = { 0 }; - -/* Private types -------------------------------------------------------------*/ - -/* Private function prototypes -----------------------------------------------*/ - -/* Exported functions --------------------------------------------------------*/ - -void tInfoBootloader_init(void) -{ - tIBscreen.FBStartAdress = 0; - tIBscreen.ImageHeight = 480; - tIBscreen.ImageWidth = 800; - tIBscreen.LayerIndex = 1; - - tIBwindow.Image = &tIBscreen; - tIBwindow.WindowNumberOfTextLines = 6; - tIBwindow.WindowLineSpacing = 65; - tIBwindow.WindowTab = 400; - tIBwindow.WindowX0 = 20; - tIBwindow.WindowX1 = 779; - tIBwindow.WindowY0 = 0; - tIBwindow.WindowY1 = 799; - - line = 1; -} - - -void tInfo_button_text(const char *text_left, const char *text_mid, const char *text_right) -{ - if(text_left) - strncpy(textButtonLeft,text_left,30); - if(text_mid) - { - textButtonMid[0] = '\001'; - strncpy(&textButtonMid[1],text_mid,30); - } - if(text_right) - { - textButtonRight[0] = '\002'; - strncpy(&textButtonRight[1],text_right,30); - } -} - - -void tInfo_newpage(const char *text) -{ - uint32_t backup = tIBscreen.FBStartAdress; - - tIBscreen.FBStartAdress = getFrame(18); - line = 1; - if(text) - GFX_write_string(&FontT48, &tIBwindow, text,line); - line++; - - if(*textButtonLeft) - write_content_simple(&tIBscreen, 0, 800, 480-24, &FontT24,textButtonLeft,CLUT_ButtonSurfaceScreen); - if(*textButtonMid) - write_content_simple(&tIBscreen, 0, 800, 480-24, &FontT24,textButtonMid,CLUT_ButtonSurfaceScreen); - if(*textButtonRight) - write_content_simple(&tIBscreen, 0, 800, 480-24, &FontT24,textButtonRight,CLUT_ButtonSurfaceScreen); - - GFX_SetFrameTop(tIBscreen.FBStartAdress); - GFX_change_LTDC(); - - if(backup != 0) - releaseFrame(18,backup); -} - - -void tInfo_write(const char *text) -{ - if((line > 6) || (tIBscreen.FBStartAdress == 0)) - tInfo_newpage(text); - else - { - if(text) - GFX_write_string(&FontT48, &tIBwindow, text,line); - line++; - - } -} - -/* Private functions ---------------------------------------------------------*/ +/////////////////////////////////////////////////////////////////////////////// +/// -*- coding: UTF-8 -*- +/// +/// \file BootLoader/Src/tInfoBootloader.c +/// \brief Write something on the screen in between steps +/// \author heinrichs/weikamp, Christian Weikamp +/// \date 08-May-2015 +/// +/// $Id$ +/////////////////////////////////////////////////////////////////////////////// +/// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU General Public License as published by +/// the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU General Public License for more details. +/// +/// You should have received a copy of the GNU General Public License +/// along with this program. If not, see <http://www.gnu.org/licenses/>. +////////////////////////////////////////////////////////////////////////////// + +/* Includes ------------------------------------------------------------------*/ +#include "tInfoBootloader.h" + +#include "base_bootloader.h" +#include "gfx_colors.h" +#include "gfx_engine.h" +#include "gfx_fonts.h" +#include "ostc.h" + +#include <string.h> +/* Exported variables --------------------------------------------------------*/ + +/* Private variables ---------------------------------------------------------*/ + + GFX_DrawCfgScreen tIBscreen; + GFX_DrawCfgWindow tIBwindow; + uint8_t line = 1; + + char textButtonLeft[30] = { 0 }; + char textButtonMid[31] = { 0 }; + char textButtonRight[31] = { 0 }; + +/* Private types -------------------------------------------------------------*/ + +/* Private function prototypes -----------------------------------------------*/ + +/* Exported functions --------------------------------------------------------*/ + +void tInfoBootloader_init(void) +{ + tIBscreen.FBStartAdress = 0; + tIBscreen.ImageHeight = 480; + tIBscreen.ImageWidth = 800; + tIBscreen.LayerIndex = 1; + + tIBwindow.Image = &tIBscreen; + tIBwindow.WindowNumberOfTextLines = 6; + tIBwindow.WindowLineSpacing = 65; + tIBwindow.WindowTab = 400; + tIBwindow.WindowX0 = 20; + tIBwindow.WindowX1 = 779; + tIBwindow.WindowY0 = 0; + tIBwindow.WindowY1 = 799; + + line = 1; +} + + +void tInfo_button_text(const char *text_left, const char *text_mid, const char *text_right) +{ + if(text_left) + strncpy(textButtonLeft,text_left,30); + if(text_mid) + { + textButtonMid[0] = '\001'; + strncpy(&textButtonMid[1],text_mid,30); + } + if(text_right) + { + textButtonRight[0] = '\002'; + strncpy(&textButtonRight[1],text_right,30); + } +} + + +void tInfo_newpage(const char *text) +{ + uint32_t backup = tIBscreen.FBStartAdress; + + tIBscreen.FBStartAdress = getFrame(18); + line = 1; + if(text) + GFX_write_string(&FontT48, &tIBwindow, text,line); + line++; + + if(*textButtonLeft) + write_content_simple(&tIBscreen, 0, 800, 480-24, &FontT24,textButtonLeft,CLUT_ButtonSurfaceScreen); + if(*textButtonMid) + write_content_simple(&tIBscreen, 0, 800, 480-24, &FontT24,textButtonMid,CLUT_ButtonSurfaceScreen); + if(*textButtonRight) + write_content_simple(&tIBscreen, 0, 800, 480-24, &FontT24,textButtonRight,CLUT_ButtonSurfaceScreen); + + GFX_SetFrameTop(tIBscreen.FBStartAdress); + GFX_change_LTDC(); + + if(backup != 0) + releaseFrame(18,backup); +} + + +void tInfo_write(const char *text) +{ + if((line > 6) || (tIBscreen.FBStartAdress == 0)) + tInfo_newpage(text); + else + { + if(text) + GFX_write_string(&FontT48, &tIBwindow, text,line); + line++; + + } +} + +/* Private functions ---------------------------------------------------------*/