Display R2D progress
This commit is contained in:
		@ -137,6 +137,9 @@
 | 
			
		||||
      </Text>
 | 
			
		||||
    </TextGroup>
 | 
			
		||||
    <TextGroup Id="Unsorted">
 | 
			
		||||
      <Text Id="__SingleUse_NGUK" Alignment="Left" TypographyId="Chinat_Large">
 | 
			
		||||
        <Translation Language="GB">R2D [<value>/8]</Translation>
 | 
			
		||||
      </Text>
 | 
			
		||||
      <Text Id="__SingleUse_4E84" Alignment="Right" TypographyId="Numbers">
 | 
			
		||||
        <Translation Language="GB"><value></Translation>
 | 
			
		||||
      </Text>
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,6 @@
 | 
			
		||||
32
 | 
			
		||||
45
 | 
			
		||||
47
 | 
			
		||||
48
 | 
			
		||||
49
 | 
			
		||||
50
 | 
			
		||||
@ -38,6 +39,8 @@
 | 
			
		||||
88
 | 
			
		||||
89
 | 
			
		||||
90
 | 
			
		||||
91
 | 
			
		||||
93
 | 
			
		||||
97
 | 
			
		||||
98
 | 
			
		||||
99
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,7 @@
 | 
			
		||||
AH:0 BA:1 FC:63 EC:0 FF:0 CF:0
 | 
			
		||||
32
 | 
			
		||||
45
 | 
			
		||||
47
 | 
			
		||||
48
 | 
			
		||||
49
 | 
			
		||||
50
 | 
			
		||||
@ -39,6 +40,8 @@ AH:0 BA:1 FC:63 EC:0 FF:0 CF:0
 | 
			
		||||
88
 | 
			
		||||
89
 | 
			
		||||
90
 | 
			
		||||
91
 | 
			
		||||
93
 | 
			
		||||
97
 | 
			
		||||
98
 | 
			
		||||
99
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,21 @@ KEEP extern const uint8_t unicodes_CHINN____30_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
 | 
			
		||||
    0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF3, 0xFF,
 | 
			
		||||
    0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF3, 0xFF, 0xFF, 0xFF,
 | 
			
		||||
    0xFF, 0xFF, 0x08,
 | 
			
		||||
    // Unicode: [0x002F, slash]
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x40, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE1, 0xFF, 0xFF, 0x9F,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0xFF, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x60, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE2, 0xFF, 0xFF, 0x7F,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x80, 0xFF, 0xFF, 0xEF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0xFF, 0xFF, 0x6F,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFD, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xA0, 0xFF, 0xFF, 0xDF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0x4F,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFE, 0xFF, 0xFF, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xC0, 0xFF, 0xFF, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x2E,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xD1, 0xFF, 0xFF, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0xFF, 0x1E,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xE2, 0xFF, 0xFF, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    // Unicode: [0x0030, zero]
 | 
			
		||||
    0x00, 0x00, 0xA5, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x29, 0x00, 0x00, 0x00,
 | 
			
		||||
    0xC2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x10, 0xFD,
 | 
			
		||||
@ -733,6 +748,26 @@ KEEP extern const uint8_t unicodes_CHINN____30_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
 | 
			
		||||
    0x1F, 0x00, 0x00, 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
			
		||||
    0xFF, 0x1F, 0x00, 0x00, 0x40, 0xEA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
			
		||||
    0xFF, 0xFF, 0x1F, 0x00,
 | 
			
		||||
    // Unicode: [0x005B, bracketleft]
 | 
			
		||||
    0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0xF1, 0xFF, 0xFF, 0xFF,
 | 
			
		||||
    0xFF, 0x02, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0xF1, 0xFF, 0xFF, 0x44, 0x44, 0x01, 0xF1, 0xFF,
 | 
			
		||||
    0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00,
 | 
			
		||||
    0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00,
 | 
			
		||||
    0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF,
 | 
			
		||||
    0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00,
 | 
			
		||||
    0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00,
 | 
			
		||||
    0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0xF1, 0xFF,
 | 
			
		||||
    0xFF, 0xFF, 0xFF, 0x02, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x02,
 | 
			
		||||
    0x30, 0x33, 0x33, 0x33, 0x33, 0x00,
 | 
			
		||||
    // Unicode: [0x005D, bracketright]
 | 
			
		||||
    0xFB, 0xFF, 0xFF, 0xFF, 0x8F, 0xFB, 0xFF, 0xFF, 0xFF, 0x8F, 0xFB, 0xFF, 0xFF, 0xFF, 0x8F, 0xFB,
 | 
			
		||||
    0xFF, 0xFF, 0xFF, 0x8F, 0x43, 0x44, 0xFA, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00,
 | 
			
		||||
    0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8,
 | 
			
		||||
    0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF,
 | 
			
		||||
    0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F,
 | 
			
		||||
    0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00,
 | 
			
		||||
    0x00, 0xF8, 0xFF, 0x8F, 0xFB, 0xFF, 0xFF, 0xFF, 0x8F, 0xFB, 0xFF, 0xFF, 0xFF, 0x8F, 0xFB, 0xFF,
 | 
			
		||||
    0xFF, 0xFF, 0x8F, 0xFB, 0xFF, 0xFF, 0xFF, 0x8F, 0x43, 0x44, 0x44, 0x44, 0x24,
 | 
			
		||||
    // Unicode: [0x0061, a]
 | 
			
		||||
    0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x03, 0x00, 0x80,
 | 
			
		||||
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0x00, 0x80, 0xFF,
 | 
			
		||||
 | 
			
		||||
@ -6,70 +6,73 @@ FONT_TABLE_LOCATION_FLASH_PRAGMA
 | 
			
		||||
KEEP extern const touchgfx::GlyphNode glyphs_CHINN____30_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = {
 | 
			
		||||
    {     0, 0x0020,   0,   0,   0,   0,   8,   0,   0, 0x00 }, // space
 | 
			
		||||
    {     0, 0x002D,  13,   5,  12,   0,  13,   0,   0, 0x00 }, // hyphen
 | 
			
		||||
    {    35, 0x0030,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // zero
 | 
			
		||||
    {   335, 0x0031,  14,  20,  20,   5,  30,   0,   0, 0x00 }, // one
 | 
			
		||||
    {   475, 0x0032,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // two
 | 
			
		||||
    {   775, 0x0033,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // three
 | 
			
		||||
    {  1075, 0x0034,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // four
 | 
			
		||||
    {  1375, 0x0035,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // five
 | 
			
		||||
    {  1675, 0x0036,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // six
 | 
			
		||||
    {  1975, 0x0037,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // seven
 | 
			
		||||
    {  2275, 0x0038,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // eight
 | 
			
		||||
    {  2575, 0x0039,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // nine
 | 
			
		||||
    {  2875, 0x003A,   7,  14,  14,   1,   8,   0,   0, 0x00 }, // colon
 | 
			
		||||
    {  2931, 0x003F,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // question
 | 
			
		||||
    {  3231, 0x0041,  29,  20,  20,  -1,  27,   0,   0, 0x00 }, // A
 | 
			
		||||
    {  3531, 0x0042,  30,  20,  20,   0,  31,   0,   0, 0x00 }, // B
 | 
			
		||||
    {  3831, 0x0043,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // C
 | 
			
		||||
    {  4131, 0x0044,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // D
 | 
			
		||||
    {  4431, 0x0045,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // E
 | 
			
		||||
    {  4731, 0x0046,  29,  20,  20,   0,  29,   0,   0, 0x00 }, // F
 | 
			
		||||
    {  5031, 0x0047,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // G
 | 
			
		||||
    {  5331, 0x0048,  30,  20,  20,   0,  31,   0,   0, 0x00 }, // H
 | 
			
		||||
    {  5631, 0x0049,   6,  20,  20,   0,   7,   0,   0, 0x00 }, // I
 | 
			
		||||
    {  5691, 0x004A,  30,  20,  20,  -1,  29,   0,   0, 0x00 }, // J
 | 
			
		||||
    {  5991, 0x004B,  30,  20,  20,   0,  29,   0,   0, 0x00 }, // K
 | 
			
		||||
    {  6291, 0x004C,  30,  20,  20,   0,  29,   0,   0, 0x00 }, // L
 | 
			
		||||
    {  6591, 0x004D,  32,  20,  20,   0,  32,   0,   0, 0x00 }, // M
 | 
			
		||||
    {  6911, 0x004E,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // N
 | 
			
		||||
    {  7211, 0x004F,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // O
 | 
			
		||||
    {  7511, 0x0050,  31,  20,  20,   0,  31,   0,   0, 0x00 }, // P
 | 
			
		||||
    {  7831, 0x0051,  31,  20,  20,   0,  31,   0,   0, 0x00 }, // Q
 | 
			
		||||
    {  8151, 0x0052,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // R
 | 
			
		||||
    {  8451, 0x0053,  32,  20,  20,   0,  32,   0,   0, 0x00 }, // S
 | 
			
		||||
    {  8771, 0x0054,  30,  20,  20,  -1,  28,   0,   0, 0x00 }, // T
 | 
			
		||||
    {  9071, 0x0055,  30,  20,  20,   0,  31,   0,   0, 0x00 }, // U
 | 
			
		||||
    {  9371, 0x0056,  29,  20,  20,  -1,  27,   0,   0, 0x00 }, // V
 | 
			
		||||
    {  9671, 0x0057,  28,  20,  20,   0,  28,   0,   0, 0x00 }, // W
 | 
			
		||||
    {  9951, 0x0058,  29,  20,  20,   0,  28,   0,   0, 0x00 }, // X
 | 
			
		||||
    { 10251, 0x0059,  28,  20,  20,  -1,  27,   0,   0, 0x00 }, // Y
 | 
			
		||||
    { 10531, 0x005A,  33,  20,  20,   0,  32,   0,   0, 0x00 }, // Z
 | 
			
		||||
    { 10871, 0x0061,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // a
 | 
			
		||||
    { 11171, 0x0062,  30,  20,  20,   0,  31,   0,   0, 0x00 }, // b
 | 
			
		||||
    { 11471, 0x0063,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // c
 | 
			
		||||
    { 11771, 0x0064,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // d
 | 
			
		||||
    { 12071, 0x0065,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // e
 | 
			
		||||
    { 12371, 0x0066,  29,  20,  20,   0,  29,   0,   0, 0x00 }, // f
 | 
			
		||||
    { 12671, 0x0067,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // g
 | 
			
		||||
    { 12971, 0x0068,  30,  20,  20,   0,  31,   0,   0, 0x00 }, // h
 | 
			
		||||
    { 13271, 0x0069,   6,  20,  20,   0,   7,   0,   0, 0x00 }, // i
 | 
			
		||||
    { 13331, 0x006A,  30,  20,  20,  -1,  29,   0,   0, 0x00 }, // j
 | 
			
		||||
    { 13631, 0x006B,  30,  20,  20,   0,  29,   0,   0, 0x00 }, // k
 | 
			
		||||
    { 13931, 0x006C,  22,  20,  20,   0,  21,   0,   0, 0x00 }, // l
 | 
			
		||||
    { 14151, 0x006D,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // m
 | 
			
		||||
    { 14451, 0x006E,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // n
 | 
			
		||||
    { 14751, 0x006F,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // o
 | 
			
		||||
    { 15051, 0x0070,  29,  20,  20,   0,  29,   0,   0, 0x00 }, // p
 | 
			
		||||
    { 15351, 0x0071,  31,  20,  20,   0,  31,   0,   0, 0x00 }, // q
 | 
			
		||||
    { 15671, 0x0072,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // r
 | 
			
		||||
    { 15971, 0x0073,  32,  20,  20,   0,  32,   0,   0, 0x00 }, // s
 | 
			
		||||
    { 16291, 0x0074,  30,  20,  20,  -1,  28,   0,   0, 0x00 }, // t
 | 
			
		||||
    { 16591, 0x0075,  30,  20,  20,   0,  31,   0,   0, 0x00 }, // u
 | 
			
		||||
    { 16891, 0x0076,  29,  20,  20,  -1,  27,   0,   0, 0x00 }, // v
 | 
			
		||||
    { 17191, 0x0077,  33,  20,  20,   0,  33,   0,   0, 0x00 }, // w
 | 
			
		||||
    { 17531, 0x0078,  29,  20,  20,   0,  28,   0,   0, 0x00 }, // x
 | 
			
		||||
    { 17831, 0x0079,  30,  20,  20,   0,  31,   0,   0, 0x00 }, // y
 | 
			
		||||
    { 18131, 0x007A,  33,  20,  20,   0,  32,   0,   0, 0x00 }  // z
 | 
			
		||||
    {    35, 0x002F,  22,  20,  20,   0,  22,   0,   0, 0x00 }, // slash
 | 
			
		||||
    {   255, 0x0030,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // zero
 | 
			
		||||
    {   555, 0x0031,  14,  20,  20,   5,  30,   0,   0, 0x00 }, // one
 | 
			
		||||
    {   695, 0x0032,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // two
 | 
			
		||||
    {   995, 0x0033,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // three
 | 
			
		||||
    {  1295, 0x0034,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // four
 | 
			
		||||
    {  1595, 0x0035,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // five
 | 
			
		||||
    {  1895, 0x0036,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // six
 | 
			
		||||
    {  2195, 0x0037,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // seven
 | 
			
		||||
    {  2495, 0x0038,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // eight
 | 
			
		||||
    {  2795, 0x0039,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // nine
 | 
			
		||||
    {  3095, 0x003A,   7,  14,  14,   1,   8,   0,   0, 0x00 }, // colon
 | 
			
		||||
    {  3151, 0x003F,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // question
 | 
			
		||||
    {  3451, 0x0041,  29,  20,  20,  -1,  27,   0,   0, 0x00 }, // A
 | 
			
		||||
    {  3751, 0x0042,  30,  20,  20,   0,  31,   0,   0, 0x00 }, // B
 | 
			
		||||
    {  4051, 0x0043,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // C
 | 
			
		||||
    {  4351, 0x0044,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // D
 | 
			
		||||
    {  4651, 0x0045,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // E
 | 
			
		||||
    {  4951, 0x0046,  29,  20,  20,   0,  29,   0,   0, 0x00 }, // F
 | 
			
		||||
    {  5251, 0x0047,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // G
 | 
			
		||||
    {  5551, 0x0048,  30,  20,  20,   0,  31,   0,   0, 0x00 }, // H
 | 
			
		||||
    {  5851, 0x0049,   6,  20,  20,   0,   7,   0,   0, 0x00 }, // I
 | 
			
		||||
    {  5911, 0x004A,  30,  20,  20,  -1,  29,   0,   0, 0x00 }, // J
 | 
			
		||||
    {  6211, 0x004B,  30,  20,  20,   0,  29,   0,   0, 0x00 }, // K
 | 
			
		||||
    {  6511, 0x004C,  30,  20,  20,   0,  29,   0,   0, 0x00 }, // L
 | 
			
		||||
    {  6811, 0x004D,  32,  20,  20,   0,  32,   0,   0, 0x00 }, // M
 | 
			
		||||
    {  7131, 0x004E,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // N
 | 
			
		||||
    {  7431, 0x004F,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // O
 | 
			
		||||
    {  7731, 0x0050,  31,  20,  20,   0,  31,   0,   0, 0x00 }, // P
 | 
			
		||||
    {  8051, 0x0051,  31,  20,  20,   0,  31,   0,   0, 0x00 }, // Q
 | 
			
		||||
    {  8371, 0x0052,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // R
 | 
			
		||||
    {  8671, 0x0053,  32,  20,  20,   0,  32,   0,   0, 0x00 }, // S
 | 
			
		||||
    {  8991, 0x0054,  30,  20,  20,  -1,  28,   0,   0, 0x00 }, // T
 | 
			
		||||
    {  9291, 0x0055,  30,  20,  20,   0,  31,   0,   0, 0x00 }, // U
 | 
			
		||||
    {  9591, 0x0056,  29,  20,  20,  -1,  27,   0,   0, 0x00 }, // V
 | 
			
		||||
    {  9891, 0x0057,  28,  20,  20,   0,  28,   0,   0, 0x00 }, // W
 | 
			
		||||
    { 10171, 0x0058,  29,  20,  20,   0,  28,   0,   0, 0x00 }, // X
 | 
			
		||||
    { 10471, 0x0059,  28,  20,  20,  -1,  27,   0,   0, 0x00 }, // Y
 | 
			
		||||
    { 10751, 0x005A,  33,  20,  20,   0,  32,   0,   0, 0x00 }, // Z
 | 
			
		||||
    { 11091, 0x005B,  11,  25,  20,   1,  11,   0,   0, 0x00 }, // bracketleft
 | 
			
		||||
    { 11241, 0x005D,  10,  25,  20,   0,  11,   0,   0, 0x00 }, // bracketright
 | 
			
		||||
    { 11366, 0x0061,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // a
 | 
			
		||||
    { 11666, 0x0062,  30,  20,  20,   0,  31,   0,   0, 0x00 }, // b
 | 
			
		||||
    { 11966, 0x0063,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // c
 | 
			
		||||
    { 12266, 0x0064,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // d
 | 
			
		||||
    { 12566, 0x0065,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // e
 | 
			
		||||
    { 12866, 0x0066,  29,  20,  20,   0,  29,   0,   0, 0x00 }, // f
 | 
			
		||||
    { 13166, 0x0067,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // g
 | 
			
		||||
    { 13466, 0x0068,  30,  20,  20,   0,  31,   0,   0, 0x00 }, // h
 | 
			
		||||
    { 13766, 0x0069,   6,  20,  20,   0,   7,   0,   0, 0x00 }, // i
 | 
			
		||||
    { 13826, 0x006A,  30,  20,  20,  -1,  29,   0,   0, 0x00 }, // j
 | 
			
		||||
    { 14126, 0x006B,  30,  20,  20,   0,  29,   0,   0, 0x00 }, // k
 | 
			
		||||
    { 14426, 0x006C,  22,  20,  20,   0,  21,   0,   0, 0x00 }, // l
 | 
			
		||||
    { 14646, 0x006D,  29,  20,  20,   0,  30,   0,   0, 0x00 }, // m
 | 
			
		||||
    { 14946, 0x006E,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // n
 | 
			
		||||
    { 15246, 0x006F,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // o
 | 
			
		||||
    { 15546, 0x0070,  29,  20,  20,   0,  29,   0,   0, 0x00 }, // p
 | 
			
		||||
    { 15846, 0x0071,  31,  20,  20,   0,  31,   0,   0, 0x00 }, // q
 | 
			
		||||
    { 16166, 0x0072,  30,  20,  20,   0,  30,   0,   0, 0x00 }, // r
 | 
			
		||||
    { 16466, 0x0073,  32,  20,  20,   0,  32,   0,   0, 0x00 }, // s
 | 
			
		||||
    { 16786, 0x0074,  30,  20,  20,  -1,  28,   0,   0, 0x00 }, // t
 | 
			
		||||
    { 17086, 0x0075,  30,  20,  20,   0,  31,   0,   0, 0x00 }, // u
 | 
			
		||||
    { 17386, 0x0076,  29,  20,  20,  -1,  27,   0,   0, 0x00 }, // v
 | 
			
		||||
    { 17686, 0x0077,  33,  20,  20,   0,  33,   0,   0, 0x00 }, // w
 | 
			
		||||
    { 18026, 0x0078,  29,  20,  20,   0,  28,   0,   0, 0x00 }, // x
 | 
			
		||||
    { 18326, 0x0079,  30,  20,  20,   0,  31,   0,   0, 0x00 }, // y
 | 
			
		||||
    { 18626, 0x007A,  33,  20,  20,   0,  32,   0,   0, 0x00 }  // z
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// CHINN____30_4bpp
 | 
			
		||||
@ -87,6 +90,6 @@ touchgfx::GeneratedFont& getFont_CHINN____30_4bpp();
 | 
			
		||||
 | 
			
		||||
touchgfx::GeneratedFont& getFont_CHINN____30_4bpp()
 | 
			
		||||
{
 | 
			
		||||
    static touchgfx::GeneratedFont CHINN____30_4bpp(glyphs_CHINN____30_4bpp, 66, 30, 30, 0, 0, 4, 1, 1, 1, unicodes_CHINN____30_4bpp, kerning_CHINN____30_4bpp, 63, 0, 0, 0);
 | 
			
		||||
    static touchgfx::GeneratedFont CHINN____30_4bpp(glyphs_CHINN____30_4bpp, 69, 35, 30, 0, 0, 4, 1, 1, 1, unicodes_CHINN____30_4bpp, kerning_CHINN____30_4bpp, 63, 0, 0, 0);
 | 
			
		||||
    return CHINN____30_4bpp;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -17,6 +17,7 @@
 | 
			
		||||
#include <touchgfx/containers/scrollers/ScrollWheel.hpp>
 | 
			
		||||
#include <gui/containers/DriverViewFieldSelection.hpp>
 | 
			
		||||
#include <touchgfx/containers/progress_indicators/BoxProgress.hpp>
 | 
			
		||||
#include <touchgfx/widgets/TextAreaWithWildcard.hpp>
 | 
			
		||||
 | 
			
		||||
class DriverViewViewBase : public touchgfx::View<DriverViewPresenter>
 | 
			
		||||
{
 | 
			
		||||
@ -84,8 +85,9 @@ protected:
 | 
			
		||||
    DriverViewField field3;
 | 
			
		||||
    touchgfx::ScrollWheel fieldTypeSelection;
 | 
			
		||||
    touchgfx::DrawableListItems<DriverViewFieldSelection, 10> fieldTypeSelectionListItems;
 | 
			
		||||
    touchgfx::BoxProgress prechargeProgress;
 | 
			
		||||
    touchgfx::BoxProgress progressBar;
 | 
			
		||||
    touchgfx::TextArea prechargeLabel;
 | 
			
		||||
    touchgfx::TextAreaWithOneWildcard r2dLabel;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -113,15 +113,15 @@ DriverViewViewBase::DriverViewViewBase() :
 | 
			
		||||
    fieldTypeSelection.setVisible(false);
 | 
			
		||||
    add(fieldTypeSelection);
 | 
			
		||||
 | 
			
		||||
    prechargeProgress.setXY(15, 280);
 | 
			
		||||
    prechargeProgress.setProgressIndicatorPosition(0, 0, 480, 55);
 | 
			
		||||
    prechargeProgress.setRange(0, 100);
 | 
			
		||||
    prechargeProgress.setDirection(touchgfx::AbstractDirectionProgress::RIGHT);
 | 
			
		||||
    prechargeProgress.setBackground(touchgfx::Bitmap(BITMAP_PRECHARGE_BG_ID));
 | 
			
		||||
    prechargeProgress.setColor(touchgfx::Color::getColorFromRGB(99, 186, 0));
 | 
			
		||||
    prechargeProgress.setValue(0);
 | 
			
		||||
    prechargeProgress.setVisible(false);
 | 
			
		||||
    add(prechargeProgress);
 | 
			
		||||
    progressBar.setXY(15, 280);
 | 
			
		||||
    progressBar.setProgressIndicatorPosition(0, 0, 480, 55);
 | 
			
		||||
    progressBar.setRange(0, 100);
 | 
			
		||||
    progressBar.setDirection(touchgfx::AbstractDirectionProgress::RIGHT);
 | 
			
		||||
    progressBar.setBackground(touchgfx::Bitmap(BITMAP_PRECHARGE_BG_ID));
 | 
			
		||||
    progressBar.setColor(touchgfx::Color::getColorFromRGB(99, 186, 0));
 | 
			
		||||
    progressBar.setValue(0);
 | 
			
		||||
    progressBar.setVisible(false);
 | 
			
		||||
    add(progressBar);
 | 
			
		||||
 | 
			
		||||
    prechargeLabel.setXY(105, 275);
 | 
			
		||||
    prechargeLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
 | 
			
		||||
@ -129,6 +129,13 @@ DriverViewViewBase::DriverViewViewBase() :
 | 
			
		||||
    prechargeLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_HMH2));
 | 
			
		||||
    prechargeLabel.setVisible(false);
 | 
			
		||||
    add(prechargeLabel);
 | 
			
		||||
 | 
			
		||||
    r2dLabel.setPosition(139, 275, 202, 37);
 | 
			
		||||
    r2dLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
 | 
			
		||||
    r2dLabel.setLinespacing(0);
 | 
			
		||||
    r2dLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_NGUK));
 | 
			
		||||
    r2dLabel.setVisible(false);
 | 
			
		||||
    add(r2dLabel);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
DriverViewViewBase::~DriverViewViewBase()
 | 
			
		||||
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
{"remap":"yes","language":"GB","language_index":0,"indices":[["157","T_DEBUGVIEWFIELD_TITLE"],["157","T_DRIVERVIEWFIELD_TITLE"],["267","T_FIELD_BBAL"],["230","T_FIELD_TSVOLTVEH"],["223","T_FIELD_TSVOLTBAT"],["243","T_FIELD_LVSOC"],["261","T_FIELD_TSSOC"],["277","T_FIELD_MAXCELLTEMP"],["282","T_FIELD_TIREFL"],["287","T_FIELD_TIREFR"],["292","T_FIELD_TIRERL"],["297","T_FIELD_TIRERR"],["272","T_FIELD_LAPCOUNT"],["167","T_FIELD_INICHKSTATE"],["237","T_FIELD_ERR"],["311","T_FIELD_SDC"],["183","T_FIELD_INVRREADY"],["175","T_FIELD_INVLREADY"],["199","T_FIELD_R2DPROGRESS"],["191","T_FIELD_ACTIVEMISSION"],["159","T_FIELD_ASSTATE"],["215","T_FIELD_TSSTATE"],["157","T_NUMBERWILDCARD"],["157","T_DEFAULTWILDCARD_CENTERED"],["157","T_DEFAULTWILDCARD_RIGHTALIGNED"],["307","T_FIELD_TSCURRENT"],["302","T_FIELD_MINCELLVOLT"],["249","T_FIELD_SPEED"],["95","T_INSPECTION_HUGE"],["148","T_EBS_HUGE"],["117","T_TRACKDRIVE_HUGE"],["128","T_AUTOX_HUGE"],["207","T_SKIDPAD_HUGE"],["82","T_ACCEL_HUGE"],["34","T_INVALID_HUGE"],["67","T_MANUAL"],["95","T_INSPECTION"],["148","T_EBS"],["117","T_TRACKDRIVE"],["128","T_AUTOX"],["207","T_SKIDPAD"],["82","T_ACCEL"],["157","T___SINGLEUSE_4E84"],["157","T___SINGLEUSE_YTAB"],["106","T___SINGLEUSE_RWCE"],["138","T___SINGLEUSE_HMH2"],["315","T___SINGLEUSE_4OBM"],["308","T___SINGLEUSE_PHFD"],["255","T___SINGLEUSE_H6UX"],["157","T___SINGLEUSE_20H3"],["17","T___SINGLEUSE_SDGP"],["51","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]}
 | 
			
		||||
{"remap":"yes","language":"GB","language_index":0,"indices":[["167","T_DEBUGVIEWFIELD_TITLE"],["167","T_DRIVERVIEWFIELD_TITLE"],["277","T_FIELD_BBAL"],["240","T_FIELD_TSVOLTVEH"],["233","T_FIELD_TSVOLTBAT"],["253","T_FIELD_LVSOC"],["271","T_FIELD_TSSOC"],["287","T_FIELD_MAXCELLTEMP"],["292","T_FIELD_TIREFL"],["297","T_FIELD_TIREFR"],["302","T_FIELD_TIRERL"],["307","T_FIELD_TIRERR"],["282","T_FIELD_LAPCOUNT"],["177","T_FIELD_INICHKSTATE"],["247","T_FIELD_ERR"],["321","T_FIELD_SDC"],["193","T_FIELD_INVRREADY"],["185","T_FIELD_INVLREADY"],["209","T_FIELD_R2DPROGRESS"],["201","T_FIELD_ACTIVEMISSION"],["169","T_FIELD_ASSTATE"],["225","T_FIELD_TSSTATE"],["167","T_NUMBERWILDCARD"],["167","T_DEFAULTWILDCARD_CENTERED"],["167","T_DEFAULTWILDCARD_RIGHTALIGNED"],["317","T_FIELD_TSCURRENT"],["312","T_FIELD_MINCELLVOLT"],["259","T_FIELD_SPEED"],["105","T_INSPECTION_HUGE"],["158","T_EBS_HUGE"],["127","T_TRACKDRIVE_HUGE"],["138","T_AUTOX_HUGE"],["217","T_SKIDPAD_HUGE"],["92","T_ACCEL_HUGE"],["34","T_INVALID_HUGE"],["77","T_MANUAL"],["105","T_INSPECTION"],["158","T_EBS"],["127","T_TRACKDRIVE"],["138","T_AUTOX"],["217","T_SKIDPAD"],["92","T_ACCEL"],["67","T___SINGLEUSE_NGUK"],["167","T___SINGLEUSE_4E84"],["167","T___SINGLEUSE_YTAB"],["116","T___SINGLEUSE_RWCE"],["148","T___SINGLEUSE_HMH2"],["325","T___SINGLEUSE_4OBM"],["318","T___SINGLEUSE_PHFD"],["265","T___SINGLEUSE_H6UX"],["167","T___SINGLEUSE_20H3"],["17","T___SINGLEUSE_SDGP"],["51","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]}
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
{"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_4E84","T___SINGLEUSE_YTAB","T___SINGLEUSE_RWCE","T___SINGLEUSE_HMH2","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_NGUK","T___SINGLEUSE_4E84","T___SINGLEUSE_YTAB","T___SINGLEUSE_RWCE","T___SINGLEUSE_HMH2","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,80,65,82,65,77,69,84,69,82,83,0,84,114,97,99,107,100,114,105,118,101,0,65,117,116,111,99,114,111,115,115,0,80,82,69,67,72,65,82,71,69,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]}
 | 
			
		||||
{"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,82,50,68,32,91,2,47,56,93,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,80,65,82,65,77,69,84,69,82,83,0,84,114,97,99,107,100,114,105,118,101,0,65,117,116,111,99,114,111,115,115,0,80,82,69,67,72,65,82,71,69,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":[[5,"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"],[4,"RIGHT","LTR"],[1,"LEFT","LTR"],[1,"CENTER","LTR"],[1,"LEFT","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,"getFont_verdanab_20_4bpp":5},"generate_font_format":"0"}
 | 
			
		||||
{"databases":{"DEFAULT":[[5,"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"],[1,"LEFT","LTR"],[4,"RIGHT","LTR"],[1,"LEFT","LTR"],[1,"CENTER","LTR"],[1,"LEFT","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,"getFont_verdanab_20_4bpp":5},"generate_font_format":"0"}
 | 
			
		||||
@ -54,6 +54,7 @@ enum TEXTS
 | 
			
		||||
    T_AUTOX,
 | 
			
		||||
    T_SKIDPAD,
 | 
			
		||||
    T_ACCEL,
 | 
			
		||||
    T___SINGLEUSE_NGUK,
 | 
			
		||||
    T___SINGLEUSE_4E84,
 | 
			
		||||
    T___SINGLEUSE_YTAB,
 | 
			
		||||
    T___SINGLEUSE_RWCE,
 | 
			
		||||
 | 
			
		||||
@ -10,56 +10,57 @@ 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 = {
 | 
			
		||||
    157, // T_DEBUGVIEWFIELD_TITLE: "<>"
 | 
			
		||||
    157, // T_DRIVERVIEWFIELD_TITLE: "<>"
 | 
			
		||||
    267, // T_FIELD_BBAL: "BBAL"
 | 
			
		||||
    230, // T_FIELD_TSVOLTVEH: "TSVVEH"
 | 
			
		||||
    223, // T_FIELD_TSVOLTBAT: "TSVBAT"
 | 
			
		||||
    243, // T_FIELD_LVSOC: "LVSOC"
 | 
			
		||||
    261, // T_FIELD_TSSOC: "TSSOC"
 | 
			
		||||
    277, // T_FIELD_MAXCELLTEMP: "TMAX"
 | 
			
		||||
    282, // T_FIELD_TIREFL: "TTFL"
 | 
			
		||||
    287, // T_FIELD_TIREFR: "TTFR"
 | 
			
		||||
    292, // T_FIELD_TIRERL: "TTRL"
 | 
			
		||||
    297, // T_FIELD_TIRERR: "TTRR"
 | 
			
		||||
    272, // T_FIELD_LAPCOUNT: "LAPS"
 | 
			
		||||
    167, // T_FIELD_INICHKSTATE: "ICSTATE"
 | 
			
		||||
    237, // T_FIELD_ERR: "ERROR"
 | 
			
		||||
    311, // T_FIELD_SDC: "SDC"
 | 
			
		||||
    183, // T_FIELD_INVRREADY: "INVRRDY"
 | 
			
		||||
    175, // T_FIELD_INVLREADY: "INVLRDY"
 | 
			
		||||
    199, // T_FIELD_R2DPROGRESS: "R2DPROG"
 | 
			
		||||
    191, // T_FIELD_ACTIVEMISSION: "MISSION"
 | 
			
		||||
    159, // T_FIELD_ASSTATE: "ASSTATE"
 | 
			
		||||
    215, // T_FIELD_TSSTATE: "TSSTATE"
 | 
			
		||||
    157, // T_NUMBERWILDCARD: "<>"
 | 
			
		||||
    157, // T_DEFAULTWILDCARD_CENTERED: "<>"
 | 
			
		||||
    157, // T_DEFAULTWILDCARD_RIGHTALIGNED: "<>"
 | 
			
		||||
    307, // T_FIELD_TSCURRENT: "ITS"
 | 
			
		||||
    302, // T_FIELD_MINCELLVOLT: "VMIN"
 | 
			
		||||
    249, // T_FIELD_SPEED: "SPEED"
 | 
			
		||||
    95,  // T_INSPECTION_HUGE: "Inspection"
 | 
			
		||||
    148, // T_EBS_HUGE: "EBS Test"
 | 
			
		||||
    117, // T_TRACKDRIVE_HUGE: "Trackdrive"
 | 
			
		||||
    128, // T_AUTOX_HUGE: "Autocross"
 | 
			
		||||
    207, // T_SKIDPAD_HUGE: "Skidpad"
 | 
			
		||||
    82,  // T_ACCEL_HUGE: "Acceleration"
 | 
			
		||||
    167, // T_DEBUGVIEWFIELD_TITLE: "<>"
 | 
			
		||||
    167, // T_DRIVERVIEWFIELD_TITLE: "<>"
 | 
			
		||||
    277, // T_FIELD_BBAL: "BBAL"
 | 
			
		||||
    240, // T_FIELD_TSVOLTVEH: "TSVVEH"
 | 
			
		||||
    233, // T_FIELD_TSVOLTBAT: "TSVBAT"
 | 
			
		||||
    253, // T_FIELD_LVSOC: "LVSOC"
 | 
			
		||||
    271, // T_FIELD_TSSOC: "TSSOC"
 | 
			
		||||
    287, // T_FIELD_MAXCELLTEMP: "TMAX"
 | 
			
		||||
    292, // T_FIELD_TIREFL: "TTFL"
 | 
			
		||||
    297, // T_FIELD_TIREFR: "TTFR"
 | 
			
		||||
    302, // T_FIELD_TIRERL: "TTRL"
 | 
			
		||||
    307, // T_FIELD_TIRERR: "TTRR"
 | 
			
		||||
    282, // T_FIELD_LAPCOUNT: "LAPS"
 | 
			
		||||
    177, // T_FIELD_INICHKSTATE: "ICSTATE"
 | 
			
		||||
    247, // T_FIELD_ERR: "ERROR"
 | 
			
		||||
    321, // T_FIELD_SDC: "SDC"
 | 
			
		||||
    193, // T_FIELD_INVRREADY: "INVRRDY"
 | 
			
		||||
    185, // T_FIELD_INVLREADY: "INVLRDY"
 | 
			
		||||
    209, // T_FIELD_R2DPROGRESS: "R2DPROG"
 | 
			
		||||
    201, // T_FIELD_ACTIVEMISSION: "MISSION"
 | 
			
		||||
    169, // T_FIELD_ASSTATE: "ASSTATE"
 | 
			
		||||
    225, // T_FIELD_TSSTATE: "TSSTATE"
 | 
			
		||||
    167, // T_NUMBERWILDCARD: "<>"
 | 
			
		||||
    167, // T_DEFAULTWILDCARD_CENTERED: "<>"
 | 
			
		||||
    167, // T_DEFAULTWILDCARD_RIGHTALIGNED: "<>"
 | 
			
		||||
    317, // T_FIELD_TSCURRENT: "ITS"
 | 
			
		||||
    312, // T_FIELD_MINCELLVOLT: "VMIN"
 | 
			
		||||
    259, // T_FIELD_SPEED: "SPEED"
 | 
			
		||||
    105, // T_INSPECTION_HUGE: "Inspection"
 | 
			
		||||
    158, // T_EBS_HUGE: "EBS Test"
 | 
			
		||||
    127, // T_TRACKDRIVE_HUGE: "Trackdrive"
 | 
			
		||||
    138, // T_AUTOX_HUGE: "Autocross"
 | 
			
		||||
    217, // T_SKIDPAD_HUGE: "Skidpad"
 | 
			
		||||
    92,  // T_ACCEL_HUGE: "Acceleration"
 | 
			
		||||
    34,  // T_INVALID_HUGE: "Invalid Mission!"
 | 
			
		||||
    67,  // T_MANUAL: "Manual Driving"
 | 
			
		||||
    95,  // T_INSPECTION: "Inspection"
 | 
			
		||||
    148, // T_EBS: "EBS Test"
 | 
			
		||||
    117, // T_TRACKDRIVE: "Trackdrive"
 | 
			
		||||
    128, // T_AUTOX: "Autocross"
 | 
			
		||||
    207, // T_SKIDPAD: "Skidpad"
 | 
			
		||||
    82,  // T_ACCEL: "Acceleration"
 | 
			
		||||
    157, // T___SINGLEUSE_4E84: "<>"
 | 
			
		||||
    157, // T___SINGLEUSE_YTAB: "<>"
 | 
			
		||||
    106, // T___SINGLEUSE_RWCE: "PARAMETERS"
 | 
			
		||||
    138, // T___SINGLEUSE_HMH2: "PRECHARGE"
 | 
			
		||||
    315, // T___SINGLEUSE_4OBM: "LV"
 | 
			
		||||
    308, // T___SINGLEUSE_PHFD: "TS"
 | 
			
		||||
    255, // T___SINGLEUSE_H6UX: "TIRES"
 | 
			
		||||
    157, // T___SINGLEUSE_20H3: "<>"
 | 
			
		||||
    77,  // T_MANUAL: "Manual Driving"
 | 
			
		||||
    105, // T_INSPECTION: "Inspection"
 | 
			
		||||
    158, // T_EBS: "EBS Test"
 | 
			
		||||
    127, // T_TRACKDRIVE: "Trackdrive"
 | 
			
		||||
    138, // T_AUTOX: "Autocross"
 | 
			
		||||
    217, // T_SKIDPAD: "Skidpad"
 | 
			
		||||
    92,  // T_ACCEL: "Acceleration"
 | 
			
		||||
    67,  // T___SINGLEUSE_NGUK: "R2D [<>/8]"
 | 
			
		||||
    167, // T___SINGLEUSE_4E84: "<>"
 | 
			
		||||
    167, // T___SINGLEUSE_YTAB: "<>"
 | 
			
		||||
    116, // T___SINGLEUSE_RWCE: "PARAMETERS"
 | 
			
		||||
    148, // T___SINGLEUSE_HMH2: "PRECHARGE"
 | 
			
		||||
    325, // T___SINGLEUSE_4OBM: "LV"
 | 
			
		||||
    318, // T___SINGLEUSE_PHFD: "TS"
 | 
			
		||||
    265, // T___SINGLEUSE_H6UX: "TIRES"
 | 
			
		||||
    167, // T___SINGLEUSE_20H3: "<>"
 | 
			
		||||
    17,  // T___SINGLEUSE_SDGP: "Current Mission:"
 | 
			
		||||
    51,  // T___SINGLEUSE_M5X7: "Invalid Mission"
 | 
			
		||||
    0    // T___SINGLEUSE_6GPV: "Choose a mission"
 | 
			
		||||
 | 
			
		||||
@ -64,41 +64,42 @@ KEEP extern const touchgfx::Unicode::UnicodeChar texts_all_languages[] TEXT_LOCA
 | 
			
		||||
    0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x0, // @17 "Current Mission:"
 | 
			
		||||
    0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x21, 0x0, // @34 "Invalid Mission!"
 | 
			
		||||
    0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0, // @51 "Invalid Mission"
 | 
			
		||||
    0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x20, 0x44, 0x72, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x0, // @67 "Manual Driving"
 | 
			
		||||
    0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0, // @82 "Acceleration"
 | 
			
		||||
    0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0, // @95 "Inspection"
 | 
			
		||||
    0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x0, // @106 "PARAMETERS"
 | 
			
		||||
    0x54, 0x72, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x0, // @117 "Trackdrive"
 | 
			
		||||
    0x41, 0x75, 0x74, 0x6f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x0, // @128 "Autocross"
 | 
			
		||||
    0x50, 0x52, 0x45, 0x43, 0x48, 0x41, 0x52, 0x47, 0x45, 0x0, // @138 "PRECHARGE"
 | 
			
		||||
    0x45, 0x42, 0x53, 0x20, 0x54, 0x65, 0x73, 0x74, 0x0, // @148 "EBS Test"
 | 
			
		||||
    0x2, 0x0, // @157 "<>"
 | 
			
		||||
    0x41, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @159 "ASSTATE"
 | 
			
		||||
    0x49, 0x43, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @167 "ICSTATE"
 | 
			
		||||
    0x49, 0x4e, 0x56, 0x4c, 0x52, 0x44, 0x59, 0x0, // @175 "INVLRDY"
 | 
			
		||||
    0x49, 0x4e, 0x56, 0x52, 0x52, 0x44, 0x59, 0x0, // @183 "INVRRDY"
 | 
			
		||||
    0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x0, // @191 "MISSION"
 | 
			
		||||
    0x52, 0x32, 0x44, 0x50, 0x52, 0x4f, 0x47, 0x0, // @199 "R2DPROG"
 | 
			
		||||
    0x53, 0x6b, 0x69, 0x64, 0x70, 0x61, 0x64, 0x0, // @207 "Skidpad"
 | 
			
		||||
    0x54, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @215 "TSSTATE"
 | 
			
		||||
    0x54, 0x53, 0x56, 0x42, 0x41, 0x54, 0x0, // @223 "TSVBAT"
 | 
			
		||||
    0x54, 0x53, 0x56, 0x56, 0x45, 0x48, 0x0, // @230 "TSVVEH"
 | 
			
		||||
    0x45, 0x52, 0x52, 0x4f, 0x52, 0x0, // @237 "ERROR"
 | 
			
		||||
    0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @243 "LVSOC"
 | 
			
		||||
    0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @249 "SPEED"
 | 
			
		||||
    0x54, 0x49, 0x52, 0x45, 0x53, 0x0, // @255 "TIRES"
 | 
			
		||||
    0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @261 "TSSOC"
 | 
			
		||||
    0x42, 0x42, 0x41, 0x4c, 0x0, // @267 "BBAL"
 | 
			
		||||
    0x4c, 0x41, 0x50, 0x53, 0x0, // @272 "LAPS"
 | 
			
		||||
    0x54, 0x4d, 0x41, 0x58, 0x0, // @277 "TMAX"
 | 
			
		||||
    0x54, 0x54, 0x46, 0x4c, 0x0, // @282 "TTFL"
 | 
			
		||||
    0x54, 0x54, 0x46, 0x52, 0x0, // @287 "TTFR"
 | 
			
		||||
    0x54, 0x54, 0x52, 0x4c, 0x0, // @292 "TTRL"
 | 
			
		||||
    0x54, 0x54, 0x52, 0x52, 0x0, // @297 "TTRR"
 | 
			
		||||
    0x56, 0x4d, 0x49, 0x4e, 0x0, // @302 "VMIN"
 | 
			
		||||
    0x49, 0x54, 0x53, 0x0, // @307 "ITS"
 | 
			
		||||
    0x53, 0x44, 0x43, 0x0, // @311 "SDC"
 | 
			
		||||
    0x4c, 0x56, 0x0 // @315 "LV"
 | 
			
		||||
    0x52, 0x32, 0x44, 0x20, 0x5b, 0x2, 0x2f, 0x38, 0x5d, 0x0, // @67 "R2D [<>/8]"
 | 
			
		||||
    0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x20, 0x44, 0x72, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x0, // @77 "Manual Driving"
 | 
			
		||||
    0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0, // @92 "Acceleration"
 | 
			
		||||
    0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0, // @105 "Inspection"
 | 
			
		||||
    0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x0, // @116 "PARAMETERS"
 | 
			
		||||
    0x54, 0x72, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x0, // @127 "Trackdrive"
 | 
			
		||||
    0x41, 0x75, 0x74, 0x6f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x0, // @138 "Autocross"
 | 
			
		||||
    0x50, 0x52, 0x45, 0x43, 0x48, 0x41, 0x52, 0x47, 0x45, 0x0, // @148 "PRECHARGE"
 | 
			
		||||
    0x45, 0x42, 0x53, 0x20, 0x54, 0x65, 0x73, 0x74, 0x0, // @158 "EBS Test"
 | 
			
		||||
    0x2, 0x0, // @167 "<>"
 | 
			
		||||
    0x41, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @169 "ASSTATE"
 | 
			
		||||
    0x49, 0x43, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @177 "ICSTATE"
 | 
			
		||||
    0x49, 0x4e, 0x56, 0x4c, 0x52, 0x44, 0x59, 0x0, // @185 "INVLRDY"
 | 
			
		||||
    0x49, 0x4e, 0x56, 0x52, 0x52, 0x44, 0x59, 0x0, // @193 "INVRRDY"
 | 
			
		||||
    0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x0, // @201 "MISSION"
 | 
			
		||||
    0x52, 0x32, 0x44, 0x50, 0x52, 0x4f, 0x47, 0x0, // @209 "R2DPROG"
 | 
			
		||||
    0x53, 0x6b, 0x69, 0x64, 0x70, 0x61, 0x64, 0x0, // @217 "Skidpad"
 | 
			
		||||
    0x54, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @225 "TSSTATE"
 | 
			
		||||
    0x54, 0x53, 0x56, 0x42, 0x41, 0x54, 0x0, // @233 "TSVBAT"
 | 
			
		||||
    0x54, 0x53, 0x56, 0x56, 0x45, 0x48, 0x0, // @240 "TSVVEH"
 | 
			
		||||
    0x45, 0x52, 0x52, 0x4f, 0x52, 0x0, // @247 "ERROR"
 | 
			
		||||
    0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @253 "LVSOC"
 | 
			
		||||
    0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @259 "SPEED"
 | 
			
		||||
    0x54, 0x49, 0x52, 0x45, 0x53, 0x0, // @265 "TIRES"
 | 
			
		||||
    0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @271 "TSSOC"
 | 
			
		||||
    0x42, 0x42, 0x41, 0x4c, 0x0, // @277 "BBAL"
 | 
			
		||||
    0x4c, 0x41, 0x50, 0x53, 0x0, // @282 "LAPS"
 | 
			
		||||
    0x54, 0x4d, 0x41, 0x58, 0x0, // @287 "TMAX"
 | 
			
		||||
    0x54, 0x54, 0x46, 0x4c, 0x0, // @292 "TTFL"
 | 
			
		||||
    0x54, 0x54, 0x46, 0x52, 0x0, // @297 "TTFR"
 | 
			
		||||
    0x54, 0x54, 0x52, 0x4c, 0x0, // @302 "TTRL"
 | 
			
		||||
    0x54, 0x54, 0x52, 0x52, 0x0, // @307 "TTRR"
 | 
			
		||||
    0x56, 0x4d, 0x49, 0x4e, 0x0, // @312 "VMIN"
 | 
			
		||||
    0x49, 0x54, 0x53, 0x0, // @317 "ITS"
 | 
			
		||||
    0x53, 0x44, 0x43, 0x0, // @321 "SDC"
 | 
			
		||||
    0x4c, 0x56, 0x0 // @325 "LV"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
TEXT_LOCATION_FLASH_PRAGMA
 | 
			
		||||
 | 
			
		||||
@ -68,6 +68,7 @@ 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 },
 | 
			
		||||
    { 1, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 4, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 1, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 1, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
 | 
			
		||||
@ -3,11 +3,14 @@
 | 
			
		||||
 | 
			
		||||
#include "gui/common/NamedField.hpp"
 | 
			
		||||
#include "gui/containers/DriverViewFieldSelection.hpp"
 | 
			
		||||
#include "touchgfx/Unicode.hpp"
 | 
			
		||||
#include "touchgfx/containers/scrollers/DrawableList.hpp"
 | 
			
		||||
#include "vehicle.h"
 | 
			
		||||
#include <gui/driverview_screen/DriverViewPresenter.hpp>
 | 
			
		||||
#include <gui_generated/driverview_screen/DriverViewViewBase.hpp>
 | 
			
		||||
 | 
			
		||||
enum class DriverViewProgressType { PRECHARGE, R2D };
 | 
			
		||||
 | 
			
		||||
class DriverViewView : public DriverViewViewBase {
 | 
			
		||||
public:
 | 
			
		||||
  DriverViewView();
 | 
			
		||||
@ -23,7 +26,7 @@ public:
 | 
			
		||||
 | 
			
		||||
  void setTireTemps(const TireTemps &temps);
 | 
			
		||||
  void setTSSoC(uint8_t soc);
 | 
			
		||||
  void setPrecharge(bool active, float progress);
 | 
			
		||||
  void setProgress(bool active, DriverViewProgressType type, float progress);
 | 
			
		||||
 | 
			
		||||
  void selectPrevField() override;
 | 
			
		||||
  void selectNextField() override;
 | 
			
		||||
@ -43,6 +46,8 @@ private:
 | 
			
		||||
  size_t selectedField;
 | 
			
		||||
  size_t selectedFieldType;
 | 
			
		||||
  DataFieldType fieldTypes[NUM_FIELDS];
 | 
			
		||||
 | 
			
		||||
  touchgfx::Unicode::UnicodeChar r2dProgBuffer[16];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // DRIVERVIEWVIEW_HPP
 | 
			
		||||
 | 
			
		||||
@ -24,9 +24,13 @@ void DriverViewPresenter::vehicleStateUpdated() {
 | 
			
		||||
      progress =
 | 
			
		||||
          vehicle_state.ts_voltage_veh / vehicle_state.ts_voltage_bat * 100;
 | 
			
		||||
    }
 | 
			
		||||
    view.setPrecharge(true, progress);
 | 
			
		||||
    view.setProgress(true, DriverViewProgressType::PRECHARGE, progress);
 | 
			
		||||
  } else if (vehicle_state.r2d_progress != R2D_NONE &&
 | 
			
		||||
             vehicle_state.r2d_progress != R2D_INIT_SUCCESS) {
 | 
			
		||||
    view.setProgress(true, DriverViewProgressType::R2D,
 | 
			
		||||
                     vehicle_state.r2d_progress);
 | 
			
		||||
  } else {
 | 
			
		||||
    view.setPrecharge(false, 0);
 | 
			
		||||
    view.setProgress(false, DriverViewProgressType::PRECHARGE, 0);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  view.updateFieldValues();
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,7 @@
 | 
			
		||||
#include "gui/containers/DriverViewField.hpp"
 | 
			
		||||
#include "gui/driverview_screen/DriverViewPresenter.hpp"
 | 
			
		||||
#include "texts/TextKeysAndLanguages.hpp"
 | 
			
		||||
#include "touchgfx/Unicode.hpp"
 | 
			
		||||
#include <gui/driverview_screen/DriverViewView.hpp>
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
 | 
			
		||||
@ -46,18 +47,37 @@ void DriverViewView::setTSSoC(uint8_t soc) {
 | 
			
		||||
  tsSoC.invalidate();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void DriverViewView::setPrecharge(bool active, float progress) {
 | 
			
		||||
void DriverViewView::setProgress(bool active, DriverViewProgressType type,
 | 
			
		||||
                                 float progress) {
 | 
			
		||||
  if (active) {
 | 
			
		||||
    prechargeLabel.setVisible(true);
 | 
			
		||||
    switch (type) {
 | 
			
		||||
    case DriverViewProgressType::PRECHARGE:
 | 
			
		||||
      prechargeLabel.setVisible(true);
 | 
			
		||||
      r2dLabel.setVisible(false);
 | 
			
		||||
      progressBar.setValue(progress);
 | 
			
		||||
      break;
 | 
			
		||||
    case DriverViewProgressType::R2D:
 | 
			
		||||
      touchgfx::Unicode::snprintf(
 | 
			
		||||
          r2dProgBuffer, sizeof(r2dProgBuffer) / sizeof(*r2dProgBuffer), "%d",
 | 
			
		||||
          progress);
 | 
			
		||||
      r2dLabel.setWildcard(r2dProgBuffer);
 | 
			
		||||
      r2dLabel.setVisible(true);
 | 
			
		||||
      prechargeLabel.setVisible(false);
 | 
			
		||||
      progressBar.setValue(progress * 100 / 8);
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
    prechargeLabel.invalidate();
 | 
			
		||||
    prechargeProgress.setVisible(true);
 | 
			
		||||
    prechargeProgress.setValue(progress);
 | 
			
		||||
    prechargeProgress.invalidate();
 | 
			
		||||
  } else if (prechargeLabel.isVisible() || prechargeProgress.isVisible()) {
 | 
			
		||||
    r2dLabel.invalidate();
 | 
			
		||||
    progressBar.setVisible(true);
 | 
			
		||||
    progressBar.invalidate();
 | 
			
		||||
  } else if (prechargeLabel.isVisible() || r2dLabel.isVisible() ||
 | 
			
		||||
             progressBar.isVisible()) {
 | 
			
		||||
    prechargeLabel.setVisible(false);
 | 
			
		||||
    prechargeLabel.invalidate();
 | 
			
		||||
    prechargeProgress.setVisible(false);
 | 
			
		||||
    prechargeProgress.invalidate();
 | 
			
		||||
    r2dLabel.setVisible(false);
 | 
			
		||||
    r2dLabel.invalidate();
 | 
			
		||||
    progressBar.setVisible(false);
 | 
			
		||||
    progressBar.invalidate();
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -443,7 +443,7 @@
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "Type": "BoxProgress",
 | 
			
		||||
            "Name": "prechargeProgress",
 | 
			
		||||
            "Name": "progressBar",
 | 
			
		||||
            "X": 15,
 | 
			
		||||
            "Y": 280,
 | 
			
		||||
            "Width": 450,
 | 
			
		||||
@ -475,6 +475,23 @@
 | 
			
		||||
              "Blue": 255
 | 
			
		||||
            },
 | 
			
		||||
            "AutoSize": true
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "Type": "TextArea",
 | 
			
		||||
            "Name": "r2dLabel",
 | 
			
		||||
            "X": 139,
 | 
			
		||||
            "Y": 275,
 | 
			
		||||
            "Width": 202,
 | 
			
		||||
            "Height": 37,
 | 
			
		||||
            "Visible": false,
 | 
			
		||||
            "TextId": "__SingleUse_NGUK",
 | 
			
		||||
            "TextRotation": "0",
 | 
			
		||||
            "Color": {
 | 
			
		||||
              "Red": 255,
 | 
			
		||||
              "Green": 255,
 | 
			
		||||
              "Blue": 255
 | 
			
		||||
            },
 | 
			
		||||
            "Wildcard1": {}
 | 
			
		||||
          }
 | 
			
		||||
        ],
 | 
			
		||||
        "Interactions": [
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user