Brake temps & pressures, total distance
This commit is contained in:
		@ -78,6 +78,11 @@ typedef struct {
 | 
			
		||||
  float tire_rl;
 | 
			
		||||
  float tire_rr;
 | 
			
		||||
 | 
			
		||||
  float brake_fl;
 | 
			
		||||
  float brake_fr;
 | 
			
		||||
  float brake_rl;
 | 
			
		||||
  float brake_rr;
 | 
			
		||||
 | 
			
		||||
  float inv_l;
 | 
			
		||||
  float inv_r;
 | 
			
		||||
  float mot_l;
 | 
			
		||||
@ -134,6 +139,11 @@ typedef struct {
 | 
			
		||||
  float ts_voltage_veh;
 | 
			
		||||
 | 
			
		||||
  float speed;
 | 
			
		||||
 | 
			
		||||
  float brake_press_f;
 | 
			
		||||
  float brake_press_r;
 | 
			
		||||
 | 
			
		||||
  float distance_total;
 | 
			
		||||
} VehicleState;
 | 
			
		||||
 | 
			
		||||
extern VehicleState vehicle_state;
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,9 @@
 | 
			
		||||
#define CAN_ID_AMS_STATUS 0xA
 | 
			
		||||
#define CAN_ID_AMS_ERROR 0xC
 | 
			
		||||
#define CAN_ID_ABX_DRIVER 0x101
 | 
			
		||||
#define CAN_ID_ABX_BRAKE_T 0x105
 | 
			
		||||
#define CAN_ID_CS_INTERNAL 0x108
 | 
			
		||||
#define CAN_ID_ABX_MISC 0x109
 | 
			
		||||
#define CAN_ID_MISSION_SELECTED 0x400
 | 
			
		||||
#define CAN_ID_STW_BUTTONS 0x401
 | 
			
		||||
#define CAN_ID_STW_PARAM_SET 0x402
 | 
			
		||||
@ -28,16 +30,20 @@
 | 
			
		||||
#define CAN_AMS_STATUS_TEMP_FACTOR 0.0625
 | 
			
		||||
#define CAN_ABX_DRIVER_SPEED_FACTOR (0.2 * 3.6)
 | 
			
		||||
#define CAN_CS_INTERNAL_TEMP_FACTOR 0.01
 | 
			
		||||
#define CAN_ABX_MISC_DISTANCE_TOTAL_FACTOR 0.01
 | 
			
		||||
 | 
			
		||||
VehicleState vehicle_state = {0};
 | 
			
		||||
 | 
			
		||||
void vehicle_thread_entry(ULONG hfdcan_addr) {
 | 
			
		||||
  memset(&vehicle_state, 0, sizeof(vehicle_state));
 | 
			
		||||
  ftcan_init((void *)hfdcan_addr);
 | 
			
		||||
  ftcan_add_filter(CAN_ID_AMS_SLAVE_PANIC, 0x7FF);
 | 
			
		||||
  ftcan_add_filter(CAN_ID_AMS_STATUS, 0x7FF);
 | 
			
		||||
  ftcan_add_filter(CAN_ID_AMS_ERROR, 0x7FF);
 | 
			
		||||
  ftcan_add_filter(CAN_ID_ABX_DRIVER, 0x7FF);
 | 
			
		||||
  ftcan_add_filter(CAN_ID_ABX_BRAKE_T, 0x7FF);
 | 
			
		||||
  ftcan_add_filter(CAN_ID_CS_INTERNAL, 0x7FF);
 | 
			
		||||
  ftcan_add_filter(CAN_ID_ABX_MISC, 0x7FF);
 | 
			
		||||
  ftcan_add_filter(CAN_ID_AS_MISSION_FB, 0x7FF);
 | 
			
		||||
  ftcan_add_filter(CAN_ID_STW_STATUS, 0x7FF);
 | 
			
		||||
  ftcan_add_filter(CAN_ID_SHUNT_CURRENT, 0x7FF);
 | 
			
		||||
@ -91,8 +97,16 @@ void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data) {
 | 
			
		||||
    vehicle_state.last_ams_error.arg = data[1];
 | 
			
		||||
    break;
 | 
			
		||||
  case CAN_ID_ABX_DRIVER:
 | 
			
		||||
    vehicle_state.brake_press_f = (data[1] | ((data[2] & 0x0F) << 4)) * 0.1;
 | 
			
		||||
    vehicle_state.brake_press_r = ((data[2] >> 4) | (data[3] << 4)) * 0.1;
 | 
			
		||||
    vehicle_state.speed = data[5] * CAN_ABX_DRIVER_SPEED_FACTOR;
 | 
			
		||||
    break;
 | 
			
		||||
  case CAN_ID_ABX_BRAKE_T:
 | 
			
		||||
    vehicle_state.temps.brake_fl = (data[0] | (data[1] << 8)) * 0.01f;
 | 
			
		||||
    vehicle_state.temps.brake_fr = (data[2] | (data[3] << 8)) * 0.01f;
 | 
			
		||||
    vehicle_state.temps.brake_rl = (data[4] | (data[5] << 8)) * 0.01f;
 | 
			
		||||
    vehicle_state.temps.brake_rr = (data[6] | (data[7] << 8)) * 0.01f;
 | 
			
		||||
    break;
 | 
			
		||||
  case CAN_ID_CS_INTERNAL:
 | 
			
		||||
    vehicle_state.temps.inv_l =
 | 
			
		||||
        (data[0] | (data[1] << 8)) * CAN_CS_INTERNAL_TEMP_FACTOR;
 | 
			
		||||
@ -104,6 +118,10 @@ void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data) {
 | 
			
		||||
    // vehicle_state.temps.mot_r =
 | 
			
		||||
    //     (data[6] | (data[7] << 8)) * CAN_CS_INTERNAL_TEMP_FACTOR;
 | 
			
		||||
    break;
 | 
			
		||||
  case CAN_ID_ABX_MISC:
 | 
			
		||||
    vehicle_state.distance_total =
 | 
			
		||||
        (data[3] | (data[4] << 8)) * CAN_ABX_MISC_DISTANCE_TOTAL_FACTOR;
 | 
			
		||||
    break;
 | 
			
		||||
  case CAN_ID_AS_MISSION_FB:
 | 
			
		||||
    vehicle_state.active_mission = data[0] & 0b111;
 | 
			
		||||
    break;
 | 
			
		||||
 | 
			
		||||
@ -336,6 +336,7 @@ TouchGFX/generated/fonts/src/FontCache.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Font_CHINN____20_4bpp_0.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Font_CHINN____30_4bpp_0.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Font_CHINN____40_4bpp_0.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Font_lucon_TTF_33_4bpp_0.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Font_lucon_TTF_50_4bpp_0.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Font_verdana_20_4bpp_0.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Font_verdanab_20_4bpp_0.cpp \
 | 
			
		||||
@ -343,12 +344,14 @@ TouchGFX/generated/fonts/src/GeneratedFont.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Kerning_CHINN____20_4bpp.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Kerning_CHINN____30_4bpp.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Kerning_CHINN____40_4bpp.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Kerning_lucon_TTF_33_4bpp.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Kerning_lucon_TTF_50_4bpp.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Kerning_verdana_20_4bpp.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Kerning_verdanab_20_4bpp.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Table_CHINN____20_4bpp.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Table_CHINN____30_4bpp.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Table_CHINN____40_4bpp.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Table_lucon_TTF_33_4bpp.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Table_lucon_TTF_50_4bpp.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Table_verdana_20_4bpp.cpp \
 | 
			
		||||
TouchGFX/generated/fonts/src/Table_verdanab_20_4bpp.cpp \
 | 
			
		||||
 | 
			
		||||
@ -16,6 +16,9 @@
 | 
			
		||||
      <Text Id="DriverViewField_Title" Alignment="Center" TypographyId="Chinat_Small">
 | 
			
		||||
        <Translation Language="GB"><value></Translation>
 | 
			
		||||
      </Text>
 | 
			
		||||
      <Text Id="NumberSmallWildcard" Alignment="Left" TypographyId="Numbers_Smaller">
 | 
			
		||||
        <Translation Language="GB" Alignment="Center"><value></Translation>
 | 
			
		||||
      </Text>
 | 
			
		||||
      <Text Id="Field_BBal" Alignment="Center" TypographyId="Chinat_Small">
 | 
			
		||||
        <Translation Language="GB">BBAL</Translation>
 | 
			
		||||
      </Text>
 | 
			
		||||
@ -179,7 +182,7 @@
 | 
			
		||||
        <Translation Language="GB">TS</Translation>
 | 
			
		||||
      </Text>
 | 
			
		||||
      <Text Id="__SingleUse_H6UX" Alignment="Center" TypographyId="Chinat_Small">
 | 
			
		||||
        <Translation Language="GB">TIRES</Translation>
 | 
			
		||||
        <Translation Language="GB">BRAKES</Translation>
 | 
			
		||||
      </Text>
 | 
			
		||||
      <Text Id="__SingleUse_20H3" Alignment="Center" TypographyId="Numbers">
 | 
			
		||||
        <Translation Language="GB"><value></Translation>
 | 
			
		||||
@ -202,5 +205,6 @@
 | 
			
		||||
    <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" />
 | 
			
		||||
    <Typography Id="Default_Bold" Font="verdanab.ttf" Size="20" Bpp="4" Direction="LTR" FallbackCharacter="?" WildcardCharacters="! "" WildcardCharacterRanges="#-~" />
 | 
			
		||||
    <Typography Id="Numbers_Smaller" Font="lucon.TTF" Size="33" Bpp="4" Direction="LTR" FallbackCharacter="?" WildcardCharacters=".,-" WildcardCharacterRanges="0-9" />
 | 
			
		||||
  </Typographies>
 | 
			
		||||
</TextDatabase>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										14
									
								
								TouchGFX/generated/fonts/UnicodeListlucon_TTF_33_4.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								TouchGFX/generated/fonts/UnicodeListlucon_TTF_33_4.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
			
		||||
44
 | 
			
		||||
45
 | 
			
		||||
46
 | 
			
		||||
48
 | 
			
		||||
49
 | 
			
		||||
50
 | 
			
		||||
51
 | 
			
		||||
52
 | 
			
		||||
53
 | 
			
		||||
54
 | 
			
		||||
55
 | 
			
		||||
56
 | 
			
		||||
57
 | 
			
		||||
63
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
{"typographies":[["Default","verdana.ttf",20,4],["Chinat_Large","CHINN___.ttf",30,4],["Chinat_Small","CHINN___.ttf",20,4],["Chinat_Huge","CHINN___.ttf",40,4],["Numbers","lucon.TTF",50,4],["Default_Bold","verdanab.ttf",20,4]],"generate_font_format":"0"}
 | 
			
		||||
{"typographies":[["Default","verdana.ttf",20,4],["Chinat_Large","CHINN___.ttf",30,4],["Chinat_Small","CHINN___.ttf",20,4],["Chinat_Huge","CHINN___.ttf",40,4],["Numbers","lucon.TTF",50,4],["Default_Bold","verdanab.ttf",20,4],["Numbers_Smaller","lucon.TTF",33,4]],"generate_font_format":"0"}
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
{"typographies":[["Default","verdana.ttf",20,4],["Chinat_Large","CHINN___.ttf",30,4],["Chinat_Small","CHINN___.ttf",20,4],["Chinat_Huge","CHINN___.ttf",40,4],["Numbers","lucon.TTF",50,4],["Default_Bold","verdanab.ttf",20,4]],"generate_font_format":"0"}
 | 
			
		||||
{"typographies":[["Default","verdana.ttf",20,4],["Chinat_Large","CHINN___.ttf",30,4],["Chinat_Small","CHINN___.ttf",20,4],["Chinat_Huge","CHINN___.ttf",40,4],["Numbers","lucon.TTF",50,4],["Default_Bold","verdanab.ttf",20,4],["Numbers_Smaller","lucon.TTF",33,4]],"generate_font_format":"0"}
 | 
			
		||||
							
								
								
									
										15
									
								
								TouchGFX/generated/fonts/cache/Font_lucon_TTF_33_4bppCpp.cache
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								TouchGFX/generated/fonts/cache/Font_lucon_TTF_33_4bppCpp.cache
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
			
		||||
AH:0 BA:1 FC:63 EC:0 FF:0 CF:1
 | 
			
		||||
44
 | 
			
		||||
45
 | 
			
		||||
46
 | 
			
		||||
48
 | 
			
		||||
49
 | 
			
		||||
50
 | 
			
		||||
51
 | 
			
		||||
52
 | 
			
		||||
53
 | 
			
		||||
54
 | 
			
		||||
55
 | 
			
		||||
56
 | 
			
		||||
57
 | 
			
		||||
63
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
AH:0 BA:1 FC:63 EC:0 FF:0 CF:1
 | 
			
		||||
AH:0 BA:1 FC:63 EC:0 FF:0 CF:0
 | 
			
		||||
32
 | 
			
		||||
44
 | 
			
		||||
45
 | 
			
		||||
 | 
			
		||||
@ -19,6 +19,7 @@ struct Typography
 | 
			
		||||
    static const touchgfx::FontId CHINAT_HUGE = 3;
 | 
			
		||||
    static const touchgfx::FontId NUMBERS = 4;
 | 
			
		||||
    static const touchgfx::FontId DEFAULT_BOLD = 5;
 | 
			
		||||
    static const touchgfx::FontId NUMBERS_SMALLER = 6;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct TypographyFontIndex
 | 
			
		||||
@ -29,7 +30,8 @@ struct TypographyFontIndex
 | 
			
		||||
    static const touchgfx::FontId CHINAT_HUGE = 3;     // CHINN____40_4bpp
 | 
			
		||||
    static const touchgfx::FontId NUMBERS = 4;         // lucon_TTF_50_4bpp
 | 
			
		||||
    static const touchgfx::FontId DEFAULT_BOLD = 5;    // verdanab_20_4bpp
 | 
			
		||||
    static const uint16_t NUMBER_OF_FONTS = 6;
 | 
			
		||||
    static const touchgfx::FontId NUMBERS_SMALLER = 6; // lucon_TTF_33_4bpp
 | 
			
		||||
    static const uint16_t NUMBER_OF_FONTS = 7;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class ApplicationFontProvider : public touchgfx::FontProvider
 | 
			
		||||
 | 
			
		||||
@ -27,6 +27,9 @@ touchgfx::Font* ApplicationFontProvider::getFont(touchgfx::FontId typography)
 | 
			
		||||
    case Typography::DEFAULT_BOLD:
 | 
			
		||||
        // verdanab_20_4bpp
 | 
			
		||||
        return const_cast<touchgfx::Font*>(TypedTextDatabase::getFonts()[5]);
 | 
			
		||||
    case Typography::NUMBERS_SMALLER:
 | 
			
		||||
        // lucon_TTF_33_4bpp
 | 
			
		||||
        return const_cast<touchgfx::Font*>(TypedTextDatabase::getFonts()[6]);
 | 
			
		||||
    default:
 | 
			
		||||
        return 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										168
									
								
								TouchGFX/generated/fonts/src/Font_lucon_TTF_33_4bpp_0.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										168
									
								
								TouchGFX/generated/fonts/src/Font_lucon_TTF_33_4bpp_0.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,168 @@
 | 
			
		||||
#include <touchgfx/hal/Types.hpp>
 | 
			
		||||
 | 
			
		||||
FONT_GLYPH_LOCATION_FLASH_PRAGMA
 | 
			
		||||
KEEP extern const uint8_t unicodes_lucon_TTF_33_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE = {
 | 
			
		||||
    // Unicode: [0x002C]
 | 
			
		||||
    0xC5, 0xCC, 0x4C, 0xF7, 0xFF, 0x5F, 0xF7, 0xFF, 0x5F, 0xF7, 0xFF, 0x5F, 0xF7, 0xFF, 0x4F, 0x00,
 | 
			
		||||
    0xF8, 0x2F, 0x00, 0xFA, 0x0E, 0x10, 0xFE, 0x08, 0xD3, 0xDF, 0x01, 0xE6, 0x19, 0x00,
 | 
			
		||||
    // Unicode: [0x002D]
 | 
			
		||||
    0x64, 0x66, 0x66, 0x66, 0x66, 0x66, 0x36, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0xF9, 0xFF,
 | 
			
		||||
    0xFF, 0xFF, 0xFF, 0xFF, 0x8F,
 | 
			
		||||
    // Unicode: [0x002E]
 | 
			
		||||
    0xC5, 0xCC, 0x4C, 0xF7, 0xFF, 0x5F, 0xF7, 0xFF, 0x5F, 0xF7, 0xFF, 0x5F, 0xF7, 0xFF, 0x5F,
 | 
			
		||||
    // Unicode: [0x0030]
 | 
			
		||||
    0x00, 0x00, 0x00, 0x30, 0x55, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xFE, 0xFF, 0xDF, 0x06,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF, 0x9F, 0x00, 0x00, 0x00, 0x90, 0xFF, 0x5D, 0x11,
 | 
			
		||||
    0xE6, 0xFF, 0x07, 0x00, 0x00, 0xF4, 0xEF, 0x02, 0x00, 0x30, 0xFF, 0x2F, 0x00, 0x00, 0xFC, 0x6F,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xF8, 0xAF, 0x00, 0x30, 0xFF, 0x1E, 0x00, 0x00, 0x00, 0xF2, 0xFF, 0x01, 0x80,
 | 
			
		||||
    0xFF, 0x0B, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x06, 0xC0, 0xFF, 0x08, 0x00, 0x00, 0x00, 0x90, 0xFF,
 | 
			
		||||
    0x0A, 0xE0, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x70, 0xFF, 0x0C, 0xF1, 0xFF, 0x04, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x60, 0xFF, 0x0E, 0xF2, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x50, 0xFF, 0x0F, 0xF3, 0xFF, 0x03, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x50, 0xFF, 0x1F, 0xF3, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x40, 0xFF, 0x1F, 0xF2, 0xFF,
 | 
			
		||||
    0x03, 0x00, 0x00, 0x00, 0x50, 0xFF, 0x0F, 0xF1, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x60, 0xFF, 0x0E,
 | 
			
		||||
    0xE0, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x70, 0xFF, 0x0C, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x90,
 | 
			
		||||
    0xFF, 0x0A, 0x80, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x06, 0x30, 0xFF, 0x0E, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xF1, 0xFF, 0x02, 0x00, 0xFD, 0x5F, 0x00, 0x00, 0x00, 0xF7, 0xBF, 0x00, 0x00, 0xF5, 0xDF,
 | 
			
		||||
    0x01, 0x00, 0x20, 0xFE, 0x3F, 0x00, 0x00, 0xA0, 0xFF, 0x3C, 0x00, 0xD4, 0xFF, 0x09, 0x00, 0x00,
 | 
			
		||||
    0x10, 0xFC, 0xFF, 0xEE, 0xFF, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFE, 0xFF, 0xEF, 0x07, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x51, 0x77, 0x15, 0x00, 0x00, 0x00,
 | 
			
		||||
    // Unicode: [0x0031]
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0xEA, 0x8F, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x10, 0xA6, 0xFF, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF, 0x8F, 0x00, 0x00, 0x00,
 | 
			
		||||
    0xFF, 0x9C, 0x25, 0xFA, 0x8F, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x8F, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x66, 0x66, 0x66, 0xFC, 0xBF, 0x66, 0x66, 0x56, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF,
 | 
			
		||||
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF,
 | 
			
		||||
    // Unicode: [0x0032]
 | 
			
		||||
    0x00, 0x00, 0x42, 0x66, 0x14, 0x00, 0x00, 0x00, 0x30, 0xD9, 0xFF, 0xFF, 0xFF, 0x4B, 0x00, 0x00,
 | 
			
		||||
    0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0xB0, 0xBF, 0x26, 0x10, 0xD5, 0xFF, 0x5F, 0x00,
 | 
			
		||||
    0x50, 0x02, 0x00, 0x00, 0x10, 0xFD, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xFF, 0x03,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0x05,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xDF, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x10, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xFF, 0x0C, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0xF7, 0xEF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFF, 0x3E, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xF5, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x50, 0xFF, 0x2D, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0xF4, 0xEF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFE, 0x3E, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xD1, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x40, 0xFF, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0xF4, 0xFF, 0xCE, 0xCC, 0xCC, 0xCC, 0xCC, 0x03, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03,
 | 
			
		||||
    0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03,
 | 
			
		||||
    // Unicode: [0x0033]
 | 
			
		||||
    0x00, 0x20, 0x54, 0x56, 0x03, 0x00, 0x00, 0x80, 0xFD, 0xFF, 0xFF, 0xEF, 0x18, 0x00, 0xD0, 0xFF,
 | 
			
		||||
    0xFF, 0xFF, 0xFF, 0xCF, 0x01, 0xD0, 0x6B, 0x13, 0x31, 0xFA, 0xFF, 0x09, 0x10, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x90, 0xFF, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFF, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
 | 
			
		||||
    0x2F, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFF, 0x0A, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xE3, 0xEF, 0x02, 0x00, 0x00, 0x10, 0x73, 0xFE, 0x3E, 0x00, 0x00, 0xF0, 0xFF,
 | 
			
		||||
    0xFF, 0x9F, 0x01, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xDF, 0x06, 0x00, 0x00, 0x40, 0x55, 0xC8, 0xFF,
 | 
			
		||||
    0xBF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE4, 0xFF, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFF, 0x5F,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xDF, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xF7, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xCF, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xFD, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x4F, 0xC3, 0x37, 0x00, 0x30, 0xFA, 0xFF,
 | 
			
		||||
    0x0A, 0xF4, 0xFF, 0xEF, 0xFE, 0xFF, 0xAF, 0x00, 0xE3, 0xFF, 0xFF, 0xFF, 0xDF, 0x06, 0x00, 0x00,
 | 
			
		||||
    0x52, 0x76, 0x57, 0x02, 0x00, 0x00,
 | 
			
		||||
    // Unicode: [0x0034]
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFF, 0xBF,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xFF, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA,
 | 
			
		||||
    0xFF, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xFF, 0xFC, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0xE1, 0xDF, 0xF5, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x3F, 0xF4, 0xBF, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x50, 0xFF, 0x08, 0xF4, 0xBF, 0x00, 0x00, 0x00, 0x00, 0xE1, 0xDF, 0x00, 0xF4, 0xBF, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xFA, 0x3F, 0x00, 0xF4, 0xBF, 0x00, 0x00, 0x00, 0x60, 0xFF, 0x08, 0x00, 0xF4,
 | 
			
		||||
    0xBF, 0x00, 0x00, 0x00, 0xE2, 0xCF, 0x00, 0x00, 0xF4, 0xBF, 0x00, 0x00, 0x00, 0xFB, 0x3F, 0x00,
 | 
			
		||||
    0x00, 0xF4, 0xBF, 0x00, 0x00, 0x60, 0xFF, 0x07, 0x00, 0x00, 0xF4, 0xBF, 0x00, 0x00, 0xE1, 0xCF,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xF4, 0xBF, 0x00, 0x00, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D,
 | 
			
		||||
    0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0x61, 0x66, 0x66, 0x66, 0x66, 0xF8, 0xCF,
 | 
			
		||||
    0x66, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0xF4, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0xF4, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0xBF, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0xF4, 0xBF, 0x00, 0x00,
 | 
			
		||||
    // Unicode: [0x0035]
 | 
			
		||||
    0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xF3, 0xDF,
 | 
			
		||||
    0xCC, 0xCC, 0xCC, 0xCC, 0x00, 0xF3, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x7F, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xF3, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x7F, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xF3, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3,
 | 
			
		||||
    0xFF, 0xDE, 0x5A, 0x00, 0x00, 0x00, 0xF3, 0xFF, 0xFF, 0xFF, 0x5D, 0x00, 0x00, 0x61, 0x76, 0xC9,
 | 
			
		||||
    0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0xB3, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB,
 | 
			
		||||
    0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x07,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x08, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x08, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0xF1, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x20,
 | 
			
		||||
    0xFE, 0xBF, 0x00, 0x88, 0x14, 0x00, 0xD4, 0xFF, 0x2E, 0x00, 0xFA, 0xFF, 0xFE, 0xFF, 0xEF, 0x03,
 | 
			
		||||
    0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0x2A, 0x00, 0x00, 0x10, 0x64, 0x77, 0x15, 0x00, 0x00, 0x00,
 | 
			
		||||
    // Unicode: [0x0036]
 | 
			
		||||
    0x00, 0x00, 0x00, 0x94, 0xED, 0xDE, 0x6A, 0x02, 0x00, 0x00, 0x00, 0xA1, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
			
		||||
    0x0C, 0x00, 0x00, 0x10, 0xFC, 0xFF, 0x7B, 0x97, 0xFD, 0x0C, 0x00, 0x00, 0xB0, 0xFF, 0x3D, 0x00,
 | 
			
		||||
    0x00, 0x30, 0x07, 0x00, 0x00, 0xF5, 0xEF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x6F,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0,
 | 
			
		||||
    0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xF1, 0xFF, 0x03, 0x10, 0x43, 0x03, 0x00, 0x00, 0x00, 0xF3, 0xFF, 0x11, 0xE9, 0xFF, 0xEF,
 | 
			
		||||
    0x07, 0x00, 0x00, 0xF4, 0xFF, 0xD2, 0xFF, 0xFF, 0xFF, 0xBF, 0x01, 0x00, 0xF5, 0xFF, 0xFC, 0x39,
 | 
			
		||||
    0x20, 0xF7, 0xFF, 0x09, 0x00, 0xF6, 0xFF, 0x7F, 0x00, 0x00, 0x50, 0xFF, 0x3F, 0x00, 0xF5, 0xFF,
 | 
			
		||||
    0x0D, 0x00, 0x00, 0x00, 0xFA, 0xAF, 0x00, 0xF4, 0xFF, 0x08, 0x00, 0x00, 0x00, 0xF5, 0xEF, 0x00,
 | 
			
		||||
    0xF3, 0xFF, 0x06, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0x01, 0xF1, 0xFF, 0x05, 0x00, 0x00, 0x00, 0xF0,
 | 
			
		||||
    0xFF, 0x01, 0xD0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0x00, 0x90, 0xFF, 0x0A, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xF3, 0xCF, 0x00, 0x40, 0xFF, 0x1E, 0x00, 0x00, 0x00, 0xF8, 0x8F, 0x00, 0x00, 0xFC, 0xAF,
 | 
			
		||||
    0x00, 0x00, 0x20, 0xFE, 0x2F, 0x00, 0x00, 0xF3, 0xFF, 0x2A, 0x00, 0xD4, 0xFF, 0x07, 0x00, 0x00,
 | 
			
		||||
    0x60, 0xFF, 0xFF, 0xEE, 0xFF, 0x9F, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xFF, 0xFF, 0xEF, 0x06, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x04, 0x00, 0x00, 0x00,
 | 
			
		||||
    // Unicode: [0x0037]
 | 
			
		||||
    0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x09, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x09,
 | 
			
		||||
    0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xFF, 0x02,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x1E, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x60, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xCF, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0xF8, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFE, 0x0B, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x90, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0xBF, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xFB, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xFF, 0x0C, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0xD0, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xDF, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0xFD, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xE0, 0xFF, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xFB, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x30, 0xFF, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFF, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    // Unicode: [0x0038]
 | 
			
		||||
    0x00, 0x00, 0x00, 0x52, 0x56, 0x03, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xFF, 0xFF, 0xEF, 0x07, 0x00,
 | 
			
		||||
    0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x00, 0x00, 0xF6, 0xEF, 0x26, 0x31, 0xFA, 0xFF, 0x05,
 | 
			
		||||
    0x00, 0xFD, 0x4F, 0x00, 0x00, 0xA0, 0xFF, 0x0A, 0x20, 0xFF, 0x0D, 0x00, 0x00, 0x30, 0xFF, 0x0C,
 | 
			
		||||
    0x30, 0xFF, 0x0C, 0x00, 0x00, 0x20, 0xFF, 0x0B, 0x10, 0xFF, 0x2F, 0x00, 0x00, 0x40, 0xFF, 0x08,
 | 
			
		||||
    0x00, 0xFC, 0xBF, 0x00, 0x00, 0xB0, 0xEF, 0x02, 0x00, 0xF5, 0xFF, 0x1A, 0x00, 0xF8, 0x6F, 0x00,
 | 
			
		||||
    0x00, 0x90, 0xFF, 0xDF, 0x95, 0xFF, 0x07, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x4E, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x10, 0xFA, 0xFF, 0xFF, 0x9F, 0x01, 0x00, 0x00, 0xD2, 0xFF, 0x96, 0xFF, 0xFF, 0x2D, 0x00,
 | 
			
		||||
    0x10, 0xFC, 0x6F, 0x00, 0xC3, 0xFF, 0xEF, 0x02, 0x80, 0xFF, 0x09, 0x00, 0x00, 0xF9, 0xFF, 0x0D,
 | 
			
		||||
    0xE1, 0xFF, 0x02, 0x00, 0x00, 0x90, 0xFF, 0x5F, 0xF4, 0xCF, 0x00, 0x00, 0x00, 0x10, 0xFD, 0x9F,
 | 
			
		||||
    0xF6, 0xBF, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xBF, 0xF6, 0xCF, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xAF,
 | 
			
		||||
    0xF4, 0xFF, 0x02, 0x00, 0x00, 0x00, 0xFA, 0x7F, 0xE0, 0xFF, 0x0B, 0x00, 0x00, 0x40, 0xFF, 0x2F,
 | 
			
		||||
    0x60, 0xFF, 0xBF, 0x03, 0x10, 0xE7, 0xFF, 0x08, 0x00, 0xF8, 0xFF, 0xEF, 0xFE, 0xFF, 0x9F, 0x00,
 | 
			
		||||
    0x00, 0x50, 0xFC, 0xFF, 0xFF, 0xCF, 0x05, 0x00, 0x00, 0x00, 0x30, 0x76, 0x67, 0x02, 0x00, 0x00,
 | 
			
		||||
    // Unicode: [0x0039]
 | 
			
		||||
    0x00, 0x00, 0x10, 0x64, 0x35, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE9, 0xFF, 0xFF, 0x7E, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xD2, 0xFF, 0xFF, 0xFF, 0xFF, 0x1B, 0x00, 0x10, 0xFD, 0xAF, 0x02, 0x72, 0xFF, 0xAF, 0x00,
 | 
			
		||||
    0x80, 0xFF, 0x0A, 0x00, 0x00, 0xF4, 0xFF, 0x04, 0xE1, 0xEF, 0x01, 0x00, 0x00, 0x90, 0xFF, 0x0B,
 | 
			
		||||
    0xF4, 0xAF, 0x00, 0x00, 0x00, 0x30, 0xFF, 0x1F, 0xF7, 0x8F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x5F,
 | 
			
		||||
    0xF8, 0x8F, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x8F, 0xF8, 0x9F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xAF,
 | 
			
		||||
    0xF6, 0xCF, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xCF, 0xF3, 0xFF, 0x02, 0x00, 0x00, 0x50, 0xFF, 0xCF,
 | 
			
		||||
    0xB0, 0xFF, 0x0B, 0x00, 0x00, 0xD1, 0xFF, 0xDF, 0x30, 0xFF, 0xCF, 0x14, 0x51, 0xFD, 0xFC, 0xCF,
 | 
			
		||||
    0x00, 0xF5, 0xFF, 0xFF, 0xFF, 0x7F, 0xF8, 0xBF, 0x00, 0x30, 0xFB, 0xFF, 0xCF, 0x04, 0xF9, 0xAF,
 | 
			
		||||
    0x00, 0x00, 0x10, 0x44, 0x02, 0x00, 0xFB, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x5F,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xFF, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xFF, 0x0A,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFC, 0x9F, 0x00,
 | 
			
		||||
    0x40, 0x6C, 0x02, 0x10, 0xD6, 0xFF, 0x1C, 0x00, 0x40, 0xFF, 0xEF, 0xFE, 0xFF, 0xCF, 0x01, 0x00,
 | 
			
		||||
    0x30, 0xFD, 0xFF, 0xFF, 0xEF, 0x08, 0x00, 0x00, 0x00, 0x10, 0x64, 0x67, 0x04, 0x00, 0x00, 0x00,
 | 
			
		||||
    // Unicode: [0x003F]
 | 
			
		||||
    0x00, 0x10, 0x43, 0x65, 0x45, 0x01, 0x00, 0x00, 0xA3, 0xFD, 0xFF, 0xFF, 0xFF, 0xDF, 0x17, 0x00,
 | 
			
		||||
    0xF5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x02, 0xF5, 0x6F, 0x13, 0x00, 0x52, 0xFA, 0xFF, 0x0D,
 | 
			
		||||
    0xF5, 0x0F, 0x00, 0x00, 0x00, 0x70, 0xFF, 0x4F, 0xF5, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F,
 | 
			
		||||
    0x31, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFF, 0x3F,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xEF, 0x01,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0xA1, 0xFF, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFC, 0xCF, 0x02, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xC1, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xAF, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x30, 0xFF, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x08, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0xB0, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x05, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x30, 0x44, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x99, 0x06, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0xF4, 0xFF, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0xFF, 0x0B, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0xF4, 0xFF, 0x0B, 0x00, 0x00, 0x00
 | 
			
		||||
};
 | 
			
		||||
@ -0,0 +1,6 @@
 | 
			
		||||
#include <touchgfx/Font.hpp>
 | 
			
		||||
 | 
			
		||||
FONT_KERNING_LOCATION_FLASH_PRAGMA
 | 
			
		||||
KEEP extern const touchgfx::KerningNode kerning_lucon_TTF_33_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE = {
 | 
			
		||||
    { 0, 0 }
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										40
									
								
								TouchGFX/generated/fonts/src/Table_lucon_TTF_33_4bpp.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								TouchGFX/generated/fonts/src/Table_lucon_TTF_33_4bpp.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,40 @@
 | 
			
		||||
// Autogenerated, do not edit
 | 
			
		||||
 | 
			
		||||
#include <fonts/GeneratedFont.hpp>
 | 
			
		||||
 | 
			
		||||
FONT_TABLE_LOCATION_FLASH_PRAGMA
 | 
			
		||||
KEEP extern const touchgfx::GlyphNode glyphs_lucon_TTF_33_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = {
 | 
			
		||||
    {     0, 0x002C,   6,  10,   5,   7,  20,   0,   0, 0x00 },
 | 
			
		||||
    {    30, 0x002D,  14,   3,  12,   3,  20,   0,   0, 0x00 },
 | 
			
		||||
    {    51, 0x002E,   6,   5,   5,   7,  20,   0,   0, 0x00 },
 | 
			
		||||
    {    66, 0x0030,  18,  26,  25,   1,  20,   0,   0, 0x00 },
 | 
			
		||||
    {   300, 0x0031,  16,  25,  25,   3,  20,   0,   0, 0x00 },
 | 
			
		||||
    {   500, 0x0032,  15,  25,  25,   2,  20,   0,   0, 0x00 },
 | 
			
		||||
    {   700, 0x0033,  14,  26,  25,   3,  20,   0,   0, 0x00 },
 | 
			
		||||
    {   882, 0x0034,  17,  24,  24,   1,  20,   0,   0, 0x00 },
 | 
			
		||||
    {  1098, 0x0035,  13,  25,  24,   4,  20,   0,   0, 0x00 },
 | 
			
		||||
    {  1273, 0x0036,  17,  26,  25,   2,  20,   0,   0, 0x00 },
 | 
			
		||||
    {  1507, 0x0037,  15,  24,  24,   3,  20,   0,   0, 0x00 },
 | 
			
		||||
    {  1699, 0x0038,  16,  26,  25,   2,  20,   0,   0, 0x00 },
 | 
			
		||||
    {  1907, 0x0039,  16,  26,  25,   2,  20,   0,   0, 0x00 },
 | 
			
		||||
    {  2115, 0x003F,  16,  25,  25,   2,  20,   0,   0, 0x00 }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// lucon_TTF_33_4bpp
 | 
			
		||||
FONT_TABLE_LOCATION_FLASH_PRAGMA
 | 
			
		||||
KEEP extern const touchgfx::GlyphNode glyphs_lucon_TTF_33_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE;
 | 
			
		||||
FONT_GLYPH_LOCATION_FLASH_PRAGMA
 | 
			
		||||
KEEP extern const uint8_t unicodes_lucon_TTF_33_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE;
 | 
			
		||||
FONT_SEARCHTABLE_LOCATION_FLASH_PRAGMA
 | 
			
		||||
KEEP extern const uint8_t* const unicodes_lucon_TTF_33_4bpp[] FONT_SEARCHTABLE_LOCATION_FLASH_ATTRIBUTE = {
 | 
			
		||||
    unicodes_lucon_TTF_33_4bpp_0
 | 
			
		||||
};
 | 
			
		||||
FONT_KERNING_LOCATION_FLASH_PRAGMA
 | 
			
		||||
KEEP extern const touchgfx::KerningNode kerning_lucon_TTF_33_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE;
 | 
			
		||||
touchgfx::GeneratedFont& getFont_lucon_TTF_33_4bpp();
 | 
			
		||||
 | 
			
		||||
touchgfx::GeneratedFont& getFont_lucon_TTF_33_4bpp()
 | 
			
		||||
{
 | 
			
		||||
    static touchgfx::GeneratedFont lucon_TTF_33_4bpp(glyphs_lucon_TTF_33_4bpp, 14, 38, 33, 0, 0, 4, 1, 0, 0, unicodes_lucon_TTF_33_4bpp, kerning_lucon_TTF_33_4bpp, 63, 0, 0, 0);
 | 
			
		||||
    return lucon_TTF_33_4bpp;
 | 
			
		||||
}
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
{"remap":"yes","language":"GB","language_index":0,"indices":[["128","T_ERROR_AMS"],["176","T_DEBUGVIEWFIELD_TITLE"],["176","T_DRIVERVIEWFIELD_TITLE"],["292","T_FIELD_BBAL"],["249","T_FIELD_TSVOLTVEH"],["242","T_FIELD_TSVOLTBAT"],["262","T_FIELD_LVSOC"],["286","T_FIELD_TSSOC"],["302","T_FIELD_MAXCELLTEMP"],["307","T_FIELD_TIREFL"],["312","T_FIELD_TIREFR"],["317","T_FIELD_TIRERL"],["322","T_FIELD_TIRERR"],["297","T_FIELD_LAPCOUNT"],["186","T_FIELD_INICHKSTATE"],["256","T_FIELD_ERR"],["340","T_FIELD_SDC"],["202","T_FIELD_INVRREADY"],["194","T_FIELD_INVLREADY"],["218","T_FIELD_R2DPROGRESS"],["210","T_FIELD_ACTIVEMISSION"],["178","T_FIELD_ASSTATE"],["234","T_FIELD_TSSTATE"],["176","T_NUMBERWILDCARD"],["176","T_DEFAULTWILDCARD_CENTERED"],["176","T_DEFAULTWILDCARD_RIGHTALIGNED"],["332","T_FIELD_TSCURRENT"],["327","T_FIELD_MINCELLVOLT"],["274","T_FIELD_SPEED"],["95","T_INSPECTION_HUGE"],["158","T_EBS_HUGE"],["117","T_TRACKDRIVE_HUGE"],["138","T_AUTOX_HUGE"],["226","T_SKIDPAD_HUGE"],["82","T_ACCEL_HUGE"],["34","T_INVALID_HUGE"],["67","T_MANUAL"],["95","T_INSPECTION"],["158","T_EBS"],["117","T_TRACKDRIVE"],["138","T_AUTOX"],["226","T_SKIDPAD"],["82","T_ACCEL"],["268","T___SINGLEUSE_JN2J"],["167","T___SINGLEUSE_ZP7N"],["176","T___SINGLEUSE_9L8R"],["16","T___SINGLEUSE_1NKF"],["176","T___SINGLEUSE_J5UH"],["336","T___SINGLEUSE_NGUK"],["176","T___SINGLEUSE_4E84"],["176","T___SINGLEUSE_YTAB"],["106","T___SINGLEUSE_RWCE"],["148","T___SINGLEUSE_HMH2"],["344","T___SINGLEUSE_4OBM"],["333","T___SINGLEUSE_PHFD"],["280","T___SINGLEUSE_H6UX"],["176","T___SINGLEUSE_20H3"],["17","T___SINGLEUSE_SDGP"],["51","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]}
 | 
			
		||||
{"remap":"yes","language":"GB","language_index":0,"indices":[["128","T_ERROR_AMS"],["176","T_DEBUGVIEWFIELD_TITLE"],["176","T_DRIVERVIEWFIELD_TITLE"],["176","T_NUMBERSMALLWILDCARD"],["293","T_FIELD_BBAL"],["256","T_FIELD_TSVOLTVEH"],["249","T_FIELD_TSVOLTBAT"],["269","T_FIELD_LVSOC"],["287","T_FIELD_TSSOC"],["303","T_FIELD_MAXCELLTEMP"],["308","T_FIELD_TIREFL"],["313","T_FIELD_TIREFR"],["318","T_FIELD_TIRERL"],["323","T_FIELD_TIRERR"],["298","T_FIELD_LAPCOUNT"],["186","T_FIELD_INICHKSTATE"],["263","T_FIELD_ERR"],["341","T_FIELD_SDC"],["202","T_FIELD_INVRREADY"],["194","T_FIELD_INVLREADY"],["218","T_FIELD_R2DPROGRESS"],["210","T_FIELD_ACTIVEMISSION"],["178","T_FIELD_ASSTATE"],["234","T_FIELD_TSSTATE"],["176","T_NUMBERWILDCARD"],["176","T_DEFAULTWILDCARD_CENTERED"],["176","T_DEFAULTWILDCARD_RIGHTALIGNED"],["333","T_FIELD_TSCURRENT"],["328","T_FIELD_MINCELLVOLT"],["281","T_FIELD_SPEED"],["95","T_INSPECTION_HUGE"],["158","T_EBS_HUGE"],["117","T_TRACKDRIVE_HUGE"],["138","T_AUTOX_HUGE"],["226","T_SKIDPAD_HUGE"],["82","T_ACCEL_HUGE"],["34","T_INVALID_HUGE"],["67","T_MANUAL"],["95","T_INSPECTION"],["158","T_EBS"],["117","T_TRACKDRIVE"],["138","T_AUTOX"],["226","T_SKIDPAD"],["82","T_ACCEL"],["275","T___SINGLEUSE_JN2J"],["167","T___SINGLEUSE_ZP7N"],["176","T___SINGLEUSE_9L8R"],["16","T___SINGLEUSE_1NKF"],["176","T___SINGLEUSE_J5UH"],["337","T___SINGLEUSE_NGUK"],["176","T___SINGLEUSE_4E84"],["176","T___SINGLEUSE_YTAB"],["106","T___SINGLEUSE_RWCE"],["148","T___SINGLEUSE_HMH2"],["345","T___SINGLEUSE_4OBM"],["334","T___SINGLEUSE_PHFD"],["242","T___SINGLEUSE_H6UX"],["176","T___SINGLEUSE_20H3"],["17","T___SINGLEUSE_SDGP"],["51","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]}
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
{"languages":["GB"],"textids":["T_ERROR_AMS","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_JN2J","T___SINGLEUSE_ZP7N","T___SINGLEUSE_9L8R","T___SINGLEUSE_1NKF","T___SINGLEUSE_J5UH","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"]}
 | 
			
		||||
{"languages":["GB"],"textids":["T_ERROR_AMS","T_DEBUGVIEWFIELD_TITLE","T_DRIVERVIEWFIELD_TITLE","T_NUMBERSMALLWILDCARD","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_JN2J","T___SINGLEUSE_ZP7N","T___SINGLEUSE_9L8R","T___SINGLEUSE_1NKF","T___SINGLEUSE_J5UH","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,77,83,32,69,114,114,79,114,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,73,78,86,69,82,84,69,82,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,77,79,84,79,82,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,82,50,68,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,80,65,82,65,77,69,84,69,82,83,0,84,114,97,99,107,100,114,105,118,101,0,65,77,83,32,69,114,114,79,114,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,73,78,86,69,82,84,69,82,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,66,82,65,75,69,83,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,77,79,84,79,82,0,83,80,69,69,68,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,82,50,68,0,83,68,67,0,76,86,0]}
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
{"databases":{"DEFAULT":[[3,"CENTER","LTR"],[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"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[0,"LEFT","LTR"],[3,"CENTER","LTR"],[1,"RIGHT","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"}
 | 
			
		||||
{"databases":{"GB":[[3,"CENTER","LTR"],[5,"LEFT","LTR"],[2,"CENTER","LTR"],[6,"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"],[0,"LEFT","LTR"],[3,"CENTER","LTR"],[1,"RIGHT","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"]],"DEFAULT":[[3,"CENTER","LTR"],[5,"LEFT","LTR"],[2,"CENTER","LTR"],[6,"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"],[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"],[0,"LEFT","LTR"],[3,"CENTER","LTR"],[1,"RIGHT","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":["GB"],"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,"getFont_lucon_TTF_33_4bpp":6},"generate_font_format":"0"}
 | 
			
		||||
@ -15,6 +15,7 @@ enum TEXTS
 | 
			
		||||
    T_ERROR_AMS,
 | 
			
		||||
    T_DEBUGVIEWFIELD_TITLE,
 | 
			
		||||
    T_DRIVERVIEWFIELD_TITLE,
 | 
			
		||||
    T_NUMBERSMALLWILDCARD,
 | 
			
		||||
    T_FIELD_BBAL,
 | 
			
		||||
    T_FIELD_TSVOLTVEH,
 | 
			
		||||
    T_FIELD_TSVOLTBAT,
 | 
			
		||||
 | 
			
		||||
@ -13,20 +13,21 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
 | 
			
		||||
    128, // T_ERROR_AMS: "AMS ErrOr"
 | 
			
		||||
    176, // T_DEBUGVIEWFIELD_TITLE: "<>"
 | 
			
		||||
    176, // T_DRIVERVIEWFIELD_TITLE: "<>"
 | 
			
		||||
    292, // T_FIELD_BBAL: "BBAL"
 | 
			
		||||
    249, // T_FIELD_TSVOLTVEH: "TSVVEH"
 | 
			
		||||
    242, // T_FIELD_TSVOLTBAT: "TSVBAT"
 | 
			
		||||
    262, // T_FIELD_LVSOC: "LVSOC"
 | 
			
		||||
    286, // T_FIELD_TSSOC: "TSSOC"
 | 
			
		||||
    302, // T_FIELD_MAXCELLTEMP: "TMAX"
 | 
			
		||||
    307, // T_FIELD_TIREFL: "TTFL"
 | 
			
		||||
    312, // T_FIELD_TIREFR: "TTFR"
 | 
			
		||||
    317, // T_FIELD_TIRERL: "TTRL"
 | 
			
		||||
    322, // T_FIELD_TIRERR: "TTRR"
 | 
			
		||||
    297, // T_FIELD_LAPCOUNT: "LAPS"
 | 
			
		||||
    176, // T_NUMBERSMALLWILDCARD: "<>"
 | 
			
		||||
    293, // T_FIELD_BBAL: "BBAL"
 | 
			
		||||
    256, // T_FIELD_TSVOLTVEH: "TSVVEH"
 | 
			
		||||
    249, // T_FIELD_TSVOLTBAT: "TSVBAT"
 | 
			
		||||
    269, // T_FIELD_LVSOC: "LVSOC"
 | 
			
		||||
    287, // T_FIELD_TSSOC: "TSSOC"
 | 
			
		||||
    303, // T_FIELD_MAXCELLTEMP: "TMAX"
 | 
			
		||||
    308, // T_FIELD_TIREFL: "TTFL"
 | 
			
		||||
    313, // T_FIELD_TIREFR: "TTFR"
 | 
			
		||||
    318, // T_FIELD_TIRERL: "TTRL"
 | 
			
		||||
    323, // T_FIELD_TIRERR: "TTRR"
 | 
			
		||||
    298, // T_FIELD_LAPCOUNT: "LAPS"
 | 
			
		||||
    186, // T_FIELD_INICHKSTATE: "ICSTATE"
 | 
			
		||||
    256, // T_FIELD_ERR: "ERROR"
 | 
			
		||||
    340, // T_FIELD_SDC: "SDC"
 | 
			
		||||
    263, // T_FIELD_ERR: "ERROR"
 | 
			
		||||
    341, // T_FIELD_SDC: "SDC"
 | 
			
		||||
    202, // T_FIELD_INVRREADY: "INVRRDY"
 | 
			
		||||
    194, // T_FIELD_INVLREADY: "INVLRDY"
 | 
			
		||||
    218, // T_FIELD_R2DPROGRESS: "R2DPROG"
 | 
			
		||||
@ -36,9 +37,9 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
 | 
			
		||||
    176, // T_NUMBERWILDCARD: "<>"
 | 
			
		||||
    176, // T_DEFAULTWILDCARD_CENTERED: "<>"
 | 
			
		||||
    176, // T_DEFAULTWILDCARD_RIGHTALIGNED: "<>"
 | 
			
		||||
    332, // T_FIELD_TSCURRENT: "ITS"
 | 
			
		||||
    327, // T_FIELD_MINCELLVOLT: "VMIN"
 | 
			
		||||
    274, // T_FIELD_SPEED: "SPEED"
 | 
			
		||||
    333, // T_FIELD_TSCURRENT: "ITS"
 | 
			
		||||
    328, // T_FIELD_MINCELLVOLT: "VMIN"
 | 
			
		||||
    281, // T_FIELD_SPEED: "SPEED"
 | 
			
		||||
    95,  // T_INSPECTION_HUGE: "Inspection"
 | 
			
		||||
    158, // T_EBS_HUGE: "EBS Test"
 | 
			
		||||
    117, // T_TRACKDRIVE_HUGE: "Trackdrive"
 | 
			
		||||
@ -53,19 +54,19 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
 | 
			
		||||
    138, // T_AUTOX: "Autocross"
 | 
			
		||||
    226, // T_SKIDPAD: "Skidpad"
 | 
			
		||||
    82,  // T_ACCEL: "Acceleration"
 | 
			
		||||
    268, // T___SINGLEUSE_JN2J: "MOTOR"
 | 
			
		||||
    275, // T___SINGLEUSE_JN2J: "MOTOR"
 | 
			
		||||
    167, // T___SINGLEUSE_ZP7N: "INVERTER"
 | 
			
		||||
    176, // T___SINGLEUSE_9L8R: "<>"
 | 
			
		||||
    16,  // T___SINGLEUSE_1NKF: ""
 | 
			
		||||
    176, // T___SINGLEUSE_J5UH: "<>"
 | 
			
		||||
    336, // T___SINGLEUSE_NGUK: "R2D"
 | 
			
		||||
    337, // T___SINGLEUSE_NGUK: "R2D"
 | 
			
		||||
    176, // T___SINGLEUSE_4E84: "<>"
 | 
			
		||||
    176, // T___SINGLEUSE_YTAB: "<>"
 | 
			
		||||
    106, // T___SINGLEUSE_RWCE: "PARAMETERS"
 | 
			
		||||
    148, // T___SINGLEUSE_HMH2: "PRECHARGE"
 | 
			
		||||
    344, // T___SINGLEUSE_4OBM: "LV"
 | 
			
		||||
    333, // T___SINGLEUSE_PHFD: "TS"
 | 
			
		||||
    280, // T___SINGLEUSE_H6UX: "TIRES"
 | 
			
		||||
    345, // T___SINGLEUSE_4OBM: "LV"
 | 
			
		||||
    334, // T___SINGLEUSE_PHFD: "TS"
 | 
			
		||||
    242, // T___SINGLEUSE_H6UX: "BRAKES"
 | 
			
		||||
    176, // T___SINGLEUSE_20H3: "<>"
 | 
			
		||||
    17,  // T___SINGLEUSE_SDGP: "Current Mission:"
 | 
			
		||||
    51,  // T___SINGLEUSE_M5X7: "Invalid Mission"
 | 
			
		||||
 | 
			
		||||
@ -83,26 +83,26 @@ KEEP extern const touchgfx::Unicode::UnicodeChar texts_all_languages[] TEXT_LOCA
 | 
			
		||||
    0x52, 0x32, 0x44, 0x50, 0x52, 0x4f, 0x47, 0x0, // @218 "R2DPROG"
 | 
			
		||||
    0x53, 0x6b, 0x69, 0x64, 0x70, 0x61, 0x64, 0x0, // @226 "Skidpad"
 | 
			
		||||
    0x54, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @234 "TSSTATE"
 | 
			
		||||
    0x54, 0x53, 0x56, 0x42, 0x41, 0x54, 0x0, // @242 "TSVBAT"
 | 
			
		||||
    0x54, 0x53, 0x56, 0x56, 0x45, 0x48, 0x0, // @249 "TSVVEH"
 | 
			
		||||
    0x45, 0x52, 0x52, 0x4f, 0x52, 0x0, // @256 "ERROR"
 | 
			
		||||
    0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @262 "LVSOC"
 | 
			
		||||
    0x4d, 0x4f, 0x54, 0x4f, 0x52, 0x0, // @268 "MOTOR"
 | 
			
		||||
    0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @274 "SPEED"
 | 
			
		||||
    0x54, 0x49, 0x52, 0x45, 0x53, 0x0, // @280 "TIRES"
 | 
			
		||||
    0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @286 "TSSOC"
 | 
			
		||||
    0x42, 0x42, 0x41, 0x4c, 0x0, // @292 "BBAL"
 | 
			
		||||
    0x4c, 0x41, 0x50, 0x53, 0x0, // @297 "LAPS"
 | 
			
		||||
    0x54, 0x4d, 0x41, 0x58, 0x0, // @302 "TMAX"
 | 
			
		||||
    0x54, 0x54, 0x46, 0x4c, 0x0, // @307 "TTFL"
 | 
			
		||||
    0x54, 0x54, 0x46, 0x52, 0x0, // @312 "TTFR"
 | 
			
		||||
    0x54, 0x54, 0x52, 0x4c, 0x0, // @317 "TTRL"
 | 
			
		||||
    0x54, 0x54, 0x52, 0x52, 0x0, // @322 "TTRR"
 | 
			
		||||
    0x56, 0x4d, 0x49, 0x4e, 0x0, // @327 "VMIN"
 | 
			
		||||
    0x49, 0x54, 0x53, 0x0, // @332 "ITS"
 | 
			
		||||
    0x52, 0x32, 0x44, 0x0, // @336 "R2D"
 | 
			
		||||
    0x53, 0x44, 0x43, 0x0, // @340 "SDC"
 | 
			
		||||
    0x4c, 0x56, 0x0 // @344 "LV"
 | 
			
		||||
    0x42, 0x52, 0x41, 0x4b, 0x45, 0x53, 0x0, // @242 "BRAKES"
 | 
			
		||||
    0x54, 0x53, 0x56, 0x42, 0x41, 0x54, 0x0, // @249 "TSVBAT"
 | 
			
		||||
    0x54, 0x53, 0x56, 0x56, 0x45, 0x48, 0x0, // @256 "TSVVEH"
 | 
			
		||||
    0x45, 0x52, 0x52, 0x4f, 0x52, 0x0, // @263 "ERROR"
 | 
			
		||||
    0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @269 "LVSOC"
 | 
			
		||||
    0x4d, 0x4f, 0x54, 0x4f, 0x52, 0x0, // @275 "MOTOR"
 | 
			
		||||
    0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @281 "SPEED"
 | 
			
		||||
    0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @287 "TSSOC"
 | 
			
		||||
    0x42, 0x42, 0x41, 0x4c, 0x0, // @293 "BBAL"
 | 
			
		||||
    0x4c, 0x41, 0x50, 0x53, 0x0, // @298 "LAPS"
 | 
			
		||||
    0x54, 0x4d, 0x41, 0x58, 0x0, // @303 "TMAX"
 | 
			
		||||
    0x54, 0x54, 0x46, 0x4c, 0x0, // @308 "TTFL"
 | 
			
		||||
    0x54, 0x54, 0x46, 0x52, 0x0, // @313 "TTFR"
 | 
			
		||||
    0x54, 0x54, 0x52, 0x4c, 0x0, // @318 "TTRL"
 | 
			
		||||
    0x54, 0x54, 0x52, 0x52, 0x0, // @323 "TTRR"
 | 
			
		||||
    0x56, 0x4d, 0x49, 0x4e, 0x0, // @328 "VMIN"
 | 
			
		||||
    0x49, 0x54, 0x53, 0x0, // @333 "ITS"
 | 
			
		||||
    0x52, 0x32, 0x44, 0x0, // @337 "R2D"
 | 
			
		||||
    0x53, 0x44, 0x43, 0x0, // @341 "SDC"
 | 
			
		||||
    0x4c, 0x56, 0x0 // @345 "LV"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
TEXT_LOCATION_FLASH_PRAGMA
 | 
			
		||||
 | 
			
		||||
@ -11,6 +11,7 @@ extern touchgfx::GeneratedFont& getFont_CHINN____20_4bpp();
 | 
			
		||||
extern touchgfx::GeneratedFont& getFont_CHINN____40_4bpp();
 | 
			
		||||
extern touchgfx::GeneratedFont& getFont_lucon_TTF_50_4bpp();
 | 
			
		||||
extern touchgfx::GeneratedFont& getFont_verdanab_20_4bpp();
 | 
			
		||||
extern touchgfx::GeneratedFont& getFont_lucon_TTF_33_4bpp();
 | 
			
		||||
 | 
			
		||||
const touchgfx::Font* touchgfx_fonts[] = {
 | 
			
		||||
    &(getFont_verdana_20_4bpp()),
 | 
			
		||||
@ -18,17 +19,83 @@ const touchgfx::Font* touchgfx_fonts[] = {
 | 
			
		||||
    &(getFont_CHINN____20_4bpp()),
 | 
			
		||||
    &(getFont_CHINN____40_4bpp()),
 | 
			
		||||
    &(getFont_lucon_TTF_50_4bpp()),
 | 
			
		||||
    &(getFont_verdanab_20_4bpp())
 | 
			
		||||
    &(getFont_verdanab_20_4bpp()),
 | 
			
		||||
    &(getFont_lucon_TTF_33_4bpp())
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[];
 | 
			
		||||
extern const touchgfx::TypedText::TypedTextData* const typedTextDatabaseArray[];
 | 
			
		||||
 | 
			
		||||
TEXT_LOCATION_FLASH_PRAGMA
 | 
			
		||||
const touchgfx::TypedText::TypedTextData typedText_database_GB[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
 | 
			
		||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 5, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 6, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 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 },
 | 
			
		||||
    { 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 },
 | 
			
		||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 0, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 1, touchgfx::RIGHT, 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 },
 | 
			
		||||
    { 1, 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 },
 | 
			
		||||
    { 4, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 1, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 1, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR }
 | 
			
		||||
};
 | 
			
		||||
TEXT_LOCATION_FLASH_PRAGMA
 | 
			
		||||
const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
 | 
			
		||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 5, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 6, 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 },
 | 
			
		||||
@ -90,7 +157,7 @@ const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[] TEXT_LOCAT
 | 
			
		||||
 | 
			
		||||
TEXT_LOCATION_FLASH_PRAGMA
 | 
			
		||||
const touchgfx::TypedText::TypedTextData* const typedTextDatabaseArray[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
 | 
			
		||||
    typedText_database_DEFAULT
 | 
			
		||||
    typedText_database_GB
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
namespace TypedTextDatabase
 | 
			
		||||
@ -139,6 +206,9 @@ void resetFont(touchgfx::FontId fontId)
 | 
			
		||||
    case 5:
 | 
			
		||||
        touchgfx_fonts[5] = &(getFont_verdanab_20_4bpp());
 | 
			
		||||
        break;
 | 
			
		||||
    case 6:
 | 
			
		||||
        touchgfx_fonts[6] = &(getFont_lucon_TTF_33_4bpp());
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
} // namespace TypedTextDatabase
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,7 @@ CountedEnum(DataFieldType, size_t, DF_TSState, DF_ASState, DF_ActiveMission,
 | 
			
		||||
            DF_IniChkState, DF_LapCount, DF_TireTempFL, DF_TireTempFR,
 | 
			
		||||
            DF_TireTempRL, DF_TireTempRR, DF_MinCellVolt, DF_MaxCellTemp,
 | 
			
		||||
            DF_TSSoC, DF_LVSoC, DF_TSCurrent, DF_TSVoltageBat, DF_TSVoltageVeh,
 | 
			
		||||
            DF_Speed, DF_BBal);
 | 
			
		||||
            DF_Speed, DF_BBal, DF_BPF, DF_BPR, DF_DistanceTotal);
 | 
			
		||||
 | 
			
		||||
enum class NamedFieldKind { Float, Bool, Text, Int };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -19,11 +19,14 @@ public:
 | 
			
		||||
   */
 | 
			
		||||
  void setTempThresholds(int *thresholds);
 | 
			
		||||
 | 
			
		||||
  void setSmallText(bool small);
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
private:
 | 
			
		||||
  int temp;
 | 
			
		||||
  int tempThresholds[4];
 | 
			
		||||
  Unicode::UnicodeChar valueBuffer[3];
 | 
			
		||||
  Unicode::UnicodeChar valueBuffer[4];
 | 
			
		||||
  bool small;
 | 
			
		||||
 | 
			
		||||
  void updateValueBuffer();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -270,6 +270,10 @@ NamedFieldDescription dataFieldDescs[] = {
 | 
			
		||||
                         VEH_FIELD(ts_voltage_veh)},
 | 
			
		||||
    [DF_Speed] = {NamedFieldKind::Float, "SPEED", 3, 0, VEH_FIELD(speed)},
 | 
			
		||||
    [DF_BBal] = {NamedFieldKind::Float, "BBAL", 3, 1, get_zero},
 | 
			
		||||
    [DF_BPF] = {NamedFieldKind::Float, "BPF", 3, 1, VEH_FIELD(brake_press_f)},
 | 
			
		||||
    [DF_BPR] = {NamedFieldKind::Float, "BPR", 3, 1, VEH_FIELD(brake_press_r)},
 | 
			
		||||
    [DF_DistanceTotal] = {NamedFieldKind::Float, "DIST", 3, 1,
 | 
			
		||||
                          VEH_FIELD(distance_total)},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static_assert(sizeof(dataFieldDescs) / sizeof(dataFieldDescs[0]) ==
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,7 @@
 | 
			
		||||
 | 
			
		||||
#include <cstring>
 | 
			
		||||
 | 
			
		||||
#include "texts/TextKeysAndLanguages.hpp"
 | 
			
		||||
#include "touchgfx/Color.hpp"
 | 
			
		||||
#include "touchgfx/Unicode.hpp"
 | 
			
		||||
 | 
			
		||||
@ -9,7 +10,10 @@ Temperature::Temperature() : temp{0}, tempThresholds{0, 0, 0, 0} {
 | 
			
		||||
  updateValueBuffer();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Temperature::initialize() { TemperatureBase::initialize(); }
 | 
			
		||||
void Temperature::initialize() {
 | 
			
		||||
  TemperatureBase::initialize();
 | 
			
		||||
  setSmallText(false);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Temperature::setTemp(int temp_in_celsius) {
 | 
			
		||||
  if (temp_in_celsius < 0) {
 | 
			
		||||
@ -42,10 +46,25 @@ void Temperature::setTempThresholds(int *thresholds) {
 | 
			
		||||
  memcpy(tempThresholds, thresholds, sizeof(tempThresholds));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Temperature::setSmallText(bool small_) {
 | 
			
		||||
  this->small = small_;
 | 
			
		||||
  if (small_) {
 | 
			
		||||
    value.setTypedText(T_NUMBERSMALLWILDCARD);
 | 
			
		||||
    value.setHeight(33);
 | 
			
		||||
    value.setY(14);
 | 
			
		||||
  } else {
 | 
			
		||||
    value.setTypedText(T_NUMBERWILDCARD);
 | 
			
		||||
    value.setHeight(50);
 | 
			
		||||
    value.setY(0);
 | 
			
		||||
  }
 | 
			
		||||
  updateValueBuffer();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Temperature::updateValueBuffer() {
 | 
			
		||||
  //   Unicode::utoa(temp, valueBuffer, 3, 10);
 | 
			
		||||
  const char *format = small ? "%03d" : "%02d";
 | 
			
		||||
  Unicode::snprintf(valueBuffer,
 | 
			
		||||
                    sizeof(valueBuffer) / sizeof(Unicode::UnicodeChar), "%02d",
 | 
			
		||||
                    sizeof(valueBuffer) / sizeof(Unicode::UnicodeChar), format,
 | 
			
		||||
                    temp);
 | 
			
		||||
  value.setWildcard(valueBuffer);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -17,11 +17,20 @@ void DriverViewView::setupScreen() {
 | 
			
		||||
    getField(i).setType(fieldTypes[i]);
 | 
			
		||||
  }
 | 
			
		||||
  fieldTypeSelection.setNumberOfItems(DataFieldType_COUNT);
 | 
			
		||||
  int tireThresholds[4] = {35, 40, 50, 60};
 | 
			
		||||
  tireTempFL.setTempThresholds(tireThresholds);
 | 
			
		||||
  tireTempFR.setTempThresholds(tireThresholds);
 | 
			
		||||
  tireTempRL.setTempThresholds(tireThresholds);
 | 
			
		||||
  tireTempRR.setTempThresholds(tireThresholds);
 | 
			
		||||
  // int tireThresholds[4] = {35, 40, 50, 60};
 | 
			
		||||
  // tireTempFL.setTempThresholds(tireThresholds);
 | 
			
		||||
  // tireTempFR.setTempThresholds(tireThresholds);
 | 
			
		||||
  // tireTempRL.setTempThresholds(tireThresholds);
 | 
			
		||||
  // tireTempRR.setTempThresholds(tireThresholds);
 | 
			
		||||
  int brakeThresholds[4] = {100, 150, 200, 250};
 | 
			
		||||
  tireTempFL.setSmallText(true);
 | 
			
		||||
  tireTempFL.setTempThresholds(brakeThresholds);
 | 
			
		||||
  tireTempFR.setSmallText(true);
 | 
			
		||||
  tireTempFR.setTempThresholds(brakeThresholds);
 | 
			
		||||
  tireTempRL.setSmallText(true);
 | 
			
		||||
  tireTempRL.setTempThresholds(brakeThresholds);
 | 
			
		||||
  tireTempRR.setSmallText(true);
 | 
			
		||||
  tireTempRR.setTempThresholds(brakeThresholds);
 | 
			
		||||
  int invThresholds[4] = {30, 40, 50, 60};
 | 
			
		||||
  invTempL.setTempThresholds(invThresholds);
 | 
			
		||||
  invTempR.setTempThresholds(invThresholds);
 | 
			
		||||
@ -49,10 +58,10 @@ void DriverViewView::updateFieldValues() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void DriverViewView::setTemps(const Temperatures &temps) {
 | 
			
		||||
  tireTempFL.setTemp(roundf(temps.tire_fl));
 | 
			
		||||
  tireTempFR.setTemp(roundf(temps.tire_fr));
 | 
			
		||||
  tireTempRL.setTemp(roundf(temps.tire_rl));
 | 
			
		||||
  tireTempRR.setTemp(roundf(temps.tire_rr));
 | 
			
		||||
  tireTempFL.setTemp(roundf(temps.brake_fl));
 | 
			
		||||
  tireTempFR.setTemp(roundf(temps.brake_fr));
 | 
			
		||||
  tireTempRL.setTemp(roundf(temps.brake_rl));
 | 
			
		||||
  tireTempRR.setTemp(roundf(temps.brake_rr));
 | 
			
		||||
  invTempL.setTemp(roundf(temps.inv_l));
 | 
			
		||||
  invTempR.setTemp(roundf(temps.inv_r));
 | 
			
		||||
  motorTempL.setTemp(roundf(temps.mot_l));
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user