Mercurial > public > ostc4
diff Discovery/Inc/gfx_fonts.h @ 38:5f11787b4f42
include in ostc4 repository
author | heinrichsweikamp |
---|---|
date | Sat, 28 Apr 2018 11:52:34 +0200 |
parents | |
children | 7c786c7aa99b |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Discovery/Inc/gfx_fonts.h Sat Apr 28 11:52:34 2018 +0200 @@ -0,0 +1,75 @@ +/////////////////////////////////////////////////////////////////////////////// +/// -*- coding: UTF-8 -*- +/// +/// \file Discovery/Inc/gfx_fonts.h +/// \brief Header file to control placement of font in STM32 Flash +/// \author heinrichs weikamp gmbh +/// \date 14-Aug-2014 +/// +/// $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/>. +////////////////////////////////////////////////////////////////////////////// + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef GFX_FONTS_H +#define GFX_FONTS_H + +#include "gfx.h" + +// From image_heinrichs_weikamp.c +enum { indexHWcolorSIZE = 256 }; + +// Forward declarations +// +// 2018-01-01 jDG: +// - the exact address is fixed in linker script CPU1-F429.ld, +// so that every font can be used even when not included in the actual +// binary (boot-loader, fonts, or firmware). +// +// - Actual font data is defined by the OSTC4/FontPack project, that shall +// be loaded before the firmware is executed. +// +// - Font directory starts at address 0x081E0000. Each header is 12 bytes. +// A 0xFFFFFFFF (32 bits) marks the directory's end. +// It is stored between __font_directory and __font_directory_end; +// +// - Font data (chars) is stored after 0x08132040 (end of font's SFirmareData). +// So there is space for 0x081E0000 - 0x08132040 = ADFC0 = 694 KB of fonts. +// Actual data is stored between __upper_font_data and __upper_font_data_end, +// and uses 0x081b9a3a - 0x08132040 = 879FA = 542 KB. +// +extern const tFont Awe48; +extern const tFont FontT24; +extern const tFont FontT42; +extern const tFont FontT48; +extern const tFont FontT54; +extern const tFont FontT84; +extern const tFont FontT105; +extern const tFont FontT144; + +extern const tFont Batt24; + +extern const tImage ImgHWcolor; +extern const tImage ImgOSTC; + +extern const uint32_t indexHWcolor[indexHWcolorSIZE]; + +// Macro to store in UPPER rom font sections +#define UPPER_FONT_DIRECTORY __attribute__(( section(".upper_font_directory") )) +#define UPPER_FONTS __attribute__(( section(".upper_fonts") )) + +#endif // GFX_FONTS_H