Add debug view
This commit is contained in:
parent
629fcb9098
commit
ff37c8503d
|
@ -350,10 +350,13 @@ TouchGFX/generated/fonts/src/Table_verdana_20_4bpp.cpp \
|
|||
TouchGFX/generated/fonts/src/UnmappedDataFont.cpp \
|
||||
TouchGFX/generated/gui_generated/src/ami_screen/AMIViewBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/common/FrontendApplicationBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/containers/DebugViewItemBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/containers/DebugViewLineBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/containers/DriverViewFieldBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/containers/DriverViewFieldSelectionBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/containers/MissionSelectElementBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/containers/TireTempBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/debugview_screen/DebugViewViewBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/driverview_screen/DriverViewViewBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/missionselect_screen/MissionSelectViewBase.cpp \
|
||||
TouchGFX/generated/images/src/BitmapDatabase.cpp \
|
||||
|
@ -372,10 +375,14 @@ TouchGFX/gui/src/ami_screen/AMIPresenter.cpp \
|
|||
TouchGFX/gui/src/ami_screen/AMIView.cpp \
|
||||
TouchGFX/gui/src/common/DataField.cpp \
|
||||
TouchGFX/gui/src/common/FrontendApplication.cpp \
|
||||
TouchGFX/gui/src/containers/DebugViewItem.cpp \
|
||||
TouchGFX/gui/src/containers/DebugViewLine.cpp \
|
||||
TouchGFX/gui/src/containers/DriverViewField.cpp \
|
||||
TouchGFX/gui/src/containers/DriverViewFieldSelection.cpp \
|
||||
TouchGFX/gui/src/containers/MissionSelectElement.cpp \
|
||||
TouchGFX/gui/src/containers/TireTemp.cpp \
|
||||
TouchGFX/gui/src/debugview_screen/DebugViewPresenter.cpp \
|
||||
TouchGFX/gui/src/debugview_screen/DebugViewView.cpp \
|
||||
TouchGFX/gui/src/driverview_screen/DriverViewPresenter.cpp \
|
||||
TouchGFX/gui/src/driverview_screen/DriverViewView.cpp \
|
||||
TouchGFX/gui/src/missionselect_screen/MissionSelectPresenter.cpp \
|
||||
|
|
|
@ -4,7 +4,13 @@
|
|||
<Language Id="GB" />
|
||||
</Languages>
|
||||
<Texts>
|
||||
<TextGroup Id="DriverViewFields">
|
||||
<TextGroup Id="DataFields">
|
||||
<Text Id="DebugViewField_Title" Alignment="Left" TypographyId="Default">
|
||||
<Translation Language="GB"><value></Translation>
|
||||
</Text>
|
||||
<Text Id="DriverViewField_Title" Alignment="Center" TypographyId="Chinat_Small">
|
||||
<Translation Language="GB"><value></Translation>
|
||||
</Text>
|
||||
<Text Id="Field_BBal" Alignment="Center" TypographyId="Chinat_Small">
|
||||
<Translation Language="GB">BBAL</Translation>
|
||||
</Text>
|
||||
|
@ -68,7 +74,10 @@
|
|||
<Text Id="NumberWildcard" Alignment="Center" TypographyId="Numbers">
|
||||
<Translation Language="GB"><value></Translation>
|
||||
</Text>
|
||||
<Text Id="DefaultWildcard" Alignment="Center" TypographyId="Default">
|
||||
<Text Id="DefaultWildcard_Centered" Alignment="Center" TypographyId="Default">
|
||||
<Translation Language="GB"><value></Translation>
|
||||
</Text>
|
||||
<Text Id="DefaultWildcard_RightAligned" Alignment="Right" TypographyId="Default">
|
||||
<Translation Language="GB"><value></Translation>
|
||||
</Text>
|
||||
<Text Id="Field_TSCurrent" Alignment="Center" TypographyId="Chinat_Small">
|
||||
|
@ -128,12 +137,6 @@
|
|||
</Text>
|
||||
</TextGroup>
|
||||
<TextGroup Id="Unsorted">
|
||||
<Text Id="__SingleUse_PNKR" Alignment="Center" TypographyId="Chinat_Small">
|
||||
<Translation Language="GB">????</Translation>
|
||||
</Text>
|
||||
<Text Id="__SingleUse_0FBJ" Alignment="Center" TypographyId="Chinat_Small">
|
||||
<Translation Language="GB">FIELD</Translation>
|
||||
</Text>
|
||||
<Text Id="__SingleUse_4OBM" Alignment="Center" TypographyId="Chinat_Small">
|
||||
<Translation Language="GB">LV</Translation>
|
||||
</Text>
|
||||
|
@ -160,7 +163,7 @@
|
|||
<Typographies>
|
||||
<Typography Id="Default" Font="verdana.ttf" Size="20" Bpp="4" Direction="LTR" FallbackCharacter="?" WildcardCharacters="! "" WildcardCharacterRanges="#-~" />
|
||||
<Typography Id="Chinat_Large" Font="CHINN___.ttf" Size="30" Bpp="4" Direction="LTR" FallbackCharacter="?" />
|
||||
<Typography Id="Chinat_Small" Font="CHINN___.ttf" Size="20" Bpp="4" Direction="LTR" FallbackCharacter="?" />
|
||||
<Typography Id="Chinat_Small" Font="CHINN___.ttf" Size="20" Bpp="4" Direction="LTR" FallbackCharacter="?" WildcardCharacters="_ ." WildcardCharacterRanges="0-9,a-z,A-Z" />
|
||||
<Typography Id="Chinat_Huge" Font="CHINN___.ttf" Size="40" Bpp="4" Direction="LTR" FallbackCharacter="?" />
|
||||
<Typography Id="Numbers" Font="lucon.TTF" Size="50" Bpp="4" Direction="LTR" FallbackCharacter="?" WildcardCharacters=". ," WildcardCharacterRanges="0-9" />
|
||||
</Typographies>
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
32
|
||||
46
|
||||
48
|
||||
49
|
||||
50
|
||||
51
|
||||
52
|
||||
53
|
||||
54
|
||||
55
|
||||
56
|
||||
57
|
||||
63
|
||||
65
|
||||
66
|
||||
|
@ -10,30 +20,47 @@
|
|||
71
|
||||
72
|
||||
73
|
||||
74
|
||||
75
|
||||
76
|
||||
77
|
||||
78
|
||||
79
|
||||
80
|
||||
81
|
||||
82
|
||||
83
|
||||
84
|
||||
85
|
||||
86
|
||||
87
|
||||
88
|
||||
89
|
||||
90
|
||||
95
|
||||
97
|
||||
98
|
||||
99
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
104
|
||||
105
|
||||
106
|
||||
107
|
||||
108
|
||||
109
|
||||
110
|
||||
111
|
||||
112
|
||||
113
|
||||
114
|
||||
115
|
||||
116
|
||||
117
|
||||
118
|
||||
118
|
||||
119
|
||||
120
|
||||
121
|
||||
122
|
|
@ -1,6 +1,16 @@
|
|||
AH:0 BA:1 FC:63 EC:0 FF:0 CF:1
|
||||
32
|
||||
46
|
||||
48
|
||||
49
|
||||
50
|
||||
51
|
||||
52
|
||||
53
|
||||
54
|
||||
55
|
||||
56
|
||||
57
|
||||
63
|
||||
65
|
||||
66
|
||||
|
@ -11,30 +21,47 @@ AH:0 BA:1 FC:63 EC:0 FF:0 CF:1
|
|||
71
|
||||
72
|
||||
73
|
||||
74
|
||||
75
|
||||
76
|
||||
77
|
||||
78
|
||||
79
|
||||
80
|
||||
81
|
||||
82
|
||||
83
|
||||
84
|
||||
85
|
||||
86
|
||||
87
|
||||
88
|
||||
89
|
||||
90
|
||||
95
|
||||
97
|
||||
98
|
||||
99
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
104
|
||||
105
|
||||
106
|
||||
107
|
||||
108
|
||||
109
|
||||
110
|
||||
111
|
||||
112
|
||||
113
|
||||
114
|
||||
115
|
||||
116
|
||||
117
|
||||
118
|
||||
119
|
||||
120
|
||||
121
|
||||
122
|
||||
|
|
|
@ -4,6 +4,24 @@ 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: [0x002E, period]
|
||||
0xD6, 0xDD, 0x07, 0xF7, 0xFF, 0x08, 0xF7, 0xFF, 0x08, 0xF7, 0xFF, 0x08,
|
||||
// Unicode: [0x0030, zero]
|
||||
0x00, 0xB4, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x3A, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xEF, 0x04, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0xF6, 0xFF,
|
||||
0x33, 0x33, 0x33, 0x33, 0x33, 0x53, 0xFF, 0x2F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
|
||||
0xFF, 0x3F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xFF, 0x4F, 0xF7, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x30, 0xFF, 0x4F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xFF, 0x4F,
|
||||
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xFF, 0x3F, 0xF5, 0xFF, 0x55, 0x55, 0x55, 0x55,
|
||||
0x55, 0x75, 0xFF, 0x2F, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0x50, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0xA3, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF,
|
||||
0x3B, 0x00,
|
||||
// Unicode: [0x0031, one]
|
||||
0x00, 0x40, 0xFB, 0x8D, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0x09, 0x70, 0xFF, 0xFF, 0xFF, 0x1F, 0xC1,
|
||||
0xFF, 0xAF, 0xFF, 0x3F, 0x10, 0xFC, 0x36, 0xFF, 0x4F, 0x00, 0x51, 0x30, 0xFF, 0x4F, 0x00, 0x00,
|
||||
0x30, 0xFF, 0x4F, 0x00, 0x00, 0x30, 0xFF, 0x4F, 0x00, 0x00, 0x30, 0xFF, 0x4F, 0x00, 0x00, 0x30,
|
||||
0xFF, 0x4F, 0x00, 0x00, 0x30, 0xFF, 0x4F, 0x00, 0x00, 0x30, 0xFF, 0x4F, 0x00, 0x00, 0x30, 0xFF,
|
||||
0x4F,
|
||||
// Unicode: [0x0032, two]
|
||||
0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x01, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x0B, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x32, 0x33,
|
||||
|
@ -14,6 +32,76 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
0x33, 0x33, 0x33, 0x03, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xF6, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0x0F,
|
||||
// Unicode: [0x0033, three]
|
||||
0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x3A, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x05, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0E, 0x32, 0x33,
|
||||
0x33, 0x33, 0x33, 0x33, 0x33, 0x63, 0xFF, 0x3F, 0x53, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x75,
|
||||
0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0xF8, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xFF, 0x4F, 0x42, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x74, 0xFF, 0x3F, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0xF7, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF,
|
||||
0x3B, 0x00,
|
||||
// Unicode: [0x0034, four]
|
||||
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xCF, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xFB, 0xCF, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xCF, 0x00, 0xF7, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xCF, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB,
|
||||
0xCF, 0x00, 0xF6, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xCF, 0x00, 0xF2, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F,
|
||||
0x00, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x32, 0x44, 0x44, 0x44,
|
||||
0x44, 0xFC, 0xCF, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xCF, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB,
|
||||
0xCF, 0x00,
|
||||
// Unicode: [0x0035, five]
|
||||
0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x07, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xF7, 0xFF,
|
||||
0x34, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x01, 0xF7, 0xFF, 0x77, 0x77, 0x77, 0x77, 0x77, 0x67,
|
||||
0x02, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x00, 0xF7, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFF, 0x3F, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22,
|
||||
0x22, 0x52, 0xFF, 0x3F, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0xF7, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x03, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE,
|
||||
0x17, 0x00,
|
||||
// Unicode: [0x0036, six]
|
||||
0x00, 0xB4, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x09, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x09, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x09, 0xF6, 0xEF,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x02, 0xF7, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0xF8, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1E,
|
||||
0xF7, 0xFF, 0x66, 0x66, 0x66, 0x66, 0x66, 0x86, 0xFF, 0x4F, 0xF6, 0xEF, 0x33, 0x33, 0x33, 0x33,
|
||||
0x33, 0x53, 0xFF, 0x4F, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1E, 0x70, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF,
|
||||
0x3B, 0x00,
|
||||
// Unicode: [0x0037, seven]
|
||||
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, 0x2F, 0x31, 0x33,
|
||||
0x33, 0x33, 0x33, 0x33, 0x33, 0xB4, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xFD,
|
||||
0xFF, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xF9, 0xFF, 0xEF, 0x05, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xD4, 0xFF, 0xFF, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xFF, 0xFF, 0x7E, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x40, 0xFD, 0xFF, 0xBF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFA, 0xFF, 0xEF,
|
||||
0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE5, 0xFF, 0xFF, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1,
|
||||
0xFF, 0xFF, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFE, 0xFF, 0xAF, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
// Unicode: [0x0038, eight]
|
||||
0x00, 0xB4, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x4B, 0x00, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x06, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1E, 0xF6, 0xFF,
|
||||
0x34, 0x33, 0x33, 0x33, 0x33, 0x73, 0xFF, 0x3F, 0xF5, 0xFF, 0x78, 0x77, 0x77, 0x77, 0x77, 0xA7,
|
||||
0xFF, 0x1F, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0B, 0xB0, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1E,
|
||||
0xF6, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFF, 0x3F, 0xF6, 0xFF, 0x46, 0x44, 0x44, 0x44,
|
||||
0x44, 0x84, 0xFF, 0x3F, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0x50, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x04, 0x00, 0x92, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF,
|
||||
0x29, 0x00,
|
||||
// Unicode: [0x0039, nine]
|
||||
0x00, 0xC4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x3B, 0x00, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x04, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0xF6, 0xFF,
|
||||
0x33, 0x33, 0x33, 0x33, 0x33, 0x53, 0xFF, 0x3F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
|
||||
0xFF, 0x4F, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4F, 0xC0, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4F, 0x20, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4F,
|
||||
0x00, 0x40, 0x66, 0x66, 0x66, 0x66, 0x66, 0x86, 0xFF, 0x4F, 0x20, 0x33, 0x33, 0x33, 0x33, 0x33,
|
||||
0x33, 0x53, 0xFF, 0x3F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0E, 0xC0, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF,
|
||||
0x3A, 0x00,
|
||||
// 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,
|
||||
|
@ -107,6 +195,26 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
// 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: [0x004A, J]
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF,
|
||||
0x82, 0x88, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0xF2, 0xFF, 0x49, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0xFC, 0xBF, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x20, 0xFE,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1D, 0x00, 0xA2, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x9E, 0x01,
|
||||
// Unicode: [0x004B, 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: [0x004C, L]
|
||||
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,
|
||||
|
@ -157,6 +265,16 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
0x03, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
// Unicode: [0x0051, Q]
|
||||
0x00, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x3A, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0E,
|
||||
0x00, 0xF6, 0xFF, 0x44, 0x44, 0x44, 0x44, 0x44, 0x64, 0xFF, 0x3F, 0x00, 0xF7, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x40, 0xFF, 0x4F, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFF,
|
||||
0x4F, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFF, 0x4F, 0x00, 0xF7, 0xFF, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0xFF, 0x4F, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
|
||||
0xFF, 0x4F, 0x00, 0xF6, 0xFF, 0x44, 0x44, 0x44, 0x44, 0x44, 0x64, 0xFF, 0x6F, 0x02, 0xF3, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0xC5, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A,
|
||||
// Unicode: [0x0052, R]
|
||||
0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x06, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xF7, 0xFF,
|
||||
|
@ -187,6 +305,16 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
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: [0x0055, 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: [0x0056, 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,
|
||||
|
@ -197,6 +325,16 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
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,
|
||||
// Unicode: [0x0057, W]
|
||||
0xFE, 0x8F, 0x00, 0x80, 0xED, 0x5C, 0x00, 0xD0, 0xFF, 0x0A, 0xFC, 0xBF, 0x00, 0xF9, 0xFF, 0xFF,
|
||||
0x05, 0xF0, 0xFF, 0x08, 0xFA, 0xDF, 0x20, 0xFF, 0xFF, 0xFF, 0x0C, 0xF2, 0xFF, 0x06, 0xF8, 0xFF,
|
||||
0x50, 0xFF, 0xEF, 0xFF, 0x1F, 0xF4, 0xFF, 0x04, 0xF6, 0xFF, 0x82, 0xFF, 0x8F, 0xFF, 0x4F, 0xF6,
|
||||
0xFF, 0x01, 0xF4, 0xFF, 0xB4, 0xFF, 0x3E, 0xFF, 0x6F, 0xF8, 0xEF, 0x00, 0xF2, 0xFF, 0xD6, 0xFF,
|
||||
0x0B, 0xFF, 0x9F, 0xFA, 0xCF, 0x00, 0xF0, 0xFF, 0xF9, 0xFF, 0x08, 0xFC, 0xCF, 0xFC, 0xAF, 0x00,
|
||||
0xD0, 0xFF, 0xFD, 0xFF, 0x05, 0xF9, 0xEF, 0xFE, 0x8F, 0x00, 0xA0, 0xFF, 0xFF, 0xFF, 0x02, 0xF5,
|
||||
0xFF, 0xFF, 0x6F, 0x00, 0x60, 0xFF, 0xFF, 0xCF, 0x00, 0xF1, 0xFF, 0xFF, 0x2F, 0x00, 0x10, 0xFD,
|
||||
0xFF, 0x5F, 0x00, 0x80, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0xB2, 0xDF, 0x06, 0x00, 0x00, 0xE8, 0x9E,
|
||||
0x01, 0x00,
|
||||
// Unicode: [0x0058, X]
|
||||
0xFA, 0xFF, 0x1C, 0x00, 0x00, 0x00, 0x30, 0xFE, 0xFF, 0x06, 0xB0, 0xFF, 0xBF, 0x00, 0x00, 0x00,
|
||||
0xE2, 0xFF, 0x6F, 0x00, 0x00, 0xFB, 0xFF, 0x09, 0x00, 0x10, 0xFD, 0xFF, 0x07, 0x00, 0x00, 0xC1,
|
||||
|
@ -217,6 +355,18 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
// Unicode: [0x005A, Z]
|
||||
0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8D, 0x00, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0B, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x3F, 0x41, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x96, 0xFC, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x84, 0xEB, 0xFF, 0xFF, 0xFF, 0x2F, 0x00, 0x00, 0x41, 0xA7, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0x08, 0x10, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x4A, 0x00, 0xD1, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xCF, 0x59, 0x02, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xBE, 0x47, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0xFB, 0xFF, 0xDF, 0x69, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x03, 0xF8, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0B, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x0B, 0x10, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0B,
|
||||
// Unicode: [0x005F, underscore]
|
||||
0x55, 0x55, 0x55, 0x55, 0x55, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
// 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,
|
||||
|
@ -227,6 +377,16 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
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: [0x0062, 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: [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,
|
||||
|
@ -257,6 +417,16 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
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: [0x0066, f]
|
||||
0x00, 0xA4, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x1F, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xF6, 0xFF,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x04, 0xF7, 0xFF, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x04, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xF7, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
|
||||
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,
|
||||
// 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,
|
||||
|
@ -267,9 +437,29 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
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: [0x0068, h]
|
||||
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0xFB, 0xDF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xF7, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF,
|
||||
0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xF9, 0xDF,
|
||||
// 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: [0x006A, j]
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF,
|
||||
0x82, 0x88, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0xF2, 0xFF, 0x49, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0xFC, 0xBF, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x20, 0xFE,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1D, 0x00, 0xA2, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x9E, 0x01,
|
||||
// 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,
|
||||
|
@ -288,6 +478,16 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
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: [0x006D, m]
|
||||
0x10, 0xE9, 0xAE, 0x01, 0x00, 0x00, 0x40, 0xEB, 0x7D, 0x00, 0xC0, 0xFF, 0xFF, 0x1D, 0x00, 0x00,
|
||||
0xF3, 0xFF, 0xFF, 0x07, 0xF4, 0xFF, 0xFF, 0x6F, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0x0E, 0xF7, 0xFF,
|
||||
0xFF, 0xCF, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x2F, 0xF7, 0xFF, 0xFC, 0xFF, 0x02, 0x70, 0xFF, 0xBF,
|
||||
0xFF, 0x2F, 0xF7, 0xFF, 0xF6, 0xFF, 0x07, 0xC0, 0xFF, 0x6F, 0xFF, 0x2F, 0xF7, 0xFF, 0xE1, 0xFF,
|
||||
0x0C, 0xF2, 0xFF, 0x5A, 0xFF, 0x2F, 0xF7, 0xFF, 0xA0, 0xFF, 0x2F, 0xF7, 0xFF, 0x55, 0xFF, 0x2F,
|
||||
0xF7, 0xFF, 0x40, 0xFF, 0x6F, 0xFC, 0xEF, 0x50, 0xFF, 0x2F, 0xF7, 0xFF, 0x00, 0xFD, 0xDF, 0xFF,
|
||||
0x9F, 0x50, 0xFF, 0x2F, 0xF7, 0xFF, 0x00, 0xF7, 0xFF, 0xFF, 0x3F, 0x50, 0xFF, 0x2F, 0xF7, 0xFF,
|
||||
0x00, 0xC1, 0xFF, 0xFF, 0x09, 0x50, 0xFF, 0x2F, 0xF7, 0xFF, 0x00, 0x10, 0xEA, 0x8E, 0x00, 0x50,
|
||||
0xFF, 0x2F,
|
||||
// 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,
|
||||
|
@ -318,6 +518,16 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
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: [0x0071, q]
|
||||
0x00, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x3A, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0E,
|
||||
0x00, 0xF6, 0xFF, 0x44, 0x44, 0x44, 0x44, 0x44, 0x64, 0xFF, 0x3F, 0x00, 0xF7, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x40, 0xFF, 0x4F, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFF,
|
||||
0x4F, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFF, 0x4F, 0x00, 0xF7, 0xFF, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0xFF, 0x4F, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
|
||||
0xFF, 0x4F, 0x00, 0xF6, 0xFF, 0x44, 0x44, 0x44, 0x44, 0x44, 0x64, 0xFF, 0x6F, 0x02, 0xF3, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0xC5, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A,
|
||||
// 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,
|
||||
|
@ -367,5 +577,45 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
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
|
||||
0x00, 0x00,
|
||||
// Unicode: [0x0077, w]
|
||||
0xFE, 0xAF, 0x00, 0x00, 0x91, 0xEE, 0x1A, 0x00, 0x00, 0xF9, 0xCF, 0xFB, 0xDF, 0x00, 0x00, 0xFC,
|
||||
0xFF, 0xDF, 0x00, 0x00, 0xFC, 0x9F, 0xF8, 0xFF, 0x01, 0x40, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0xFF,
|
||||
0x6F, 0xF5, 0xFF, 0x04, 0xA0, 0xFF, 0xEF, 0xFF, 0x0A, 0x30, 0xFF, 0x3F, 0xF2, 0xFF, 0x07, 0xE0,
|
||||
0xFF, 0x9B, 0xFF, 0x1E, 0x60, 0xFF, 0x1F, 0xE0, 0xFF, 0x0A, 0xF4, 0xFF, 0x56, 0xFF, 0x5F, 0x90,
|
||||
0xFF, 0x0C, 0xB0, 0xFF, 0x0C, 0xF9, 0xFF, 0x11, 0xFF, 0xAF, 0xD0, 0xFF, 0x09, 0x80, 0xFF, 0x1F,
|
||||
0xFE, 0xBF, 0x00, 0xFB, 0xEF, 0xF1, 0xFF, 0x06, 0x50, 0xFF, 0x7F, 0xFF, 0x7F, 0x00, 0xF6, 0xFF,
|
||||
0xF8, 0xFF, 0x03, 0x20, 0xFF, 0xEF, 0xFF, 0x2F, 0x00, 0xF2, 0xFF, 0xFE, 0xFF, 0x01, 0x00, 0xFD,
|
||||
0xFF, 0xFF, 0x0C, 0x00, 0xC0, 0xFF, 0xFF, 0xBF, 0x00, 0x00, 0xF5, 0xFF, 0xFF, 0x04, 0x00, 0x40,
|
||||
0xFF, 0xFF, 0x4F, 0x00, 0x00, 0x60, 0xED, 0x5C, 0x00, 0x00, 0x00, 0xC5, 0xCE, 0x05, 0x00,
|
||||
// Unicode: [0x0078, x]
|
||||
0xFA, 0xFF, 0x1C, 0x00, 0x00, 0x00, 0x30, 0xFE, 0xFF, 0x06, 0xB0, 0xFF, 0xBF, 0x00, 0x00, 0x00,
|
||||
0xE2, 0xFF, 0x6F, 0x00, 0x00, 0xFB, 0xFF, 0x09, 0x00, 0x10, 0xFD, 0xFF, 0x07, 0x00, 0x00, 0xC1,
|
||||
0xFF, 0x8F, 0x00, 0xC1, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x10, 0xFD, 0xFF, 0x06, 0xFA, 0xFF, 0x09,
|
||||
0x00, 0x00, 0x00, 0x00, 0xD2, 0xFF, 0x9F, 0xFF, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xFF,
|
||||
0xFF, 0xFF, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0xFF, 0x9F, 0xFF, 0xAF, 0x00, 0x00, 0x00,
|
||||
0x00, 0x10, 0xFC, 0xFF, 0x07, 0xFB, 0xFF, 0x09, 0x00, 0x00, 0x00, 0xB0, 0xFF, 0x9F, 0x00, 0xD1,
|
||||
0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0x0B, 0x00, 0x20, 0xFE, 0xFF, 0x05, 0x00, 0x80, 0xFF,
|
||||
0xDF, 0x01, 0x00, 0x00, 0xF4, 0xFF, 0x4F, 0x00, 0xF6, 0xFF, 0x2E, 0x00, 0x00, 0x00, 0x50, 0xFF,
|
||||
0xEF, 0x03,
|
||||
// Unicode: [0x0079, y]
|
||||
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, 0xF6, 0xFF, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0xFA, 0xEF, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x70, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x00, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xEF, 0x42, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0xFA, 0xDF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xF7, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1D, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x8D, 0x01,
|
||||
// Unicode: [0x007A, z]
|
||||
0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8D, 0x00, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0B, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x3F, 0x41, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x96, 0xFC, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x84, 0xEB, 0xFF, 0xFF, 0xFF, 0x2F, 0x00, 0x00, 0x41, 0xA7, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0x08, 0x10, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x4A, 0x00, 0xD1, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xCF, 0x59, 0x02, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xBE, 0x47, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0xFB, 0xFF, 0xDF, 0x69, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x03, 0xF8, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0B, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x0B, 0x10, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0B
|
||||
};
|
||||
|
|
|
@ -5,44 +5,71 @@
|
|||
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, 0x0032, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // two
|
||||
{ 130, 0x003F, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // question
|
||||
{ 260, 0x0041, 20, 13, 13, -1, 18, 0, 0, 0x00 }, // A
|
||||
{ 390, 0x0042, 20, 13, 13, 0, 21, 0, 0, 0x00 }, // B
|
||||
{ 520, 0x0043, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // C
|
||||
{ 650, 0x0044, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // D
|
||||
{ 780, 0x0045, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // E
|
||||
{ 910, 0x0046, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // F
|
||||
{ 1040, 0x0047, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // G
|
||||
{ 1170, 0x0048, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // H
|
||||
{ 1300, 0x0049, 4, 13, 13, 0, 5, 0, 0, 0x00 }, // I
|
||||
{ 1326, 0x004C, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // L
|
||||
{ 1456, 0x004D, 21, 13, 13, 0, 21, 0, 0, 0x00 }, // M
|
||||
{ 1599, 0x004E, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // N
|
||||
{ 1729, 0x004F, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // O
|
||||
{ 1859, 0x0050, 21, 13, 13, 0, 20, 0, 0, 0x00 }, // P
|
||||
{ 2002, 0x0052, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // R
|
||||
{ 2132, 0x0053, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // S
|
||||
{ 2275, 0x0054, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // T
|
||||
{ 2405, 0x0056, 20, 13, 13, -1, 18, 0, 0, 0x00 }, // V
|
||||
{ 2535, 0x0058, 19, 13, 13, 0, 19, 0, 0, 0x00 }, // X
|
||||
{ 2665, 0x0059, 19, 13, 13, -1, 18, 0, 0, 0x00 }, // Y
|
||||
{ 2795, 0x0061, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // a
|
||||
{ 2925, 0x0063, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // c
|
||||
{ 3055, 0x0064, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // d
|
||||
{ 3185, 0x0065, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // e
|
||||
{ 3315, 0x0067, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // g
|
||||
{ 3445, 0x0069, 4, 13, 13, 0, 5, 0, 0, 0x00 }, // i
|
||||
{ 3471, 0x006B, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // k
|
||||
{ 3601, 0x006C, 15, 13, 13, 0, 14, 0, 0, 0x00 }, // l
|
||||
{ 3705, 0x006E, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // n
|
||||
{ 3835, 0x006F, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // o
|
||||
{ 3965, 0x0070, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // p
|
||||
{ 4095, 0x0072, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // r
|
||||
{ 4225, 0x0073, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // s
|
||||
{ 4368, 0x0074, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // t
|
||||
{ 4498, 0x0075, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // u
|
||||
{ 4628, 0x0076, 20, 13, 13, -1, 18, 0, 0, 0x00 } // v
|
||||
{ 0, 0x002E, 5, 4, 4, 0, 5, 0, 0, 0x00 }, // period
|
||||
{ 12, 0x0030, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // zero
|
||||
{ 142, 0x0031, 10, 13, 13, 3, 20, 0, 0, 0x00 }, // one
|
||||
{ 207, 0x0032, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // two
|
||||
{ 337, 0x0033, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // three
|
||||
{ 467, 0x0034, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // four
|
||||
{ 597, 0x0035, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // five
|
||||
{ 727, 0x0036, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // six
|
||||
{ 857, 0x0037, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // seven
|
||||
{ 987, 0x0038, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // eight
|
||||
{ 1117, 0x0039, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // nine
|
||||
{ 1247, 0x003F, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // question
|
||||
{ 1377, 0x0041, 20, 13, 13, -1, 18, 0, 0, 0x00 }, // A
|
||||
{ 1507, 0x0042, 20, 13, 13, 0, 21, 0, 0, 0x00 }, // B
|
||||
{ 1637, 0x0043, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // C
|
||||
{ 1767, 0x0044, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // D
|
||||
{ 1897, 0x0045, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // E
|
||||
{ 2027, 0x0046, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // F
|
||||
{ 2157, 0x0047, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // G
|
||||
{ 2287, 0x0048, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // H
|
||||
{ 2417, 0x0049, 4, 13, 13, 0, 5, 0, 0, 0x00 }, // I
|
||||
{ 2443, 0x004A, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // J
|
||||
{ 2573, 0x004B, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // K
|
||||
{ 2703, 0x004C, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // L
|
||||
{ 2833, 0x004D, 21, 13, 13, 0, 21, 0, 0, 0x00 }, // M
|
||||
{ 2976, 0x004E, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // N
|
||||
{ 3106, 0x004F, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // O
|
||||
{ 3236, 0x0050, 21, 13, 13, 0, 20, 0, 0, 0x00 }, // P
|
||||
{ 3379, 0x0051, 21, 13, 13, 0, 20, 0, 0, 0x00 }, // Q
|
||||
{ 3522, 0x0052, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // R
|
||||
{ 3652, 0x0053, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // S
|
||||
{ 3795, 0x0054, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // T
|
||||
{ 3925, 0x0055, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // U
|
||||
{ 4055, 0x0056, 20, 13, 13, -1, 18, 0, 0, 0x00 }, // V
|
||||
{ 4185, 0x0057, 19, 13, 13, 0, 19, 0, 0, 0x00 }, // W
|
||||
{ 4315, 0x0058, 19, 13, 13, 0, 19, 0, 0, 0x00 }, // X
|
||||
{ 4445, 0x0059, 19, 13, 13, -1, 18, 0, 0, 0x00 }, // Y
|
||||
{ 4575, 0x005A, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // Z
|
||||
{ 4718, 0x005F, 10, 3, 255, 0, 10, 0, 0, 0x60 }, // underscore
|
||||
{ 4733, 0x0061, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // a
|
||||
{ 4863, 0x0062, 20, 13, 13, 0, 21, 0, 0, 0x00 }, // b
|
||||
{ 4993, 0x0063, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // c
|
||||
{ 5123, 0x0064, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // d
|
||||
{ 5253, 0x0065, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // e
|
||||
{ 5383, 0x0066, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // f
|
||||
{ 5513, 0x0067, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // g
|
||||
{ 5643, 0x0068, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // h
|
||||
{ 5773, 0x0069, 4, 13, 13, 0, 5, 0, 0, 0x00 }, // i
|
||||
{ 5799, 0x006A, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // j
|
||||
{ 5929, 0x006B, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // k
|
||||
{ 6059, 0x006C, 15, 13, 13, 0, 14, 0, 0, 0x00 }, // l
|
||||
{ 6163, 0x006D, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // m
|
||||
{ 6293, 0x006E, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // n
|
||||
{ 6423, 0x006F, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // o
|
||||
{ 6553, 0x0070, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // p
|
||||
{ 6683, 0x0071, 21, 13, 13, 0, 20, 0, 0, 0x00 }, // q
|
||||
{ 6826, 0x0072, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // r
|
||||
{ 6956, 0x0073, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // s
|
||||
{ 7099, 0x0074, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // t
|
||||
{ 7229, 0x0075, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // u
|
||||
{ 7359, 0x0076, 20, 13, 13, -1, 18, 0, 0, 0x00 }, // v
|
||||
{ 7489, 0x0077, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // w
|
||||
{ 7632, 0x0078, 19, 13, 13, 0, 19, 0, 0, 0x00 }, // x
|
||||
{ 7762, 0x0079, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // y
|
||||
{ 7892, 0x007A, 22, 13, 13, 0, 22, 0, 0, 0x00 } // z
|
||||
};
|
||||
|
||||
// CHINN____20_4bpp
|
||||
|
@ -60,6 +87,6 @@ touchgfx::GeneratedFont& getFont_CHINN____20_4bpp();
|
|||
|
||||
touchgfx::GeneratedFont& getFont_CHINN____20_4bpp()
|
||||
{
|
||||
static touchgfx::GeneratedFont CHINN____20_4bpp(glyphs_CHINN____20_4bpp, 39, 20, 20, 0, 0, 4, 1, 1, 1, unicodes_CHINN____20_4bpp, kerning_CHINN____20_4bpp, 63, 0, 0, 0);
|
||||
static touchgfx::GeneratedFont CHINN____20_4bpp(glyphs_CHINN____20_4bpp, 66, 24, 20, 0, 0, 4, 1, 1, 1, unicodes_CHINN____20_4bpp, kerning_CHINN____20_4bpp, 63, 0, 0, 0);
|
||||
return CHINN____20_4bpp;
|
||||
}
|
||||
|
|
|
@ -17,25 +17,37 @@ public:
|
|||
|
||||
virtual void changeToStartScreen()
|
||||
{
|
||||
gotoDriverViewScreenNoTransition();
|
||||
gotoMissionSelectScreenNoTransition();
|
||||
}
|
||||
|
||||
// MissionSelect
|
||||
void gotoMissionSelectScreenNoTransition();
|
||||
|
||||
// AMI
|
||||
void gotoAMIScreenNoTransition();
|
||||
|
||||
// DriverView
|
||||
void gotoDriverViewScreenNoTransition();
|
||||
|
||||
// DebugView
|
||||
void gotoDebugViewScreenNoTransition();
|
||||
|
||||
protected:
|
||||
touchgfx::Callback<FrontendApplicationBase> transitionCallback;
|
||||
FrontendHeap& frontendHeap;
|
||||
Model& model;
|
||||
|
||||
// MissionSelect
|
||||
void gotoMissionSelectScreenNoTransitionImpl();
|
||||
|
||||
// AMI
|
||||
void gotoAMIScreenNoTransitionImpl();
|
||||
|
||||
// DriverView
|
||||
void gotoDriverViewScreenNoTransitionImpl();
|
||||
|
||||
// DebugView
|
||||
void gotoDebugViewScreenNoTransitionImpl();
|
||||
};
|
||||
|
||||
#endif // FRONTENDAPPLICATIONBASE_HPP
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
#include <gui/ami_screen/AMIPresenter.hpp>
|
||||
#include <gui/driverview_screen/DriverViewView.hpp>
|
||||
#include <gui/driverview_screen/DriverViewPresenter.hpp>
|
||||
#include <gui/debugview_screen/DebugViewView.hpp>
|
||||
#include <gui/debugview_screen/DebugViewPresenter.hpp>
|
||||
|
||||
|
||||
/**
|
||||
|
@ -43,7 +45,8 @@ public:
|
|||
typedef touchgfx::meta::TypeList< MissionSelectView,
|
||||
touchgfx::meta::TypeList< AMIView,
|
||||
touchgfx::meta::TypeList< DriverViewView,
|
||||
touchgfx::meta::Nil > >
|
||||
touchgfx::meta::TypeList< DebugViewView,
|
||||
touchgfx::meta::Nil > > >
|
||||
> GeneratedViewTypes;
|
||||
|
||||
/**
|
||||
|
@ -58,7 +61,8 @@ public:
|
|||
typedef touchgfx::meta::TypeList< MissionSelectPresenter,
|
||||
touchgfx::meta::TypeList< AMIPresenter,
|
||||
touchgfx::meta::TypeList< DriverViewPresenter,
|
||||
touchgfx::meta::Nil > >
|
||||
touchgfx::meta::TypeList< DebugViewPresenter,
|
||||
touchgfx::meta::Nil > > >
|
||||
> GeneratedPresenterTypes;
|
||||
|
||||
/**
|
||||
|
@ -81,7 +85,7 @@ public:
|
|||
|
||||
virtual void gotoStartScreen(FrontendApplication& app)
|
||||
{
|
||||
app.gotoDriverViewScreenNoTransition();
|
||||
app.gotoMissionSelectScreenNoTransition();
|
||||
}
|
||||
protected:
|
||||
FrontendHeapBase(touchgfx::AbstractPartition& presenters, touchgfx::AbstractPartition& views, touchgfx::AbstractPartition& transitions, FrontendApplication& app)
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
/*********************************************************************************/
|
||||
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
|
||||
/*********************************************************************************/
|
||||
#ifndef DEBUGVIEWITEMBASE_HPP
|
||||
#define DEBUGVIEWITEMBASE_HPP
|
||||
|
||||
#include <gui/common/FrontendApplication.hpp>
|
||||
#include <touchgfx/containers/Container.hpp>
|
||||
#include <touchgfx/widgets/TextAreaWithWildcard.hpp>
|
||||
|
||||
class DebugViewItemBase : public touchgfx::Container
|
||||
{
|
||||
public:
|
||||
DebugViewItemBase();
|
||||
virtual ~DebugViewItemBase();
|
||||
virtual void initialize();
|
||||
|
||||
protected:
|
||||
FrontendApplication& application() {
|
||||
return *static_cast<FrontendApplication*>(touchgfx::Application::getInstance());
|
||||
}
|
||||
|
||||
/*
|
||||
* Member Declarations
|
||||
*/
|
||||
touchgfx::TextAreaWithOneWildcard label;
|
||||
touchgfx::TextAreaWithOneWildcard value;
|
||||
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
#endif // DEBUGVIEWITEMBASE_HPP
|
|
@ -0,0 +1,41 @@
|
|||
/*********************************************************************************/
|
||||
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
|
||||
/*********************************************************************************/
|
||||
#ifndef DEBUGVIEWLINEBASE_HPP
|
||||
#define DEBUGVIEWLINEBASE_HPP
|
||||
|
||||
#include <gui/common/FrontendApplication.hpp>
|
||||
#include <touchgfx/containers/Container.hpp>
|
||||
#include <touchgfx/widgets/Box.hpp>
|
||||
#include <touchgfx/widgets/canvas/Line.hpp>
|
||||
#include <touchgfx/widgets/canvas/PainterRGB565.hpp>
|
||||
#include <gui/containers/DebugViewItem.hpp>
|
||||
|
||||
class DebugViewLineBase : public touchgfx::Container
|
||||
{
|
||||
public:
|
||||
DebugViewLineBase();
|
||||
virtual ~DebugViewLineBase();
|
||||
virtual void initialize();
|
||||
|
||||
protected:
|
||||
FrontendApplication& application() {
|
||||
return *static_cast<FrontendApplication*>(touchgfx::Application::getInstance());
|
||||
}
|
||||
|
||||
/*
|
||||
* Member Declarations
|
||||
*/
|
||||
touchgfx::Box bg;
|
||||
touchgfx::Line line1;
|
||||
touchgfx::PainterRGB565 line1Painter;
|
||||
touchgfx::Line line2;
|
||||
touchgfx::PainterRGB565 line2Painter;
|
||||
DebugViewItem item1;
|
||||
DebugViewItem item2;
|
||||
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
#endif // DEBUGVIEWLINEBASE_HPP
|
|
@ -7,7 +7,6 @@
|
|||
#include <gui/common/FrontendApplication.hpp>
|
||||
#include <touchgfx/containers/Container.hpp>
|
||||
#include <touchgfx/widgets/BoxWithBorder.hpp>
|
||||
#include <touchgfx/widgets/TextArea.hpp>
|
||||
#include <touchgfx/widgets/TextAreaWithWildcard.hpp>
|
||||
|
||||
class DriverViewFieldBase : public touchgfx::Container
|
||||
|
@ -26,7 +25,7 @@ protected:
|
|||
* Member Declarations
|
||||
*/
|
||||
touchgfx::BoxWithBorder box;
|
||||
touchgfx::TextArea title;
|
||||
touchgfx::TextAreaWithOneWildcard title;
|
||||
touchgfx::TextAreaWithOneWildcard value;
|
||||
|
||||
private:
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#include <gui/common/FrontendApplication.hpp>
|
||||
#include <touchgfx/containers/Container.hpp>
|
||||
#include <touchgfx/widgets/Box.hpp>
|
||||
#include <touchgfx/widgets/TextArea.hpp>
|
||||
#include <touchgfx/widgets/TextAreaWithWildcard.hpp>
|
||||
#include <touchgfx/widgets/canvas/Line.hpp>
|
||||
#include <touchgfx/widgets/canvas/PainterRGB565.hpp>
|
||||
|
||||
|
@ -27,7 +27,7 @@ protected:
|
|||
* Member Declarations
|
||||
*/
|
||||
touchgfx::Box bg;
|
||||
touchgfx::TextArea name;
|
||||
touchgfx::TextAreaWithOneWildcard name;
|
||||
touchgfx::Line line1;
|
||||
touchgfx::PainterRGB565 line1Painter;
|
||||
touchgfx::Line line2;
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
/*********************************************************************************/
|
||||
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
|
||||
/*********************************************************************************/
|
||||
#ifndef DEBUGVIEWVIEWBASE_HPP
|
||||
#define DEBUGVIEWVIEWBASE_HPP
|
||||
|
||||
#include <gui/common/FrontendApplication.hpp>
|
||||
#include <mvp/View.hpp>
|
||||
#include <gui/debugview_screen/DebugViewPresenter.hpp>
|
||||
#include <touchgfx/widgets/Box.hpp>
|
||||
#include <touchgfx/containers/scrollers/ScrollList.hpp>
|
||||
#include <gui/containers/DebugViewLine.hpp>
|
||||
#include <touchgfx/widgets/canvas/Line.hpp>
|
||||
#include <touchgfx/widgets/canvas/PainterRGB565.hpp>
|
||||
|
||||
class DebugViewViewBase : public touchgfx::View<DebugViewPresenter>
|
||||
{
|
||||
public:
|
||||
DebugViewViewBase();
|
||||
virtual ~DebugViewViewBase();
|
||||
virtual void setupScreen();
|
||||
|
||||
virtual void listUpdateItem(DebugViewLine& item, int16_t itemIndex)
|
||||
{
|
||||
// Override and implement this function in DebugView
|
||||
}
|
||||
|
||||
protected:
|
||||
FrontendApplication& application() {
|
||||
return *static_cast<FrontendApplication*>(touchgfx::Application::getInstance());
|
||||
}
|
||||
|
||||
/*
|
||||
* Member Declarations
|
||||
*/
|
||||
touchgfx::Box __background;
|
||||
touchgfx::ScrollList list;
|
||||
touchgfx::DrawableListItems<DebugViewLine, 13> listListItems;
|
||||
touchgfx::Line line1;
|
||||
touchgfx::PainterRGB565 line1Painter;
|
||||
|
||||
private:
|
||||
|
||||
/*
|
||||
* Canvas Buffer Size
|
||||
*/
|
||||
static const uint32_t CANVAS_BUFFER_SIZE = 7200;
|
||||
uint8_t canvasBuffer[CANVAS_BUFFER_SIZE];
|
||||
|
||||
/*
|
||||
* Callback Declarations
|
||||
*/
|
||||
touchgfx::Callback<DebugViewViewBase, touchgfx::DrawableListItemsInterface*, int16_t, int16_t> updateItemCallback;
|
||||
|
||||
/*
|
||||
* Callback Handler Declarations
|
||||
*/
|
||||
void updateItemCallbackHandler(touchgfx::DrawableListItemsInterface* items, int16_t containerIndex, int16_t itemIndex);
|
||||
|
||||
};
|
||||
|
||||
#endif // DEBUGVIEWVIEWBASE_HPP
|
|
@ -15,6 +15,8 @@
|
|||
#include <gui/ami_screen/AMIPresenter.hpp>
|
||||
#include <gui/driverview_screen/DriverViewView.hpp>
|
||||
#include <gui/driverview_screen/DriverViewPresenter.hpp>
|
||||
#include <gui/debugview_screen/DebugViewView.hpp>
|
||||
#include <gui/debugview_screen/DebugViewPresenter.hpp>
|
||||
|
||||
using namespace touchgfx;
|
||||
|
||||
|
@ -33,6 +35,19 @@ FrontendApplicationBase::FrontendApplicationBase(Model& m, FrontendHeap& heap)
|
|||
* Screen Transition Declarations
|
||||
*/
|
||||
|
||||
// MissionSelect
|
||||
|
||||
void FrontendApplicationBase::gotoMissionSelectScreenNoTransition()
|
||||
{
|
||||
transitionCallback = touchgfx::Callback<FrontendApplicationBase>(this, &FrontendApplication::gotoMissionSelectScreenNoTransitionImpl);
|
||||
pendingScreenTransitionCallback = &transitionCallback;
|
||||
}
|
||||
|
||||
void FrontendApplicationBase::gotoMissionSelectScreenNoTransitionImpl()
|
||||
{
|
||||
touchgfx::makeTransition<MissionSelectView, MissionSelectPresenter, touchgfx::NoTransition, Model >(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model);
|
||||
}
|
||||
|
||||
// AMI
|
||||
|
||||
void FrontendApplicationBase::gotoAMIScreenNoTransition()
|
||||
|
@ -58,3 +73,16 @@ void FrontendApplicationBase::gotoDriverViewScreenNoTransitionImpl()
|
|||
{
|
||||
touchgfx::makeTransition<DriverViewView, DriverViewPresenter, touchgfx::NoTransition, Model >(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model);
|
||||
}
|
||||
|
||||
// DebugView
|
||||
|
||||
void FrontendApplicationBase::gotoDebugViewScreenNoTransition()
|
||||
{
|
||||
transitionCallback = touchgfx::Callback<FrontendApplicationBase>(this, &FrontendApplication::gotoDebugViewScreenNoTransitionImpl);
|
||||
pendingScreenTransitionCallback = &transitionCallback;
|
||||
}
|
||||
|
||||
void FrontendApplicationBase::gotoDebugViewScreenNoTransitionImpl()
|
||||
{
|
||||
touchgfx::makeTransition<DebugViewView, DebugViewPresenter, touchgfx::NoTransition, Model >(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
/*********************************************************************************/
|
||||
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
|
||||
/*********************************************************************************/
|
||||
#include <gui_generated/containers/DebugViewItemBase.hpp>
|
||||
#include <texts/TextKeysAndLanguages.hpp>
|
||||
#include <touchgfx/Color.hpp>
|
||||
|
||||
DebugViewItemBase::DebugViewItemBase()
|
||||
{
|
||||
setWidth(240);
|
||||
setHeight(26);
|
||||
label.setPosition(5, 0, 105, 25);
|
||||
label.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
label.setLinespacing(0);
|
||||
label.setTypedText(touchgfx::TypedText(T_DEBUGVIEWFIELD_TITLE));
|
||||
add(label);
|
||||
|
||||
value.setPosition(110, 0, 125, 25);
|
||||
value.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
value.setLinespacing(0);
|
||||
value.setTypedText(touchgfx::TypedText(T_DEFAULTWILDCARD_RIGHTALIGNED));
|
||||
add(value);
|
||||
}
|
||||
|
||||
DebugViewItemBase::~DebugViewItemBase()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void DebugViewItemBase::initialize()
|
||||
{
|
||||
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
/*********************************************************************************/
|
||||
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
|
||||
/*********************************************************************************/
|
||||
#include <gui_generated/containers/DebugViewLineBase.hpp>
|
||||
#include <touchgfx/Color.hpp>
|
||||
|
||||
DebugViewLineBase::DebugViewLineBase()
|
||||
{
|
||||
setWidth(480);
|
||||
setHeight(26);
|
||||
bg.setPosition(0, 0, 480, 26);
|
||||
bg.setColor(touchgfx::Color::getColorFromRGB(0, 0, 0));
|
||||
add(bg);
|
||||
|
||||
line1.setPosition(240, 0, 1, 26);
|
||||
line1Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
line1.setPainter(line1Painter);
|
||||
line1.setStart(0, 0);
|
||||
line1.setEnd(0, 26);
|
||||
line1.setLineWidth(10);
|
||||
line1.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
|
||||
add(line1);
|
||||
|
||||
line2.setPosition(0, 25, 480, 1);
|
||||
line2Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
line2.setPainter(line2Painter);
|
||||
line2.setStart(0, 0);
|
||||
line2.setEnd(480, 0);
|
||||
line2.setLineWidth(10);
|
||||
line2.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
|
||||
add(line2);
|
||||
|
||||
item1.setXY(0, 0);
|
||||
add(item1);
|
||||
|
||||
item2.setXY(240, 0);
|
||||
add(item2);
|
||||
}
|
||||
|
||||
DebugViewLineBase::~DebugViewLineBase()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void DebugViewLineBase::initialize()
|
||||
{
|
||||
item1.initialize();
|
||||
item2.initialize();
|
||||
}
|
|
@ -18,7 +18,7 @@ DriverViewFieldBase::DriverViewFieldBase()
|
|||
title.setPosition(0, 0, 160, 25);
|
||||
title.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
title.setLinespacing(0);
|
||||
title.setTypedText(touchgfx::TypedText(T___SINGLEUSE_0FBJ));
|
||||
title.setTypedText(touchgfx::TypedText(T_DRIVERVIEWFIELD_TITLE));
|
||||
add(title);
|
||||
|
||||
value.setPosition(0, 20, 160, 57);
|
||||
|
|
|
@ -16,7 +16,7 @@ DriverViewFieldSelectionBase::DriverViewFieldSelectionBase()
|
|||
name.setPosition(0, 0, 160, 25);
|
||||
name.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
name.setLinespacing(0);
|
||||
name.setTypedText(touchgfx::TypedText(T___SINGLEUSE_PNKR));
|
||||
name.setTypedText(touchgfx::TypedText(T_DRIVERVIEWFIELD_TITLE));
|
||||
add(name);
|
||||
|
||||
line1.setPosition(0, 25, 160, 1);
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
/*********************************************************************************/
|
||||
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
|
||||
/*********************************************************************************/
|
||||
#include <gui_generated/debugview_screen/DebugViewViewBase.hpp>
|
||||
#include <touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp>
|
||||
#include <touchgfx/Color.hpp>
|
||||
|
||||
DebugViewViewBase::DebugViewViewBase() :
|
||||
updateItemCallback(this, &DebugViewViewBase::updateItemCallbackHandler)
|
||||
{
|
||||
touchgfx::CanvasWidgetRenderer::setupBuffer(canvasBuffer, CANVAS_BUFFER_SIZE);
|
||||
|
||||
__background.setPosition(0, 0, 480, 320);
|
||||
__background.setColor(touchgfx::Color::getColorFromRGB(0, 0, 0));
|
||||
add(__background);
|
||||
|
||||
list.setPosition(0, 4, 480, 312);
|
||||
list.setHorizontal(false);
|
||||
list.setCircular(true);
|
||||
list.setEasingEquation(touchgfx::EasingEquations::backEaseOut);
|
||||
list.setSwipeAcceleration(10);
|
||||
list.setDragAcceleration(10);
|
||||
list.setNumberOfItems(1);
|
||||
list.setPadding(0, 0);
|
||||
list.setSnapping(false);
|
||||
list.setDrawableSize(26, 0);
|
||||
list.setDrawables(listListItems, updateItemCallback);
|
||||
add(list);
|
||||
|
||||
line1.setPosition(0, 3, 480, 1);
|
||||
line1Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
line1.setPainter(line1Painter);
|
||||
line1.setStart(0, 0);
|
||||
line1.setEnd(480, 0);
|
||||
line1.setLineWidth(10);
|
||||
line1.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
|
||||
add(line1);
|
||||
}
|
||||
|
||||
DebugViewViewBase::~DebugViewViewBase()
|
||||
{
|
||||
touchgfx::CanvasWidgetRenderer::resetBuffer();
|
||||
}
|
||||
|
||||
void DebugViewViewBase::setupScreen()
|
||||
{
|
||||
list.initialize();
|
||||
for (int i = 0; i < listListItems.getNumberOfDrawables(); i++)
|
||||
{
|
||||
listListItems[i].initialize();
|
||||
}
|
||||
}
|
||||
|
||||
void DebugViewViewBase::updateItemCallbackHandler(touchgfx::DrawableListItemsInterface* items, int16_t containerIndex, int16_t itemIndex)
|
||||
{
|
||||
if (items == &listListItems)
|
||||
{
|
||||
touchgfx::Drawable* d = items->getDrawable(containerIndex);
|
||||
DebugViewLine* cc = (DebugViewLine*)d;
|
||||
listUpdateItem(*cc, itemIndex);
|
||||
}
|
||||
}
|
|
@ -117,4 +117,13 @@ void MissionSelectViewBase::handleKeyEvent(uint8_t key)
|
|||
application().gotoDriverViewScreenNoTransition();
|
||||
|
||||
}
|
||||
|
||||
if(252 == key)
|
||||
{
|
||||
//DummyChangeDebugView
|
||||
//When hardware button 252 clicked change screen to DebugView
|
||||
//Go to DebugView with no screen transition
|
||||
application().gotoDebugViewScreenNoTransition();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"remap":"yes","language":"GB","language_index":0,"indices":[["257","T_FIELD_BBAL"],["209","T_FIELD_TSVOLTVEH"],["202","T_FIELD_TSVOLTBAT"],["228","T_FIELD_LVSOC"],["246","T_FIELD_TSSOC"],["267","T_FIELD_MAXCELLTEMP"],["272","T_FIELD_TIREFL"],["277","T_FIELD_TIREFR"],["282","T_FIELD_TIRERL"],["287","T_FIELD_TIRERR"],["262","T_FIELD_LAPCOUNT"],["146","T_FIELD_INICHKSTATE"],["216","T_FIELD_ERR"],["301","T_FIELD_SDC"],["162","T_FIELD_INVRREADY"],["154","T_FIELD_INVLREADY"],["178","T_FIELD_R2DPROGRESS"],["170","T_FIELD_ACTIVEMISSION"],["138","T_FIELD_ASSTATE"],["194","T_FIELD_TSSTATE"],["136","T_NUMBERWILDCARD"],["136","T_DEFAULTWILDCARD"],["297","T_FIELD_TSCURRENT"],["292","T_FIELD_MINCELLVOLT"],["234","T_FIELD_SPEED"],["95","T_INSPECTION_HUGE"],["127","T_EBS_HUGE"],["106","T_TRACKDRIVE_HUGE"],["117","T_AUTOX_HUGE"],["186","T_SKIDPAD_HUGE"],["82","T_ACCEL_HUGE"],["34","T_INVALID_HUGE"],["67","T_MANUAL"],["95","T_INSPECTION"],["127","T_EBS"],["106","T_TRACKDRIVE"],["117","T_AUTOX"],["186","T_SKIDPAD"],["82","T_ACCEL"],["252","T___SINGLEUSE_PNKR"],["222","T___SINGLEUSE_0FBJ"],["305","T___SINGLEUSE_4OBM"],["298","T___SINGLEUSE_PHFD"],["240","T___SINGLEUSE_H6UX"],["136","T___SINGLEUSE_20H3"],["17","T___SINGLEUSE_SDGP"],["51","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]}
|
||||
{"remap":"yes","language":"GB","language_index":0,"indices":[["136","T_DEBUGVIEWFIELD_TITLE"],["136","T_DRIVERVIEWFIELD_TITLE"],["246","T_FIELD_BBAL"],["209","T_FIELD_TSVOLTVEH"],["202","T_FIELD_TSVOLTBAT"],["222","T_FIELD_LVSOC"],["240","T_FIELD_TSSOC"],["256","T_FIELD_MAXCELLTEMP"],["261","T_FIELD_TIREFL"],["266","T_FIELD_TIREFR"],["271","T_FIELD_TIRERL"],["276","T_FIELD_TIRERR"],["251","T_FIELD_LAPCOUNT"],["146","T_FIELD_INICHKSTATE"],["216","T_FIELD_ERR"],["290","T_FIELD_SDC"],["162","T_FIELD_INVRREADY"],["154","T_FIELD_INVLREADY"],["178","T_FIELD_R2DPROGRESS"],["170","T_FIELD_ACTIVEMISSION"],["138","T_FIELD_ASSTATE"],["194","T_FIELD_TSSTATE"],["136","T_NUMBERWILDCARD"],["136","T_DEFAULTWILDCARD_CENTERED"],["136","T_DEFAULTWILDCARD_RIGHTALIGNED"],["286","T_FIELD_TSCURRENT"],["281","T_FIELD_MINCELLVOLT"],["228","T_FIELD_SPEED"],["95","T_INSPECTION_HUGE"],["127","T_EBS_HUGE"],["106","T_TRACKDRIVE_HUGE"],["117","T_AUTOX_HUGE"],["186","T_SKIDPAD_HUGE"],["82","T_ACCEL_HUGE"],["34","T_INVALID_HUGE"],["67","T_MANUAL"],["95","T_INSPECTION"],["127","T_EBS"],["106","T_TRACKDRIVE"],["117","T_AUTOX"],["186","T_SKIDPAD"],["82","T_ACCEL"],["294","T___SINGLEUSE_4OBM"],["287","T___SINGLEUSE_PHFD"],["234","T___SINGLEUSE_H6UX"],["136","T___SINGLEUSE_20H3"],["17","T___SINGLEUSE_SDGP"],["51","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]}
|
|
@ -1 +1 @@
|
|||
{"languages":["GB"],"textids":["T_FIELD_BBAL","T_FIELD_TSVOLTVEH","T_FIELD_TSVOLTBAT","T_FIELD_LVSOC","T_FIELD_TSSOC","T_FIELD_MAXCELLTEMP","T_FIELD_TIREFL","T_FIELD_TIREFR","T_FIELD_TIRERL","T_FIELD_TIRERR","T_FIELD_LAPCOUNT","T_FIELD_INICHKSTATE","T_FIELD_ERR","T_FIELD_SDC","T_FIELD_INVRREADY","T_FIELD_INVLREADY","T_FIELD_R2DPROGRESS","T_FIELD_ACTIVEMISSION","T_FIELD_ASSTATE","T_FIELD_TSSTATE","T_NUMBERWILDCARD","T_DEFAULTWILDCARD","T_FIELD_TSCURRENT","T_FIELD_MINCELLVOLT","T_FIELD_SPEED","T_INSPECTION_HUGE","T_EBS_HUGE","T_TRACKDRIVE_HUGE","T_AUTOX_HUGE","T_SKIDPAD_HUGE","T_ACCEL_HUGE","T_INVALID_HUGE","T_MANUAL","T_INSPECTION","T_EBS","T_TRACKDRIVE","T_AUTOX","T_SKIDPAD","T_ACCEL","T___SINGLEUSE_PNKR","T___SINGLEUSE_0FBJ","T___SINGLEUSE_4OBM","T___SINGLEUSE_PHFD","T___SINGLEUSE_H6UX","T___SINGLEUSE_20H3","T___SINGLEUSE_SDGP","T___SINGLEUSE_M5X7","T___SINGLEUSE_6GPV"]}
|
||||
{"languages":["GB"],"textids":["T_DEBUGVIEWFIELD_TITLE","T_DRIVERVIEWFIELD_TITLE","T_FIELD_BBAL","T_FIELD_TSVOLTVEH","T_FIELD_TSVOLTBAT","T_FIELD_LVSOC","T_FIELD_TSSOC","T_FIELD_MAXCELLTEMP","T_FIELD_TIREFL","T_FIELD_TIREFR","T_FIELD_TIRERL","T_FIELD_TIRERR","T_FIELD_LAPCOUNT","T_FIELD_INICHKSTATE","T_FIELD_ERR","T_FIELD_SDC","T_FIELD_INVRREADY","T_FIELD_INVLREADY","T_FIELD_R2DPROGRESS","T_FIELD_ACTIVEMISSION","T_FIELD_ASSTATE","T_FIELD_TSSTATE","T_NUMBERWILDCARD","T_DEFAULTWILDCARD_CENTERED","T_DEFAULTWILDCARD_RIGHTALIGNED","T_FIELD_TSCURRENT","T_FIELD_MINCELLVOLT","T_FIELD_SPEED","T_INSPECTION_HUGE","T_EBS_HUGE","T_TRACKDRIVE_HUGE","T_AUTOX_HUGE","T_SKIDPAD_HUGE","T_ACCEL_HUGE","T_INVALID_HUGE","T_MANUAL","T_INSPECTION","T_EBS","T_TRACKDRIVE","T_AUTOX","T_SKIDPAD","T_ACCEL","T___SINGLEUSE_4OBM","T___SINGLEUSE_PHFD","T___SINGLEUSE_H6UX","T___SINGLEUSE_20H3","T___SINGLEUSE_SDGP","T___SINGLEUSE_M5X7","T___SINGLEUSE_6GPV"]}
|
|
@ -1 +1 @@
|
|||
{"remap":"yes","languages":["Gb"],"characters":[67,104,111,111,115,101,32,97,32,109,105,115,115,105,111,110,0,67,117,114,114,101,110,116,32,77,105,115,115,105,111,110,58,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,33,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,2,0,65,83,83,84,65,84,69,0,73,67,83,84,65,84,69,0,73,78,86,76,82,68,89,0,73,78,86,82,82,68,89,0,77,73,83,83,73,79,78,0,82,50,68,80,82,79,71,0,83,107,105,100,112,97,100,0,84,83,83,84,65,84,69,0,84,83,86,66,65,84,0,84,83,86,86,69,72,0,69,82,82,79,82,0,70,73,69,76,68,0,76,86,83,79,67,0,83,80,69,69,68,0,84,73,82,69,83,0,84,83,83,79,67,0,63,63,63,63,0,66,66,65,76,0,76,65,80,83,0,84,77,65,88,0,84,84,70,76,0,84,84,70,82,0,84,84,82,76,0,84,84,82,82,0,86,77,73,78,0,73,84,83,0,83,68,67,0,76,86,0]}
|
||||
{"remap":"yes","languages":["Gb"],"characters":[67,104,111,111,115,101,32,97,32,109,105,115,115,105,111,110,0,67,117,114,114,101,110,116,32,77,105,115,115,105,111,110,58,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,33,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,2,0,65,83,83,84,65,84,69,0,73,67,83,84,65,84,69,0,73,78,86,76,82,68,89,0,73,78,86,82,82,68,89,0,77,73,83,83,73,79,78,0,82,50,68,80,82,79,71,0,83,107,105,100,112,97,100,0,84,83,83,84,65,84,69,0,84,83,86,66,65,84,0,84,83,86,86,69,72,0,69,82,82,79,82,0,76,86,83,79,67,0,83,80,69,69,68,0,84,73,82,69,83,0,84,83,83,79,67,0,66,66,65,76,0,76,65,80,83,0,84,77,65,88,0,84,84,70,76,0,84,84,70,82,0,84,84,82,76,0,84,84,82,82,0,86,77,73,78,0,73,84,83,0,83,68,67,0,76,86,0]}
|
|
@ -1 +1 @@
|
|||
{"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"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[0,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[1,"LEFT","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,"getFont_CHINN____40_4bpp":3,"getFont_lucon_TTF_50_4bpp":4},"generate_font_format":"0"}
|
||||
{"databases":{"DEFAULT":[[0,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[0,"CENTER","LTR"],[0,"RIGHT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[1,"LEFT","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,"getFont_CHINN____40_4bpp":3,"getFont_lucon_TTF_50_4bpp":4},"generate_font_format":"0"}
|
|
@ -12,6 +12,8 @@ enum LANGUAGES
|
|||
|
||||
enum TEXTS
|
||||
{
|
||||
T_DEBUGVIEWFIELD_TITLE,
|
||||
T_DRIVERVIEWFIELD_TITLE,
|
||||
T_FIELD_BBAL,
|
||||
T_FIELD_TSVOLTVEH,
|
||||
T_FIELD_TSVOLTBAT,
|
||||
|
@ -33,7 +35,8 @@ enum TEXTS
|
|||
T_FIELD_ASSTATE,
|
||||
T_FIELD_TSSTATE,
|
||||
T_NUMBERWILDCARD,
|
||||
T_DEFAULTWILDCARD,
|
||||
T_DEFAULTWILDCARD_CENTERED,
|
||||
T_DEFAULTWILDCARD_RIGHTALIGNED,
|
||||
T_FIELD_TSCURRENT,
|
||||
T_FIELD_MINCELLVOLT,
|
||||
T_FIELD_SPEED,
|
||||
|
@ -51,8 +54,6 @@ enum TEXTS
|
|||
T_AUTOX,
|
||||
T_SKIDPAD,
|
||||
T_ACCEL,
|
||||
T___SINGLEUSE_PNKR,
|
||||
T___SINGLEUSE_0FBJ,
|
||||
T___SINGLEUSE_4OBM,
|
||||
T___SINGLEUSE_PHFD,
|
||||
T___SINGLEUSE_H6UX,
|
||||
|
|
|
@ -10,20 +10,22 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE;
|
|||
// Remap all strings
|
||||
TEXT_LOCATION_FLASH_PRAGMA
|
||||
KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
|
||||
257, // T_FIELD_BBAL: "BBAL"
|
||||
136, // T_DEBUGVIEWFIELD_TITLE: "<>"
|
||||
136, // T_DRIVERVIEWFIELD_TITLE: "<>"
|
||||
246, // T_FIELD_BBAL: "BBAL"
|
||||
209, // T_FIELD_TSVOLTVEH: "TSVVEH"
|
||||
202, // T_FIELD_TSVOLTBAT: "TSVBAT"
|
||||
228, // T_FIELD_LVSOC: "LVSOC"
|
||||
246, // T_FIELD_TSSOC: "TSSOC"
|
||||
267, // T_FIELD_MAXCELLTEMP: "TMAX"
|
||||
272, // T_FIELD_TIREFL: "TTFL"
|
||||
277, // T_FIELD_TIREFR: "TTFR"
|
||||
282, // T_FIELD_TIRERL: "TTRL"
|
||||
287, // T_FIELD_TIRERR: "TTRR"
|
||||
262, // T_FIELD_LAPCOUNT: "LAPS"
|
||||
222, // T_FIELD_LVSOC: "LVSOC"
|
||||
240, // T_FIELD_TSSOC: "TSSOC"
|
||||
256, // T_FIELD_MAXCELLTEMP: "TMAX"
|
||||
261, // T_FIELD_TIREFL: "TTFL"
|
||||
266, // T_FIELD_TIREFR: "TTFR"
|
||||
271, // T_FIELD_TIRERL: "TTRL"
|
||||
276, // T_FIELD_TIRERR: "TTRR"
|
||||
251, // T_FIELD_LAPCOUNT: "LAPS"
|
||||
146, // T_FIELD_INICHKSTATE: "ICSTATE"
|
||||
216, // T_FIELD_ERR: "ERROR"
|
||||
301, // T_FIELD_SDC: "SDC"
|
||||
290, // T_FIELD_SDC: "SDC"
|
||||
162, // T_FIELD_INVRREADY: "INVRRDY"
|
||||
154, // T_FIELD_INVLREADY: "INVLRDY"
|
||||
178, // T_FIELD_R2DPROGRESS: "R2DPROG"
|
||||
|
@ -31,10 +33,11 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
|
|||
138, // T_FIELD_ASSTATE: "ASSTATE"
|
||||
194, // T_FIELD_TSSTATE: "TSSTATE"
|
||||
136, // T_NUMBERWILDCARD: "<>"
|
||||
136, // T_DEFAULTWILDCARD: "<>"
|
||||
297, // T_FIELD_TSCURRENT: "ITS"
|
||||
292, // T_FIELD_MINCELLVOLT: "VMIN"
|
||||
234, // T_FIELD_SPEED: "SPEED"
|
||||
136, // T_DEFAULTWILDCARD_CENTERED: "<>"
|
||||
136, // T_DEFAULTWILDCARD_RIGHTALIGNED: "<>"
|
||||
286, // T_FIELD_TSCURRENT: "ITS"
|
||||
281, // T_FIELD_MINCELLVOLT: "VMIN"
|
||||
228, // T_FIELD_SPEED: "SPEED"
|
||||
95, // T_INSPECTION_HUGE: "Inspection"
|
||||
127, // T_EBS_HUGE: "EBS Test"
|
||||
106, // T_TRACKDRIVE_HUGE: "Trackdrive"
|
||||
|
@ -49,11 +52,9 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
|
|||
117, // T_AUTOX: "Autocross"
|
||||
186, // T_SKIDPAD: "Skidpad"
|
||||
82, // T_ACCEL: "Acceleration"
|
||||
252, // T___SINGLEUSE_PNKR: "????"
|
||||
222, // T___SINGLEUSE_0FBJ: "FIELD"
|
||||
305, // T___SINGLEUSE_4OBM: "LV"
|
||||
298, // T___SINGLEUSE_PHFD: "TS"
|
||||
240, // T___SINGLEUSE_H6UX: "TIRES"
|
||||
294, // T___SINGLEUSE_4OBM: "LV"
|
||||
287, // T___SINGLEUSE_PHFD: "TS"
|
||||
234, // T___SINGLEUSE_H6UX: "TIRES"
|
||||
136, // T___SINGLEUSE_20H3: "<>"
|
||||
17, // T___SINGLEUSE_SDGP: "Current Mission:"
|
||||
51, // T___SINGLEUSE_M5X7: "Invalid Mission"
|
||||
|
|
|
@ -82,23 +82,21 @@ KEEP extern const touchgfx::Unicode::UnicodeChar texts_all_languages[] TEXT_LOCA
|
|||
0x54, 0x53, 0x56, 0x42, 0x41, 0x54, 0x0, // @202 "TSVBAT"
|
||||
0x54, 0x53, 0x56, 0x56, 0x45, 0x48, 0x0, // @209 "TSVVEH"
|
||||
0x45, 0x52, 0x52, 0x4f, 0x52, 0x0, // @216 "ERROR"
|
||||
0x46, 0x49, 0x45, 0x4c, 0x44, 0x0, // @222 "FIELD"
|
||||
0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @228 "LVSOC"
|
||||
0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @234 "SPEED"
|
||||
0x54, 0x49, 0x52, 0x45, 0x53, 0x0, // @240 "TIRES"
|
||||
0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @246 "TSSOC"
|
||||
0x3f, 0x3f, 0x3f, 0x3f, 0x0, // @252 "????"
|
||||
0x42, 0x42, 0x41, 0x4c, 0x0, // @257 "BBAL"
|
||||
0x4c, 0x41, 0x50, 0x53, 0x0, // @262 "LAPS"
|
||||
0x54, 0x4d, 0x41, 0x58, 0x0, // @267 "TMAX"
|
||||
0x54, 0x54, 0x46, 0x4c, 0x0, // @272 "TTFL"
|
||||
0x54, 0x54, 0x46, 0x52, 0x0, // @277 "TTFR"
|
||||
0x54, 0x54, 0x52, 0x4c, 0x0, // @282 "TTRL"
|
||||
0x54, 0x54, 0x52, 0x52, 0x0, // @287 "TTRR"
|
||||
0x56, 0x4d, 0x49, 0x4e, 0x0, // @292 "VMIN"
|
||||
0x49, 0x54, 0x53, 0x0, // @297 "ITS"
|
||||
0x53, 0x44, 0x43, 0x0, // @301 "SDC"
|
||||
0x4c, 0x56, 0x0 // @305 "LV"
|
||||
0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @222 "LVSOC"
|
||||
0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @228 "SPEED"
|
||||
0x54, 0x49, 0x52, 0x45, 0x53, 0x0, // @234 "TIRES"
|
||||
0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @240 "TSSOC"
|
||||
0x42, 0x42, 0x41, 0x4c, 0x0, // @246 "BBAL"
|
||||
0x4c, 0x41, 0x50, 0x53, 0x0, // @251 "LAPS"
|
||||
0x54, 0x4d, 0x41, 0x58, 0x0, // @256 "TMAX"
|
||||
0x54, 0x54, 0x46, 0x4c, 0x0, // @261 "TTFL"
|
||||
0x54, 0x54, 0x46, 0x52, 0x0, // @266 "TTFR"
|
||||
0x54, 0x54, 0x52, 0x4c, 0x0, // @271 "TTRL"
|
||||
0x54, 0x54, 0x52, 0x52, 0x0, // @276 "TTRR"
|
||||
0x56, 0x4d, 0x49, 0x4e, 0x0, // @281 "VMIN"
|
||||
0x49, 0x54, 0x53, 0x0, // @286 "ITS"
|
||||
0x53, 0x44, 0x43, 0x0, // @290 "SDC"
|
||||
0x4c, 0x56, 0x0 // @294 "LV"
|
||||
};
|
||||
|
||||
TEXT_LOCATION_FLASH_PRAGMA
|
||||
|
|
|
@ -24,6 +24,8 @@ extern const touchgfx::TypedText::TypedTextData* const typedTextDatabaseArray[];
|
|||
|
||||
TEXT_LOCATION_FLASH_PRAGMA
|
||||
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 },
|
||||
|
@ -46,6 +48,7 @@ const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[] TEXT_LOCAT
|
|||
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||
{ 4, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||
{ 0, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||
{ 0, touchgfx::RIGHT, 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 },
|
||||
|
@ -66,8 +69,6 @@ const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[] TEXT_LOCAT
|
|||
{ 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 },
|
||||
{ 4, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||
{ 1, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#define DATAFIELD_HPP
|
||||
|
||||
#include "touchgfx/TypedText.hpp"
|
||||
#include "touchgfx/Unicode.hpp"
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
|
@ -20,17 +21,51 @@ CountedEnum(DataFieldType, size_t, DF_TSState, DF_ASState, DF_ActiveMission,
|
|||
DF_TSSoC, DF_LVSoC, DF_TSCurrent, DF_TSVoltageBat, DF_TSVoltageVeh,
|
||||
DF_Speed, DF_BBal);
|
||||
|
||||
enum class DataFieldKind { Numeric, Bool, Text };
|
||||
enum class DataFieldKind { Float, Bool, Text, Int };
|
||||
|
||||
struct DataFieldDescription {
|
||||
DataFieldKind kind;
|
||||
touchgfx::TypedText title;
|
||||
const char *title;
|
||||
size_t int_digits;
|
||||
size_t decimal_digits;
|
||||
|
||||
void* (*getValue)(void);
|
||||
void *(*getValue)(void);
|
||||
};
|
||||
|
||||
extern DataFieldDescription dataFieldDescs[];
|
||||
|
||||
class DataField {
|
||||
public:
|
||||
virtual ~DataField() {}
|
||||
|
||||
void setType(DataFieldType type);
|
||||
DataFieldType getType();
|
||||
|
||||
virtual void updateValue();
|
||||
|
||||
protected:
|
||||
touchgfx::Unicode::UnicodeChar titleBuffer[16];
|
||||
touchgfx::Unicode::UnicodeChar valueBuffer[16];
|
||||
|
||||
DataFieldType type;
|
||||
const DataFieldDescription *desc;
|
||||
union {
|
||||
float f;
|
||||
int b;
|
||||
int i;
|
||||
} fieldValue;
|
||||
|
||||
virtual void typeUpdated() = 0;
|
||||
virtual void titleBufferUpdated() = 0;
|
||||
virtual void valueBufferUpdated() = 0;
|
||||
|
||||
private:
|
||||
void setFloatValue(float floatValue);
|
||||
void setBoolValue(int boolValue);
|
||||
void setIntValue(int intValue);
|
||||
void setStrValue(const char *strValue);
|
||||
|
||||
void updateValueBuffer();
|
||||
};
|
||||
|
||||
#endif // DATAFIELD_HPP
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
#ifndef DEBUGVIEWITEM_HPP
|
||||
#define DEBUGVIEWITEM_HPP
|
||||
|
||||
#include "gui/common/DataField.hpp"
|
||||
#include <gui_generated/containers/DebugViewItemBase.hpp>
|
||||
|
||||
class DebugViewItem : public DebugViewItemBase, public DataField {
|
||||
public:
|
||||
DebugViewItem();
|
||||
virtual ~DebugViewItem() {}
|
||||
|
||||
virtual void initialize() override;
|
||||
|
||||
protected:
|
||||
virtual void typeUpdated() override;
|
||||
virtual void titleBufferUpdated() override;
|
||||
virtual void valueBufferUpdated() override;
|
||||
};
|
||||
|
||||
#endif // DEBUGVIEWITEM_HPP
|
|
@ -0,0 +1,27 @@
|
|||
#ifndef DEBUGVIEWLINE_HPP
|
||||
#define DEBUGVIEWLINE_HPP
|
||||
|
||||
#include "gui/common/DataField.hpp"
|
||||
#include "gui/containers/DebugViewItem.hpp"
|
||||
#include <gui_generated/containers/DebugViewLineBase.hpp>
|
||||
|
||||
class DebugViewLine : public DebugViewLineBase {
|
||||
public:
|
||||
DebugViewLine();
|
||||
virtual ~DebugViewLine() {}
|
||||
|
||||
virtual void initialize();
|
||||
|
||||
void setFieldType(size_t i, DataFieldType type);
|
||||
void setFieldVisible(size_t i, int visible);
|
||||
void updateFieldValues();
|
||||
void setLightBG(int light);
|
||||
|
||||
static constexpr size_t NUM_FIELDS = 2;
|
||||
|
||||
protected:
|
||||
private:
|
||||
DebugViewItem *fields[NUM_FIELDS];
|
||||
};
|
||||
|
||||
#endif // DEBUGVIEWLINE_HPP
|
|
@ -7,31 +7,20 @@
|
|||
|
||||
#include "gui/common/DataField.hpp"
|
||||
|
||||
class DriverViewField : public DriverViewFieldBase {
|
||||
class DriverViewField : public DriverViewFieldBase, public DataField {
|
||||
public:
|
||||
DriverViewField();
|
||||
virtual ~DriverViewField() {}
|
||||
|
||||
virtual void initialize();
|
||||
|
||||
void setType(const DataFieldDescription &desc);
|
||||
void setValue(float newValue);
|
||||
void setValue(const char *str);
|
||||
void setValue(int boolValue);
|
||||
virtual void initialize() override;
|
||||
|
||||
void setSelected(int selected);
|
||||
|
||||
protected:
|
||||
private:
|
||||
Unicode::UnicodeChar valueBuffer[16];
|
||||
|
||||
DataFieldKind fieldKind;
|
||||
size_t intDigits;
|
||||
size_t decimalDigits;
|
||||
float floatValue;
|
||||
int boolValue;
|
||||
|
||||
void updateValueBuffer();
|
||||
virtual void typeUpdated() override;
|
||||
virtual void titleBufferUpdated() override;
|
||||
virtual void valueBufferUpdated() override;
|
||||
};
|
||||
|
||||
#endif // DRIVERVIEWFIELD_HPP
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#define DRIVERVIEWFIELDSELECTION_HPP
|
||||
|
||||
#include "touchgfx/TypedText.hpp"
|
||||
#include "touchgfx/Unicode.hpp"
|
||||
#include <gui_generated/containers/DriverViewFieldSelectionBase.hpp>
|
||||
|
||||
class DriverViewFieldSelection : public DriverViewFieldSelectionBase {
|
||||
|
@ -11,10 +12,12 @@ public:
|
|||
|
||||
virtual void initialize();
|
||||
|
||||
void setName(const touchgfx::TypedText &name);
|
||||
void setName(const char *name);
|
||||
void setSelected(int selected);
|
||||
|
||||
protected:
|
||||
private:
|
||||
Unicode::UnicodeChar nameBuffer[16];
|
||||
};
|
||||
|
||||
#endif // DRIVERVIEWFIELDSELECTION_HPP
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
#ifndef DEBUGVIEWPRESENTER_HPP
|
||||
#define DEBUGVIEWPRESENTER_HPP
|
||||
|
||||
#include <gui/model/ModelListener.hpp>
|
||||
#include <mvp/Presenter.hpp>
|
||||
|
||||
using namespace touchgfx;
|
||||
|
||||
class DebugViewView;
|
||||
|
||||
class DebugViewPresenter : public touchgfx::Presenter, public ModelListener {
|
||||
public:
|
||||
DebugViewPresenter(DebugViewView &v);
|
||||
|
||||
/**
|
||||
* The activate function is called automatically when this screen is "switched
|
||||
* in" (ie. made active). Initialization logic can be placed here.
|
||||
*/
|
||||
virtual void activate() override;
|
||||
|
||||
/**
|
||||
* The deactivate function is called automatically when this screen is
|
||||
* "switched out" (ie. made inactive). Teardown functionality can be placed
|
||||
* here.
|
||||
*/
|
||||
virtual void deactivate() override;
|
||||
|
||||
virtual ~DebugViewPresenter(){};
|
||||
|
||||
virtual void vehicleStateUpdated() override;
|
||||
|
||||
private:
|
||||
DebugViewPresenter();
|
||||
|
||||
DebugViewView &view;
|
||||
};
|
||||
|
||||
#endif // DEBUGVIEWPRESENTER_HPP
|
|
@ -0,0 +1,21 @@
|
|||
#ifndef DEBUGVIEWVIEW_HPP
|
||||
#define DEBUGVIEWVIEW_HPP
|
||||
|
||||
#include <gui/debugview_screen/DebugViewPresenter.hpp>
|
||||
#include <gui_generated/debugview_screen/DebugViewViewBase.hpp>
|
||||
|
||||
class DebugViewView : public DebugViewViewBase {
|
||||
public:
|
||||
DebugViewView();
|
||||
virtual ~DebugViewView() {}
|
||||
virtual void setupScreen() override;
|
||||
virtual void tearDownScreen() override;
|
||||
|
||||
virtual void listUpdateItem(DebugViewLine &line, int16_t itemIndex) override;
|
||||
|
||||
void updateFieldValues();
|
||||
|
||||
protected:
|
||||
};
|
||||
|
||||
#endif // DEBUGVIEWVIEW_HPP
|
|
@ -18,19 +18,21 @@ public:
|
|||
* The activate function is called automatically when this screen is "switched
|
||||
* in" (ie. made active). Initialization logic can be placed here.
|
||||
*/
|
||||
virtual void activate();
|
||||
virtual void activate() override;
|
||||
|
||||
/**
|
||||
* The deactivate function is called automatically when this screen is
|
||||
* "switched out" (ie. made inactive). Teardown functionality can be placed
|
||||
* here.
|
||||
*/
|
||||
virtual void deactivate();
|
||||
virtual void deactivate() override;
|
||||
|
||||
virtual ~DriverViewPresenter(){};
|
||||
|
||||
void vehicleStateUpdated() override;
|
||||
|
||||
void setFieldType(size_t i, DataFieldType type);
|
||||
|
||||
private:
|
||||
DriverViewPresenter();
|
||||
|
||||
|
|
|
@ -12,16 +12,14 @@ class DriverViewView : public DriverViewViewBase {
|
|||
public:
|
||||
DriverViewView();
|
||||
virtual ~DriverViewView() {}
|
||||
virtual void setupScreen();
|
||||
virtual void tearDownScreen();
|
||||
virtual void setupScreen() override;
|
||||
virtual void tearDownScreen() override;
|
||||
|
||||
void fieldTypeSelectionUpdateItem(DriverViewFieldSelection &item,
|
||||
int16_t itemIndex) override;
|
||||
|
||||
void setFieldType(size_t i, const DataFieldDescription &desc);
|
||||
void setFieldValue(size_t i, float value);
|
||||
void setFieldValue(size_t i, const char *value);
|
||||
void setFieldValue(size_t i, int value);
|
||||
void setFieldType(size_t i, DataFieldType type);
|
||||
void updateFieldValues();
|
||||
|
||||
void setTireTemps(const TireTemps &temps);
|
||||
void setTSSoC(uint8_t soc);
|
||||
|
@ -37,7 +35,6 @@ public:
|
|||
protected:
|
||||
private:
|
||||
DriverViewField &getField(size_t i);
|
||||
DriverViewFieldSelection *getFieldType(size_t i);
|
||||
|
||||
void updateSelectedField(size_t select);
|
||||
void updateSelectedFieldType(size_t select);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "gui/common/DataField.hpp"
|
||||
#include "texts/TextKeysAndLanguages.hpp"
|
||||
|
||||
#include "touchgfx/Unicode.hpp"
|
||||
#include "vehicle.h"
|
||||
|
||||
#define VEH_FIELD(FIELD) []() { return (void *)&vehicle_state.FIELD; }
|
||||
|
@ -11,50 +12,219 @@
|
|||
return (void *)&x; \
|
||||
}
|
||||
|
||||
void *get_sdc_text() {
|
||||
if (vehicle_state.errors.sdc_bfl) {
|
||||
return (void *)"BFL";
|
||||
} else if (vehicle_state.errors.sdc_brl) {
|
||||
return (void *)"BRL";
|
||||
} else if (vehicle_state.errors.sdc_acc) {
|
||||
return (void *)"ACC";
|
||||
} else if (vehicle_state.errors.sdc_hvb) {
|
||||
return (void *)"HVB";
|
||||
} else {
|
||||
return (void *)"CLOSED";
|
||||
void *get_tsstate_text() {
|
||||
const char *text;
|
||||
switch (vehicle_state.ts_state) {
|
||||
case TS_INACTIVE:
|
||||
text = "INACT";
|
||||
break;
|
||||
case TS_ACTIVE:
|
||||
text = "ACT";
|
||||
break;
|
||||
case TS_PRECHARGE:
|
||||
text = "PRECH";
|
||||
break;
|
||||
case TS_DISCHARGE:
|
||||
text = "DISCH";
|
||||
break;
|
||||
case TS_ERROR:
|
||||
text = "ERROR";
|
||||
break;
|
||||
case TS_CHARGING_CHECK:
|
||||
text = "CH_CHK";
|
||||
break;
|
||||
case TS_CHARGING:
|
||||
text = "CH";
|
||||
break;
|
||||
default:
|
||||
text = "UNKNOWN";
|
||||
}
|
||||
return (void *)text;
|
||||
}
|
||||
|
||||
void *get_asstate_text() {
|
||||
const char *text;
|
||||
switch (vehicle_state.as_state) {
|
||||
case AS_OFF:
|
||||
text = "OFF";
|
||||
break;
|
||||
case AS_MANUAL:
|
||||
text = "MAN";
|
||||
break;
|
||||
case AS_READY:
|
||||
text = "RDY";
|
||||
break;
|
||||
case AS_DRIVING:
|
||||
text = "DRIVE";
|
||||
break;
|
||||
case AS_FINISHED:
|
||||
text = "FIN";
|
||||
break;
|
||||
case AS_EMERGENCY:
|
||||
text = "EMERG";
|
||||
break;
|
||||
default:
|
||||
text = "UNKNOWN";
|
||||
}
|
||||
return (void *)text;
|
||||
}
|
||||
|
||||
void *get_mission_text() {
|
||||
const char *text;
|
||||
switch (vehicle_state.active_mission) {
|
||||
case MISSION_NONE:
|
||||
text = "NONE";
|
||||
break;
|
||||
case MISSION_ACCEL:
|
||||
text = "ACCEL";
|
||||
break;
|
||||
case MISSION_SKIDPAD:
|
||||
text = "SKIDPAD";
|
||||
break;
|
||||
case MISSION_AUTOX:
|
||||
text = "AUTOX";
|
||||
break;
|
||||
case MISSION_TRACKDRIVE:
|
||||
text = "TRACK";
|
||||
break;
|
||||
case MISSION_EBS:
|
||||
text = "EBS";
|
||||
break;
|
||||
case MISSION_INSPECTION:
|
||||
text = "INSPECT";
|
||||
break;
|
||||
case MISSION_MANUAL:
|
||||
text = "MAN";
|
||||
break;
|
||||
default:
|
||||
text = "UNKNOWN";
|
||||
}
|
||||
return (void *)text;
|
||||
}
|
||||
|
||||
void *get_r2dprog_text() {
|
||||
const char *text;
|
||||
switch (vehicle_state.r2d_progress) {
|
||||
case R2D_NONE:
|
||||
text = "NONE";
|
||||
break;
|
||||
case R2D_TSMS:
|
||||
text = "TSMS";
|
||||
break;
|
||||
case R2D_TSACTIVE:
|
||||
text = "TSACT";
|
||||
break;
|
||||
case R2D_RESETTING_NODES:
|
||||
text = "RST NODE";
|
||||
break;
|
||||
case R2D_RESETTING_COMMS:
|
||||
text = "RST COM";
|
||||
break;
|
||||
case R2D_WAITING_INIT:
|
||||
text = "WAIT INIT";
|
||||
break;
|
||||
case R2D_INIT_STAGE1:
|
||||
text = "INIT S1";
|
||||
break;
|
||||
case R2D_INIT_STAGE2:
|
||||
text = "INIT S2";
|
||||
break;
|
||||
case R2D_INIT_SUCCESS:
|
||||
text = "INIT SUCC";
|
||||
break;
|
||||
default:
|
||||
text = "UNKNOWN";
|
||||
}
|
||||
return (void *)text;
|
||||
}
|
||||
|
||||
void *get_inichk_text() {
|
||||
const char *text;
|
||||
switch (vehicle_state.ini_chk_state) {
|
||||
case INICHK_START:
|
||||
text = "START";
|
||||
break;
|
||||
case INICHK_WD_CHECK:
|
||||
text = "WD CHK";
|
||||
break;
|
||||
case INICHK_WD_OK:
|
||||
text = "WD OK";
|
||||
break;
|
||||
case INICHK_ASB_CHECK_1:
|
||||
text = "ASB CHK1";
|
||||
break;
|
||||
case INICHK_ASB_CHECK_2:
|
||||
text = "ASB CHK2";
|
||||
break;
|
||||
case INICHK_WAIT_TS:
|
||||
text = "WAIT TS";
|
||||
break;
|
||||
case INICHK_EBS_CHECK_A:
|
||||
text = "EBS CHKA";
|
||||
break;
|
||||
case INICHK_EBS_CHECK_B:
|
||||
text = "EBS CHKB";
|
||||
break;
|
||||
case INICHK_DONE:
|
||||
text = "DONE";
|
||||
break;
|
||||
case INICHK_ERROR:
|
||||
text = "ERROR";
|
||||
break;
|
||||
default:
|
||||
text = "UNKNOWN";
|
||||
}
|
||||
return (void *)text;
|
||||
}
|
||||
|
||||
void *get_sdc_text() {
|
||||
const char *text;
|
||||
if (vehicle_state.errors.sdc_bfl) {
|
||||
text = "BFL";
|
||||
} else if (vehicle_state.errors.sdc_brl) {
|
||||
text = "BRL";
|
||||
} else if (vehicle_state.errors.sdc_acc) {
|
||||
text = "ACC";
|
||||
} else if (vehicle_state.errors.sdc_hvb) {
|
||||
text = "HVB";
|
||||
} else {
|
||||
text = "CLOSED";
|
||||
}
|
||||
return (void *)text;
|
||||
}
|
||||
|
||||
void *get_err_text() {
|
||||
const char *text;
|
||||
if (vehicle_state.errors.err_sdc) {
|
||||
return (void *)"SDC";
|
||||
text = "SDC";
|
||||
} else if (vehicle_state.errors.err_ams) {
|
||||
return (void *)"AMS";
|
||||
text = "AMS";
|
||||
} else if (vehicle_state.errors.err_pdu) {
|
||||
return (void *)"PDU";
|
||||
text = "PDU";
|
||||
} else if (vehicle_state.errors.err_ini_chk) {
|
||||
return (void *)"IniChk";
|
||||
text = "IniChk";
|
||||
} else if (vehicle_state.errors.err_con_mon) {
|
||||
return (void *)"ConMon";
|
||||
text = "ConMon";
|
||||
} else if (vehicle_state.errors.err_scs) {
|
||||
return (void *)"SCS";
|
||||
text = "SCS";
|
||||
} else if (vehicle_state.errors.err_sbspd) {
|
||||
return (void *)"sBSPD";
|
||||
text = "sBSPD";
|
||||
} else if (vehicle_state.errors.err_appsp) {
|
||||
return (void *)"APPSp";
|
||||
text = "APPSp";
|
||||
} else if (vehicle_state.errors.err_as) {
|
||||
return (void *)"AS";
|
||||
text = "AS";
|
||||
} else if (vehicle_state.errors.err_ros) {
|
||||
return (void *)"ROS";
|
||||
text = "ROS";
|
||||
} else if (vehicle_state.errors.err_res) {
|
||||
return (void *)"RES";
|
||||
text = "RES";
|
||||
} else if (vehicle_state.errors.err_invl) {
|
||||
return (void *)"INVL";
|
||||
text = "INVL";
|
||||
} else if (vehicle_state.errors.err_invr) {
|
||||
return (void *)"INVR";
|
||||
text = "INVR";
|
||||
} else {
|
||||
return (void *)"NONE";
|
||||
text = "NONE";
|
||||
}
|
||||
return (void *)text;
|
||||
}
|
||||
|
||||
void *get_zero() {
|
||||
|
@ -63,48 +233,124 @@ void *get_zero() {
|
|||
}
|
||||
|
||||
DataFieldDescription dataFieldDescs[] = {
|
||||
[DF_TSState] = {DataFieldKind::Numeric, T_FIELD_TSSTATE, 1, 0,
|
||||
VEH_FIELD(ts_state)},
|
||||
[DF_ASState] = {DataFieldKind::Numeric, T_FIELD_ASSTATE, 1, 0,
|
||||
VEH_FIELD(as_state)},
|
||||
[DF_ActiveMission] = {DataFieldKind::Numeric, T_FIELD_ACTIVEMISSION, 1, 0,
|
||||
VEH_FIELD(active_mission)},
|
||||
[DF_R2DProgress] = {DataFieldKind::Numeric, T_FIELD_R2DPROGRESS, 1, 0,
|
||||
VEH_FIELD(r2d_progress)},
|
||||
[DF_INVLReady] = {DataFieldKind::Bool, T_FIELD_INVLREADY, 0, 0,
|
||||
[DF_TSState] = {DataFieldKind::Text, "TSSTATE", 1, 0, get_tsstate_text},
|
||||
[DF_ASState] = {DataFieldKind::Text, "ASSTATE", 1, 0, get_asstate_text},
|
||||
[DF_ActiveMission] = {DataFieldKind::Text, "MISSION", 1, 0,
|
||||
get_mission_text},
|
||||
[DF_R2DProgress] = {DataFieldKind::Text, "R2DPROG", 1, 0, get_r2dprog_text},
|
||||
[DF_INVLReady] = {DataFieldKind::Bool, "INVLRDY", 0, 0,
|
||||
VEH_BIT_FIELD(errors.invl_ready)},
|
||||
[DF_INVRReady] = {DataFieldKind::Bool, T_FIELD_INVRREADY, 0, 0,
|
||||
[DF_INVRReady] = {DataFieldKind::Bool, "INVRRDY", 0, 0,
|
||||
VEH_BIT_FIELD(errors.invr_ready)},
|
||||
[DF_SDC] = {DataFieldKind::Text, T_FIELD_SDC, 0, 0, get_sdc_text},
|
||||
[DF_ERR] = {DataFieldKind::Text, T_FIELD_ERR, 0, 0, get_err_text},
|
||||
[DF_IniChkState] = {DataFieldKind::Numeric, T_FIELD_INICHKSTATE, 1, 0,
|
||||
VEH_FIELD(ini_chk_state)},
|
||||
[DF_LapCount] = {DataFieldKind::Numeric, T_FIELD_LAPCOUNT, 3, 0,
|
||||
VEH_FIELD(lap_count)},
|
||||
[DF_TireTempFL] = {DataFieldKind::Numeric, T_FIELD_TIREFL, 2, 1,
|
||||
[DF_SDC] = {DataFieldKind::Text, "SDC", 0, 0, get_sdc_text},
|
||||
[DF_ERR] = {DataFieldKind::Text, "ERROR", 0, 0, get_err_text},
|
||||
[DF_IniChkState] = {DataFieldKind::Text, "ICSTATE", 1, 0, get_inichk_text},
|
||||
[DF_LapCount] = {DataFieldKind::Int, "LAPS", 3, 0, VEH_FIELD(lap_count)},
|
||||
[DF_TireTempFL] = {DataFieldKind::Float, "TTFL", 2, 1,
|
||||
VEH_FIELD(tire_temps.fl)},
|
||||
[DF_TireTempFR] = {DataFieldKind::Numeric, T_FIELD_TIREFR, 2, 1,
|
||||
[DF_TireTempFR] = {DataFieldKind::Float, "TTFR", 2, 1,
|
||||
VEH_FIELD(tire_temps.fr)},
|
||||
[DF_TireTempRL] = {DataFieldKind::Numeric, T_FIELD_TIRERL, 2, 1,
|
||||
[DF_TireTempRL] = {DataFieldKind::Float, "TTRL", 2, 1,
|
||||
VEH_FIELD(tire_temps.rl)},
|
||||
[DF_TireTempRR] = {DataFieldKind::Numeric, T_FIELD_TIRERR, 2, 1,
|
||||
[DF_TireTempRR] = {DataFieldKind::Float, "TTRR", 2, 1,
|
||||
VEH_FIELD(tire_temps.rr)},
|
||||
[DF_MinCellVolt] = {DataFieldKind::Numeric, T_FIELD_MINCELLVOLT, 1, 2,
|
||||
[DF_MinCellVolt] = {DataFieldKind::Float, "VMIN", 1, 2,
|
||||
VEH_FIELD(min_cell_volt)},
|
||||
[DF_MaxCellTemp] = {DataFieldKind::Numeric, T_FIELD_MAXCELLTEMP, 2, 1,
|
||||
[DF_MaxCellTemp] = {DataFieldKind::Float, "TMAX", 2, 1,
|
||||
VEH_FIELD(max_cell_temp)},
|
||||
[DF_TSSoC] = {DataFieldKind::Numeric, T_FIELD_TSSOC, 3, 0, VEH_FIELD(soc)},
|
||||
[DF_LVSoC] = {DataFieldKind::Numeric, T_FIELD_LVSOC, 3, 0, get_zero},
|
||||
[DF_TSCurrent] = {DataFieldKind::Numeric, T_FIELD_TSCURRENT, 3, 0,
|
||||
VEH_FIELD(ts_current)},
|
||||
[DF_TSVoltageBat] = {DataFieldKind::Numeric, T_FIELD_TSVOLTBAT, 3, 1,
|
||||
[DF_TSSoC] = {DataFieldKind::Int, "TSSOC", 3, 0, VEH_FIELD(soc)},
|
||||
[DF_LVSoC] = {DataFieldKind::Float, "LVSOC", 3, 0, get_zero},
|
||||
[DF_TSCurrent] = {DataFieldKind::Float, "ITS", 3, 0, VEH_FIELD(ts_current)},
|
||||
[DF_TSVoltageBat] = {DataFieldKind::Float, "TSVBAT", 3, 1,
|
||||
VEH_FIELD(ts_voltage_bat)},
|
||||
[DF_TSVoltageVeh] = {DataFieldKind::Numeric, T_FIELD_TSVOLTVEH, 3, 1,
|
||||
[DF_TSVoltageVeh] = {DataFieldKind::Float, "TSVVEH", 3, 1,
|
||||
VEH_FIELD(ts_voltage_veh)},
|
||||
[DF_Speed] = {DataFieldKind::Numeric, T_FIELD_SPEED, 3, 0, get_zero},
|
||||
[DF_BBal] = {DataFieldKind::Numeric, T_FIELD_BBAL, 3, 1, get_zero},
|
||||
[DF_Speed] = {DataFieldKind::Float, "SPEED", 3, 0, get_zero},
|
||||
[DF_BBal] = {DataFieldKind::Float, "BBAL", 3, 1, get_zero},
|
||||
};
|
||||
|
||||
static_assert(sizeof(dataFieldDescs) / sizeof(dataFieldDescs[0]) ==
|
||||
DataFieldType_COUNT,
|
||||
"Incorrect number of data field descriptions");
|
||||
|
||||
void DataField::setType(DataFieldType type) {
|
||||
this->type = type;
|
||||
desc = &dataFieldDescs[type];
|
||||
|
||||
touchgfx::Unicode::strncpy(titleBuffer, desc->title,
|
||||
sizeof(titleBuffer) / sizeof(*titleBuffer));
|
||||
titleBufferUpdated();
|
||||
|
||||
typeUpdated();
|
||||
updateValue();
|
||||
}
|
||||
|
||||
void DataField::updateValue() {
|
||||
void *val = desc->getValue();
|
||||
switch (desc->kind) {
|
||||
case DataFieldKind::Float:
|
||||
setFloatValue(*static_cast<float *>(val));
|
||||
break;
|
||||
case DataFieldKind::Bool:
|
||||
setBoolValue(*static_cast<int *>(val));
|
||||
break;
|
||||
case DataFieldKind::Text:
|
||||
setStrValue(static_cast<const char *>(val));
|
||||
break;
|
||||
case DataFieldKind::Int:
|
||||
setIntValue(*static_cast<int *>(val));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void DataField::setFloatValue(float floatValue) {
|
||||
fieldValue.f = floatValue;
|
||||
updateValueBuffer();
|
||||
}
|
||||
|
||||
void DataField::setBoolValue(int boolValue) {
|
||||
fieldValue.b = boolValue;
|
||||
updateValueBuffer();
|
||||
}
|
||||
|
||||
void DataField::setIntValue(int intValue) {
|
||||
fieldValue.i = intValue;
|
||||
updateValueBuffer();
|
||||
}
|
||||
|
||||
void DataField::setStrValue(const char *strValue) {
|
||||
touchgfx::Unicode::strncpy(valueBuffer, strValue,
|
||||
sizeof(valueBuffer) / sizeof(*valueBuffer));
|
||||
updateValueBuffer();
|
||||
}
|
||||
|
||||
void DataField::updateValueBuffer() {
|
||||
switch (desc->kind) {
|
||||
case DataFieldKind::Float: {
|
||||
size_t width = desc->int_digits;
|
||||
if (desc->decimal_digits != 0) {
|
||||
width += desc->decimal_digits + 1; // 1 digit for the decimal point
|
||||
}
|
||||
float params[3] = {(float)width, (float)desc->decimal_digits, fieldValue.f};
|
||||
touchgfx::Unicode::snprintfFloats(
|
||||
valueBuffer, sizeof(valueBuffer) / sizeof(*valueBuffer), "%*.*f",
|
||||
params);
|
||||
break;
|
||||
}
|
||||
case DataFieldKind::Bool: {
|
||||
const char *str = fieldValue.b ? "YES" : "NO";
|
||||
touchgfx::Unicode::strncpy(valueBuffer, str,
|
||||
sizeof(valueBuffer) / sizeof(*valueBuffer));
|
||||
break;
|
||||
}
|
||||
case DataFieldKind::Text:
|
||||
// This is handled by the child class in setValue()
|
||||
break;
|
||||
case DataFieldKind::Int:
|
||||
touchgfx::Unicode::snprintf(valueBuffer,
|
||||
sizeof(valueBuffer) / sizeof(*valueBuffer),
|
||||
"%*d", desc->int_digits, fieldValue.i);
|
||||
break;
|
||||
}
|
||||
valueBufferUpdated();
|
||||
}
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
#include <gui/containers/DebugViewItem.hpp>
|
||||
|
||||
DebugViewItem::DebugViewItem() {}
|
||||
|
||||
void DebugViewItem::initialize() { DebugViewItemBase::initialize(); }
|
||||
|
||||
void DebugViewItem::typeUpdated() {
|
||||
// We don't really need to do anything
|
||||
}
|
||||
|
||||
void DebugViewItem::titleBufferUpdated() {
|
||||
label.setWildcard(titleBuffer);
|
||||
label.invalidate();
|
||||
}
|
||||
|
||||
void DebugViewItem::valueBufferUpdated() {
|
||||
value.setWildcard(valueBuffer);
|
||||
value.invalidate();
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
#include "gui/common/DataField.hpp"
|
||||
#include "touchgfx/Color.hpp"
|
||||
#include <gui/containers/DebugViewLine.hpp>
|
||||
|
||||
DebugViewLine::DebugViewLine() : fields{&item1, &item2} {}
|
||||
|
||||
void DebugViewLine::initialize() { DebugViewLineBase::initialize(); }
|
||||
|
||||
void DebugViewLine::setFieldType(size_t i, DataFieldType type) {
|
||||
assert(i < NUM_FIELDS);
|
||||
fields[i]->setType(type);
|
||||
}
|
||||
|
||||
void DebugViewLine::setFieldVisible(size_t i, int visible) {
|
||||
fields[i]->setVisible(visible);
|
||||
fields[i]->invalidate();
|
||||
}
|
||||
|
||||
void DebugViewLine::updateFieldValues() {
|
||||
for (size_t i = 0; i < NUM_FIELDS; i++) {
|
||||
fields[i]->updateValue();
|
||||
}
|
||||
}
|
||||
|
||||
void DebugViewLine::setLightBG(int light) {
|
||||
uint8_t val = light ? 0x33 : 0x00;
|
||||
bg.setColor(Color::getColorFromRGB(val, val, val));
|
||||
bg.invalidate();
|
||||
}
|
|
@ -1,79 +1,40 @@
|
|||
#include "gui/common/DataField.hpp"
|
||||
#include "texts/TextKeysAndLanguages.hpp"
|
||||
#include "touchgfx/Color.hpp"
|
||||
#include "touchgfx/TypedText.hpp"
|
||||
#include "touchgfx/Unicode.hpp"
|
||||
#include <gui/containers/DriverViewField.hpp>
|
||||
|
||||
DriverViewField::DriverViewField()
|
||||
: intDigits{0}, decimalDigits{0}, floatValue{0}, boolValue{0} {}
|
||||
DriverViewField::DriverViewField() {}
|
||||
|
||||
void DriverViewField::initialize() { DriverViewFieldBase::initialize(); }
|
||||
|
||||
void DriverViewField::setType(const DataFieldDescription &desc) {
|
||||
title.setTypedText(desc.title);
|
||||
title.invalidate();
|
||||
fieldKind = desc.kind;
|
||||
switch (desc.kind) {
|
||||
case DataFieldKind::Numeric:
|
||||
value.setTypedText(T_NUMBERWILDCARD);
|
||||
break;
|
||||
case DataFieldKind::Bool:
|
||||
case DataFieldKind::Text:
|
||||
value.setTypedText(T_DEFAULTWILDCARD);
|
||||
break;
|
||||
}
|
||||
intDigits = desc.int_digits;
|
||||
decimalDigits = desc.decimal_digits;
|
||||
updateValueBuffer();
|
||||
}
|
||||
|
||||
void DriverViewField::setValue(float newValue) {
|
||||
floatValue = newValue;
|
||||
updateValueBuffer();
|
||||
}
|
||||
|
||||
void DriverViewField::setValue(const char *str) {
|
||||
Unicode::strncpy(valueBuffer, str,
|
||||
sizeof(valueBuffer) / sizeof(Unicode::UnicodeChar));
|
||||
value.setWildcard(valueBuffer);
|
||||
value.invalidate();
|
||||
}
|
||||
|
||||
void DriverViewField::setValue(int boolValue) {
|
||||
this->boolValue = boolValue;
|
||||
updateValueBuffer();
|
||||
}
|
||||
|
||||
void DriverViewField::setSelected(int selected) {
|
||||
uint8_t v = selected ? 0x44 : 0x00;
|
||||
box.setColor(touchgfx::Color::getColorFromRGB(v, v, v));
|
||||
box.invalidate();
|
||||
}
|
||||
|
||||
void DriverViewField::updateValueBuffer() {
|
||||
switch (fieldKind) {
|
||||
case DataFieldKind::Numeric: {
|
||||
size_t width = intDigits;
|
||||
if (decimalDigits != 0) {
|
||||
width += decimalDigits + 1; // 1 digit for the decimal point
|
||||
}
|
||||
float params[3] = {(float)width, (float)decimalDigits, floatValue};
|
||||
Unicode::snprintfFloats(valueBuffer,
|
||||
sizeof(valueBuffer) / sizeof(Unicode::UnicodeChar),
|
||||
"%*.*f", params);
|
||||
value.setWildcard(valueBuffer);
|
||||
void DriverViewField::typeUpdated() {
|
||||
switch (desc->kind) {
|
||||
case DataFieldKind::Float:
|
||||
case DataFieldKind::Int:
|
||||
value.setTypedText(T_NUMBERWILDCARD);
|
||||
break;
|
||||
}
|
||||
case DataFieldKind::Bool: {
|
||||
const char *str = boolValue ? "YES" : "NO";
|
||||
Unicode::strncpy(valueBuffer, str,
|
||||
sizeof(valueBuffer) / sizeof(valueBuffer[0]));
|
||||
value.setWildcard(valueBuffer);
|
||||
break;
|
||||
}
|
||||
case DataFieldKind::Bool:
|
||||
case DataFieldKind::Text:
|
||||
// This is updated directly in setValue()
|
||||
value.setTypedText(T_DEFAULTWILDCARD_CENTERED);
|
||||
break;
|
||||
}
|
||||
value.invalidate();
|
||||
}
|
||||
|
||||
void DriverViewField::titleBufferUpdated() {
|
||||
title.setWildcard(titleBuffer);
|
||||
title.invalidate();
|
||||
}
|
||||
|
||||
void DriverViewField::valueBufferUpdated() {
|
||||
value.setWildcard(valueBuffer);
|
||||
value.invalidate();
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "touchgfx/Color.hpp"
|
||||
#include "touchgfx/Unicode.hpp"
|
||||
#include <gui/containers/DriverViewFieldSelection.hpp>
|
||||
|
||||
DriverViewFieldSelection::DriverViewFieldSelection() {}
|
||||
|
@ -7,8 +8,10 @@ void DriverViewFieldSelection::initialize() {
|
|||
DriverViewFieldSelectionBase::initialize();
|
||||
}
|
||||
|
||||
void DriverViewFieldSelection::setName(const touchgfx::TypedText &name) {
|
||||
this->name.setTypedText(name);
|
||||
void DriverViewFieldSelection::setName(const char *name) {
|
||||
Unicode::strncpy(nameBuffer, name, sizeof(nameBuffer) / sizeof(*nameBuffer));
|
||||
this->name.setWildcard(nameBuffer);
|
||||
this->name.invalidate();
|
||||
}
|
||||
|
||||
void DriverViewFieldSelection::setSelected(int selected) {
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
#include <gui/debugview_screen/DebugViewPresenter.hpp>
|
||||
#include <gui/debugview_screen/DebugViewView.hpp>
|
||||
|
||||
|
||||
DebugViewPresenter::DebugViewPresenter(DebugViewView &v) : view(v) {}
|
||||
|
||||
void DebugViewPresenter::activate() {}
|
||||
|
||||
void DebugViewPresenter::deactivate() {}
|
||||
|
||||
void DebugViewPresenter::vehicleStateUpdated() { view.updateFieldValues(); }
|
|
@ -0,0 +1,34 @@
|
|||
#include "gui/common/DataField.hpp"
|
||||
#include <gui/debugview_screen/DebugViewView.hpp>
|
||||
|
||||
DebugViewView::DebugViewView() {}
|
||||
|
||||
void DebugViewView::setupScreen() {
|
||||
DebugViewViewBase::setupScreen();
|
||||
size_t numItems = DataFieldType_COUNT / 2;
|
||||
if (DataFieldType_COUNT % 2 == 1) {
|
||||
numItems++;
|
||||
}
|
||||
list.setNumberOfItems(numItems);
|
||||
}
|
||||
|
||||
void DebugViewView::tearDownScreen() { DebugViewViewBase::tearDownScreen(); }
|
||||
|
||||
void DebugViewView::listUpdateItem(DebugViewLine &line, int16_t itemIndex) {
|
||||
size_t idx = itemIndex * 2;
|
||||
line.setFieldType(0, static_cast<DataFieldType>(idx));
|
||||
idx++;
|
||||
if (idx < DataFieldType_COUNT) {
|
||||
line.setFieldType(1, static_cast<DataFieldType>(idx));
|
||||
line.setFieldVisible(1, true);
|
||||
} else {
|
||||
line.setFieldVisible(1, false);
|
||||
}
|
||||
line.setLightBG(itemIndex % 2 == 1);
|
||||
}
|
||||
|
||||
void DebugViewView::updateFieldValues() {
|
||||
for (DebugViewLine &el : listListItems.element) {
|
||||
el.updateFieldValues();
|
||||
}
|
||||
}
|
|
@ -9,7 +9,7 @@ DriverViewPresenter::DriverViewPresenter(DriverViewView &v)
|
|||
|
||||
void DriverViewPresenter::activate() {
|
||||
for (size_t i = 0; i < 3; i++) {
|
||||
view.setFieldType(i, dataFieldDescs[fields[i]]);
|
||||
view.setFieldType(i, fields[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -19,19 +19,10 @@ void DriverViewPresenter::vehicleStateUpdated() {
|
|||
view.setTireTemps(vehicle_state.tire_temps);
|
||||
view.setTSSoC(vehicle_state.soc);
|
||||
|
||||
for (size_t i = 0; i < 3; i++) {
|
||||
DataFieldType field = fields[i];
|
||||
// void *val = dataFieldDescs[field].getValue();
|
||||
// switch (dataFieldDescs[field].kind) {
|
||||
// case DataFieldKind::Numeric:
|
||||
// view.setFieldValue(i, *((float *)val));
|
||||
// break;
|
||||
// case DataFieldKind::Bool:
|
||||
// view.setFieldValue(i, *((int *)val));
|
||||
// break;
|
||||
// case DataFieldKind::Text:
|
||||
// view.setFieldValue(i, (const char *)val);
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
view.updateFieldValues();
|
||||
}
|
||||
|
||||
void DriverViewPresenter::setFieldType(size_t i, DataFieldType type) {
|
||||
fields[i] = type;
|
||||
view.setFieldType(i, type);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
#include "gui/common/DataField.hpp"
|
||||
#include "gui/containers/DriverViewField.hpp"
|
||||
#include "gui/driverview_screen/DriverViewPresenter.hpp"
|
||||
#include "texts/TextKeysAndLanguages.hpp"
|
||||
#include <gui/driverview_screen/DriverViewView.hpp>
|
||||
#include <stddef.h>
|
||||
|
||||
DriverViewView::DriverViewView()
|
||||
: fieldTypes{DF_MinCellVolt, DF_Speed, DF_TSCurrent} {}
|
||||
|
@ -9,7 +11,7 @@ DriverViewView::DriverViewView()
|
|||
void DriverViewView::setupScreen() {
|
||||
DriverViewViewBase::setupScreen();
|
||||
for (size_t i = 0; i < NUM_FIELDS; i++) {
|
||||
getField(i).setType(dataFieldDescs[fieldTypes[i]]);
|
||||
getField(i).setType(fieldTypes[i]);
|
||||
}
|
||||
fieldTypeSelection.setNumberOfItems(DataFieldType_COUNT);
|
||||
}
|
||||
|
@ -22,20 +24,14 @@ void DriverViewView::fieldTypeSelectionUpdateItem(
|
|||
item.setSelected(itemIndex == selectedFieldType);
|
||||
}
|
||||
|
||||
void DriverViewView::setFieldType(size_t i, const DataFieldDescription &desc) {
|
||||
getField(i).setType(desc);
|
||||
void DriverViewView::setFieldType(size_t i, DataFieldType type) {
|
||||
getField(i).setType(type);
|
||||
}
|
||||
|
||||
void DriverViewView::setFieldValue(size_t i, float value) {
|
||||
getField(i).setValue(value);
|
||||
}
|
||||
|
||||
void DriverViewView::setFieldValue(size_t i, const char *value) {
|
||||
getField(i).setValue(value);
|
||||
}
|
||||
|
||||
void DriverViewView::setFieldValue(size_t i, int value) {
|
||||
getField(i).setValue(value);
|
||||
void DriverViewView::updateFieldValues() {
|
||||
for (size_t i = 0; i < NUM_FIELDS; i++) {
|
||||
getField(i).updateValue();
|
||||
}
|
||||
}
|
||||
|
||||
void DriverViewView::setTireTemps(const TireTemps &temps) {
|
||||
|
@ -53,6 +49,7 @@ void DriverViewView::setTSSoC(uint8_t soc) {
|
|||
void DriverViewView::selectNextField() {
|
||||
if (!fieldTypeSelection.isVisible()) {
|
||||
fieldTypeSelection.setVisible(true);
|
||||
fieldTypeSelection.invalidate();
|
||||
updateSelectedField(0);
|
||||
} else {
|
||||
updateSelectedField((selectedField + 1) % NUM_FIELDS);
|
||||
|
@ -62,6 +59,7 @@ void DriverViewView::selectNextField() {
|
|||
void DriverViewView::selectPrevField() {
|
||||
if (!fieldTypeSelection.isVisible()) {
|
||||
fieldTypeSelection.setVisible(true);
|
||||
fieldTypeSelection.invalidate();
|
||||
updateSelectedField(NUM_FIELDS - 1);
|
||||
} else {
|
||||
if (selectedField == 0) {
|
||||
|
@ -98,10 +96,12 @@ void DriverViewView::confirmFieldType() {
|
|||
}
|
||||
|
||||
DriverViewField &field = getField(selectedField);
|
||||
field.setType(dataFieldDescs[selectedFieldType]);
|
||||
presenter->setFieldType(selectedField,
|
||||
static_cast<DataFieldType>(selectedFieldType));
|
||||
field.setSelected(false);
|
||||
fieldTypes[selectedField] = static_cast<DataFieldType>(selectedFieldType);
|
||||
fieldTypeSelection.setVisible(false);
|
||||
fieldTypeSelection.invalidate();
|
||||
}
|
||||
|
||||
DriverViewField &DriverViewView::getField(size_t i) {
|
||||
|
@ -115,11 +115,6 @@ DriverViewField &DriverViewView::getField(size_t i) {
|
|||
}
|
||||
}
|
||||
|
||||
DriverViewFieldSelection *DriverViewView::getFieldType(size_t i) {
|
||||
return static_cast<DriverViewFieldSelection *>(
|
||||
fieldTypeSelectionListItems.getDrawable(i));
|
||||
}
|
||||
|
||||
void DriverViewView::updateSelectedField(size_t selected) {
|
||||
getField(selectedField).setSelected(false);
|
||||
DriverViewField &field = getField(selected);
|
||||
|
|
|
@ -39,6 +39,13 @@
|
|||
<ClCompile Include="..\..\gui\src\common\DataField.cpp"/>
|
||||
<ClCompile Include="..\..\gui\src\containers\DriverViewFieldSelection.cpp"/>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\containers\DriverViewFieldSelectionBase.cpp"/>
|
||||
<ClCompile Include="..\..\gui\src\containers\DebugViewItem.cpp"/>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\containers\DebugViewItemBase.cpp"/>
|
||||
<ClCompile Include="..\..\gui\src\debugview_screen\DebugViewPresenter.cpp"/>
|
||||
<ClCompile Include="..\..\gui\src\debugview_screen\DebugViewView.cpp"/>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\debugview_screen\DebugViewViewBase.cpp"/>
|
||||
<ClCompile Include="..\..\gui\src\containers\DebugViewLine.cpp"/>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\containers\DebugViewLineBase.cpp"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="$(ApplicationRoot)\assets\texts\texts.xml"/>
|
||||
|
@ -207,6 +214,13 @@
|
|||
<ClInclude Include="..\..\gui\include\gui\common\DataField.hpp"/>
|
||||
<ClInclude Include="..\..\gui\include\gui\containers\DriverViewFieldSelection.hpp"/>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\DriverViewFieldSelectionBase.hpp"/>
|
||||
<ClInclude Include="..\..\gui\include\gui\containers\DebugViewItem.hpp"/>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\DebugViewItemBase.hpp"/>
|
||||
<ClInclude Include="..\..\gui\include\gui\debugview_screen\DebugViewPresenter.hpp"/>
|
||||
<ClInclude Include="..\..\gui\include\gui\debugview_screen\DebugViewView.hpp"/>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\debugview_screen\DebugViewViewBase.hpp"/>
|
||||
<ClInclude Include="..\..\gui\include\gui\containers\DebugViewLine.hpp"/>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\DebugViewLineBase.hpp"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc"/>
|
||||
|
|
|
@ -220,6 +220,18 @@
|
|||
<Filter Include="Source Files\generated\gui_generated\driverview_screen">
|
||||
<UniqueIdentifier>B2E02187-8256-B0BB-0B38-41E0CEB82DC4</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\gui\debugview_screen">
|
||||
<UniqueIdentifier>9C41F5A3-1862-77F5-FFA6-73C00C1091C0</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\gui\debugview_screen">
|
||||
<UniqueIdentifier>6BEE44E9-1803-AA97-5B96-A16955B2A089</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\generated\gui_generated\debugview_screen">
|
||||
<UniqueIdentifier>1B9E4F5D-C4C8-78A8-AA28-0515479B020E</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\generated\gui_generated\debugview_screen">
|
||||
<UniqueIdentifier>3CC29751-0B47-BADD-4836-593204B16ED3</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(TouchGFXReleasePath)\framework\source\platform\driver\touch\SDL2TouchController.cpp">
|
||||
|
@ -306,6 +318,27 @@
|
|||
<ClCompile Include="..\..\generated\gui_generated\src\containers\DriverViewFieldSelectionBase.cpp">
|
||||
<Filter>Source Files\generated\gui_generated\containers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\gui\src\containers\DebugViewItem.cpp">
|
||||
<Filter>Source Files\gui\containers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\containers\DebugViewItemBase.cpp">
|
||||
<Filter>Source Files\generated\gui_generated\containers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\gui\src\debugview_screen\DebugViewPresenter.cpp">
|
||||
<Filter>Source Files\gui\debugview_screen</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\gui\src\debugview_screen\DebugViewView.cpp">
|
||||
<Filter>Source Files\gui\debugview_screen</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\debugview_screen\DebugViewViewBase.cpp">
|
||||
<Filter>Source Files\generated\gui_generated\debugview_screen</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\gui\src\containers\DebugViewLine.cpp">
|
||||
<Filter>Source Files\gui\containers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\containers\DebugViewLineBase.cpp">
|
||||
<Filter>Source Files\generated\gui_generated\containers</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="$(ApplicationRoot)\assets\texts\texts.xml">
|
||||
|
@ -802,6 +835,27 @@
|
|||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\DriverViewFieldSelectionBase.hpp">
|
||||
<Filter>Header Files\generated\gui_generated\containers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\gui\include\gui\containers\DebugViewItem.hpp">
|
||||
<Filter>Header Files\gui\containers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\DebugViewItemBase.hpp">
|
||||
<Filter>Header Files\generated\gui_generated\containers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\gui\include\gui\debugview_screen\DebugViewPresenter.hpp">
|
||||
<Filter>Header Files\gui\debugview_screen</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\gui\include\gui\debugview_screen\DebugViewView.hpp">
|
||||
<Filter>Header Files\gui\debugview_screen</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\debugview_screen\DebugViewViewBase.hpp">
|
||||
<Filter>Header Files\generated\gui_generated\debugview_screen</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\gui\include\gui\containers\DebugViewLine.hpp">
|
||||
<Filter>Header Files\gui\containers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\DebugViewLineBase.hpp">
|
||||
<Filter>Header Files\generated\gui_generated\containers</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc">
|
||||
|
|
|
@ -167,6 +167,18 @@
|
|||
"ScreenTransitionType": "ScreenTransitionNone",
|
||||
"ActionComponent": "DriverView"
|
||||
}
|
||||
},
|
||||
{
|
||||
"InteractionName": "DummyChangeDebugView",
|
||||
"Trigger": {
|
||||
"Type": "TriggerPhysicalButtonClicked",
|
||||
"ButtonKey": 252
|
||||
},
|
||||
"Action": {
|
||||
"Type": "ActionGotoScreen",
|
||||
"ScreenTransitionType": "ScreenTransitionNone",
|
||||
"ActionComponent": "DebugView"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -478,6 +490,42 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "DebugView",
|
||||
"CanvasBufferSize": 7200,
|
||||
"Components": [
|
||||
{
|
||||
"Type": "ScrollList",
|
||||
"Name": "list",
|
||||
"Y": 4,
|
||||
"Width": 480,
|
||||
"Height": 312,
|
||||
"IsCircular": true,
|
||||
"ItemTemplateName": "DebugViewLine",
|
||||
"NumberofItems": 1,
|
||||
"Easing": "Back",
|
||||
"EasingOption": "Out",
|
||||
"SwipeAcceleration": 1.0,
|
||||
"DragAcceleration": 1.0
|
||||
},
|
||||
{
|
||||
"Type": "Line",
|
||||
"Name": "line1",
|
||||
"Y": 3,
|
||||
"Width": 480,
|
||||
"Height": 1,
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
},
|
||||
"EndX": 480.0,
|
||||
"LineWidth": 10.0,
|
||||
"LineEndingStyle": "Round"
|
||||
}
|
||||
],
|
||||
"Interactions": []
|
||||
}
|
||||
],
|
||||
"CustomContainerDefinitions": [
|
||||
|
@ -584,13 +632,14 @@
|
|||
"Name": "title",
|
||||
"Width": 160,
|
||||
"Height": 25,
|
||||
"TextId": "__SingleUse_0FBJ",
|
||||
"TextId": "DriverViewField_Title",
|
||||
"TextRotation": "0",
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
}
|
||||
},
|
||||
"Wildcard1": {}
|
||||
},
|
||||
{
|
||||
"Type": "TextArea",
|
||||
|
@ -633,13 +682,14 @@
|
|||
"Name": "name",
|
||||
"Width": 160,
|
||||
"Height": 25,
|
||||
"TextId": "__SingleUse_PNKR",
|
||||
"TextId": "DriverViewField_Title",
|
||||
"TextRotation": "0",
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
}
|
||||
},
|
||||
"Wildcard1": {}
|
||||
},
|
||||
{
|
||||
"Type": "Line",
|
||||
|
@ -687,6 +737,107 @@
|
|||
}
|
||||
],
|
||||
"Interactions": []
|
||||
},
|
||||
{
|
||||
"Name": "DebugViewLine",
|
||||
"X": -80,
|
||||
"Y": 80,
|
||||
"Width": 480,
|
||||
"Height": 26,
|
||||
"Components": [
|
||||
{
|
||||
"Type": "Box",
|
||||
"Name": "bg",
|
||||
"Width": 480,
|
||||
"Height": 26
|
||||
},
|
||||
{
|
||||
"Type": "Line",
|
||||
"Name": "line1",
|
||||
"X": 240,
|
||||
"Width": 1,
|
||||
"Height": 26,
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
},
|
||||
"EndY": 26.0,
|
||||
"LineWidth": 10.0,
|
||||
"LineEndingStyle": "Round"
|
||||
},
|
||||
{
|
||||
"Type": "Line",
|
||||
"Name": "line2",
|
||||
"Y": 25,
|
||||
"Width": 480,
|
||||
"Height": 1,
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
},
|
||||
"EndX": 480.0,
|
||||
"LineWidth": 10.0,
|
||||
"LineEndingStyle": "Round"
|
||||
},
|
||||
{
|
||||
"Type": "CustomContainerInstance",
|
||||
"Name": "item1",
|
||||
"Width": 240,
|
||||
"Height": 26,
|
||||
"CustomContainerDefinitionName": "DebugViewItem"
|
||||
},
|
||||
{
|
||||
"Type": "CustomContainerInstance",
|
||||
"Name": "item2",
|
||||
"X": 240,
|
||||
"Width": 240,
|
||||
"Height": 26,
|
||||
"CustomContainerDefinitionName": "DebugViewItem"
|
||||
}
|
||||
],
|
||||
"Interactions": []
|
||||
},
|
||||
{
|
||||
"Name": "DebugViewItem",
|
||||
"X": 40,
|
||||
"Y": 227,
|
||||
"Width": 240,
|
||||
"Height": 26,
|
||||
"Components": [
|
||||
{
|
||||
"Type": "TextArea",
|
||||
"Name": "label",
|
||||
"X": 5,
|
||||
"Width": 105,
|
||||
"Height": 25,
|
||||
"TextId": "DebugViewField_Title",
|
||||
"TextRotation": "0",
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
},
|
||||
"Wildcard1": {}
|
||||
},
|
||||
{
|
||||
"Type": "TextArea",
|
||||
"Name": "value",
|
||||
"X": 110,
|
||||
"Width": 125,
|
||||
"Height": 25,
|
||||
"TextId": "DefaultWildcard_RightAligned",
|
||||
"TextRotation": "0",
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
},
|
||||
"Wildcard1": {}
|
||||
}
|
||||
],
|
||||
"Interactions": []
|
||||
}
|
||||
],
|
||||
"Name": "MyApplication",
|
||||
|
@ -695,7 +846,7 @@
|
|||
"Height": 480
|
||||
},
|
||||
"SelectedColorDepth": 16,
|
||||
"StartupScreenName": "DriverView",
|
||||
"StartupScreenName": "MissionSelect",
|
||||
"SelectedStartupLanguage": "GB",
|
||||
"TouchGfxPath": "../Middlewares/ST/touchgfx",
|
||||
"UIPath": ".",
|
||||
|
|
Loading…
Reference in New Issue