Create Mission Select screen

This commit is contained in:
Jasper Blanckenburg 2023-03-06 23:42:01 +01:00
parent 8a2bdc347c
commit 7476e09fed
76 changed files with 46727 additions and 414 deletions
Core/Inc
STM32Make.make
TouchGFX
application.config
assets
generated
gui
simulator/msvs
steering-wheel.touchgfx
assets

6
Core/Inc/stw_defines.h Normal file

@ -0,0 +1,6 @@
#ifndef __INC_STW_DEFINES_H
#define __INC_STW_DEFINES_H
#define NUM_MISSIONS 7
#endif // __INC_STW_DEFINES_H

@ -327,28 +327,34 @@ TouchGFX/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphWr
TouchGFX/generated/fonts/src/ApplicationFontProvider.cpp \ TouchGFX/generated/fonts/src/ApplicationFontProvider.cpp \
TouchGFX/generated/fonts/src/CachedFont.cpp \ TouchGFX/generated/fonts/src/CachedFont.cpp \
TouchGFX/generated/fonts/src/FontCache.cpp \ TouchGFX/generated/fonts/src/FontCache.cpp \
TouchGFX/generated/fonts/src/Font_verdana_10_4bpp_0.cpp \ TouchGFX/generated/fonts/src/Font_CHINN____20_4bpp_0.cpp \
TouchGFX/generated/fonts/src/Font_CHINN____30_4bpp_0.cpp \
TouchGFX/generated/fonts/src/Font_verdana_20_4bpp_0.cpp \ TouchGFX/generated/fonts/src/Font_verdana_20_4bpp_0.cpp \
TouchGFX/generated/fonts/src/Font_verdana_40_4bpp_0.cpp \
TouchGFX/generated/fonts/src/GeneratedFont.cpp \ TouchGFX/generated/fonts/src/GeneratedFont.cpp \
TouchGFX/generated/fonts/src/Kerning_verdana_10_4bpp.cpp \ TouchGFX/generated/fonts/src/Kerning_CHINN____20_4bpp.cpp \
TouchGFX/generated/fonts/src/Kerning_CHINN____30_4bpp.cpp \
TouchGFX/generated/fonts/src/Kerning_verdana_20_4bpp.cpp \ TouchGFX/generated/fonts/src/Kerning_verdana_20_4bpp.cpp \
TouchGFX/generated/fonts/src/Kerning_verdana_40_4bpp.cpp \ TouchGFX/generated/fonts/src/Table_CHINN____20_4bpp.cpp \
TouchGFX/generated/fonts/src/Table_verdana_10_4bpp.cpp \ TouchGFX/generated/fonts/src/Table_CHINN____30_4bpp.cpp \
TouchGFX/generated/fonts/src/Table_verdana_20_4bpp.cpp \ TouchGFX/generated/fonts/src/Table_verdana_20_4bpp.cpp \
TouchGFX/generated/fonts/src/Table_verdana_40_4bpp.cpp \
TouchGFX/generated/fonts/src/UnmappedDataFont.cpp \ TouchGFX/generated/fonts/src/UnmappedDataFont.cpp \
TouchGFX/generated/gui_generated/src/common/FrontendApplicationBase.cpp \ TouchGFX/generated/gui_generated/src/common/FrontendApplicationBase.cpp \
TouchGFX/generated/gui_generated/src/screen_screen/screenViewBase.cpp \ TouchGFX/generated/gui_generated/src/containers/MissionSelectElementBase.cpp \
TouchGFX/generated/gui_generated/src/missionselect_screen/MissionSelectViewBase.cpp \
TouchGFX/generated/images/src/BitmapDatabase.cpp \ TouchGFX/generated/images/src/BitmapDatabase.cpp \
TouchGFX/generated/images/src/SVGDatabase.cpp \ TouchGFX/generated/images/src/SVGDatabase.cpp \
TouchGFX/generated/images/src/image_Fasttube_Logo.cpp \
TouchGFX/generated/images/src/image_Fasttube_Logo_small.cpp \
TouchGFX/generated/images/src/image_Fasttube_Logo_small_white.cpp \
TouchGFX/generated/images/src/image_Fasttube_Logo_white.cpp \
TouchGFX/generated/texts/src/LanguageGb.cpp \ TouchGFX/generated/texts/src/LanguageGb.cpp \
TouchGFX/generated/texts/src/Texts.cpp \ TouchGFX/generated/texts/src/Texts.cpp \
TouchGFX/generated/texts/src/TypedTextDatabase.cpp \ TouchGFX/generated/texts/src/TypedTextDatabase.cpp \
TouchGFX/gui/src/common/FrontendApplication.cpp \ TouchGFX/gui/src/common/FrontendApplication.cpp \
TouchGFX/gui/src/containers/MissionSelectElement.cpp \
TouchGFX/gui/src/missionselect_screen/MissionSelectPresenter.cpp \
TouchGFX/gui/src/missionselect_screen/MissionSelectView.cpp \
TouchGFX/gui/src/model/Model.cpp \ TouchGFX/gui/src/model/Model.cpp \
TouchGFX/gui/src/screen_screen/screenPresenter.cpp \
TouchGFX/gui/src/screen_screen/screenView.cpp \
TouchGFX/target/STM32TouchController.cpp \ TouchGFX/target/STM32TouchController.cpp \
TouchGFX/target/TouchGFXGPIO.cpp \ TouchGFX/target/TouchGFXGPIO.cpp \
TouchGFX/target/TouchGFXHAL.cpp \ TouchGFX/target/TouchGFXHAL.cpp \

@ -7,7 +7,14 @@
"nonopaque_image_format": "ARGB8888", "nonopaque_image_format": "ARGB8888",
"section": "ExtFlashSection", "section": "ExtFlashSection",
"extra_section": "ExtFlashSection", "extra_section": "ExtFlashSection",
"images": {} "images": {
"Fasttube_Logo.png": {
"format": "RGB565"
},
"Fasttube_Logo_white.png": {
"format": "RGB565"
}
}
}, },
"text_configuration": { "text_configuration": {
"remap": "yes", "remap": "yes",

Binary file not shown.

Binary file not shown.

After

(image error) Size: 16 KiB

Binary file not shown.

After

(image error) Size: 5.7 KiB

Binary file not shown.

After

(image error) Size: 4.6 KiB

Binary file not shown.

After

(image error) Size: 14 KiB

@ -4,16 +4,41 @@
<Language Id="GB" /> <Language Id="GB" />
</Languages> </Languages>
<Texts> <Texts>
<TextGroup Id="Group1" /> <TextGroup Id="MissionNames">
<Text Id="Manual" Alignment="Center" TypographyId="Chinat_Small">
<Translation Language="GB">Manual Driving</Translation>
</Text>
<Text Id="Inspection" Alignment="Center" TypographyId="Chinat_Small">
<Translation Language="GB">Inspection</Translation>
</Text>
<Text Id="EBS" Alignment="Center" TypographyId="Chinat_Small">
<Translation Language="GB">EBS Test</Translation>
</Text>
<Text Id="Trackdrive" Alignment="Center" TypographyId="Chinat_Small">
<Translation Language="GB">Trackdrive</Translation>
</Text>
<Text Id="AutoX" Alignment="Center" TypographyId="Chinat_Small">
<Translation Language="GB">Autocross</Translation>
</Text>
<Text Id="Skidpad" Alignment="Center" TypographyId="Chinat_Small">
<Translation Language="GB">Skidpad</Translation>
</Text>
<Text Id="Accel" Alignment="Center" TypographyId="Chinat_Small">
<Translation Language="GB">Acceleration</Translation>
</Text>
</TextGroup>
<TextGroup Id="Unsorted"> <TextGroup Id="Unsorted">
<Text Id="__SingleUse_6GPV" Alignment="Left" TypographyId="Default"> <Text Id="__SingleUse_M5X7" Alignment="Center" TypographyId="Chinat_Small">
<Translation Language="GB">FaSTTUBe</Translation> <Translation Language="GB">Invalid Mission</Translation>
</Text>
<Text Id="__SingleUse_6GPV" Alignment="Left" TypographyId="Chinat_Large">
<Translation Language="GB">Choose a mission</Translation>
</Text> </Text>
</TextGroup> </TextGroup>
</Texts> </Texts>
<Typographies> <Typographies>
<Typography Id="Default" Font="verdana.ttf" Size="20" Bpp="4" Direction="LTR" FallbackCharacter="?" /> <Typography Id="Default" Font="verdana.ttf" Size="20" Bpp="4" Direction="LTR" FallbackCharacter="?" />
<Typography Id="Large" Font="verdana.ttf" Size="40" Bpp="4" Direction="LTR" FallbackCharacter="?" /> <Typography Id="Chinat_Large" Font="CHINN___.ttf" Size="30" Bpp="4" Direction="LTR" FallbackCharacter="?" />
<Typography Id="Small" Font="verdana.ttf" Size="10" Bpp="4" Direction="LTR" FallbackCharacter="?" /> <Typography Id="Chinat_Small" Font="CHINN___.ttf" Size="20" Bpp="4" Direction="LTR" FallbackCharacter="?" />
</Typographies> </Typographies>
</TextDatabase> </TextDatabase>

@ -0,0 +1,26 @@
32
63
65
66
68
69
73
77
83
84
97
99
100
101
103
105
107
108
110
111
112
114
115
116
117
118

@ -0,0 +1,11 @@
32
63
67
97
101
104
105
109
110
111
115

@ -1,8 +1 @@
63 63
66
70
83
84
85
97
101

@ -1 +1 @@
{"typographies":[["Default","verdana.ttf",20,4],["Large","verdana.ttf",40,4],["Small","verdana.ttf",10,4]],"generate_font_format":"0"} {"typographies":[["Default","verdana.ttf",20,4],["Chinat_Large","CHINN___.ttf",30,4],["Chinat_Small","CHINN___.ttf",20,4]],"generate_font_format":"0"}

@ -1 +1 @@
{"typographies":[["Default","verdana.ttf",20,4],["Large","verdana.ttf",40,4],["Small","verdana.ttf",10,4]],"generate_font_format":"0"} {"typographies":[["Default","verdana.ttf",20,4],["Chinat_Large","CHINN___.ttf",30,4],["Chinat_Small","CHINN___.ttf",20,4]],"generate_font_format":"0"}

@ -0,0 +1,27 @@
AH:0 BA:1 FC:63 EC:0 FF:0 CF:1
32
63
65
66
68
69
73
77
83
84
97
99
100
101
103
105
107
108
110
111
112
114
115
116
117
118

@ -0,0 +1,12 @@
AH:0 BA:1 FC:63 EC:0 FF:0 CF:0
32
63
67
97
101
104
105
109
110
111
115

@ -1,2 +0,0 @@
AH:0 BA:1 FC:63 EC:0 FF:0 CF:1
63

@ -1,9 +1,2 @@
AH:0 BA:1 FC:63 EC:0 FF:0 CF:0 AH:0 BA:1 FC:63 EC:0 FF:0 CF:1
63 63
66
70
83
84
85
97
101

@ -1,2 +0,0 @@
AH:0 BA:1 FC:63 EC:0 FF:0 CF:0
63

@ -14,15 +14,15 @@ class FlashDataReader;
struct Typography struct Typography
{ {
static const touchgfx::FontId DEFAULT = 0; static const touchgfx::FontId DEFAULT = 0;
static const touchgfx::FontId LARGE = 1; static const touchgfx::FontId CHINAT_LARGE = 1;
static const touchgfx::FontId SMALL = 2; static const touchgfx::FontId CHINAT_SMALL = 2;
}; };
struct TypographyFontIndex struct TypographyFontIndex
{ {
static const touchgfx::FontId DEFAULT = 0; // verdana_20_4bpp static const touchgfx::FontId DEFAULT = 0; // verdana_20_4bpp
static const touchgfx::FontId LARGE = 1; // verdana_40_4bpp static const touchgfx::FontId CHINAT_LARGE = 1; // CHINN____30_4bpp
static const touchgfx::FontId SMALL = 2; // verdana_10_4bpp static const touchgfx::FontId CHINAT_SMALL = 2; // CHINN____20_4bpp
static const uint16_t NUMBER_OF_FONTS = 3; static const uint16_t NUMBER_OF_FONTS = 3;
}; };

@ -12,11 +12,11 @@ touchgfx::Font* ApplicationFontProvider::getFont(touchgfx::FontId typography)
case Typography::DEFAULT: case Typography::DEFAULT:
// verdana_20_4bpp // verdana_20_4bpp
return const_cast<touchgfx::Font*>(TypedTextDatabase::getFonts()[0]); return const_cast<touchgfx::Font*>(TypedTextDatabase::getFonts()[0]);
case Typography::LARGE: case Typography::CHINAT_LARGE:
// verdana_40_4bpp // CHINN____30_4bpp
return const_cast<touchgfx::Font*>(TypedTextDatabase::getFonts()[1]); return const_cast<touchgfx::Font*>(TypedTextDatabase::getFonts()[1]);
case Typography::SMALL: case Typography::CHINAT_SMALL:
// verdana_10_4bpp // CHINN____20_4bpp
return const_cast<touchgfx::Font*>(TypedTextDatabase::getFonts()[2]); return const_cast<touchgfx::Font*>(TypedTextDatabase::getFonts()[2]);
default: default:
return 0; return 0;

@ -0,0 +1,241 @@
#include <touchgfx/hal/Types.hpp>
FONT_GLYPH_LOCATION_FLASH_PRAGMA
KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE = {
// Unicode: [0x0020, space]
// (Has no glyph data)
// Unicode: [0x003F, question]
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x44, 0x44,
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xFB, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF9, 0xDF, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x00, 0x00, 0x00, 0x00,
0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xBF, 0x02,
0x00, 0x00, 0x00, 0x00, 0x43, 0x44, 0x44, 0x44, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x46,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFC, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xBF, 0x00, 0x00,
0x00, 0x00,
// Unicode: [0x0041, A]
0x00, 0x00, 0x00, 0x00, 0xE8, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xFF, 0xFF,
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xFF, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFD, 0xDF, 0xFD, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xFF, 0x4F, 0xF5, 0xFF, 0x06,
0x00, 0x00, 0x00, 0x00, 0xE2, 0xFF, 0x0A, 0xB0, 0xFF, 0x1E, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF,
0xFF, 0xFF, 0xFF, 0x9F, 0x00, 0x00, 0x00, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00,
0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0B, 0x00, 0x00, 0xF6, 0xFF, 0x58, 0x55, 0x55,
0x95, 0xFF, 0x5F, 0x00, 0x10, 0xFE, 0xDF, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xDF, 0x00, 0x80, 0xFF,
0x5F, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x07, 0xF2, 0xFF, 0x0C, 0x00, 0x00, 0x00, 0x00, 0xC0,
0xFF, 0x2E,
// Unicode: [0x0042, B]
0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x8C, 0x01, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x1D, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0xF7, 0xFF,
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xFD, 0xBF, 0xF7, 0xFF, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xFD, 0xAF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0xF7, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF,
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xEF, 0xF7, 0xFF, 0x44, 0x44, 0x44, 0x44,
0x44, 0x44, 0xFB, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xF7, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x9E, 0x02,
// Unicode: [0x0044, D]
0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x5C, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x08, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4F, 0xF7, 0xFF,
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xFE, 0x8F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFD, 0x9F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x9F, 0xF7, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFD, 0x9F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x9F,
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x9F, 0xF7, 0xFF, 0x44, 0x44, 0x44, 0x44,
0x44, 0x44, 0xFE, 0x8F, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xF7, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF,
0x5B, 0x00,
// Unicode: [0x0045, E]
0x00, 0xB5, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x7F, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xF6, 0xFF,
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x24, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xF7, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F,
0xF7, 0xFF, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x36, 0xF6, 0xFF, 0x44, 0x44, 0x44, 0x44,
0x44, 0x44, 0x44, 0x24, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x60, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xB3, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x7F,
// Unicode: [0x0049, I]
0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF,
0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF,
// Unicode: [0x004D, M]
0x20, 0xEA, 0x9E, 0x01, 0x00, 0x00, 0x00, 0x60, 0xFD, 0x5C, 0x00, 0xD1, 0xFF, 0xFF, 0x1C, 0x00,
0x00, 0x00, 0xF6, 0xFF, 0xFF, 0x04, 0xF5, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x10, 0xFE, 0xFF, 0xFF,
0x0B, 0xF7, 0xFF, 0xFE, 0xEF, 0x00, 0x00, 0x70, 0xFF, 0xEF, 0xFF, 0x0E, 0xF7, 0xFF, 0xF8, 0xFF,
0x05, 0x00, 0xD0, 0xFF, 0x8E, 0xFF, 0x0E, 0xF7, 0xFF, 0xE1, 0xFF, 0x0C, 0x00, 0xF5, 0xFF, 0x87,
0xFF, 0x0E, 0xF7, 0xFF, 0x80, 0xFF, 0x3F, 0x00, 0xFB, 0xEF, 0x81, 0xFF, 0x0E, 0xF7, 0xFF, 0x10,
0xFE, 0x9F, 0x30, 0xFF, 0x7F, 0x80, 0xFF, 0x0E, 0xF7, 0xFF, 0x00, 0xF9, 0xFF, 0x91, 0xFF, 0x1E,
0x80, 0xFF, 0x0E, 0xF7, 0xFF, 0x00, 0xF2, 0xFF, 0xF8, 0xFF, 0x07, 0x80, 0xFF, 0x0E, 0xF7, 0xFF,
0x00, 0x80, 0xFF, 0xFF, 0xEF, 0x01, 0x80, 0xFF, 0x0E, 0xF7, 0xFF, 0x00, 0x10, 0xFC, 0xFF, 0x6F,
0x00, 0x80, 0xFF, 0x0E, 0xF7, 0xFF, 0x00, 0x00, 0xA1, 0xDE, 0x06, 0x00, 0x80, 0xFF, 0x0E,
// Unicode: [0x0053, S]
0x00, 0xA3, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x70, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x03, 0xF8, 0xFF, 0x45, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x01, 0xF8, 0xFF, 0x56, 0x55,
0x55, 0x55, 0x55, 0x55, 0x35, 0x00, 0x00, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x5D, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0xB5, 0xFE,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x50, 0xFF, 0x1F, 0x30, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x84, 0xFF, 0x1F, 0xB0, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0B, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xDF, 0x02, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x19, 0x00,
// Unicode: [0x0054, T]
0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xCF, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x40, 0x44,
0x44, 0x44, 0xF8, 0xFF, 0x45, 0x44, 0x44, 0x34, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF6, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF6, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x01, 0x00,
0x00, 0x00,
// Unicode: [0x0061, a]
0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x01, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x0B, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0x40, 0x44,
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xFC, 0xAF, 0x00, 0x20, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
0xFC, 0xBF, 0x20, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xD1, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF,
0xFB, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xCF, 0xFA, 0xDF, 0x44, 0x44, 0x44, 0x44,
0x44, 0x44, 0xFC, 0xCF, 0xF5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xA0, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x00, 0xC6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xCF,
// Unicode: [0x0063, c]
0x00, 0xB5, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xCF, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xF5, 0xFF,
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x34, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x44, 0x44, 0x44, 0x44,
0x44, 0x44, 0x44, 0x34, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x00, 0xC5, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xCF,
// Unicode: [0x0064, d]
0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x5C, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x08, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4F, 0xF7, 0xFF,
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xFE, 0x8F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFD, 0x9F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x9F, 0xF7, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFD, 0x9F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x9F,
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x9F, 0xF7, 0xFF, 0x44, 0x44, 0x44, 0x44,
0x44, 0x44, 0xFE, 0x8F, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xF7, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF,
0x5B, 0x00,
// Unicode: [0x0065, e]
0x00, 0xA3, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x3A, 0x00, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xEF, 0x03, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0xF6, 0xFF,
0x44, 0x44, 0x44, 0x44, 0x44, 0x74, 0xFF, 0x2F, 0xF7, 0xFF, 0x55, 0x55, 0x55, 0x55, 0x55, 0x75,
0xFF, 0x3F, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xF7, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F,
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x44, 0x44, 0x44, 0x44,
0x44, 0x44, 0x44, 0x14, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0xC4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x3F,
// Unicode: [0x0067, g]
0x00, 0x93, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xCF, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xF6, 0xFF,
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x34, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x44, 0x44,
0x44, 0x34, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xCF, 0xF7, 0xFF, 0x00, 0x00,
0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xCF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xCF,
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0xF6, 0xFF, 0x44, 0x44, 0x44, 0x44,
0x44, 0x44, 0xFC, 0xAF, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0x50, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0xA3, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF,
0x6C, 0x00,
// Unicode: [0x0069, i]
0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF,
0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF,
// Unicode: [0x006B, k]
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x50, 0xFD, 0xFF, 0xFF, 0x2A, 0xF7, 0xFF, 0x00, 0x00, 0x40, 0xFC,
0xFF, 0xFF, 0x3B, 0x00, 0xF7, 0xFF, 0x00, 0x20, 0xFA, 0xFF, 0xFF, 0x5D, 0x00, 0x00, 0xF7, 0xFF,
0x00, 0xF8, 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xC1, 0xFF, 0xFF, 0x9F, 0x01, 0x00,
0x00, 0x00, 0xF7, 0xFF, 0xFA, 0xFF, 0xAF, 0x02, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xFF, 0xFF,
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xFA, 0xFF, 0x9F, 0x02, 0x00, 0x00, 0x00, 0x00,
0xF7, 0xFF, 0xD2, 0xFF, 0xFF, 0x8E, 0x01, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x10, 0xFA, 0xFF, 0xFF,
0x6E, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x30, 0xFB, 0xFF, 0xFF, 0x5D, 0x00, 0x00, 0xF7, 0xFF,
0x00, 0x00, 0x40, 0xFC, 0xFF, 0xFF, 0x3C, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x60, 0xFD, 0xFF,
0xFF, 0x2A,
// Unicode: [0x006C, l]
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xFF, 0x44, 0x44, 0x44, 0x44, 0x44, 0x01,
0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03,
0x00, 0xA3, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x03,
// Unicode: [0x006E, n]
0x20, 0xEA, 0x9E, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0xE1, 0xFF, 0xFF, 0x2D, 0x00, 0x00,
0x00, 0x00, 0xFF, 0x7F, 0xF6, 0xFF, 0xFF, 0xEF, 0x03, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0xF7, 0xFF,
0xFB, 0xFF, 0x4E, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0xF7, 0xFF, 0xA0, 0xFF, 0xFF, 0x05, 0x00, 0x00,
0xFF, 0x7F, 0xF7, 0xFF, 0x00, 0xF9, 0xFF, 0x5F, 0x00, 0x00, 0xFF, 0x7F, 0xF7, 0xFF, 0x00, 0x80,
0xFF, 0xFF, 0x06, 0x00, 0xFF, 0x7F, 0xF7, 0xFF, 0x00, 0x00, 0xF7, 0xFF, 0x7F, 0x00, 0xFF, 0x7F,
0xF7, 0xFF, 0x00, 0x00, 0x60, 0xFF, 0xFF, 0x08, 0xFF, 0x7F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0xF5,
0xFF, 0x9F, 0xFF, 0x6F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x40, 0xFE, 0xFF, 0xFF, 0x4F, 0xF7, 0xFF,
0x00, 0x00, 0x00, 0x00, 0xE3, 0xFF, 0xFF, 0x0C, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x20, 0xEA,
0xAE, 0x02,
// Unicode: [0x006F, o]
0x00, 0xB3, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5C, 0x00, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x07, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F, 0xF6, 0xFF,
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xFE, 0x7F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFE, 0x8F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x8F, 0xF7, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFE, 0x8F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x8F,
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x8F, 0xF6, 0xFF, 0x44, 0x44, 0x44, 0x44,
0x44, 0x44, 0xFE, 0x7F, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0x00, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x5C, 0x00,
// Unicode: [0x0070, p]
0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x2A, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xEF, 0x02, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0B, 0xF7, 0xFF,
0x44, 0x44, 0x44, 0x44, 0x44, 0x54, 0xFF, 0x1F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
0xFF, 0x3F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFF, 0x2F, 0xF7, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05,
0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6E, 0x00, 0xF7, 0xFF, 0x44, 0x44, 0x44, 0x44,
0x44, 0x34, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00,
// Unicode: [0x0072, r]
0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x0A, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4F, 0xF7, 0xFF,
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xFD, 0x9F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFC, 0xAF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x8F, 0xF7, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D,
0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4F, 0xF7, 0xFF, 0x44, 0x44, 0x44, 0x44,
0x44, 0x44, 0xFD, 0x8F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x9F, 0xF7, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x9F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFD, 0x9F,
// Unicode: [0x0073, s]
0x00, 0xA3, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x70, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x03, 0xF8, 0xFF, 0x45, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x01, 0xF8, 0xFF, 0x56, 0x55,
0x55, 0x55, 0x55, 0x55, 0x35, 0x00, 0x00, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x5D, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0xB5, 0xFE,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x50, 0xFF, 0x1F, 0x30, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x84, 0xFF, 0x1F, 0xB0, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0B, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xDF, 0x02, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x19, 0x00,
// Unicode: [0x0074, t]
0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xCF, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x40, 0x44,
0x44, 0x44, 0xF8, 0xFF, 0x45, 0x44, 0x44, 0x34, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF6, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF6, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x01, 0x00,
0x00, 0x00,
// Unicode: [0x0075, u]
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xEF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF8, 0xEF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xEF, 0xF7, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xEF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF8, 0xEF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xEF, 0xF7, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xF8, 0xEF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xEF,
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xEF, 0xF5, 0xFF, 0x44, 0x44, 0x44, 0x44,
0x44, 0x44, 0xFA, 0xEF, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x50, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1D, 0x00, 0xB4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x9E, 0x01,
// Unicode: [0x0076, v]
0xF2, 0xFF, 0x0C, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xFF, 0x1E, 0x90, 0xFF, 0x5F, 0x00, 0x00, 0x00,
0x00, 0xF8, 0xFF, 0x06, 0x10, 0xFE, 0xDF, 0x00, 0x00, 0x00, 0x20, 0xFE, 0xDF, 0x00, 0x00, 0xF7,
0xFF, 0x07, 0x00, 0x00, 0xA0, 0xFF, 0x4F, 0x00, 0x00, 0xD1, 0xFF, 0x1E, 0x00, 0x00, 0xF3, 0xFF,
0x0B, 0x00, 0x00, 0x60, 0xFF, 0x8F, 0x00, 0x00, 0xFB, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFC, 0xFF,
0x02, 0x50, 0xFF, 0x9F, 0x00, 0x00, 0x00, 0x00, 0xF4, 0xFF, 0x0A, 0xD0, 0xFF, 0x1E, 0x00, 0x00,
0x00, 0x00, 0xB0, 0xFF, 0x3F, 0xF7, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x30, 0xFF, 0xCF, 0xFE,
0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xC1, 0xFF, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE9, 0x7D, 0x00, 0x00,
0x00, 0x00
};

@ -0,0 +1,193 @@
#include <touchgfx/hal/Types.hpp>
FONT_GLYPH_LOCATION_FLASH_PRAGMA
KEEP extern const uint8_t unicodes_CHINN____30_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE = {
// Unicode: [0x0020, space]
// (Has no glyph data)
// Unicode: [0x003F, question]
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x8C, 0x02, 0x00, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x9D, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x33, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFA, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Unicode: [0x0043, C]
0x00, 0x00, 0xA5, 0xED, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x00,
0xC2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x10, 0xFD,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x70, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xC0, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xF1, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0xFF, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF2, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF,
0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x10,
0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x00, 0xC2,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x00, 0x00, 0xB5,
0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF,
// Unicode: [0x0061, a]
0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x03, 0x00, 0x80,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0x00, 0x80, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x80, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0x80, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x9F, 0x00, 0x10, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x00, 0xE4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xAF, 0xF8, 0xFF, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF8, 0xFF, 0xAF, 0xF9, 0xFF, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8,
0xFF, 0xAF, 0xF8, 0xFF, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF,
0xAF, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF,
0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x30,
0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x00, 0xD3,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x00, 0x10, 0xC7,
0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF,
// Unicode: [0x0065, e]
0x00, 0x00, 0x94, 0xED, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x3A, 0x00, 0x00, 0x00,
0xB1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0x00, 0x10, 0xFD,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x80, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0xE0, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xF2, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFF, 0xFF, 0x0B, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFF, 0xFF, 0x0C, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x0C, 0xF3, 0xFF, 0xFF, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
0x11, 0x11, 0x01, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF2, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C,
0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x10,
0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x00, 0xB1,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x00, 0x00, 0xB5,
0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C,
// Unicode: [0x0068, h]
0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xCF, 0xF3,
0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xCF, 0xF3, 0xFF,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xCF, 0xF3, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xCF, 0xF3, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xCF, 0xF3, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xCF, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xCF, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xCF, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF7, 0xFF, 0xCF, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7,
0xFF, 0xCF, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF,
0xCF, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xCF,
0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xCF, 0xF3,
0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xCF, 0xF3, 0xFF,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xCF, 0xF3, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xCF,
// Unicode: [0x0069, i]
0xF3, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF3,
0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF3, 0xFF,
0xFF, 0xF3, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF,
0xF3, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF,
// Unicode: [0x006D, m]
0x00, 0x60, 0xEC, 0xCE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xFD, 0x9D, 0x02, 0x00, 0x00,
0xFA, 0xFF, 0xFF, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFE, 0xFF, 0xFF, 0x3E, 0x00, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0x08, 0x00, 0x00, 0x00, 0xD1, 0xFF, 0xFF, 0xFF, 0xDF, 0x00, 0xE0, 0xFF, 0xFF,
0xFF, 0xFF, 0x1E, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0xF2, 0xFF, 0xFF, 0xFF,
0xFF, 0x6F, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0x09, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF,
0xBF, 0x00, 0x00, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0xF3, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF,
0x01, 0x00, 0x80, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0x0B, 0xF3, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0x05,
0x00, 0xD0, 0xFF, 0xFF, 0x8E, 0xFF, 0xFF, 0x0B, 0xF3, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0x0A, 0x00,
0xF3, 0xFF, 0xFF, 0x88, 0xFF, 0xFF, 0x0B, 0xF3, 0xFF, 0xFF, 0xB0, 0xFF, 0xFF, 0x1E, 0x00, 0xF8,
0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0x0B, 0xF3, 0xFF, 0xFF, 0x50, 0xFF, 0xFF, 0x5F, 0x00, 0xFD, 0xFF,
0xDF, 0x80, 0xFF, 0xFF, 0x0B, 0xF3, 0xFF, 0xFF, 0x00, 0xFE, 0xFF, 0xAF, 0x30, 0xFF, 0xFF, 0x8F,
0x80, 0xFF, 0xFF, 0x0B, 0xF3, 0xFF, 0xFF, 0x00, 0xF9, 0xFF, 0xEF, 0x80, 0xFF, 0xFF, 0x2F, 0x80,
0xFF, 0xFF, 0x0B, 0xF3, 0xFF, 0xFF, 0x00, 0xF4, 0xFF, 0xFF, 0xC4, 0xFF, 0xFF, 0x0C, 0x80, 0xFF,
0xFF, 0x0B, 0xF3, 0xFF, 0xFF, 0x00, 0xD0, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0x07, 0x80, 0xFF, 0xFF,
0x0B, 0xF3, 0xFF, 0xFF, 0x00, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x80, 0xFF, 0xFF, 0x0B,
0xF3, 0xFF, 0xFF, 0x00, 0x10, 0xFE, 0xFF, 0xFF, 0xFF, 0xAF, 0x00, 0x80, 0xFF, 0xFF, 0x0B, 0xF3,
0xFF, 0xFF, 0x00, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0x2E, 0x00, 0x80, 0xFF, 0xFF, 0x0B, 0xF3, 0xFF,
0xFF, 0x00, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0x80, 0xFF, 0xFF, 0x0B, 0xF3, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0xC5, 0xEF, 0x3B, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x0B,
// Unicode: [0x006E, n]
0x00, 0x60, 0xEC, 0xBE, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x2F, 0x10,
0xFB, 0xFF, 0xFF, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x2F, 0x90, 0xFF,
0xFF, 0xFF, 0xFF, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x2F, 0xF1, 0xFF, 0xFF,
0xFF, 0xFF, 0xCF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x2F, 0xF3, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x2F, 0xF3, 0xFF, 0xFF, 0xF8, 0xFF,
0xFF, 0xCF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x2F, 0xF3, 0xFF, 0xFF, 0x70, 0xFF, 0xFF,
0xFF, 0x2D, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x2F, 0xF3, 0xFF, 0xFF, 0x00, 0xF6, 0xFF, 0xFF,
0xDF, 0x02, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x2F, 0xF3, 0xFF, 0xFF, 0x00, 0x50, 0xFF, 0xFF, 0xFF,
0x2D, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x2F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0xF5, 0xFF, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0xFF, 0xFF, 0x2F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x40, 0xFE, 0xFF, 0xFF, 0x3E,
0x00, 0x00, 0xFF, 0xFF, 0x2F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xE4, 0xFF, 0xFF, 0xEF, 0x04,
0x00, 0xFF, 0xFF, 0x2F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x30, 0xFE, 0xFF, 0xFF, 0x4E, 0x00,
0xFF, 0xFF, 0x2F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xE2, 0xFF, 0xFF, 0xFF, 0x05, 0xFF,
0xFF, 0x2F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFD, 0xFF, 0xFF, 0x6F, 0xFF, 0xFF,
0x2F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0xF3,
0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0xF3, 0xFF,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFA, 0xFF, 0xFF, 0xAF, 0x00, 0xF3, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xEB, 0xCE, 0x06, 0x00,
// Unicode: [0x006F, o]
0x00, 0x00, 0xA4, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x6C, 0x00, 0x00, 0x00,
0xA1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2C, 0x00, 0x00, 0xFB,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x01, 0x80, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xE0, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0E, 0xF2, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0x3F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0x5F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0x5F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0x5F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFD, 0xFF, 0x5F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFD, 0xFF, 0x5F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFD, 0xFF, 0x5F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFD, 0xFF, 0x5F, 0xF3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD,
0xFF, 0x5F, 0xF2, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFF,
0x4F, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x10,
0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x02, 0x00, 0xD2,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2D, 0x00, 0x00, 0x00, 0xC7,
0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x6C, 0x00, 0x00,
// Unicode: [0x0073, s]
0x00, 0x00, 0x93, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04,
0x00, 0xA1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04,
0x10, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04,
0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04,
0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04,
0xF5, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF5, 0xFF, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7C, 0x01, 0x00,
0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3D, 0x00,
0x30, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x03,
0x00, 0xE4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D,
0x00, 0x10, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5F,
0x00, 0x00, 0x00, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0xF9, 0xFF, 0x9F,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xAF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x9F,
0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5F,
0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1D,
0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04,
0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4E, 0x00,
0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7C, 0x01, 0x00
};

@ -1,8 +0,0 @@
#include <touchgfx/hal/Types.hpp>
FONT_GLYPH_LOCATION_FLASH_PRAGMA
KEEP extern const uint8_t unicodes_verdana_10_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE = {
// Unicode: [0x003F]
0xD2, 0xCE, 0x03, 0x21, 0x50, 0x0C, 0x00, 0x30, 0x0C, 0x00, 0xC1, 0x05, 0x00, 0x4D, 0x00, 0x00,
0x0C, 0x00, 0x00, 0x02, 0x00, 0x00, 0x0F, 0x00
};

@ -7,51 +7,5 @@ KEEP extern const uint8_t unicodes_verdana_20_4bpp_0[] FONT_GLYPH_LOCATION_FLASH
0x00, 0x00, 0xF3, 0x0C, 0x00, 0x00, 0x00, 0xF5, 0x0A, 0x00, 0x00, 0x10, 0xFD, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x0C, 0x00, 0x00, 0x00, 0xF5, 0x0A, 0x00, 0x00, 0x10, 0xFD, 0x03, 0x00, 0x00,
0xD5, 0x6F, 0x00, 0x00, 0xB0, 0xCF, 0x03, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x00, 0x00, 0xE0, 0x0C, 0xD5, 0x6F, 0x00, 0x00, 0xB0, 0xCF, 0x03, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x00, 0x00, 0xE0, 0x0C,
0x00, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0E, 0x00,
0x00, 0x00, 0xF0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0E, 0x00, 0x00
// Unicode: [0x0042]
0xF1, 0xFF, 0xFF, 0xDF, 0x3A, 0x00, 0xF1, 0x9E, 0x99, 0xDA, 0xFF, 0x03, 0xF1, 0x0D, 0x00, 0x00,
0xF9, 0x09, 0xF1, 0x0D, 0x00, 0x00, 0xF6, 0x09, 0xF1, 0x0D, 0x00, 0x00, 0xFB, 0x03, 0xF1, 0x9E,
0x99, 0xEA, 0x4E, 0x00, 0xF1, 0xFF, 0xFF, 0xFF, 0xEF, 0x05, 0xF1, 0x0D, 0x00, 0x10, 0xE5, 0x4F,
0xF1, 0x0D, 0x00, 0x00, 0x40, 0xBF, 0xF1, 0x0D, 0x00, 0x00, 0x20, 0xDF, 0xF1, 0x0D, 0x00, 0x00,
0x30, 0xCF, 0xF1, 0x0D, 0x00, 0x00, 0xC1, 0x7F, 0xF1, 0x9E, 0x99, 0xBA, 0xFF, 0x0A, 0xF1, 0xFF,
0xFF, 0xEF, 0x5B, 0x00,
// Unicode: [0x0046]
0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0xF1, 0xAE, 0xAA, 0xAA, 0xAA, 0x02, 0xF1, 0x0D, 0x00, 0x00,
0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xAF,
0xAA, 0xAA, 0x2A, 0x00, 0xF1, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00,
0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00,
0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D,
0x00, 0x00, 0x00, 0x00,
// Unicode: [0x0053]
0x00, 0xA4, 0xFD, 0xDF, 0x7B, 0x02, 0x80, 0xFF, 0xAC, 0xCA, 0xFF, 0x0E, 0xF4, 0x3E, 0x00, 0x00,
0x61, 0x0C, 0xF9, 0x07, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x09, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x8F,
0x03, 0x00, 0x00, 0x00, 0x50, 0xFE, 0xFF, 0xAD, 0x17, 0x00, 0x00, 0x50, 0xB8, 0xFE, 0xFF, 0x06,
0x00, 0x00, 0x00, 0x20, 0xF7, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7F, 0x03, 0x00, 0x00, 0x00,
0x90, 0x6F, 0xBA, 0x04, 0x00, 0x00, 0xE5, 0x2E, 0xFA, 0xEF, 0xAB, 0xDB, 0xEF, 0x05, 0x50, 0xC9,
0xFE, 0xCE, 0x28, 0x00,
// Unicode: [0x0054]
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0xAA, 0xAA, 0xEA, 0xBF, 0xAA, 0xAA, 0x03, 0x00, 0x00,
0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F,
0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00,
0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00,
0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00,
0x00, 0x00,
// Unicode: [0x0055]
0xF4, 0x0A, 0x00, 0x00, 0x00, 0xEF, 0xF4, 0x0A, 0x00, 0x00, 0x00, 0xEF, 0xF4, 0x0A, 0x00, 0x00,
0x00, 0xEF, 0xF4, 0x0A, 0x00, 0x00, 0x00, 0xEF, 0xF4, 0x0A, 0x00, 0x00, 0x00, 0xEF, 0xF4, 0x0A,
0x00, 0x00, 0x00, 0xEF, 0xF4, 0x0A, 0x00, 0x00, 0x00, 0xEF, 0xF4, 0x0A, 0x00, 0x00, 0x00, 0xEF,
0xF4, 0x0A, 0x00, 0x00, 0x10, 0xDF, 0xF3, 0x0B, 0x00, 0x00, 0x20, 0xCF, 0xF0, 0x1F, 0x00, 0x00,
0x70, 0x9F, 0x90, 0xAF, 0x01, 0x00, 0xE3, 0x4F, 0x10, 0xFC, 0xBE, 0xCA, 0xFF, 0x08, 0x00, 0x71,
0xEC, 0xEF, 0x4B, 0x00,
// Unicode: [0x0061]
0x90, 0xEC, 0xEF, 0x7C, 0x00, 0xF0, 0xBD, 0xA9, 0xFE, 0x0A, 0x30, 0x00, 0x00, 0xD1, 0x2F, 0x00,
0x00, 0x00, 0xA1, 0x4F, 0x20, 0xC8, 0xFE, 0xFF, 0x4F, 0xE3, 0xBF, 0x68, 0xA5, 0x4F, 0xFC, 0x05,
0x00, 0x80, 0x4F, 0xEE, 0x00, 0x00, 0x80, 0x4F, 0xFD, 0x03, 0x00, 0xD5, 0x4F, 0xF6, 0xBF, 0xDB,
0xEF, 0x4F, 0x50, 0xFC, 0xAE, 0x83, 0x4F,
// Unicode: [0x0065]
0x00, 0xB4, 0xFE, 0x9D, 0x02, 0x70, 0xDF, 0x89, 0xFA, 0x2E, 0xF3, 0x09, 0x00, 0x50, 0x9F, 0xFA,
0x12, 0x11, 0x11, 0xDE, 0xFD, 0xFF, 0xFF, 0xFF, 0xEF, 0xEE, 0x44, 0x44, 0x44, 0x44, 0xFD, 0x01,
0x00, 0x00, 0x00, 0xFA, 0x06, 0x00, 0x00, 0x00, 0xF4, 0x4E, 0x00, 0x00, 0x84, 0x70, 0xFF, 0x9C,
0xDA, 0xBF, 0x00, 0xA4, 0xFD, 0xCE, 0x28
}; };

@ -1,24 +0,0 @@
#include <touchgfx/hal/Types.hpp>
FONT_GLYPH_LOCATION_FLASH_PRAGMA
KEEP extern const uint8_t unicodes_verdana_40_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE = {
// Unicode: [0x003F]
0x00, 0x10, 0x53, 0x77, 0x57, 0x02, 0x00, 0x00, 0x00, 0x83, 0xFC, 0xFF, 0xFF, 0xFF, 0xDF, 0x17,
0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x02, 0x00, 0xFD, 0xFF, 0xFF, 0xEF, 0xFF,
0xFF, 0xFF, 0x2E, 0x00, 0xFD, 0x9E, 0x15, 0x00, 0x41, 0xFA, 0xFF, 0xBF, 0x00, 0x6B, 0x00, 0x00,
0x00, 0x00, 0x60, 0xFF, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0x07, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF,
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFB, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xC1, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFC, 0xFF, 0x0C, 0x00, 0x00, 0x00,
0x00, 0x00, 0xD3, 0xFF, 0xDF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x81, 0xFF, 0xFF, 0x2C, 0x00, 0x00,
0x00, 0x00, 0x60, 0xFE, 0xFF, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0xDF, 0x04, 0x00,
0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x09,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0,
0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x44, 0x03, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xFF,
0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF1, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0x00
};

@ -0,0 +1,6 @@
#include <touchgfx/Font.hpp>
FONT_KERNING_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::KerningNode kerning_CHINN____20_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE = {
{ 0, 0 }
};

@ -0,0 +1,6 @@
#include <touchgfx/Font.hpp>
FONT_KERNING_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::KerningNode kerning_CHINN____30_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE = {
{ 0, 0 }
};

@ -1,6 +0,0 @@
#include <touchgfx/Font.hpp>
FONT_KERNING_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::KerningNode kerning_verdana_10_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE = {
{ 0, 0 }
};

@ -2,9 +2,5 @@
FONT_KERNING_LOCATION_FLASH_PRAGMA FONT_KERNING_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::KerningNode kerning_verdana_20_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE = { KEEP extern const touchgfx::KerningNode kerning_verdana_20_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE = {
{ 0x0054, -1 }, // (First char = [0x0054, T], Second char = [0x0054, T], Kerning dist = -1) { 0, 0 }
{ 0x0065, -1 }, // (First char = [0x0065, e], Second char = [0x0054, T], Kerning dist = -1)
{ 0x0046, -1 }, // (First char = [0x0046, F], Second char = [0x0061, a], Kerning dist = -1)
{ 0x0054, -2 }, // (First char = [0x0054, T], Second char = [0x0061, a], Kerning dist = -2)
{ 0x0054, -2 }, // (First char = [0x0054, T], Second char = [0x0065, e], Kerning dist = -2)
}; };

@ -1,6 +0,0 @@
#include <touchgfx/Font.hpp>
FONT_KERNING_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::KerningNode kerning_verdana_40_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE = {
{ 0, 0 }
};

@ -0,0 +1,52 @@
// Autogenerated, do not edit
#include <fonts/GeneratedFont.hpp>
FONT_TABLE_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::GlyphNode glyphs_CHINN____20_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = {
{ 0, 0x0020, 0, 0, 0, 0, 5, 0, 0, 0x00 }, // space
{ 0, 0x003F, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // question
{ 130, 0x0041, 20, 13, 13, -1, 18, 0, 0, 0x00 }, // A
{ 260, 0x0042, 20, 13, 13, 0, 21, 0, 0, 0x00 }, // B
{ 390, 0x0044, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // D
{ 520, 0x0045, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // E
{ 650, 0x0049, 4, 13, 13, 0, 5, 0, 0, 0x00 }, // I
{ 676, 0x004D, 21, 13, 13, 0, 21, 0, 0, 0x00 }, // M
{ 819, 0x0053, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // S
{ 962, 0x0054, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // T
{ 1092, 0x0061, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // a
{ 1222, 0x0063, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // c
{ 1352, 0x0064, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // d
{ 1482, 0x0065, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // e
{ 1612, 0x0067, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // g
{ 1742, 0x0069, 4, 13, 13, 0, 5, 0, 0, 0x00 }, // i
{ 1768, 0x006B, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // k
{ 1898, 0x006C, 15, 13, 13, 0, 14, 0, 0, 0x00 }, // l
{ 2002, 0x006E, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // n
{ 2132, 0x006F, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // o
{ 2262, 0x0070, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // p
{ 2392, 0x0072, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // r
{ 2522, 0x0073, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // s
{ 2665, 0x0074, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // t
{ 2795, 0x0075, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // u
{ 2925, 0x0076, 20, 13, 13, -1, 18, 0, 0, 0x00 } // v
};
// CHINN____20_4bpp
FONT_TABLE_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::GlyphNode glyphs_CHINN____20_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE;
FONT_GLYPH_LOCATION_FLASH_PRAGMA
KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE;
FONT_SEARCHTABLE_LOCATION_FLASH_PRAGMA
KEEP extern const uint8_t* const unicodes_CHINN____20_4bpp[] FONT_SEARCHTABLE_LOCATION_FLASH_ATTRIBUTE = {
unicodes_CHINN____20_4bpp_0
};
FONT_KERNING_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::KerningNode kerning_CHINN____20_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE;
touchgfx::GeneratedFont& getFont_CHINN____20_4bpp();
touchgfx::GeneratedFont& getFont_CHINN____20_4bpp()
{
static touchgfx::GeneratedFont CHINN____20_4bpp(glyphs_CHINN____20_4bpp, 26, 20, 20, 0, 0, 4, 1, 1, 1, unicodes_CHINN____20_4bpp, kerning_CHINN____20_4bpp, 63, 0, 0, 0);
return CHINN____20_4bpp;
}

@ -0,0 +1,37 @@
// Autogenerated, do not edit
#include <fonts/GeneratedFont.hpp>
FONT_TABLE_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::GlyphNode glyphs_CHINN____30_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = {
{ 0, 0x0020, 0, 0, 0, 0, 8, 0, 0, 0x00 }, // space
{ 0, 0x003F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // question
{ 300, 0x0043, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // C
{ 600, 0x0061, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // a
{ 900, 0x0065, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // e
{ 1200, 0x0068, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // h
{ 1500, 0x0069, 6, 20, 20, 0, 7, 0, 0, 0x00 }, // i
{ 1560, 0x006D, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // m
{ 1860, 0x006E, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // n
{ 2160, 0x006F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // o
{ 2460, 0x0073, 32, 20, 20, 0, 32, 0, 0, 0x00 } // s
};
// CHINN____30_4bpp
FONT_TABLE_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::GlyphNode glyphs_CHINN____30_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE;
FONT_GLYPH_LOCATION_FLASH_PRAGMA
KEEP extern const uint8_t unicodes_CHINN____30_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE;
FONT_SEARCHTABLE_LOCATION_FLASH_PRAGMA
KEEP extern const uint8_t* const unicodes_CHINN____30_4bpp[] FONT_SEARCHTABLE_LOCATION_FLASH_ATTRIBUTE = {
unicodes_CHINN____30_4bpp_0
};
FONT_KERNING_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::KerningNode kerning_CHINN____30_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE;
touchgfx::GeneratedFont& getFont_CHINN____30_4bpp();
touchgfx::GeneratedFont& getFont_CHINN____30_4bpp()
{
static touchgfx::GeneratedFont CHINN____30_4bpp(glyphs_CHINN____30_4bpp, 11, 30, 30, 0, 0, 4, 1, 0, 0, unicodes_CHINN____30_4bpp, kerning_CHINN____30_4bpp, 63, 0, 0, 0);
return CHINN____30_4bpp;
}

@ -1,27 +0,0 @@
// Autogenerated, do not edit
#include <fonts/GeneratedFont.hpp>
FONT_TABLE_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::GlyphNode glyphs_verdana_10_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = {
{ 0, 0x003F, 5, 8, 8, 0, 5, 0, 0, 0x00 }
};
// verdana_10_4bpp
FONT_TABLE_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::GlyphNode glyphs_verdana_10_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE;
FONT_GLYPH_LOCATION_FLASH_PRAGMA
KEEP extern const uint8_t unicodes_verdana_10_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE;
FONT_SEARCHTABLE_LOCATION_FLASH_PRAGMA
KEEP extern const uint8_t* const unicodes_verdana_10_4bpp[] FONT_SEARCHTABLE_LOCATION_FLASH_ATTRIBUTE = {
unicodes_verdana_10_4bpp_0
};
FONT_KERNING_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::KerningNode kerning_verdana_10_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE;
touchgfx::GeneratedFont& getFont_verdana_10_4bpp();
touchgfx::GeneratedFont& getFont_verdana_10_4bpp()
{
static touchgfx::GeneratedFont verdana_10_4bpp(glyphs_verdana_10_4bpp, 1, 10, 10, 0, 0, 4, 1, 0, 0, unicodes_verdana_10_4bpp, kerning_verdana_10_4bpp, 63, 0, 0, 0);
return verdana_10_4bpp;
}

@ -4,14 +4,7 @@
FONT_TABLE_LOCATION_FLASH_PRAGMA FONT_TABLE_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::GlyphNode glyphs_verdana_20_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = { KEEP extern const touchgfx::GlyphNode glyphs_verdana_20_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = {
{ 0, 0x003F, 9, 14, 14, 1, 11, 0, 0, 0x00 }, { 0, 0x003F, 9, 14, 14, 1, 11, 0, 0, 0x00 }
{ 70, 0x0042, 12, 14, 14, 1, 14, 0, 0, 0x00 },
{ 154, 0x0046, 11, 14, 14, 1, 12, 0, 0, 0x00 },
{ 238, 0x0053, 12, 14, 14, 1, 14, 0, 0, 0x00 },
{ 322, 0x0054, 13, 14, 14, 0, 12, 0, 2, 0x00 },
{ 420, 0x0055, 12, 14, 14, 1, 15, 0, 0, 0x00 },
{ 504, 0x0061, 10, 11, 11, 1, 12, 2, 2, 0x00 },
{ 559, 0x0065, 10, 11, 11, 1, 12, 4, 1, 0x00 }
}; };
// verdana_20_4bpp // verdana_20_4bpp
@ -29,6 +22,6 @@ touchgfx::GeneratedFont& getFont_verdana_20_4bpp();
touchgfx::GeneratedFont& getFont_verdana_20_4bpp() touchgfx::GeneratedFont& getFont_verdana_20_4bpp()
{ {
static touchgfx::GeneratedFont verdana_20_4bpp(glyphs_verdana_20_4bpp, 8, 20, 20, 0, 0, 4, 1, 0, 1, unicodes_verdana_20_4bpp, kerning_verdana_20_4bpp, 63, 0, 0, 0); static touchgfx::GeneratedFont verdana_20_4bpp(glyphs_verdana_20_4bpp, 1, 20, 20, 0, 0, 4, 1, 0, 0, unicodes_verdana_20_4bpp, kerning_verdana_20_4bpp, 63, 0, 0, 0);
return verdana_20_4bpp; return verdana_20_4bpp;
} }

@ -1,27 +0,0 @@
// Autogenerated, do not edit
#include <fonts/GeneratedFont.hpp>
FONT_TABLE_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::GlyphNode glyphs_verdana_40_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = {
{ 0, 0x003F, 17, 31, 31, 3, 22, 0, 0, 0x00 }
};
// verdana_40_4bpp
FONT_TABLE_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::GlyphNode glyphs_verdana_40_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE;
FONT_GLYPH_LOCATION_FLASH_PRAGMA
KEEP extern const uint8_t unicodes_verdana_40_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE;
FONT_SEARCHTABLE_LOCATION_FLASH_PRAGMA
KEEP extern const uint8_t* const unicodes_verdana_40_4bpp[] FONT_SEARCHTABLE_LOCATION_FLASH_ATTRIBUTE = {
unicodes_verdana_40_4bpp_0
};
FONT_KERNING_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::KerningNode kerning_verdana_40_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE;
touchgfx::GeneratedFont& getFont_verdana_40_4bpp();
touchgfx::GeneratedFont& getFont_verdana_40_4bpp()
{
static touchgfx::GeneratedFont verdana_40_4bpp(glyphs_verdana_40_4bpp, 1, 40, 40, 0, 0, 4, 1, 0, 0, unicodes_verdana_40_4bpp, kerning_verdana_40_4bpp, 63, 0, 0, 0);
return verdana_40_4bpp;
}

@ -17,19 +17,19 @@ public:
virtual void changeToStartScreen() virtual void changeToStartScreen()
{ {
gotoscreenScreenNoTransition(); gotoMissionSelectScreenNoTransition();
} }
// screen // MissionSelect
void gotoscreenScreenNoTransition(); void gotoMissionSelectScreenNoTransition();
protected: protected:
touchgfx::Callback<FrontendApplicationBase> transitionCallback; touchgfx::Callback<FrontendApplicationBase> transitionCallback;
FrontendHeap& frontendHeap; FrontendHeap& frontendHeap;
Model& model; Model& model;
// screen // MissionSelect
void gotoscreenScreenNoTransitionImpl(); void gotoMissionSelectScreenNoTransitionImpl();
}; };
#endif // FRONTENDAPPLICATIONBASE_HPP #endif // FRONTENDAPPLICATIONBASE_HPP

@ -12,8 +12,8 @@
#include <gui/common/FrontendApplication.hpp> #include <gui/common/FrontendApplication.hpp>
#include <gui/model/Model.hpp> #include <gui/model/Model.hpp>
#include <gui/screen_screen/screenView.hpp> #include <gui/missionselect_screen/MissionSelectView.hpp>
#include <gui/screen_screen/screenPresenter.hpp> #include <gui/missionselect_screen/MissionSelectPresenter.hpp>
/** /**
@ -36,7 +36,7 @@ public:
* A list of all view types. Must end with meta::Nil. * A list of all view types. Must end with meta::Nil.
* @note All view types used in the application MUST be added to this list! * @note All view types used in the application MUST be added to this list!
*/ */
typedef touchgfx::meta::TypeList< screenView, typedef touchgfx::meta::TypeList< MissionSelectView,
touchgfx::meta::Nil touchgfx::meta::Nil
> GeneratedViewTypes; > GeneratedViewTypes;
@ -49,7 +49,7 @@ public:
* A list of all presenter types. Must end with meta::Nil. * A list of all presenter types. Must end with meta::Nil.
* @note All presenter types used in the application MUST be added to this list! * @note All presenter types used in the application MUST be added to this list!
*/ */
typedef touchgfx::meta::TypeList< screenPresenter, typedef touchgfx::meta::TypeList< MissionSelectPresenter,
touchgfx::meta::Nil touchgfx::meta::Nil
> GeneratedPresenterTypes; > GeneratedPresenterTypes;
@ -73,7 +73,7 @@ public:
virtual void gotoStartScreen(FrontendApplication& app) virtual void gotoStartScreen(FrontendApplication& app)
{ {
app.gotoscreenScreenNoTransition(); app.gotoMissionSelectScreenNoTransition();
} }
protected: protected:
FrontendHeapBase(touchgfx::AbstractPartition& presenters, touchgfx::AbstractPartition& views, touchgfx::AbstractPartition& transitions, FrontendApplication& app) FrontendHeapBase(touchgfx::AbstractPartition& presenters, touchgfx::AbstractPartition& views, touchgfx::AbstractPartition& transitions, FrontendApplication& app)

@ -0,0 +1,38 @@
/*********************************************************************************/
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
/*********************************************************************************/
#ifndef MISSIONSELECTELEMENTBASE_HPP
#define MISSIONSELECTELEMENTBASE_HPP
#include <gui/common/FrontendApplication.hpp>
#include <touchgfx/containers/Container.hpp>
#include <touchgfx/widgets/Box.hpp>
#include <touchgfx/widgets/TextArea.hpp>
#include <touchgfx/widgets/canvas/Line.hpp>
#include <touchgfx/widgets/canvas/PainterRGB565.hpp>
class MissionSelectElementBase : public touchgfx::Container
{
public:
MissionSelectElementBase();
virtual ~MissionSelectElementBase();
virtual void initialize();
protected:
FrontendApplication& application() {
return *static_cast<FrontendApplication*>(touchgfx::Application::getInstance());
}
/*
* Member Declarations
*/
touchgfx::Box bg;
touchgfx::TextArea text;
touchgfx::Line line1;
touchgfx::PainterRGB565 line1Painter;
private:
};
#endif // MISSIONSELECTELEMENTBASE_HPP

@ -1,22 +1,23 @@
/*********************************************************************************/ /*********************************************************************************/
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/ /********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
/*********************************************************************************/ /*********************************************************************************/
#ifndef SCREENVIEWBASE_HPP #ifndef MISSIONSELECTVIEWBASE_HPP
#define SCREENVIEWBASE_HPP #define MISSIONSELECTVIEWBASE_HPP
#include <gui/common/FrontendApplication.hpp> #include <gui/common/FrontendApplication.hpp>
#include <mvp/View.hpp> #include <mvp/View.hpp>
#include <gui/screen_screen/screenPresenter.hpp> #include <gui/missionselect_screen/MissionSelectPresenter.hpp>
#include <touchgfx/widgets/Box.hpp> #include <touchgfx/widgets/Box.hpp>
#include <touchgfx/widgets/TextArea.hpp> #include <touchgfx/widgets/TextArea.hpp>
#include <touchgfx/widgets/canvas/Circle.hpp> #include <touchgfx/containers/ListLayout.hpp>
#include <touchgfx/widgets/canvas/PainterRGB565.hpp> #include <gui/containers/MissionSelectElement.hpp>
#include <touchgfx/widgets/Image.hpp>
class screenViewBase : public touchgfx::View<screenPresenter> class MissionSelectViewBase : public touchgfx::View<MissionSelectPresenter>
{ {
public: public:
screenViewBase(); MissionSelectViewBase();
virtual ~screenViewBase(); virtual ~MissionSelectViewBase();
virtual void setupScreen(); virtual void setupScreen();
protected: protected:
@ -28,9 +29,16 @@ protected:
* Member Declarations * Member Declarations
*/ */
touchgfx::Box __background; touchgfx::Box __background;
touchgfx::TextArea textArea1; touchgfx::TextArea prompt;
touchgfx::Circle circle1; touchgfx::ListLayout missionList;
touchgfx::PainterRGB565 circle1Painter; MissionSelectElement accel;
MissionSelectElement skidpad;
MissionSelectElement autox;
MissionSelectElement trackdrive;
MissionSelectElement ebs;
MissionSelectElement inspection;
MissionSelectElement manual;
touchgfx::Image image1;
private: private:
@ -42,4 +50,4 @@ private:
}; };
#endif // SCREENVIEWBASE_HPP #endif // MISSIONSELECTVIEWBASE_HPP

@ -9,8 +9,8 @@
#include <touchgfx/Texts.hpp> #include <touchgfx/Texts.hpp>
#include <touchgfx/hal/HAL.hpp> #include <touchgfx/hal/HAL.hpp>
#include <platform/driver/lcd/LCD16bpp.hpp> #include <platform/driver/lcd/LCD16bpp.hpp>
#include <gui/screen_screen/screenView.hpp> #include <gui/missionselect_screen/MissionSelectView.hpp>
#include <gui/screen_screen/screenPresenter.hpp> #include <gui/missionselect_screen/MissionSelectPresenter.hpp>
using namespace touchgfx; using namespace touchgfx;
@ -29,15 +29,15 @@ FrontendApplicationBase::FrontendApplicationBase(Model& m, FrontendHeap& heap)
* Screen Transition Declarations * Screen Transition Declarations
*/ */
// screen // MissionSelect
void FrontendApplicationBase::gotoscreenScreenNoTransition() void FrontendApplicationBase::gotoMissionSelectScreenNoTransition()
{ {
transitionCallback = touchgfx::Callback<FrontendApplicationBase>(this, &FrontendApplication::gotoscreenScreenNoTransitionImpl); transitionCallback = touchgfx::Callback<FrontendApplicationBase>(this, &FrontendApplication::gotoMissionSelectScreenNoTransitionImpl);
pendingScreenTransitionCallback = &transitionCallback; pendingScreenTransitionCallback = &transitionCallback;
} }
void FrontendApplicationBase::gotoscreenScreenNoTransitionImpl() void FrontendApplicationBase::gotoMissionSelectScreenNoTransitionImpl()
{ {
touchgfx::makeTransition<screenView, screenPresenter, touchgfx::NoTransition, Model >(&currentScreen, &currentPresenter, frontendHeap, &currentTransition, &model); touchgfx::makeTransition<MissionSelectView, MissionSelectPresenter, touchgfx::NoTransition, Model >(&currentScreen, &currentPresenter, frontendHeap, &currentTransition, &model);
} }

@ -0,0 +1,40 @@
/*********************************************************************************/
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
/*********************************************************************************/
#include <gui_generated/containers/MissionSelectElementBase.hpp>
#include <touchgfx/Color.hpp>
#include <texts/TextKeysAndLanguages.hpp>
MissionSelectElementBase::MissionSelectElementBase()
{
setWidth(480);
setHeight(30);
bg.setPosition(0, 0, 480, 30);
bg.setColor(touchgfx::Color::getColorFromRGB(0, 0, 0));
add(bg);
text.setPosition(0, 3, 480, 25);
text.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
text.setLinespacing(0);
text.setTypedText(touchgfx::TypedText(T___SINGLEUSE_M5X7));
add(text);
line1.setPosition(0, 0, 480, 2);
line1Painter.setColor(touchgfx::Color::getColorFromRGB(170, 170, 170));
line1.setPainter(line1Painter);
line1.setStart(0, 0);
line1.setEnd(480, 0);
line1.setLineWidth(5);
line1.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
add(line1);
}
MissionSelectElementBase::~MissionSelectElementBase()
{
}
void MissionSelectElementBase::initialize()
{
}

@ -0,0 +1,62 @@
/*********************************************************************************/
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
/*********************************************************************************/
#include <gui_generated/missionselect_screen/MissionSelectViewBase.hpp>
#include <touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp>
#include <touchgfx/Color.hpp>
#include <texts/TextKeysAndLanguages.hpp>
#include <images/BitmapDatabase.hpp>
MissionSelectViewBase::MissionSelectViewBase()
{
touchgfx::CanvasWidgetRenderer::setupBuffer(canvasBuffer, CANVAS_BUFFER_SIZE);
__background.setPosition(0, 0, 480, 320);
__background.setColor(touchgfx::Color::getColorFromRGB(0, 0, 0));
add(__background);
prompt.setXY(41, 0);
prompt.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
prompt.setLinespacing(0);
prompt.setTypedText(touchgfx::TypedText(T___SINGLEUSE_6GPV));
add(prompt);
missionList.setXY(0, 48);
missionList.setDirection(touchgfx::SOUTH);
missionList.add(accel);
missionList.add(skidpad);
missionList.add(autox);
missionList.add(trackdrive);
missionList.add(ebs);
missionList.add(inspection);
missionList.add(manual);
add(missionList);
image1.setXY(160, 263);
image1.setBitmap(touchgfx::Bitmap(BITMAP_FASTTUBE_LOGO_SMALL_WHITE_ID));
add(image1);
}
MissionSelectViewBase::~MissionSelectViewBase()
{
touchgfx::CanvasWidgetRenderer::resetBuffer();
}
void MissionSelectViewBase::setupScreen()
{
accel.initialize();
skidpad.initialize();
autox.initialize();
trackdrive.initialize();
ebs.initialize();
inspection.initialize();
manual.initialize();
}

@ -1,41 +0,0 @@
/*********************************************************************************/
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
/*********************************************************************************/
#include <gui_generated/screen_screen/screenViewBase.hpp>
#include <touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp>
#include <touchgfx/Color.hpp>
#include <texts/TextKeysAndLanguages.hpp>
screenViewBase::screenViewBase()
{
touchgfx::CanvasWidgetRenderer::setupBuffer(canvasBuffer, CANVAS_BUFFER_SIZE);
__background.setPosition(0, 0, 480, 320);
__background.setColor(touchgfx::Color::getColorFromRGB(0, 0, 0));
add(__background);
textArea1.setXY(190, 29);
textArea1.setColor(touchgfx::Color::getColorFromRGB(255, 0, 0));
textArea1.setLinespacing(0);
textArea1.setTypedText(touchgfx::TypedText(T___SINGLEUSE_6GPV));
add(textArea1);
circle1.setPosition(97, 120, 80, 80);
circle1.setCenter(40, 40);
circle1.setRadius(40);
circle1.setLineWidth(0);
circle1.setArc(0, 360);
circle1Painter.setColor(touchgfx::Color::getColorFromRGB(3, 255, 226));
circle1.setPainter(circle1Painter);
add(circle1);
}
screenViewBase::~screenViewBase()
{
touchgfx::CanvasWidgetRenderer::resetBuffer();
}
void screenViewBase::setupScreen()
{
}

@ -6,6 +6,10 @@
#include <touchgfx/hal/Types.hpp> #include <touchgfx/hal/Types.hpp>
#include <touchgfx/Bitmap.hpp> #include <touchgfx/Bitmap.hpp>
const uint16_t BITMAP_FASTTUBE_LOGO_ID = 0;
const uint16_t BITMAP_FASTTUBE_LOGO_SMALL_ID = 1;
const uint16_t BITMAP_FASTTUBE_LOGO_SMALL_WHITE_ID = 2;
const uint16_t BITMAP_FASTTUBE_LOGO_WHITE_ID = 3;
namespace BitmapDatabase namespace BitmapDatabase
{ {

@ -1,12 +1,21 @@
// 4.21.2 0x00000000 // 4.21.2 0x29b80d2b
// Generated by imageconverter. Please, do not edit! // Generated by imageconverter. Please, do not edit!
#include <images/BitmapDatabase.hpp> #include <images/BitmapDatabase.hpp>
#include <touchgfx/Bitmap.hpp> #include <touchgfx/Bitmap.hpp>
extern const unsigned char image_fasttube_logo[]; // BITMAP_FASTTUBE_LOGO_ID = 0, Size: 480x165 pixels
extern const unsigned char image_fasttube_logo_extra_data[];
extern const unsigned char image_fasttube_logo_small[]; // BITMAP_FASTTUBE_LOGO_SMALL_ID = 1, Size: 160x55 pixels
extern const unsigned char image_fasttube_logo_small_white[]; // BITMAP_FASTTUBE_LOGO_SMALL_WHITE_ID = 2, Size: 160x55 pixels
extern const unsigned char image_fasttube_logo_white[]; // BITMAP_FASTTUBE_LOGO_WHITE_ID = 3, Size: 480x165 pixels
extern const unsigned char image_fasttube_logo_white_extra_data[];
const touchgfx::Bitmap::BitmapData bitmap_database[] = { const touchgfx::Bitmap::BitmapData bitmap_database[] = {
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } { image_fasttube_logo, image_fasttube_logo_extra_data, 480, 165, 184, 124, 113, ((uint8_t)touchgfx::Bitmap::RGB565) >> 3, 9, ((uint8_t)touchgfx::Bitmap::RGB565) & 0x7 },
{ image_fasttube_logo_small, 0, 160, 55, 62, 42, 36, ((uint8_t)touchgfx::Bitmap::ARGB8888) >> 3, 2, ((uint8_t)touchgfx::Bitmap::ARGB8888) & 0x7 },
{ image_fasttube_logo_small_white, 0, 160, 55, 62, 42, 36, ((uint8_t)touchgfx::Bitmap::ARGB8888) >> 3, 2, ((uint8_t)touchgfx::Bitmap::ARGB8888) & 0x7 },
{ image_fasttube_logo_white, image_fasttube_logo_white_extra_data, 480, 165, 184, 124, 113, ((uint8_t)touchgfx::Bitmap::RGB565) >> 3, 9, ((uint8_t)touchgfx::Bitmap::RGB565) & 0x7 }
}; };
namespace BitmapDatabase namespace BitmapDatabase

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1 +1 @@
{"remap":"yes","language":"GB","language_index":0,"indices":[["0","T___SINGLEUSE_6GPV"]]} {"remap":"yes","language":"GB","language_index":0,"indices":[["33","T_MANUAL"],["61","T_INSPECTION"],["93","T_EBS"],["72","T_TRACKDRIVE"],["83","T_AUTOX"],["102","T_SKIDPAD"],["48","T_ACCEL"],["17","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]}

@ -1 +1 @@
{"languages":["GB"],"textids":["T___SINGLEUSE_6GPV"]} {"languages":["GB"],"textids":["T_MANUAL","T_INSPECTION","T_EBS","T_TRACKDRIVE","T_AUTOX","T_SKIDPAD","T_ACCEL","T___SINGLEUSE_M5X7","T___SINGLEUSE_6GPV"]}

@ -1 +1 @@
{"remap":"yes","languages":["Gb"],"characters":[70,97,83,84,84,85,66,101,0]} {"remap":"yes","languages":["Gb"],"characters":[67,104,111,111,115,101,32,97,32,109,105,115,115,105,111,110,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,0,77,97,110,117,97,108,32,68,114,105,118,105,110,103,0,65,99,99,101,108,101,114,97,116,105,111,110,0,73,110,115,112,101,99,116,105,111,110,0,84,114,97,99,107,100,114,105,118,101,0,65,117,116,111,99,114,111,115,115,0,69,66,83,32,84,101,115,116,0,83,107,105,100,112,97,100,0]}

@ -1 +1 @@
{"databases":{"DEFAULT":[[0,"LEFT","LTR"]]},"database_list":["DEFAULT"],"fonts":{"getFont_verdana_20_4bpp":0,"getFont_verdana_40_4bpp":1,"getFont_verdana_10_4bpp":2},"generate_font_format":"0"} {"databases":{"DEFAULT":[[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[1,"LEFT","LTR"]]},"database_list":["DEFAULT"],"fonts":{"getFont_verdana_20_4bpp":0,"getFont_CHINN____30_4bpp":1,"getFont_CHINN____20_4bpp":2},"generate_font_format":"0"}

@ -12,6 +12,14 @@ enum LANGUAGES
enum TEXTS enum TEXTS
{ {
T_MANUAL,
T_INSPECTION,
T_EBS,
T_TRACKDRIVE,
T_AUTOX,
T_SKIDPAD,
T_ACCEL,
T___SINGLEUSE_M5X7,
T___SINGLEUSE_6GPV, T___SINGLEUSE_6GPV,
NUMBER_OF_TEXT_KEYS NUMBER_OF_TEXT_KEYS
}; };

@ -10,5 +10,13 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE;
// Remap all strings // Remap all strings
TEXT_LOCATION_FLASH_PRAGMA TEXT_LOCATION_FLASH_PRAGMA
KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = { KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
0 // T___SINGLEUSE_6GPV: "FaSTTUBe" 33, // T_MANUAL: "Manual Driving"
61, // T_INSPECTION: "Inspection"
93, // T_EBS: "EBS Test"
72, // T_TRACKDRIVE: "Trackdrive"
83, // T_AUTOX: "Autocross"
102, // T_SKIDPAD: "Skidpad"
48, // T_ACCEL: "Acceleration"
17, // T___SINGLEUSE_M5X7: "Invalid Mission"
0 // T___SINGLEUSE_6GPV: "Choose a mission"
}; };

@ -60,7 +60,15 @@ extern const touchgfx::TypedText::TypedTextData* const typedTextDatabaseArray[];
TEXT_LOCATION_FLASH_PRAGMA TEXT_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::Unicode::UnicodeChar texts_all_languages[] TEXT_LOCATION_FLASH_ATTRIBUTE = { KEEP extern const touchgfx::Unicode::UnicodeChar texts_all_languages[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
0x46, 0x61, 0x53, 0x54, 0x54, 0x55, 0x42, 0x65, 0x0 // @0 "FaSTTUBe" 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x20, 0x61, 0x20, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0, // @0 "Choose a mission"
0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0, // @17 "Invalid Mission"
0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x20, 0x44, 0x72, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x0, // @33 "Manual Driving"
0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0, // @48 "Acceleration"
0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0, // @61 "Inspection"
0x54, 0x72, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x0, // @72 "Trackdrive"
0x41, 0x75, 0x74, 0x6f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x0, // @83 "Autocross"
0x45, 0x42, 0x53, 0x20, 0x54, 0x65, 0x73, 0x74, 0x0, // @93 "EBS Test"
0x53, 0x6b, 0x69, 0x64, 0x70, 0x61, 0x64, 0x0 // @102 "Skidpad"
}; };
TEXT_LOCATION_FLASH_PRAGMA TEXT_LOCATION_FLASH_PRAGMA

@ -6,13 +6,13 @@
#include <texts/TypedTextDatabase.hpp> #include <texts/TypedTextDatabase.hpp>
extern touchgfx::GeneratedFont& getFont_verdana_20_4bpp(); extern touchgfx::GeneratedFont& getFont_verdana_20_4bpp();
extern touchgfx::GeneratedFont& getFont_verdana_40_4bpp(); extern touchgfx::GeneratedFont& getFont_CHINN____30_4bpp();
extern touchgfx::GeneratedFont& getFont_verdana_10_4bpp(); extern touchgfx::GeneratedFont& getFont_CHINN____20_4bpp();
const touchgfx::Font* touchgfx_fonts[] = { const touchgfx::Font* touchgfx_fonts[] = {
&(getFont_verdana_20_4bpp()), &(getFont_verdana_20_4bpp()),
&(getFont_verdana_40_4bpp()), &(getFont_CHINN____30_4bpp()),
&(getFont_verdana_10_4bpp()) &(getFont_CHINN____20_4bpp())
}; };
extern const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[]; extern const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[];
@ -20,7 +20,15 @@ extern const touchgfx::TypedText::TypedTextData* const typedTextDatabaseArray[];
TEXT_LOCATION_FLASH_PRAGMA TEXT_LOCATION_FLASH_PRAGMA
const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[] TEXT_LOCATION_FLASH_ATTRIBUTE = { const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
{ 0, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR } { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
{ 1, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR }
}; };
TEXT_LOCATION_FLASH_PRAGMA TEXT_LOCATION_FLASH_PRAGMA
@ -60,10 +68,10 @@ void resetFont(touchgfx::FontId fontId)
touchgfx_fonts[0] = &(getFont_verdana_20_4bpp()); touchgfx_fonts[0] = &(getFont_verdana_20_4bpp());
break; break;
case 1: case 1:
touchgfx_fonts[1] = &(getFont_verdana_40_4bpp()); touchgfx_fonts[1] = &(getFont_CHINN____30_4bpp());
break; break;
case 2: case 2:
touchgfx_fonts[2] = &(getFont_verdana_10_4bpp()); touchgfx_fonts[2] = &(getFont_CHINN____20_4bpp());
break; break;
} }
} }

@ -0,0 +1,19 @@
#ifndef MISSIONSELECTELEMENT_HPP
#define MISSIONSELECTELEMENT_HPP
#include <gui_generated/containers/MissionSelectElementBase.hpp>
#include <texts/TextKeysAndLanguages.hpp>
class MissionSelectElement : public MissionSelectElementBase {
public:
MissionSelectElement();
virtual ~MissionSelectElement() {}
virtual void initialize();
void setUp(uint32_t i, TEXTS label);
protected:
};
#endif // MISSIONSELECTELEMENT_HPP

@ -1,17 +1,17 @@
#ifndef SCREENPRESENTER_HPP #ifndef MISSIONSELECTPRESENTER_HPP
#define SCREENPRESENTER_HPP #define MISSIONSELECTPRESENTER_HPP
#include <gui/model/ModelListener.hpp> #include <gui/model/ModelListener.hpp>
#include <mvp/Presenter.hpp> #include <mvp/Presenter.hpp>
using namespace touchgfx; using namespace touchgfx;
class screenView; class MissionSelectView;
class screenPresenter : public touchgfx::Presenter, public ModelListener class MissionSelectPresenter : public touchgfx::Presenter, public ModelListener
{ {
public: public:
screenPresenter(screenView& v); MissionSelectPresenter(MissionSelectView& v);
/** /**
* The activate function is called automatically when this screen is "switched in" * The activate function is called automatically when this screen is "switched in"
@ -25,12 +25,12 @@ public:
*/ */
virtual void deactivate(); virtual void deactivate();
virtual ~screenPresenter() {}; virtual ~MissionSelectPresenter() {};
private: private:
screenPresenter(); MissionSelectPresenter();
screenView& view; MissionSelectView& view;
}; };
#endif // SCREENPRESENTER_HPP #endif // MISSIONSELECTPRESENTER_HPP

@ -0,0 +1,17 @@
#ifndef MISSIONSELECTVIEW_HPP
#define MISSIONSELECTVIEW_HPP
#include <gui_generated/missionselect_screen/MissionSelectViewBase.hpp>
#include <gui/missionselect_screen/MissionSelectPresenter.hpp>
class MissionSelectView : public MissionSelectViewBase
{
public:
MissionSelectView();
virtual ~MissionSelectView() {}
virtual void setupScreen();
virtual void tearDownScreen();
protected:
};
#endif // MISSIONSELECTVIEW_HPP

@ -1,17 +0,0 @@
#ifndef SCREENVIEW_HPP
#define SCREENVIEW_HPP
#include <gui_generated/screen_screen/screenViewBase.hpp>
#include <gui/screen_screen/screenPresenter.hpp>
class screenView : public screenViewBase
{
public:
screenView();
virtual ~screenView() {}
virtual void setupScreen();
virtual void tearDownScreen();
protected:
};
#endif // SCREENVIEW_HPP

@ -0,0 +1,21 @@
#include "touchgfx/Color.hpp"
#include "touchgfx/TypedText.hpp"
#include <gui/containers/MissionSelectElement.hpp>
MissionSelectElement::MissionSelectElement() {}
void MissionSelectElement::initialize() {
MissionSelectElementBase::initialize();
}
void MissionSelectElement::setUp(uint32_t i, TEXTS label) {
uint8_t val;
if (i % 2 == 0) {
val = 0b1000;
} else {
val = 0b10000;
}
bg.setColor(touchgfx::Color::getColorFromRGB(val, val, val));
text.setTypedText(TypedText(label));
}

@ -0,0 +1,18 @@
#include <gui/missionselect_screen/MissionSelectView.hpp>
#include <gui/missionselect_screen/MissionSelectPresenter.hpp>
MissionSelectPresenter::MissionSelectPresenter(MissionSelectView& v)
: view(v)
{
}
void MissionSelectPresenter::activate()
{
}
void MissionSelectPresenter::deactivate()
{
}

@ -0,0 +1,19 @@
#include "texts/TextKeysAndLanguages.hpp"
#include <gui/missionselect_screen/MissionSelectView.hpp>
MissionSelectView::MissionSelectView() {}
void MissionSelectView::setupScreen() {
MissionSelectViewBase::setupScreen();
accel.setUp(0, T_ACCEL);
skidpad.setUp(1, T_SKIDPAD);
autox.setUp(2, T_AUTOX);
trackdrive.setUp(3, T_TRACKDRIVE);
ebs.setUp(4, T_EBS);
inspection.setUp(6, T_INSPECTION);
manual.setUp(7, T_MANUAL);
}
void MissionSelectView::tearDownScreen() {
MissionSelectViewBase::tearDownScreen();
}

@ -1,18 +0,0 @@
#include <gui/screen_screen/screenView.hpp>
#include <gui/screen_screen/screenPresenter.hpp>
screenPresenter::screenPresenter(screenView& v)
: view(v)
{
}
void screenPresenter::activate()
{
}
void screenPresenter::deactivate()
{
}

@ -1,16 +0,0 @@
#include <gui/screen_screen/screenView.hpp>
screenView::screenView()
{
}
void screenView::setupScreen()
{
screenViewBase::setupScreen();
}
void screenView::tearDownScreen()
{
screenViewBase::tearDownScreen();
}

@ -20,10 +20,12 @@
<ClCompile Include="..\..\gui\src\common\FrontendApplication.cpp"/> <ClCompile Include="..\..\gui\src\common\FrontendApplication.cpp"/>
<ClCompile Include="..\..\generated\gui_generated\src\common\FrontendApplicationBase.cpp"/> <ClCompile Include="..\..\generated\gui_generated\src\common\FrontendApplicationBase.cpp"/>
<ClCompile Include="..\..\gui\src\model\Model.cpp"/> <ClCompile Include="..\..\gui\src\model\Model.cpp"/>
<ClCompile Include="..\..\gui\src\screen_screen\screenPresenter.cpp"/>
<ClCompile Include="..\..\gui\src\screen_screen\screenView.cpp"/>
<ClCompile Include="..\..\generated\gui_generated\src\screen_screen\screenViewBase.cpp"/>
<ClCompile Include="..\..\generated\simulator\src\video\SoftwareMJPEGDecoder.cpp"/> <ClCompile Include="..\..\generated\simulator\src\video\SoftwareMJPEGDecoder.cpp"/>
<ClCompile Include="..\..\gui\src\containers\MissionSelectElement.cpp"/>
<ClCompile Include="..\..\generated\gui_generated\src\containers\MissionSelectElementBase.cpp"/>
<ClCompile Include="..\..\gui\src\missionselect_screen\MissionSelectPresenter.cpp"/>
<ClCompile Include="..\..\gui\src\missionselect_screen\MissionSelectView.cpp"/>
<ClCompile Include="..\..\generated\gui_generated\src\missionselect_screen\MissionSelectViewBase.cpp"/>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="$(ApplicationRoot)\assets\texts\texts.xml"/> <None Include="$(ApplicationRoot)\assets\texts\texts.xml"/>
@ -172,11 +174,13 @@
<ClInclude Include="..\..\generated\simulator\include\simulator\video\MJPEGDecoder.hpp"/> <ClInclude Include="..\..\generated\simulator\include\simulator\video\MJPEGDecoder.hpp"/>
<ClInclude Include="..\..\gui\include\gui\model\Model.hpp"/> <ClInclude Include="..\..\gui\include\gui\model\Model.hpp"/>
<ClInclude Include="..\..\gui\include\gui\model\ModelListener.hpp"/> <ClInclude Include="..\..\gui\include\gui\model\ModelListener.hpp"/>
<ClInclude Include="..\..\gui\include\gui\screen_screen\screenPresenter.hpp"/>
<ClInclude Include="..\..\gui\include\gui\screen_screen\screenView.hpp"/>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\screen_screen\screenViewBase.hpp"/>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\common\SimConstants.hpp"/> <ClInclude Include="..\..\generated\gui_generated\include\gui_generated\common\SimConstants.hpp"/>
<ClInclude Include="..\..\generated\simulator\include\simulator\video\SoftwareMJPEGDecoder.hpp"/> <ClInclude Include="..\..\generated\simulator\include\simulator\video\SoftwareMJPEGDecoder.hpp"/>
<ClInclude Include="..\..\gui\include\gui\containers\MissionSelectElement.hpp"/>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\MissionSelectElementBase.hpp"/>
<ClInclude Include="..\..\gui\include\gui\missionselect_screen\MissionSelectPresenter.hpp"/>
<ClInclude Include="..\..\gui\include\gui\missionselect_screen\MissionSelectView.hpp"/>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\missionselect_screen\MissionSelectViewBase.hpp"/>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc"/> <ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc"/>

@ -142,30 +142,18 @@
<Filter Include="Source Files\gui\model"> <Filter Include="Source Files\gui\model">
<UniqueIdentifier>CBE41963-7AA5-0185-5E67-AF5A6AF0ADB4</UniqueIdentifier> <UniqueIdentifier>CBE41963-7AA5-0185-5E67-AF5A6AF0ADB4</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Source Files\gui\screen_screen">
<UniqueIdentifier>07BAF03B-2A91-F72D-C359-508374A55B21</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\generated\gui_generated"> <Filter Include="Header Files\generated\gui_generated">
<UniqueIdentifier>AD9F174F-9DE0-4486-BBF2-A7FEE8FC87D0</UniqueIdentifier> <UniqueIdentifier>AD9F174F-9DE0-4486-BBF2-A7FEE8FC87D0</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Header Files\gui\common"> <Filter Include="Header Files\gui\common">
<UniqueIdentifier>5AFF4B4B-C023-ECE5-4CBB-0EED9AEFB420</UniqueIdentifier> <UniqueIdentifier>5AFF4B4B-C023-ECE5-4CBB-0EED9AEFB420</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Header Files\gui\screen_screen">
<UniqueIdentifier>37AA279B-6189-2AD9-F982-8895C7C0B0AC</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\generated\gui_generated"> <Filter Include="Source Files\generated\gui_generated">
<UniqueIdentifier>AB917760-B1FC-71E3-4EFF-D356C617C47E</UniqueIdentifier> <UniqueIdentifier>AB917760-B1FC-71E3-4EFF-D356C617C47E</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Source Files\gui\common"> <Filter Include="Source Files\gui\common">
<UniqueIdentifier>9876A6B2-3D21-4FE6-0241-0928F3DE6458</UniqueIdentifier> <UniqueIdentifier>9876A6B2-3D21-4FE6-0241-0928F3DE6458</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Source Files\generated\gui_generated\screen_screen">
<UniqueIdentifier>13484723-DC99-6658-A674-710FC363393B</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\generated\gui_generated\screen_screen">
<UniqueIdentifier>17ADE03A-F2A6-A87B-0591-BC37A833256E</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\generated\simulator\include"> <Filter Include="Header Files\generated\simulator\include">
<UniqueIdentifier>E223BA53-EE7C-ED68-E23E-65A38AC4FBE5</UniqueIdentifier> <UniqueIdentifier>E223BA53-EE7C-ED68-E23E-65A38AC4FBE5</UniqueIdentifier>
</Filter> </Filter>
@ -184,6 +172,30 @@
<Filter Include="Header Files\generated\simulator\include\simulator\video"> <Filter Include="Header Files\generated\simulator\include\simulator\video">
<UniqueIdentifier>42005BD0-AFC2-5EC8-A48C-E13909122336</UniqueIdentifier> <UniqueIdentifier>42005BD0-AFC2-5EC8-A48C-E13909122336</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Header Files\gui\missionselect_screen">
<UniqueIdentifier>10268329-7CA5-22FF-F4E9-F774B2A79C6D</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\gui\missionselect_screen">
<UniqueIdentifier>F6ABE849-08F4-0B38-5901-79489AAF2766</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\gui\containers">
<UniqueIdentifier>661FC79A-9150-85A5-545F-B1175D5F166C</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\gui\containers">
<UniqueIdentifier>BED3DE67-BE69-90F6-13F0-595775979978</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\generated\gui_generated\containers">
<UniqueIdentifier>9E971F57-F192-908B-9E34-57FFCE4E4580</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\generated\gui_generated\containers">
<UniqueIdentifier>DF6A2C16-7F75-DE10-8910-C8000FE485DF</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\generated\gui_generated\missionselect_screen">
<UniqueIdentifier>B7FFE9E3-D932-977C-F284-6D14D3A9BD0E</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\generated\gui_generated\missionselect_screen">
<UniqueIdentifier>307D8F96-07A8-7BA1-DB22-4B7C9E425503</UniqueIdentifier>
</Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="$(TouchGFXReleasePath)\framework\source\platform\driver\touch\SDL2TouchController.cpp"> <ClCompile Include="$(TouchGFXReleasePath)\framework\source\platform\driver\touch\SDL2TouchController.cpp">
@ -213,18 +225,24 @@
<ClCompile Include="..\..\gui\src\model\Model.cpp"> <ClCompile Include="..\..\gui\src\model\Model.cpp">
<Filter>Source Files\gui\model</Filter> <Filter>Source Files\gui\model</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\gui\src\screen_screen\screenPresenter.cpp">
<Filter>Source Files\gui\screen_screen</Filter>
</ClCompile>
<ClCompile Include="..\..\gui\src\screen_screen\screenView.cpp">
<Filter>Source Files\gui\screen_screen</Filter>
</ClCompile>
<ClCompile Include="..\..\generated\gui_generated\src\screen_screen\screenViewBase.cpp">
<Filter>Source Files\generated\gui_generated\screen_screen</Filter>
</ClCompile>
<ClCompile Include="..\..\generated\simulator\src\video\SoftwareMJPEGDecoder.cpp"> <ClCompile Include="..\..\generated\simulator\src\video\SoftwareMJPEGDecoder.cpp">
<Filter>Source Files\generated\simulator\video</Filter> <Filter>Source Files\generated\simulator\video</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\gui\src\containers\MissionSelectElement.cpp">
<Filter>Source Files\gui\containers</Filter>
</ClCompile>
<ClCompile Include="..\..\generated\gui_generated\src\containers\MissionSelectElementBase.cpp">
<Filter>Source Files\generated\gui_generated\containers</Filter>
</ClCompile>
<ClCompile Include="..\..\gui\src\missionselect_screen\MissionSelectPresenter.cpp">
<Filter>Source Files\gui\missionselect_screen</Filter>
</ClCompile>
<ClCompile Include="..\..\gui\src\missionselect_screen\MissionSelectView.cpp">
<Filter>Source Files\gui\missionselect_screen</Filter>
</ClCompile>
<ClCompile Include="..\..\generated\gui_generated\src\missionselect_screen\MissionSelectViewBase.cpp">
<Filter>Source Files\generated\gui_generated\missionselect_screen</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="$(ApplicationRoot)\assets\texts\texts.xml"> <None Include="$(ApplicationRoot)\assets\texts\texts.xml">
@ -661,21 +679,27 @@
<ClInclude Include="..\..\gui\include\gui\model\ModelListener.hpp"> <ClInclude Include="..\..\gui\include\gui\model\ModelListener.hpp">
<Filter>Header Files\gui\model</Filter> <Filter>Header Files\gui\model</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\gui\include\gui\screen_screen\screenPresenter.hpp">
<Filter>Header Files\gui\screen_screen</Filter>
</ClInclude>
<ClInclude Include="..\..\gui\include\gui\screen_screen\screenView.hpp">
<Filter>Header Files\gui\screen_screen</Filter>
</ClInclude>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\screen_screen\screenViewBase.hpp">
<Filter>Header Files\generated\gui_generated\screen_screen</Filter>
</ClInclude>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\common\SimConstants.hpp"> <ClInclude Include="..\..\generated\gui_generated\include\gui_generated\common\SimConstants.hpp">
<Filter>Header Files\generated\gui_generated\common</Filter> <Filter>Header Files\generated\gui_generated\common</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\generated\simulator\include\simulator\video\SoftwareMJPEGDecoder.hpp"> <ClInclude Include="..\..\generated\simulator\include\simulator\video\SoftwareMJPEGDecoder.hpp">
<Filter>Header Files\generated\simulator\include\simulator\video</Filter> <Filter>Header Files\generated\simulator\include\simulator\video</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\gui\include\gui\containers\MissionSelectElement.hpp">
<Filter>Header Files\gui\containers</Filter>
</ClInclude>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\MissionSelectElementBase.hpp">
<Filter>Header Files\generated\gui_generated\containers</Filter>
</ClInclude>
<ClInclude Include="..\..\gui\include\gui\missionselect_screen\MissionSelectPresenter.hpp">
<Filter>Header Files\gui\missionselect_screen</Filter>
</ClInclude>
<ClInclude Include="..\..\gui\include\gui\missionselect_screen\MissionSelectView.hpp">
<Filter>Header Files\gui\missionselect_screen</Filter>
</ClInclude>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\missionselect_screen\MissionSelectViewBase.hpp">
<Filter>Header Files\generated\gui_generated\missionselect_screen</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc"> <ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc">

@ -2,53 +2,155 @@
"Application": { "Application": {
"Screens": [ "Screens": [
{ {
"Name": "screen", "Name": "MissionSelect",
"CanvasBufferSize": 7200, "CanvasBufferSize": 7200,
"Components": [ "Components": [
{ {
"Type": "TextArea", "Type": "TextArea",
"Name": "textArea1", "Name": "prompt",
"X": 190, "X": 41,
"Y": 29, "Width": 398,
"Width": 100, "Height": 37,
"Height": 25,
"TextId": "__SingleUse_6GPV", "TextId": "__SingleUse_6GPV",
"TextRotation": "0", "TextRotation": "0",
"Color": { "Color": {
"Red": 255 "Red": 255,
"Green": 255,
"Blue": 255
}, },
"AutoSize": true "AutoSize": true
}, },
{ {
"Type": "Circle", "Type": "ListLayout",
"Name": "circle1", "Name": "missionList",
"X": 97, "Y": 48,
"Y": 120, "Width": 480,
"Width": 80, "Height": 210,
"Height": 80, "Direction": "South",
"Color": { "Components": [
"Red": 3, {
"Green": 255, "Type": "CustomContainerInstance",
"Blue": 226 "Name": "accel",
"Width": 480,
"Height": 30,
"CustomContainerDefinitionName": "MissionSelectElement"
}, },
"CenterX": 40.0, {
"CenterY": 40.0, "Type": "CustomContainerInstance",
"Radius": 40.0, "Name": "skidpad",
"EndAngle": 360.0, "Y": 30,
"CapPrecision": "Butt" "Width": 480,
"Height": 30,
"CustomContainerDefinitionName": "MissionSelectElement"
},
{
"Type": "CustomContainerInstance",
"Name": "autox",
"Y": 60,
"Width": 480,
"Height": 30,
"CustomContainerDefinitionName": "MissionSelectElement"
},
{
"Type": "CustomContainerInstance",
"Name": "trackdrive",
"Y": 90,
"Width": 480,
"Height": 30,
"CustomContainerDefinitionName": "MissionSelectElement"
},
{
"Type": "CustomContainerInstance",
"Name": "ebs",
"Y": 120,
"Width": 480,
"Height": 30,
"CustomContainerDefinitionName": "MissionSelectElement"
},
{
"Type": "CustomContainerInstance",
"Name": "inspection",
"Y": 150,
"Width": 480,
"Height": 30,
"CustomContainerDefinitionName": "MissionSelectElement"
},
{
"Type": "CustomContainerInstance",
"Name": "manual",
"Y": 180,
"Width": 480,
"Height": 30,
"CustomContainerDefinitionName": "MissionSelectElement"
}
]
},
{
"Type": "Image",
"Name": "image1",
"X": 160,
"Y": 263,
"Width": 160,
"Height": 55,
"RelativeFilename": "Fasttube_Logo_small_white.png"
}
],
"Interactions": []
}
],
"CustomContainerDefinitions": [
{
"Name": "MissionSelectElement",
"X": -80,
"Y": 109,
"Width": 480,
"Height": 30,
"Components": [
{
"Type": "Box",
"Name": "bg",
"Width": 480,
"Height": 30
},
{
"Type": "TextArea",
"Name": "text",
"Y": 3,
"Width": 480,
"Height": 25,
"TextId": "__SingleUse_M5X7",
"TextRotation": "0",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
}
},
{
"Type": "Line",
"Name": "line1",
"Width": 480,
"Height": 2,
"Color": {
"Red": 170,
"Green": 170,
"Blue": 170
},
"EndX": 480.0,
"LineWidth": 5.0,
"LineEndingStyle": "Round"
} }
], ],
"Interactions": [] "Interactions": []
} }
], ],
"CustomContainerDefinitions": [],
"Name": "MyApplication", "Name": "MyApplication",
"Resolution": { "Resolution": {
"Width": 320, "Width": 320,
"Height": 480 "Height": 480
}, },
"SelectedColorDepth": 16, "SelectedColorDepth": 16,
"StartupScreenName": "screen", "StartupScreenName": "MissionSelect",
"SelectedStartupLanguage": "GB", "SelectedStartupLanguage": "GB",
"TouchGfxPath": "../Middlewares/ST/touchgfx", "TouchGfxPath": "../Middlewares/ST/touchgfx",
"UIPath": ".", "UIPath": ".",
@ -78,7 +180,7 @@
"GenerateAssetsCommand": "make -f simulator/gcc/Makefile assets -j8", "GenerateAssetsCommand": "make -f simulator/gcc/Makefile assets -j8",
"PostGenerateCommand": "touchgfx update_project --project-file=simulator/msvs/Application.vcxproj", "PostGenerateCommand": "touchgfx update_project --project-file=simulator/msvs/Application.vcxproj",
"PostGenerateTargetCommand": "touchgfx update_project", "PostGenerateTargetCommand": "touchgfx update_project",
"PostGenerateTargetCommandOverride": "touchgfx update_project --project-file=../steering-wheel.ioc --platform=m7", "PostGenerateTargetCommandOverride": "",
"CompileSimulatorCommand": "make -f simulator/gcc/Makefile -j8", "CompileSimulatorCommand": "make -f simulator/gcc/Makefile -j8",
"RunSimulatorCommand": "build\\bin\\simulator.exe", "RunSimulatorCommand": "build\\bin\\simulator.exe",
"LandscapeSkinX": 0, "LandscapeSkinX": 0,

BIN
assets/Fasttube_Logo.png Normal file

Binary file not shown.

After

(image error) Size: 16 KiB

Binary file not shown.

After

(image error) Size: 5.7 KiB

Binary file not shown.

After

(image error) Size: 4.6 KiB

Binary file not shown.

After

(image error) Size: 14 KiB