Fonts from external SPI Flash¶
The Commercial edition allows to use an external SPI Flash to store the fonts. Fonts are loaded by the application dynamically at run-time.
The EXT3.1 extension board includes a 8 Mbits = 1 MBytes x 8 SPI Flash memory, labelled U1
. The corresponding chip select pin is numbered 8
on the EXT3.1 extension board.
The technical note explains how to Upload fonts to external SPI Flash.
Configure¶
On the hV_List_Options.h
file,
#define USE_FONT_FLASH 3 ///< Use fonts from external SPI Flash memory
#define FONT_MODE USE_FONT_HEADER ///< Selected option
FONT_MODE
should be set to USE_FONT_FLASH
.
const pins_t myBoard =
{
// ...
.flashCS = 18, ///< EXT3 pin 8 Violet
// ...
};
The selected board should define flashCS
, the chip select pin for the external SPI Flash.
On the hV_Font_DejaVu_Flash
,
enum fontNumber_e
{
Font_DejaVuMono12,
Font_DejaVuMono12b,
// ...
Font_DejaVuMono64,
Font_DejaVuMono64b,
Font_DejaVuSans12,
Font_DejaVuSans12b,
// ...
Font_DejaVuSans64,
Font_DejaVuSans64b,
Font_DejaVuSerif12,
Font_DejaVuSerif12b,
// ...
Font_DejaVuSerif64,
Font_DejaVuSerif64b,
};
The fontNumber_e
enumeration lists all the fonts available on Flash, generated by the hV_Fonts_Manager
utility.
Use¶
uint8_t fontSans;
fontSans = Font_DejaVuSans20;
Font_DejaVuSans20
provides the index for the DejaVu font, Sans Serif, with size 20.
myScreen.selectFont(fontSans);
selectFont()
selects the font based on its index, from range 0
..fontMax() - 1
.
Example¶
Please refer to the example for Text.