diff --git a/Core/Inc/vehicle_state.h b/Core/Inc/vehicle_state.h index dac48d1..9944cad 100644 --- a/Core/Inc/vehicle_state.h +++ b/Core/Inc/vehicle_state.h @@ -8,6 +8,8 @@ extern "C" { #include "stw_defines.h" #include +#define NUM_CONES 12 + typedef enum { TS_INACTIVE = 0, TS_ACTIVE = 1, @@ -88,6 +90,11 @@ typedef struct { float bat_r; } Temperatures; +typedef struct { + uint16_t x; + uint16_t y; +} ConePosition; + typedef struct { TSState ts_state; ASState as_state; @@ -151,6 +158,14 @@ typedef struct { float brake_press_r; float distance_total; + + uint32_t last_jetson_msg; + uint32_t last_epsc_msg; + float desired_angle; + float measured_angle; + float desired_speed; + + ConePosition cone_pos[NUM_CONES]; } VehicleState; extern VehicleState vehicle_state; diff --git a/Core/Src/vehicle.c b/Core/Src/vehicle.c index c87e8e7..d74dd14 100644 --- a/Core/Src/vehicle.c +++ b/Core/Src/vehicle.c @@ -15,39 +15,51 @@ #define CAN_ID_AMS_SLAVE_PANIC 0x9 #define CAN_ID_AMS_STATUS 0xA #define CAN_ID_AMS_ERROR 0xC +#define CAN_ID_JETSON_TX 0xE1 #define CAN_ID_ABX_DRIVER 0x101 #define CAN_ID_ABX_TIMINGS 0x102 #define CAN_ID_ABX_BRAKE_T 0x105 #define CAN_ID_CS_INTERNAL 0x108 #define CAN_ID_ABX_MISC 0x109 +#define CAN_ID_EPSC_OUT 0x321 #define CAN_ID_MISSION_SELECTED 0x400 #define CAN_ID_STW_BUTTONS 0x401 #define CAN_ID_STW_PARAM_SET 0x402 #define CAN_ID_AS_MISSION_FB 0x410 #define CAN_ID_STW_STATUS 0x412 +#define CAN_ID_STW_CONES_BASE 0x414 +#define CAN_ID_STW_CONES_MASK 0x7FC #define CAN_ID_SHUNT_CURRENT 0x521 #define CAN_ID_SHUNT_VOLTAGE1 0x522 #define CAN_ID_SHUNT_VOLTAGE2 0x523 #define CAN_AMS_STATUS_VOLTAGE_FACTOR 1e-4 #define CAN_AMS_STATUS_TEMP_FACTOR 0.0625 +#define CAN_JETSON_TX_ANGLE_FACTOR 0.00784314f +#define CAN_JETSON_TX_SPEED_FACTOR (0.2 * 3.6) #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 #define CAN_ABX_MISC_LV_BAT_VOLTAGE_FACTOR (15.0f / 255) +#define CAN_EPSC_OUT_ANGLE_FACTOR 7.20721e-05f void vehicle_thread_entry(ULONG hfdcan_addr) { memset(&vehicle_state, 0, sizeof(vehicle_state)); + memset(&vehicle_state.cone_pos, 0xFF, sizeof(vehicle_state.cone_pos)); + 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_JETSON_TX, 0x7FF); ftcan_add_filter(CAN_ID_ABX_DRIVER, 0x7FF); ftcan_add_filter(CAN_ID_ABX_TIMINGS, 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_EPSC_OUT, 0x7FF); ftcan_add_filter(CAN_ID_AS_MISSION_FB, 0x7FF); ftcan_add_filter(CAN_ID_STW_STATUS, 0x7FF); + ftcan_add_filter(CAN_ID_STW_CONES_BASE, CAN_ID_STW_CONES_MASK); ftcan_add_filter(CAN_ID_SHUNT_CURRENT, 0x7FF); ftcan_add_filter(CAN_ID_SHUNT_VOLTAGE1, 0x7FF); ftcan_add_filter(CAN_ID_SHUNT_VOLTAGE2, 0x7FF); @@ -78,107 +90,129 @@ void vehicle_broadcast_buttons(GPIO_PinState *button_states) { void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data) { const uint8_t *ptr; - switch (id) { - case CAN_ID_AMS_SLAVE_PANIC: - vehicle_state.last_ams_slave_panic.id = data[0]; - vehicle_state.last_ams_slave_panic.kind = data[1]; - ptr = &data[2]; - vehicle_state.last_ams_slave_panic.arg = ftcan_unmarshal_unsigned(&ptr, 4); - break; - case CAN_ID_AMS_STATUS: - vehicle_state.ts_state = data[0] & 0x7F; - vehicle_state.sdc_closed = (data[0] & 0x80) >> 7; - vehicle_state.soc_ts = data[1]; - ptr = &data[2]; - vehicle_state.min_cell_volt = - ftcan_unmarshal_unsigned(&ptr, 2) * CAN_AMS_STATUS_VOLTAGE_FACTOR; - vehicle_state.max_cell_temp = - ftcan_unmarshal_signed(&ptr, 2) * CAN_AMS_STATUS_TEMP_FACTOR; - // TODO: Separate temperatures for left and right side of battery - vehicle_state.temps.bat_l = vehicle_state.max_cell_temp; - vehicle_state.temps.bat_r = vehicle_state.max_cell_temp; - break; - case CAN_ID_AMS_ERROR: - vehicle_state.last_ams_error.kind = data[0]; - vehicle_state.last_ams_error.arg = data[1]; - break; - case CAN_ID_ABX_DRIVER: - vehicle_state.brake_press_f = (data[1] | ((data[2] & 0x0F) << 8)) * 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_TIMINGS: - vehicle_state.lap_best = (data[0] | (data[1] << 8)) * 0.01f; - vehicle_state.lap_last = (data[2] | (data[3] << 8)) * 0.01f; - 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; - vehicle_state.temps.inv_r = - (data[2] | (data[3] << 8)) * CAN_CS_INTERNAL_TEMP_FACTOR; - vehicle_state.temps.mot_l = - (data[4] | (data[5] << 8)) * CAN_CS_INTERNAL_TEMP_FACTOR; - 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; - vehicle_state.soc_lv = data[5]; - vehicle_state.lv_bat_voltage = data[6] * CAN_ABX_MISC_LV_BAT_VOLTAGE_FACTOR; - break; - case CAN_ID_AS_MISSION_FB: - vehicle_state.active_mission = data[0] & 0b111; - break; - case CAN_ID_STW_STATUS: - vehicle_state.as_state = data[0] & 0b111; - vehicle_state.r2d_progress = data[0] >> 4; - vehicle_state.errors.invl_ready = (data[1] >> 0) & 1; - vehicle_state.errors.invr_ready = (data[1] >> 1) & 1; - vehicle_state.errors.sdc_bfl = (data[1] >> 2) & 1; - vehicle_state.errors.sdc_brl = (data[1] >> 3) & 1; - vehicle_state.errors.sdc_acc = (data[1] >> 4) & 1; - vehicle_state.errors.sdc_hvb = (data[1] >> 5) & 1; - vehicle_state.lap_count = data[2] & 0b111111; - vehicle_state.ini_chk_state = data[3]; - vehicle_state.errors.err_sdc = (data[4] >> 0) & 1; - vehicle_state.errors.err_ams = (data[4] >> 1) & 1; - vehicle_state.errors.err_pdu = (data[4] >> 2) & 1; - vehicle_state.errors.err_ini_chk = (data[4] >> 3) & 1; - vehicle_state.errors.err_con_mon = (data[4] >> 4) & 1; - vehicle_state.errors.err_scs = (data[4] >> 5) & 1; - vehicle_state.errors.err_sbspd = (data[4] >> 6) & 1; - vehicle_state.errors.err_appsp = (data[4] >> 7) & 1; - vehicle_state.errors.err_as = (data[5] >> 0) & 1; - vehicle_state.errors.err_ros = (data[5] >> 1) & 1; - vehicle_state.errors.err_res = (data[5] >> 2) & 1; - vehicle_state.errors.err_invl = (data[5] >> 3) & 1; - vehicle_state.errors.err_invr = (data[5] >> 4) & 1; - break; - case CAN_ID_SHUNT_CURRENT: { - // The first two bytes of shunt result messages are metadata - const uint8_t *result_ptr = &data[2]; - vehicle_state.ts_current = ftcan_unmarshal_signed(&result_ptr, 4) * 1e-3; - break; - } - case CAN_ID_SHUNT_VOLTAGE1: { - const uint8_t *result_ptr = &data[2]; - vehicle_state.ts_voltage_bat = - ftcan_unmarshal_signed(&result_ptr, 4) * 1e-3; - break; - } - case CAN_ID_SHUNT_VOLTAGE2: { - const uint8_t *result_ptr = &data[2]; - vehicle_state.ts_voltage_veh = - ftcan_unmarshal_signed(&result_ptr, 4) * 1e-3; - break; - } + if ((id & CAN_ID_STW_CONES_MASK) == CAN_ID_STW_CONES_BASE) { + size_t msg_num = id - CAN_ID_STW_CONES_BASE; + for (size_t i = 0; i < 4; i++) { + vehicle_state.cone_pos[msg_num * 4 + i].x = data[i * 2]; + vehicle_state.cone_pos[msg_num * 4 + i].y = data[i * 2 + 1]; + } + } else { + switch (id) { + case CAN_ID_AMS_SLAVE_PANIC: + vehicle_state.last_ams_slave_panic.id = data[0]; + vehicle_state.last_ams_slave_panic.kind = data[1]; + ptr = &data[2]; + vehicle_state.last_ams_slave_panic.arg = + ftcan_unmarshal_unsigned(&ptr, 4); + break; + case CAN_ID_AMS_STATUS: + vehicle_state.ts_state = data[0] & 0x7F; + vehicle_state.sdc_closed = (data[0] & 0x80) >> 7; + vehicle_state.soc_ts = data[1]; + ptr = &data[2]; + vehicle_state.min_cell_volt = + ftcan_unmarshal_unsigned(&ptr, 2) * CAN_AMS_STATUS_VOLTAGE_FACTOR; + vehicle_state.max_cell_temp = + ftcan_unmarshal_signed(&ptr, 2) * CAN_AMS_STATUS_TEMP_FACTOR; + // TODO: Separate temperatures for left and right side of battery + vehicle_state.temps.bat_l = vehicle_state.max_cell_temp; + vehicle_state.temps.bat_r = vehicle_state.max_cell_temp; + break; + case CAN_ID_AMS_ERROR: + vehicle_state.last_ams_error.kind = data[0]; + vehicle_state.last_ams_error.arg = data[1]; + break; + case CAN_ID_JETSON_TX: + vehicle_state.last_jetson_msg = HAL_GetTick(); + vehicle_state.desired_speed = + ((int8_t)data[1]) * CAN_JETSON_TX_SPEED_FACTOR; + vehicle_state.desired_angle = + ((int8_t)data[2]) * CAN_JETSON_TX_ANGLE_FACTOR; + break; + case CAN_ID_ABX_DRIVER: + vehicle_state.brake_press_f = (data[1] | ((data[2] & 0x0F) << 8)) * 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_TIMINGS: + vehicle_state.lap_best = (data[0] | (data[1] << 8)) * 0.01f; + vehicle_state.lap_last = (data[2] | (data[3] << 8)) * 0.01f; + 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; + vehicle_state.temps.inv_r = + (data[2] | (data[3] << 8)) * CAN_CS_INTERNAL_TEMP_FACTOR; + vehicle_state.temps.mot_l = + (data[4] | (data[5] << 8)) * CAN_CS_INTERNAL_TEMP_FACTOR; + 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; + vehicle_state.soc_lv = data[5]; + vehicle_state.lv_bat_voltage = + data[6] * CAN_ABX_MISC_LV_BAT_VOLTAGE_FACTOR; + break; + case CAN_ID_EPSC_OUT: + vehicle_state.last_epsc_msg = HAL_GetTick(); + vehicle_state.measured_angle = + ((int16_t)((data[0] << 8) | (data[1]))) * CAN_EPSC_OUT_ANGLE_FACTOR; + break; + case CAN_ID_AS_MISSION_FB: + vehicle_state.active_mission = data[0] & 0b111; + break; + case CAN_ID_STW_STATUS: + vehicle_state.as_state = data[0] & 0b111; + vehicle_state.r2d_progress = data[0] >> 4; + vehicle_state.errors.invl_ready = (data[1] >> 0) & 1; + vehicle_state.errors.invr_ready = (data[1] >> 1) & 1; + vehicle_state.errors.sdc_bfl = (data[1] >> 2) & 1; + vehicle_state.errors.sdc_brl = (data[1] >> 3) & 1; + vehicle_state.errors.sdc_acc = (data[1] >> 4) & 1; + vehicle_state.errors.sdc_hvb = (data[1] >> 5) & 1; + vehicle_state.lap_count = data[2] & 0b111111; + vehicle_state.ini_chk_state = data[3]; + vehicle_state.errors.err_sdc = (data[4] >> 0) & 1; + vehicle_state.errors.err_ams = (data[4] >> 1) & 1; + vehicle_state.errors.err_pdu = (data[4] >> 2) & 1; + vehicle_state.errors.err_ini_chk = (data[4] >> 3) & 1; + vehicle_state.errors.err_con_mon = (data[4] >> 4) & 1; + vehicle_state.errors.err_scs = (data[4] >> 5) & 1; + vehicle_state.errors.err_sbspd = (data[4] >> 6) & 1; + vehicle_state.errors.err_appsp = (data[4] >> 7) & 1; + vehicle_state.errors.err_as = (data[5] >> 0) & 1; + vehicle_state.errors.err_ros = (data[5] >> 1) & 1; + vehicle_state.errors.err_res = (data[5] >> 2) & 1; + vehicle_state.errors.err_invl = (data[5] >> 3) & 1; + vehicle_state.errors.err_invr = (data[5] >> 4) & 1; + break; + case CAN_ID_SHUNT_CURRENT: { + // The first two bytes of shunt result messages are metadata + const uint8_t *result_ptr = &data[2]; + vehicle_state.ts_current = ftcan_unmarshal_signed(&result_ptr, 4) * 1e-3; + break; + } + case CAN_ID_SHUNT_VOLTAGE1: { + const uint8_t *result_ptr = &data[2]; + vehicle_state.ts_voltage_bat = + ftcan_unmarshal_signed(&result_ptr, 4) * 1e-3; + break; + } + case CAN_ID_SHUNT_VOLTAGE2: { + const uint8_t *result_ptr = &data[2]; + vehicle_state.ts_voltage_veh = + ftcan_unmarshal_signed(&result_ptr, 4) * 1e-3; + break; + } + } } tx_event_flags_set(&gui_update_events, GUI_UPDATE_VEHICLE_STATE, TX_OR); } diff --git a/STM32Make.make b/STM32Make.make index b220341..7705314 100644 --- a/STM32Make.make +++ b/STM32Make.make @@ -247,6 +247,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_20_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 \ @@ -255,6 +256,7 @@ 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_20_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 \ @@ -262,6 +264,7 @@ 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_20_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 \ diff --git a/TouchGFX/assets/texts/texts.xml b/TouchGFX/assets/texts/texts.xml index 69db711..f81ee67 100644 --- a/TouchGFX/assets/texts/texts.xml +++ b/TouchGFX/assets/texts/texts.xml @@ -171,6 +171,30 @@ + + <value> + + + <value> + + + MSPEED: + + + DSPEED: + + + <value> + + + <value> + + + MANG: + + + DANG: + @@ -207,9 +231,6 @@ <value> - - Current Mission: - Invalid Mission @@ -225,6 +246,7 @@ - + + diff --git a/TouchGFX/generated/fonts/UnicodeListCHINN____20_4.txt b/TouchGFX/generated/fonts/UnicodeListCHINN____20_4.txt index 6170c5a..ce735c0 100644 --- a/TouchGFX/generated/fonts/UnicodeListCHINN____20_4.txt +++ b/TouchGFX/generated/fonts/UnicodeListCHINN____20_4.txt @@ -11,6 +11,7 @@ 55 56 57 +58 63 65 66 diff --git a/TouchGFX/generated/fonts/UnicodeListCHINN____30_4.txt b/TouchGFX/generated/fonts/UnicodeListCHINN____30_4.txt index aeaeea7..6a1714b 100644 --- a/TouchGFX/generated/fonts/UnicodeListCHINN____30_4.txt +++ b/TouchGFX/generated/fonts/UnicodeListCHINN____30_4.txt @@ -10,7 +10,6 @@ 55 56 57 -58 63 65 66 diff --git a/TouchGFX/generated/fonts/UnicodeListlucon_TTF_20_4.txt b/TouchGFX/generated/fonts/UnicodeListlucon_TTF_20_4.txt new file mode 100644 index 0000000..f7d290c --- /dev/null +++ b/TouchGFX/generated/fonts/UnicodeListlucon_TTF_20_4.txt @@ -0,0 +1,15 @@ +32 +44 +45 +46 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +63 \ No newline at end of file diff --git a/TouchGFX/generated/fonts/UnicodeListlucon_TTF_33_4.txt b/TouchGFX/generated/fonts/UnicodeListlucon_TTF_33_4.txt index 6fb77a9..f7d290c 100644 --- a/TouchGFX/generated/fonts/UnicodeListlucon_TTF_33_4.txt +++ b/TouchGFX/generated/fonts/UnicodeListlucon_TTF_33_4.txt @@ -1,3 +1,4 @@ +32 44 45 46 diff --git a/TouchGFX/generated/fonts/cache/ApplicationFontProvider.cache b/TouchGFX/generated/fonts/cache/ApplicationFontProvider.cache index e1fda30..e9b2f3a 100644 --- a/TouchGFX/generated/fonts/cache/ApplicationFontProvider.cache +++ b/TouchGFX/generated/fonts/cache/ApplicationFontProvider.cache @@ -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],["Numbers_Smaller","lucon.TTF",33,4]],"generate_font_format":"0"} \ No newline at end of file +{"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],["Numbers_Small","lucon.TTF",20,4]],"generate_font_format":"0"} \ No newline at end of file diff --git a/TouchGFX/generated/fonts/cache/ApplicationFontProviderHpp.cache b/TouchGFX/generated/fonts/cache/ApplicationFontProviderHpp.cache index e1fda30..e9b2f3a 100644 --- a/TouchGFX/generated/fonts/cache/ApplicationFontProviderHpp.cache +++ b/TouchGFX/generated/fonts/cache/ApplicationFontProviderHpp.cache @@ -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],["Numbers_Smaller","lucon.TTF",33,4]],"generate_font_format":"0"} \ No newline at end of file +{"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],["Numbers_Small","lucon.TTF",20,4]],"generate_font_format":"0"} \ No newline at end of file diff --git a/TouchGFX/generated/fonts/cache/Font_CHINN____20_4bppCpp.cache b/TouchGFX/generated/fonts/cache/Font_CHINN____20_4bppCpp.cache index c1b4a74..5ea6e45 100644 --- a/TouchGFX/generated/fonts/cache/Font_CHINN____20_4bppCpp.cache +++ b/TouchGFX/generated/fonts/cache/Font_CHINN____20_4bppCpp.cache @@ -12,6 +12,7 @@ AH:0 BA:1 FC:63 EC:0 FF:0 CF:1 FU:0 55 56 57 +58 63 65 66 diff --git a/TouchGFX/generated/fonts/cache/Font_CHINN____30_4bppCpp.cache b/TouchGFX/generated/fonts/cache/Font_CHINN____30_4bppCpp.cache index cec9e6a..5f8df00 100644 --- a/TouchGFX/generated/fonts/cache/Font_CHINN____30_4bppCpp.cache +++ b/TouchGFX/generated/fonts/cache/Font_CHINN____30_4bppCpp.cache @@ -11,7 +11,6 @@ AH:0 BA:1 FC:63 EC:0 FF:0 CF:0 FU:0 55 56 57 -58 63 65 66 diff --git a/TouchGFX/generated/fonts/cache/Font_lucon_TTF_20_4bppCpp.cache b/TouchGFX/generated/fonts/cache/Font_lucon_TTF_20_4bppCpp.cache new file mode 100644 index 0000000..b596e2f --- /dev/null +++ b/TouchGFX/generated/fonts/cache/Font_lucon_TTF_20_4bppCpp.cache @@ -0,0 +1,16 @@ +AH:0 BA:1 FC:63 EC:0 FF:0 CF:1 FU:0 +32 +44 +45 +46 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +63 diff --git a/TouchGFX/generated/fonts/cache/Font_lucon_TTF_33_4bppCpp.cache b/TouchGFX/generated/fonts/cache/Font_lucon_TTF_33_4bppCpp.cache index 53653af..67871f0 100644 --- a/TouchGFX/generated/fonts/cache/Font_lucon_TTF_33_4bppCpp.cache +++ b/TouchGFX/generated/fonts/cache/Font_lucon_TTF_33_4bppCpp.cache @@ -1,4 +1,5 @@ -AH:0 BA:1 FC:63 EC:0 FF:0 CF:1 FU:0 +AH:0 BA:1 FC:63 EC:0 FF:0 CF:0 FU:0 +32 44 45 46 diff --git a/TouchGFX/generated/fonts/include/fonts/ApplicationFontProvider.hpp b/TouchGFX/generated/fonts/include/fonts/ApplicationFontProvider.hpp index bf6cb3e..7f7dcfe 100644 --- a/TouchGFX/generated/fonts/include/fonts/ApplicationFontProvider.hpp +++ b/TouchGFX/generated/fonts/include/fonts/ApplicationFontProvider.hpp @@ -20,6 +20,7 @@ struct Typography static const touchgfx::FontId NUMBERS = 4; static const touchgfx::FontId DEFAULT_BOLD = 5; static const touchgfx::FontId NUMBERS_SMALLER = 6; + static const touchgfx::FontId NUMBERS_SMALL = 7; }; struct TypographyFontIndex @@ -31,7 +32,8 @@ struct TypographyFontIndex static const touchgfx::FontId NUMBERS = 4; // lucon_TTF_50_4bpp static const touchgfx::FontId DEFAULT_BOLD = 5; // verdanab_20_4bpp static const touchgfx::FontId NUMBERS_SMALLER = 6; // lucon_TTF_33_4bpp - static const uint16_t NUMBER_OF_FONTS = 7; + static const touchgfx::FontId NUMBERS_SMALL = 7; // lucon_TTF_20_4bpp + static const uint16_t NUMBER_OF_FONTS = 8; }; class ApplicationFontProvider : public touchgfx::FontProvider diff --git a/TouchGFX/generated/fonts/src/ApplicationFontProvider.cpp b/TouchGFX/generated/fonts/src/ApplicationFontProvider.cpp index 21c854e..03dd693 100644 --- a/TouchGFX/generated/fonts/src/ApplicationFontProvider.cpp +++ b/TouchGFX/generated/fonts/src/ApplicationFontProvider.cpp @@ -30,6 +30,9 @@ touchgfx::Font* ApplicationFontProvider::getFont(touchgfx::FontId typography) case Typography::NUMBERS_SMALLER: // lucon_TTF_33_4bpp return const_cast(TypedTextDatabase::getFonts()[6]); + case Typography::NUMBERS_SMALL: + // lucon_TTF_20_4bpp + return const_cast(TypedTextDatabase::getFonts()[7]); default: return 0; } diff --git a/TouchGFX/generated/fonts/src/Font_CHINN____20_4bpp_0.cpp b/TouchGFX/generated/fonts/src/Font_CHINN____20_4bpp_0.cpp index 1ce3ed8..c82826f 100644 --- a/TouchGFX/generated/fonts/src/Font_CHINN____20_4bpp_0.cpp +++ b/TouchGFX/generated/fonts/src/Font_CHINN____20_4bpp_0.cpp @@ -112,6 +112,9 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS 0x33, 0x53, 0xFF, 0x3F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0E, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x3A, 0x00, + // Unicode: [0x003A, colon] + 0xF3, 0xFF, 0x0C, 0xF3, 0xFF, 0x0C, 0xF3, 0xFF, 0x0C, 0xD3, 0xDD, 0x0B, 0x00, 0x00, 0x00, 0xD3, + 0xDD, 0x0A, 0xF3, 0xFF, 0x0C, 0xF3, 0xFF, 0x0C, 0xF3, 0xFF, 0x0C, // Unicode: [0x003F, question] 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x44, 0x44, diff --git a/TouchGFX/generated/fonts/src/Font_CHINN____30_4bpp_0.cpp b/TouchGFX/generated/fonts/src/Font_CHINN____30_4bpp_0.cpp index 7352edb..f65bf26 100644 --- a/TouchGFX/generated/fonts/src/Font_CHINN____30_4bpp_0.cpp +++ b/TouchGFX/generated/fonts/src/Font_CHINN____30_4bpp_0.cpp @@ -198,11 +198,6 @@ KEEP extern const uint8_t unicodes_CHINN____30_4bpp_0[] FONT_GLYPH_LOCATION_FLAS 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x00, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x09, 0x00, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x39, 0x00, 0x00, - // Unicode: [0x003A, colon] - 0xFC, 0xFF, 0xFF, 0x03, 0xFC, 0xFF, 0xFF, 0x03, 0xFC, 0xFF, 0xFF, 0x03, 0xFC, 0xFF, 0xFF, 0x03, - 0xFC, 0xFF, 0xFF, 0x03, 0xFC, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xEB, 0xEE, 0xEE, 0x03, 0xFC, 0xFF, 0xFF, 0x03, 0xFC, 0xFF, 0xFF, 0x03, 0xFC, 0xFF, 0xFF, 0x03, - 0xFC, 0xFF, 0xFF, 0x03, 0xFC, 0xFF, 0xFF, 0x03, // Unicode: [0x003F, question] 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x8C, 0x02, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xFF, 0xFF, diff --git a/TouchGFX/generated/fonts/src/Font_lucon_TTF_20_4bpp_0.cpp b/TouchGFX/generated/fonts/src/Font_lucon_TTF_20_4bpp_0.cpp new file mode 100644 index 0000000..ebc3cdb --- /dev/null +++ b/TouchGFX/generated/fonts/src/Font_lucon_TTF_20_4bpp_0.cpp @@ -0,0 +1,80 @@ +#include + +FONT_GLYPH_LOCATION_FLASH_PRAGMA +KEEP extern const uint8_t unicodes_lucon_TTF_20_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE = { + // Unicode: [0x0020] + // (Has no glyph data) + // Unicode: [0x002C] + 0xE6, 0x7E, 0xF6, 0x7F, 0xF6, 0x7F, 0x40, 0x5F, 0x90, 0x1E, 0xD6, 0x04, + // Unicode: [0x002D] + 0x22, 0x22, 0x22, 0x22, 0xFE, 0xFF, 0xFF, 0xFF, 0x55, 0x55, 0x55, 0x55, + // Unicode: [0x002E] + 0xE6, 0x7E, 0xF6, 0x7F, 0xF6, 0x7F, + // Unicode: [0x0030] + 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xC4, 0xFF, 0x4D, 0x00, 0x40, 0xDF, 0x66, 0xFD, 0x04, 0xD0, + 0x2E, 0x00, 0xE1, 0x0D, 0xF5, 0x09, 0x00, 0x90, 0x5F, 0xF9, 0x06, 0x00, 0x50, 0xAF, 0xFC, 0x04, + 0x00, 0x30, 0xCF, 0xFD, 0x02, 0x00, 0x20, 0xEF, 0xFE, 0x02, 0x00, 0x10, 0xEF, 0xFD, 0x03, 0x00, + 0x20, 0xEF, 0xFB, 0x04, 0x00, 0x30, 0xCF, 0xF9, 0x06, 0x00, 0x50, 0x9F, 0xF4, 0x0A, 0x00, 0x90, + 0x5F, 0xC0, 0x3F, 0x00, 0xE2, 0x0D, 0x30, 0xEE, 0x88, 0xEE, 0x03, 0x00, 0xA2, 0xEE, 0x3B, 0x00, + // Unicode: [0x0031] + 0x00, 0x10, 0xA5, 0x08, 0x00, 0x00, 0x61, 0xFB, 0xFF, 0x09, 0x00, 0x00, 0xD3, 0x69, 0xF7, 0x09, + 0x00, 0x00, 0x00, 0x00, 0xF5, 0x09, 0x00, 0x00, 0x00, 0x00, 0xF5, 0x09, 0x00, 0x00, 0x00, 0x00, + 0xF5, 0x09, 0x00, 0x00, 0x00, 0x00, 0xF5, 0x09, 0x00, 0x00, 0x00, 0x00, 0xF5, 0x09, 0x00, 0x00, + 0x00, 0x00, 0xF5, 0x09, 0x00, 0x00, 0x00, 0x00, 0xF5, 0x09, 0x00, 0x00, 0x00, 0x00, 0xF5, 0x09, + 0x00, 0x00, 0x00, 0x00, 0xF5, 0x09, 0x00, 0x00, 0x00, 0x00, 0xF5, 0x09, 0x00, 0x00, 0x71, 0x77, + 0xFA, 0x7C, 0x77, 0x03, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, + // Unicode: [0x0032] + 0x00, 0x00, 0x12, 0x00, 0x00, 0x80, 0xFD, 0xFF, 0x3B, 0x00, 0xF0, 0x6B, 0x96, 0xEF, 0x03, 0x20, + 0x00, 0x00, 0xF8, 0x0A, 0x00, 0x00, 0x00, 0xF3, 0x0D, 0x00, 0x00, 0x00, 0xF3, 0x0C, 0x00, 0x00, + 0x00, 0xF7, 0x09, 0x00, 0x00, 0x10, 0xEE, 0x02, 0x00, 0x00, 0xC1, 0x4F, 0x00, 0x00, 0x00, 0xFB, + 0x05, 0x00, 0x00, 0xA0, 0x5F, 0x00, 0x00, 0x00, 0xF8, 0x06, 0x00, 0x00, 0x40, 0xBF, 0x00, 0x00, + 0x00, 0xD1, 0x3F, 0x00, 0x00, 0x00, 0xF5, 0xBF, 0xBB, 0xBB, 0x09, 0xF5, 0xFF, 0xFF, 0xFF, 0x0C, + // Unicode: [0x0033] + 0x00, 0x21, 0x01, 0x00, 0x00, 0xD5, 0xFF, 0xDF, 0x06, 0x00, 0xB7, 0x57, 0xE7, 0x6F, 0x00, 0x00, + 0x00, 0x50, 0xCF, 0x00, 0x00, 0x00, 0x20, 0xBF, 0x00, 0x00, 0x00, 0x70, 0x7F, 0x00, 0x10, 0x32, + 0xF7, 0x09, 0x00, 0x60, 0xFF, 0xAF, 0x00, 0x00, 0x20, 0x65, 0xFB, 0x2D, 0x00, 0x00, 0x00, 0x70, + 0xBF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x02, 0x00, 0x00, 0x00, 0xFC, 0x04, 0x00, 0x00, 0x00, 0xFE, + 0x02, 0x01, 0x00, 0x80, 0xCF, 0x00, 0xCB, 0x88, 0xFB, 0x3E, 0x00, 0xC7, 0xFE, 0x9D, 0x02, 0x00, + // Unicode: [0x0034] + 0x00, 0x00, 0x10, 0x9A, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, 0x00, 0x00, 0xF4, 0xEF, 0x00, 0x00, + 0x10, 0xCD, 0xEE, 0x00, 0x00, 0x90, 0x3F, 0xED, 0x00, 0x00, 0xF3, 0x08, 0xED, 0x00, 0x00, 0xDD, + 0x00, 0xED, 0x00, 0x80, 0x3F, 0x00, 0xED, 0x00, 0xF3, 0x09, 0x00, 0xED, 0x00, 0xEC, 0x23, 0x22, + 0xEE, 0x22, 0xFE, 0xFF, 0xFF, 0xFF, 0xDF, 0x55, 0x55, 0x55, 0xEE, 0x45, 0x00, 0x00, 0x00, 0xED, + 0x00, 0x00, 0x00, 0x00, 0xED, 0x00, 0x00, 0x00, 0x00, 0xED, 0x00, + // Unicode: [0x0035] + 0xF1, 0xFF, 0xFF, 0xAF, 0x00, 0xF1, 0xBD, 0xBB, 0x7B, 0x00, 0xF1, 0x08, 0x00, 0x00, 0x00, 0xF1, + 0x08, 0x00, 0x00, 0x00, 0xF1, 0x08, 0x00, 0x00, 0x00, 0xF1, 0x19, 0x00, 0x00, 0x00, 0xF1, 0xFF, + 0x8D, 0x01, 0x00, 0x50, 0x75, 0xFD, 0x1C, 0x00, 0x00, 0x00, 0xA0, 0x9F, 0x00, 0x00, 0x00, 0x20, + 0xEF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0x00, 0x00, 0x30, 0xEF, 0x00, 0x00, 0x00, 0xA0, 0x9F, + 0x00, 0xC5, 0x88, 0xFC, 0x1C, 0x00, 0xB3, 0xFE, 0x8D, 0x01, 0x00, + // Unicode: [0x0036] + 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0xFC, 0xFF, 0x2B, 0x00, 0xF6, 0x7D, 0x75, 0x2B, 0x30, + 0xCF, 0x01, 0x00, 0x00, 0xA0, 0x3F, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x10, 0x01, 0x00, 0xF3, 0x3A, + 0xFC, 0xBF, 0x02, 0xF5, 0xEC, 0x58, 0xF9, 0x1D, 0xF6, 0x6F, 0x00, 0x90, 0x8F, 0xF6, 0x0F, 0x00, + 0x20, 0xDF, 0xF5, 0x0D, 0x00, 0x00, 0xEF, 0xF2, 0x0E, 0x00, 0x00, 0xEE, 0xE0, 0x2F, 0x00, 0x20, + 0xBF, 0x80, 0xAF, 0x00, 0x90, 0x5F, 0x10, 0xFC, 0x7B, 0xFB, 0x0A, 0x00, 0x91, 0xFD, 0x7D, 0x00, + // Unicode: [0x0037] + 0xCC, 0xCC, 0xCC, 0xCC, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0xF7, 0x04, 0x00, + 0x00, 0x10, 0xBE, 0x00, 0x00, 0x00, 0x80, 0x2F, 0x00, 0x00, 0x00, 0xF2, 0x09, 0x00, 0x00, 0x00, + 0xFA, 0x02, 0x00, 0x00, 0x30, 0x9F, 0x00, 0x00, 0x00, 0xB0, 0x2F, 0x00, 0x00, 0x00, 0xF4, 0x0A, + 0x00, 0x00, 0x00, 0xFC, 0x04, 0x00, 0x00, 0x40, 0xEF, 0x00, 0x00, 0x00, 0xA0, 0x9F, 0x00, 0x00, + 0x00, 0xE0, 0x5F, 0x00, 0x00, 0x00, 0xF2, 0x2F, 0x00, 0x00, 0x00, + // Unicode: [0x0038] + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xB3, 0xFF, 0xAF, 0x02, 0x20, 0xEE, 0x67, 0xFA, 0x0C, 0x80, + 0x4F, 0x00, 0xC0, 0x1F, 0xA0, 0x2F, 0x00, 0x90, 0x1F, 0x80, 0x8F, 0x00, 0xD0, 0x0C, 0x10, 0xFE, + 0x18, 0xE9, 0x03, 0x00, 0xE3, 0xEF, 0x2E, 0x00, 0x00, 0xEA, 0xFA, 0xBF, 0x01, 0x90, 0x5F, 0x30, + 0xFD, 0x1D, 0xF2, 0x0B, 0x00, 0xD1, 0x7F, 0xF6, 0x07, 0x00, 0x50, 0xBF, 0xF6, 0x09, 0x00, 0x40, + 0xAF, 0xF2, 0x2E, 0x00, 0xA0, 0x6F, 0x80, 0xEF, 0x89, 0xFC, 0x0B, 0x00, 0xC6, 0xFE, 0x7C, 0x00, + // Unicode: [0x0039] + 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xD5, 0xFF, 0x5D, 0x00, 0x60, 0xCF, 0x76, 0xFE, 0x06, 0xE1, + 0x0D, 0x00, 0xF2, 0x1E, 0xF6, 0x07, 0x00, 0xA0, 0x5F, 0xF8, 0x05, 0x00, 0x70, 0x9F, 0xF7, 0x07, + 0x00, 0x80, 0xBF, 0xF4, 0x0C, 0x00, 0xC0, 0xCF, 0xB0, 0xAF, 0x33, 0xDA, 0xCF, 0x10, 0xFB, 0xFF, + 0x5B, 0xBF, 0x00, 0x20, 0x24, 0x50, 0x9F, 0x00, 0x00, 0x00, 0x90, 0x6F, 0x00, 0x00, 0x00, 0xE1, + 0x1E, 0x10, 0x00, 0x00, 0xFA, 0x07, 0xB0, 0x8B, 0xC8, 0xAF, 0x00, 0x60, 0xEC, 0xCE, 0x06, 0x00, + // Unicode: [0x003F] + 0x00, 0x10, 0x12, 0x00, 0x00, 0xB4, 0xFE, 0xFF, 0xAE, 0x02, 0xF6, 0x68, 0x75, 0xFB, 0x2E, 0xF6, + 0x01, 0x00, 0xB0, 0x8F, 0x52, 0x00, 0x00, 0x70, 0x8F, 0x00, 0x00, 0x00, 0xC0, 0x4F, 0x00, 0x00, + 0x00, 0xF9, 0x09, 0x00, 0x00, 0xA0, 0x9F, 0x00, 0x00, 0x00, 0xF9, 0x07, 0x00, 0x00, 0x40, 0xAF, + 0x00, 0x00, 0x00, 0x80, 0x5F, 0x00, 0x00, 0x00, 0x80, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x23, 0x00, 0x00, 0x00, 0xE0, 0x8F, 0x00, 0x00, 0x00, 0xE0, 0x8F, 0x00, 0x00 +}; diff --git a/TouchGFX/generated/fonts/src/Font_lucon_TTF_33_4bpp_0.cpp b/TouchGFX/generated/fonts/src/Font_lucon_TTF_33_4bpp_0.cpp index 63b3481..40a8298 100644 --- a/TouchGFX/generated/fonts/src/Font_lucon_TTF_33_4bpp_0.cpp +++ b/TouchGFX/generated/fonts/src/Font_lucon_TTF_33_4bpp_0.cpp @@ -2,6 +2,8 @@ FONT_GLYPH_LOCATION_FLASH_PRAGMA KEEP extern const uint8_t unicodes_lucon_TTF_33_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE = { + // Unicode: [0x0020] + // (Has no glyph data) // 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, diff --git a/TouchGFX/generated/fonts/src/Kerning_lucon_TTF_20_4bpp.cpp b/TouchGFX/generated/fonts/src/Kerning_lucon_TTF_20_4bpp.cpp new file mode 100644 index 0000000..21cac0f --- /dev/null +++ b/TouchGFX/generated/fonts/src/Kerning_lucon_TTF_20_4bpp.cpp @@ -0,0 +1,6 @@ +#include + +FONT_KERNING_LOCATION_FLASH_PRAGMA +KEEP extern const touchgfx::KerningNode kerning_lucon_TTF_20_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE = { + { 0, 0 } +}; diff --git a/TouchGFX/generated/fonts/src/Table_CHINN____20_4bpp.cpp b/TouchGFX/generated/fonts/src/Table_CHINN____20_4bpp.cpp index 990be34..a461892 100644 --- a/TouchGFX/generated/fonts/src/Table_CHINN____20_4bpp.cpp +++ b/TouchGFX/generated/fonts/src/Table_CHINN____20_4bpp.cpp @@ -17,60 +17,61 @@ KEEP extern const touchgfx::GlyphNode glyphs_CHINN____20_4bpp[] FONT_TABLE_LOCAT { 1000, 0x0037, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // seven { 1130, 0x0038, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // eight { 1260, 0x0039, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // nine - { 1390, 0x003F, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // question - { 1520, 0x0041, 20, 13, 13, -1, 18, 0, 0, 0x00 }, // A - { 1650, 0x0042, 20, 13, 13, 0, 21, 0, 0, 0x00 }, // B - { 1780, 0x0043, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // C - { 1910, 0x0044, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // D - { 2040, 0x0045, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // E - { 2170, 0x0046, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // F - { 2300, 0x0047, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // G - { 2430, 0x0048, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // H - { 2560, 0x0049, 4, 13, 13, 0, 5, 0, 0, 0x00 }, // I - { 2586, 0x004A, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // J - { 2716, 0x004B, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // K - { 2846, 0x004C, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // L - { 2976, 0x004D, 21, 13, 13, 0, 21, 0, 0, 0x00 }, // M - { 3119, 0x004E, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // N - { 3249, 0x004F, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // O - { 3379, 0x0050, 21, 13, 13, 0, 20, 0, 0, 0x00 }, // P - { 3522, 0x0051, 21, 13, 13, 0, 20, 0, 0, 0x00 }, // Q - { 3665, 0x0052, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // R - { 3795, 0x0053, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // S - { 3938, 0x0054, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // T - { 4068, 0x0055, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // U - { 4198, 0x0056, 20, 13, 13, -1, 18, 0, 0, 0x00 }, // V - { 4328, 0x0057, 19, 13, 13, 0, 19, 0, 0, 0x00 }, // W - { 4458, 0x0058, 19, 13, 13, 0, 19, 0, 0, 0x00 }, // X - { 4588, 0x0059, 19, 13, 13, -1, 18, 0, 0, 0x00 }, // Y - { 4718, 0x005A, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // Z - { 4861, 0x005F, 10, 3, 255, 0, 10, 0, 0, 0x60 }, // underscore - { 4876, 0x0061, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // a - { 5006, 0x0062, 20, 13, 13, 0, 21, 0, 0, 0x00 }, // b - { 5136, 0x0063, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // c - { 5266, 0x0064, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // d - { 5396, 0x0065, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // e - { 5526, 0x0066, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // f - { 5656, 0x0067, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // g - { 5786, 0x0068, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // h - { 5916, 0x0069, 4, 13, 13, 0, 5, 0, 0, 0x00 }, // i - { 5942, 0x006A, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // j - { 6072, 0x006B, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // k - { 6202, 0x006C, 15, 13, 13, 0, 14, 0, 0, 0x00 }, // l - { 6306, 0x006D, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // m - { 6436, 0x006E, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // n - { 6566, 0x006F, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // o - { 6696, 0x0070, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // p - { 6826, 0x0071, 21, 13, 13, 0, 20, 0, 0, 0x00 }, // q - { 6969, 0x0072, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // r - { 7099, 0x0073, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // s - { 7242, 0x0074, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // t - { 7372, 0x0075, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // u - { 7502, 0x0076, 20, 13, 13, -1, 18, 0, 0, 0x00 }, // v - { 7632, 0x0077, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // w - { 7775, 0x0078, 19, 13, 13, 0, 19, 0, 0, 0x00 }, // x - { 7905, 0x0079, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // y - { 8035, 0x007A, 22, 13, 13, 0, 22, 0, 0, 0x00 } // z + { 1390, 0x003A, 5, 9, 9, 0, 6, 0, 0, 0x00 }, // colon + { 1417, 0x003F, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // question + { 1547, 0x0041, 20, 13, 13, -1, 18, 0, 0, 0x00 }, // A + { 1677, 0x0042, 20, 13, 13, 0, 21, 0, 0, 0x00 }, // B + { 1807, 0x0043, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // C + { 1937, 0x0044, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // D + { 2067, 0x0045, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // E + { 2197, 0x0046, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // F + { 2327, 0x0047, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // G + { 2457, 0x0048, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // H + { 2587, 0x0049, 4, 13, 13, 0, 5, 0, 0, 0x00 }, // I + { 2613, 0x004A, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // J + { 2743, 0x004B, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // K + { 2873, 0x004C, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // L + { 3003, 0x004D, 21, 13, 13, 0, 21, 0, 0, 0x00 }, // M + { 3146, 0x004E, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // N + { 3276, 0x004F, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // O + { 3406, 0x0050, 21, 13, 13, 0, 20, 0, 0, 0x00 }, // P + { 3549, 0x0051, 21, 13, 13, 0, 20, 0, 0, 0x00 }, // Q + { 3692, 0x0052, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // R + { 3822, 0x0053, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // S + { 3965, 0x0054, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // T + { 4095, 0x0055, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // U + { 4225, 0x0056, 20, 13, 13, -1, 18, 0, 0, 0x00 }, // V + { 4355, 0x0057, 19, 13, 13, 0, 19, 0, 0, 0x00 }, // W + { 4485, 0x0058, 19, 13, 13, 0, 19, 0, 0, 0x00 }, // X + { 4615, 0x0059, 19, 13, 13, -1, 18, 0, 0, 0x00 }, // Y + { 4745, 0x005A, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // Z + { 4888, 0x005F, 10, 3, 255, 0, 10, 0, 0, 0x60 }, // underscore + { 4903, 0x0061, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // a + { 5033, 0x0062, 20, 13, 13, 0, 21, 0, 0, 0x00 }, // b + { 5163, 0x0063, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // c + { 5293, 0x0064, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // d + { 5423, 0x0065, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // e + { 5553, 0x0066, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // f + { 5683, 0x0067, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // g + { 5813, 0x0068, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // h + { 5943, 0x0069, 4, 13, 13, 0, 5, 0, 0, 0x00 }, // i + { 5969, 0x006A, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // j + { 6099, 0x006B, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // k + { 6229, 0x006C, 15, 13, 13, 0, 14, 0, 0, 0x00 }, // l + { 6333, 0x006D, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // m + { 6463, 0x006E, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // n + { 6593, 0x006F, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // o + { 6723, 0x0070, 20, 13, 13, 0, 19, 0, 0, 0x00 }, // p + { 6853, 0x0071, 21, 13, 13, 0, 20, 0, 0, 0x00 }, // q + { 6996, 0x0072, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // r + { 7126, 0x0073, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // s + { 7269, 0x0074, 20, 13, 13, -1, 19, 0, 0, 0x00 }, // t + { 7399, 0x0075, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // u + { 7529, 0x0076, 20, 13, 13, -1, 18, 0, 0, 0x00 }, // v + { 7659, 0x0077, 22, 13, 13, 0, 22, 0, 0, 0x00 }, // w + { 7802, 0x0078, 19, 13, 13, 0, 19, 0, 0, 0x00 }, // x + { 7932, 0x0079, 20, 13, 13, 0, 20, 0, 0, 0x00 }, // y + { 8062, 0x007A, 22, 13, 13, 0, 22, 0, 0, 0x00 } // z }; // CHINN____20_4bpp @@ -88,6 +89,6 @@ touchgfx::GeneratedFont& getFont_CHINN____20_4bpp(); touchgfx::GeneratedFont& getFont_CHINN____20_4bpp() { - static touchgfx::GeneratedFont CHINN____20_4bpp(glyphs_CHINN____20_4bpp, 67, 24, 20, 0, 0, 4, 1, 1, 1, unicodes_CHINN____20_4bpp, kerning_CHINN____20_4bpp, 63, 0, 0, 0); + static touchgfx::GeneratedFont CHINN____20_4bpp(glyphs_CHINN____20_4bpp, 68, 24, 20, 0, 0, 4, 1, 1, 1, unicodes_CHINN____20_4bpp, kerning_CHINN____20_4bpp, 63, 0, 0, 0); return CHINN____20_4bpp; } diff --git a/TouchGFX/generated/fonts/src/Table_CHINN____30_4bpp.cpp b/TouchGFX/generated/fonts/src/Table_CHINN____30_4bpp.cpp index 57f2cec..e076134 100644 --- a/TouchGFX/generated/fonts/src/Table_CHINN____30_4bpp.cpp +++ b/TouchGFX/generated/fonts/src/Table_CHINN____30_4bpp.cpp @@ -16,60 +16,59 @@ KEEP extern const touchgfx::GlyphNode glyphs_CHINN____30_4bpp[] FONT_TABLE_LOCAT { 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 + { 2875, 0x003F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // question + { 3175, 0x0041, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // A + { 3475, 0x0042, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // B + { 3775, 0x0043, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // C + { 4075, 0x0044, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // D + { 4375, 0x0045, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // E + { 4675, 0x0046, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // F + { 4975, 0x0047, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // G + { 5275, 0x0048, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // H + { 5575, 0x0049, 6, 20, 20, 0, 7, 0, 0, 0x00 }, // I + { 5635, 0x004A, 30, 20, 20, -1, 29, 0, 0, 0x00 }, // J + { 5935, 0x004B, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // K + { 6235, 0x004C, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // L + { 6535, 0x004D, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // M + { 6855, 0x004E, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // N + { 7155, 0x004F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // O + { 7455, 0x0050, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // P + { 7775, 0x0051, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // Q + { 8095, 0x0052, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // R + { 8395, 0x0053, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // S + { 8715, 0x0054, 30, 20, 20, -1, 28, 0, 0, 0x00 }, // T + { 9015, 0x0055, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // U + { 9315, 0x0056, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // V + { 9615, 0x0057, 28, 20, 20, 0, 28, 0, 0, 0x00 }, // W + { 9895, 0x0058, 29, 20, 20, 0, 28, 0, 0, 0x00 }, // X + { 10195, 0x0059, 28, 20, 20, -1, 27, 0, 0, 0x00 }, // Y + { 10475, 0x005A, 33, 20, 20, 0, 32, 0, 0, 0x00 }, // Z + { 10815, 0x0061, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // a + { 11115, 0x0062, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // b + { 11415, 0x0063, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // c + { 11715, 0x0064, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // d + { 12015, 0x0065, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // e + { 12315, 0x0066, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // f + { 12615, 0x0067, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // g + { 12915, 0x0068, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // h + { 13215, 0x0069, 6, 20, 20, 0, 7, 0, 0, 0x00 }, // i + { 13275, 0x006A, 30, 20, 20, -1, 29, 0, 0, 0x00 }, // j + { 13575, 0x006B, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // k + { 13875, 0x006C, 22, 20, 20, 0, 21, 0, 0, 0x00 }, // l + { 14095, 0x006D, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // m + { 14395, 0x006E, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // n + { 14695, 0x006F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // o + { 14995, 0x0070, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // p + { 15295, 0x0071, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // q + { 15615, 0x0072, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // r + { 15915, 0x0073, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // s + { 16235, 0x0074, 30, 20, 20, -1, 28, 0, 0, 0x00 }, // t + { 16535, 0x0075, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // u + { 16835, 0x0076, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // v + { 17135, 0x0077, 33, 20, 20, 0, 33, 0, 0, 0x00 }, // w + { 17475, 0x0078, 29, 20, 20, 0, 28, 0, 0, 0x00 }, // x + { 17775, 0x0079, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // y + { 18075, 0x007A, 33, 20, 20, 0, 32, 0, 0, 0x00 } // z }; // CHINN____30_4bpp @@ -87,6 +86,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, 65, 30, 30, 0, 0, 4, 1, 1, 1, unicodes_CHINN____30_4bpp, kerning_CHINN____30_4bpp, 63, 0, 0, 0); return CHINN____30_4bpp; } diff --git a/TouchGFX/generated/fonts/src/Table_lucon_TTF_20_4bpp.cpp b/TouchGFX/generated/fonts/src/Table_lucon_TTF_20_4bpp.cpp new file mode 100644 index 0000000..a963955 --- /dev/null +++ b/TouchGFX/generated/fonts/src/Table_lucon_TTF_20_4bpp.cpp @@ -0,0 +1,41 @@ +// Autogenerated, do not edit + +#include + +FONT_TABLE_LOCATION_FLASH_PRAGMA +KEEP extern const touchgfx::GlyphNode glyphs_lucon_TTF_20_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = { + { 0, 0x0020, 0, 0, 0, 0, 12, 0, 0, 0x00 }, + { 0, 0x002C, 4, 6, 3, 4, 12, 0, 0, 0x00 }, + { 12, 0x002D, 8, 3, 8, 2, 12, 0, 0, 0x00 }, + { 24, 0x002E, 4, 3, 3, 4, 12, 0, 0, 0x00 }, + { 30, 0x0030, 10, 16, 16, 1, 12, 0, 0, 0x00 }, + { 110, 0x0031, 11, 15, 15, 1, 12, 0, 0, 0x00 }, + { 200, 0x0032, 9, 16, 16, 1, 12, 0, 0, 0x00 }, + { 280, 0x0033, 9, 16, 16, 2, 12, 0, 0, 0x00 }, + { 360, 0x0034, 10, 15, 15, 1, 12, 0, 0, 0x00 }, + { 435, 0x0035, 9, 15, 15, 2, 12, 0, 0, 0x00 }, + { 510, 0x0036, 10, 16, 16, 1, 12, 0, 0, 0x00 }, + { 590, 0x0037, 9, 15, 15, 2, 12, 0, 0, 0x00 }, + { 665, 0x0038, 10, 16, 16, 1, 12, 0, 0, 0x00 }, + { 745, 0x0039, 10, 16, 16, 1, 12, 0, 0, 0x00 }, + { 825, 0x003F, 10, 16, 16, 1, 12, 0, 0, 0x00 } +}; + +// lucon_TTF_20_4bpp +FONT_TABLE_LOCATION_FLASH_PRAGMA +KEEP extern const touchgfx::GlyphNode glyphs_lucon_TTF_20_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE; +FONT_GLYPH_LOCATION_FLASH_PRAGMA +KEEP extern const uint8_t unicodes_lucon_TTF_20_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE; +FONT_SEARCHTABLE_LOCATION_FLASH_PRAGMA +KEEP extern const uint8_t* const unicodes_lucon_TTF_20_4bpp[] FONT_SEARCHTABLE_LOCATION_FLASH_ATTRIBUTE = { + unicodes_lucon_TTF_20_4bpp_0 +}; +FONT_KERNING_LOCATION_FLASH_PRAGMA +KEEP extern const touchgfx::KerningNode kerning_lucon_TTF_20_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE; +touchgfx::GeneratedFont& getFont_lucon_TTF_20_4bpp(); + +touchgfx::GeneratedFont& getFont_lucon_TTF_20_4bpp() +{ + static touchgfx::GeneratedFont lucon_TTF_20_4bpp(glyphs_lucon_TTF_20_4bpp, 15, 23, 20, 0, 0, 4, 1, 0, 0, unicodes_lucon_TTF_20_4bpp, kerning_lucon_TTF_20_4bpp, 63, 0, 0, 0); + return lucon_TTF_20_4bpp; +} diff --git a/TouchGFX/generated/fonts/src/Table_lucon_TTF_33_4bpp.cpp b/TouchGFX/generated/fonts/src/Table_lucon_TTF_33_4bpp.cpp index edec9b9..04ed3e3 100644 --- a/TouchGFX/generated/fonts/src/Table_lucon_TTF_33_4bpp.cpp +++ b/TouchGFX/generated/fonts/src/Table_lucon_TTF_33_4bpp.cpp @@ -4,6 +4,7 @@ FONT_TABLE_LOCATION_FLASH_PRAGMA KEEP extern const touchgfx::GlyphNode glyphs_lucon_TTF_33_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = { + { 0, 0x0020, 0, 0, 0, 0, 20, 0, 0, 0x00 }, { 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 }, @@ -35,6 +36,6 @@ 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); + static touchgfx::GeneratedFont lucon_TTF_33_4bpp(glyphs_lucon_TTF_33_4bpp, 15, 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; } diff --git a/TouchGFX/generated/gui_generated/include/gui_generated/ami_screen/AMIViewBase.hpp b/TouchGFX/generated/gui_generated/include/gui_generated/ami_screen/AMIViewBase.hpp index 34f49de..e887edf 100644 --- a/TouchGFX/generated/gui_generated/include/gui_generated/ami_screen/AMIViewBase.hpp +++ b/TouchGFX/generated/gui_generated/include/gui_generated/ami_screen/AMIViewBase.hpp @@ -10,6 +10,10 @@ #include #include #include +#include +#include +#include +#include class AMIViewBase : public touchgfx::View { @@ -28,11 +32,47 @@ protected: */ touchgfx::Box __background; touchgfx::Image logo; - touchgfx::TextArea title; touchgfx::TextArea currentMission; + touchgfx::TextArea textArea1; + touchgfx::TextArea textArea2; + touchgfx::TextAreaWithOneWildcard desiredAngle; + touchgfx::TextAreaWithOneWildcard measuredAngle; + touchgfx::TextAreaWithOneWildcard measuredSpeed; + touchgfx::TextAreaWithOneWildcard desiredSpeed; + touchgfx::TextArea textArea4; + touchgfx::TextArea textArea3; + touchgfx::Container map; + touchgfx::Shape<3> cone0; + touchgfx::PainterRGB565 cone0Painter; + touchgfx::Shape<3> cone1; + touchgfx::PainterRGB565 cone1Painter; + touchgfx::Shape<3> cone2; + touchgfx::PainterRGB565 cone2Painter; + touchgfx::Shape<3> cone3; + touchgfx::PainterRGB565 cone3Painter; + touchgfx::Shape<3> cone4; + touchgfx::PainterRGB565 cone4Painter; + touchgfx::Shape<3> cone5; + touchgfx::PainterRGB565 cone5Painter; + touchgfx::Shape<3> cone6; + touchgfx::PainterRGB565 cone6Painter; + touchgfx::Shape<3> cone7; + touchgfx::PainterRGB565 cone7Painter; + touchgfx::Shape<3> cone8; + touchgfx::PainterRGB565 cone8Painter; + touchgfx::Shape<3> cone9; + touchgfx::PainterRGB565 cone9Painter; + touchgfx::Shape<3> ft; + touchgfx::PainterRGB565 ftPainter; private: + /* + * Canvas Buffer Size + */ + static const uint32_t CANVAS_BUFFER_SIZE = 7200; + uint8_t canvasBuffer[CANVAS_BUFFER_SIZE]; + }; #endif // AMIVIEWBASE_HPP diff --git a/TouchGFX/generated/gui_generated/include/gui_generated/common/FrontendApplicationBase.hpp b/TouchGFX/generated/gui_generated/include/gui_generated/common/FrontendApplicationBase.hpp index bde1184..83084b9 100644 --- a/TouchGFX/generated/gui_generated/include/gui_generated/common/FrontendApplicationBase.hpp +++ b/TouchGFX/generated/gui_generated/include/gui_generated/common/FrontendApplicationBase.hpp @@ -17,9 +17,12 @@ public: virtual void changeToStartScreen() { - gotoDriverViewScreenNoTransition(); + gotoMissionSelectScreenNoTransition(); } + // MissionSelect + void gotoMissionSelectScreenNoTransition(); + // AMI void gotoAMIScreenNoTransition(); @@ -37,6 +40,9 @@ protected: FrontendHeap& frontendHeap; Model& model; + // MissionSelect + void gotoMissionSelectScreenNoTransitionImpl(); + // AMI void gotoAMIScreenNoTransitionImpl(); diff --git a/TouchGFX/generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp b/TouchGFX/generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp index d96db7b..262645c 100644 --- a/TouchGFX/generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp +++ b/TouchGFX/generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp @@ -89,7 +89,7 @@ public: virtual void gotoStartScreen(FrontendApplication& app) { - app.gotoDriverViewScreenNoTransition(); + app.gotoMissionSelectScreenNoTransition(); } protected: FrontendHeapBase(touchgfx::AbstractPartition& presenters, touchgfx::AbstractPartition& views, touchgfx::AbstractPartition& transitions, FrontendApplication& app) diff --git a/TouchGFX/generated/gui_generated/src/ami_screen/AMIViewBase.cpp b/TouchGFX/generated/gui_generated/src/ami_screen/AMIViewBase.cpp index 0c8ab22..409065b 100644 --- a/TouchGFX/generated/gui_generated/src/ami_screen/AMIViewBase.cpp +++ b/TouchGFX/generated/gui_generated/src/ami_screen/AMIViewBase.cpp @@ -2,36 +2,205 @@ /********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/ /*********************************************************************************/ #include +#include #include #include #include AMIViewBase::AMIViewBase() { + touchgfx::CanvasWidgetRenderer::setupBuffer(canvasBuffer, CANVAS_BUFFER_SIZE); + __background.setPosition(0, 0, 480, 320); __background.setColor(touchgfx::Color::getColorFromRGB(0, 0, 0)); add(__background); logo.setXY(160, 266); logo.setBitmap(touchgfx::Bitmap(BITMAP_LOGO_DV_SMALL_WHITE_ID)); + logo.setVisible(false); add(logo); - title.setXY(42, 20); - title.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); - title.setLinespacing(0); - title.setTypedText(touchgfx::TypedText(T___SINGLEUSE_SDGP)); - add(title); - - currentMission.setPosition(0, 130, 480, 49); - currentMission.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); + currentMission.setPosition(0, 15, 480, 49); + currentMission.setColor(touchgfx::Color::getColorFromRGB(197, 14, 31)); currentMission.setLinespacing(0); currentMission.setTypedText(touchgfx::TypedText(T_INVALID_HUGE)); add(currentMission); + + textArea1.setXY(273, 103); + textArea1.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); + textArea1.setLinespacing(0); + textArea1.setTypedText(touchgfx::TypedText(T___SINGLEUSE_3MDX)); + add(textArea1); + + textArea2.setXY(273, 135); + textArea2.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); + textArea2.setLinespacing(0); + textArea2.setTypedText(touchgfx::TypedText(T___SINGLEUSE_JFR7)); + add(textArea2); + + desiredAngle.setPosition(405, 104, 60, 23); + desiredAngle.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); + desiredAngle.setLinespacing(0); + desiredAngle.setTypedText(touchgfx::TypedText(T___SINGLEUSE_232C)); + add(desiredAngle); + + measuredAngle.setPosition(405, 136, 60, 23); + measuredAngle.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); + measuredAngle.setLinespacing(0); + measuredAngle.setTypedText(touchgfx::TypedText(T___SINGLEUSE_LLOZ)); + add(measuredAngle); + + measuredSpeed.setPosition(405, 199, 60, 23); + measuredSpeed.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); + measuredSpeed.setLinespacing(0); + measuredSpeed.setTypedText(touchgfx::TypedText(T___SINGLEUSE_2S21)); + add(measuredSpeed); + + desiredSpeed.setPosition(405, 167, 60, 23); + desiredSpeed.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); + desiredSpeed.setLinespacing(0); + desiredSpeed.setTypedText(touchgfx::TypedText(T___SINGLEUSE_OQ6P)); + add(desiredSpeed); + + textArea4.setXY(273, 198); + textArea4.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); + textArea4.setLinespacing(0); + textArea4.setTypedText(touchgfx::TypedText(T___SINGLEUSE_590R)); + add(textArea4); + + textArea3.setXY(273, 166); + textArea3.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); + textArea3.setLinespacing(0); + textArea3.setTypedText(touchgfx::TypedText(T___SINGLEUSE_Z78U)); + add(textArea3); + + map.setPosition(15, 103, 255, 202); + cone0.setPosition(0, 0, 10, 10); + cone0.setOrigin(0.0f, 0.0f); + cone0.setScale(1.0f, 1.0f); + cone0.setAngle(0.0f); + cone0Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 0)); + cone0.setPainter(cone0Painter); + const touchgfx::AbstractShape::ShapePoint cone0Points[3] = { { 0.0f, 0.0f }, { 10.0f, 5.0f }, { 0.0f, 10.0f } }; + cone0.setShape(cone0Points); + cone0.setVisible(false); + map.add(cone0); + + cone1.setPosition(0, 0, 10, 10); + cone1.setOrigin(0.0f, 0.0f); + cone1.setScale(1.0f, 1.0f); + cone1.setAngle(0.0f); + cone1Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 0)); + cone1.setPainter(cone1Painter); + const touchgfx::AbstractShape::ShapePoint cone1Points[3] = { { 0.0f, 0.0f }, { 10.0f, 5.0f }, { 0.0f, 10.0f } }; + cone1.setShape(cone1Points); + cone1.setVisible(false); + map.add(cone1); + + cone2.setPosition(0, 0, 10, 10); + cone2.setOrigin(0.0f, 0.0f); + cone2.setScale(1.0f, 1.0f); + cone2.setAngle(0.0f); + cone2Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 0)); + cone2.setPainter(cone2Painter); + const touchgfx::AbstractShape::ShapePoint cone2Points[3] = { { 0.0f, 0.0f }, { 10.0f, 5.0f }, { 0.0f, 10.0f } }; + cone2.setShape(cone2Points); + cone2.setVisible(false); + map.add(cone2); + + cone3.setPosition(0, 0, 10, 10); + cone3.setOrigin(0.0f, 0.0f); + cone3.setScale(1.0f, 1.0f); + cone3.setAngle(0.0f); + cone3Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 0)); + cone3.setPainter(cone3Painter); + const touchgfx::AbstractShape::ShapePoint cone3Points[3] = { { 0.0f, 0.0f }, { 10.0f, 5.0f }, { 0.0f, 10.0f } }; + cone3.setShape(cone3Points); + cone3.setVisible(false); + map.add(cone3); + + cone4.setPosition(0, 0, 10, 10); + cone4.setOrigin(0.0f, 0.0f); + cone4.setScale(1.0f, 1.0f); + cone4.setAngle(0.0f); + cone4Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 0)); + cone4.setPainter(cone4Painter); + const touchgfx::AbstractShape::ShapePoint cone4Points[3] = { { 0.0f, 0.0f }, { 10.0f, 5.0f }, { 0.0f, 10.0f } }; + cone4.setShape(cone4Points); + cone4.setVisible(false); + map.add(cone4); + + cone5.setPosition(0, 0, 10, 10); + cone5.setOrigin(0.0f, 0.0f); + cone5.setScale(1.0f, 1.0f); + cone5.setAngle(0.0f); + cone5Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 0)); + cone5.setPainter(cone5Painter); + const touchgfx::AbstractShape::ShapePoint cone5Points[3] = { { 0.0f, 0.0f }, { 10.0f, 5.0f }, { 0.0f, 10.0f } }; + cone5.setShape(cone5Points); + cone5.setVisible(false); + map.add(cone5); + + cone6.setPosition(0, 0, 10, 10); + cone6.setOrigin(0.0f, 0.0f); + cone6.setScale(1.0f, 1.0f); + cone6.setAngle(0.0f); + cone6Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 0)); + cone6.setPainter(cone6Painter); + const touchgfx::AbstractShape::ShapePoint cone6Points[3] = { { 0.0f, 0.0f }, { 10.0f, 5.0f }, { 0.0f, 10.0f } }; + cone6.setShape(cone6Points); + cone6.setVisible(false); + map.add(cone6); + + cone7.setPosition(0, 0, 10, 10); + cone7.setOrigin(0.0f, 0.0f); + cone7.setScale(1.0f, 1.0f); + cone7.setAngle(0.0f); + cone7Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 0)); + cone7.setPainter(cone7Painter); + const touchgfx::AbstractShape::ShapePoint cone7Points[3] = { { 0.0f, 0.0f }, { 10.0f, 5.0f }, { 0.0f, 10.0f } }; + cone7.setShape(cone7Points); + cone7.setVisible(false); + map.add(cone7); + + cone8.setPosition(0, 0, 10, 10); + cone8.setOrigin(0.0f, 0.0f); + cone8.setScale(1.0f, 1.0f); + cone8.setAngle(0.0f); + cone8Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 0)); + cone8.setPainter(cone8Painter); + const touchgfx::AbstractShape::ShapePoint cone8Points[3] = { { 0.0f, 0.0f }, { 10.0f, 5.0f }, { 0.0f, 10.0f } }; + cone8.setShape(cone8Points); + cone8.setVisible(false); + map.add(cone8); + + cone9.setPosition(0, 0, 10, 10); + cone9.setOrigin(0.0f, 0.0f); + cone9.setScale(1.0f, 1.0f); + cone9.setAngle(0.0f); + cone9Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 0)); + cone9.setPainter(cone9Painter); + const touchgfx::AbstractShape::ShapePoint cone9Points[3] = { { 0.0f, 0.0f }, { 10.0f, 5.0f }, { 0.0f, 10.0f } }; + cone9.setShape(cone9Points); + cone9.setVisible(false); + map.add(cone9); + + ft.setPosition(0, 91, 20, 20); + ft.setOrigin(0.0f, 0.0f); + ft.setScale(1.0f, 1.0f); + ft.setAngle(0.0f); + ftPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); + ft.setPainter(ftPainter); + const touchgfx::AbstractShape::ShapePoint ftPoints[3] = { { 0.0f, 0.0f }, { 20.0f, 10.0f }, { 0.0f, 20.0f } }; + ft.setShape(ftPoints); + map.add(ft); + + add(map); } AMIViewBase::~AMIViewBase() { - + touchgfx::CanvasWidgetRenderer::resetBuffer(); } void AMIViewBase::setupScreen() diff --git a/TouchGFX/generated/gui_generated/src/common/FrontendApplicationBase.cpp b/TouchGFX/generated/gui_generated/src/common/FrontendApplicationBase.cpp index 3984f91..e8d3e4f 100644 --- a/TouchGFX/generated/gui_generated/src/common/FrontendApplicationBase.cpp +++ b/TouchGFX/generated/gui_generated/src/common/FrontendApplicationBase.cpp @@ -38,6 +38,19 @@ FrontendApplicationBase::FrontendApplicationBase(Model& m, FrontendHeap& heap) * Screen Transition Declarations */ +// MissionSelect + +void FrontendApplicationBase::gotoMissionSelectScreenNoTransition() +{ + transitionCallback = touchgfx::Callback(this, &FrontendApplicationBase::gotoMissionSelectScreenNoTransitionImpl); + pendingScreenTransitionCallback = &transitionCallback; +} + +void FrontendApplicationBase::gotoMissionSelectScreenNoTransitionImpl() +{ + touchgfx::makeTransition(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model); +} + // AMI void FrontendApplicationBase::gotoAMIScreenNoTransition() diff --git a/TouchGFX/generated/texts/cache/LanguageCpp_Gb.cache b/TouchGFX/generated/texts/cache/LanguageCpp_Gb.cache index 7285b0b..fbc1f35 100644 --- a/TouchGFX/generated/texts/cache/LanguageCpp_Gb.cache +++ b/TouchGFX/generated/texts/cache/LanguageCpp_Gb.cache @@ -1 +1 @@ -{"remap":"yes","language":"GB","language_index":0,"indices":[["349","T_LV"],["333","T_PDU"],["341","T_SCS"],["345","T_SDC"],["337","T_R2D"],["330","T_TS"],["325","T_INV"],["321","T_AMS"],["128","T_ERROR_AMS"],["170","T_DEBUGVIEWFIELD_TITLE"],["170","T_DRIVERVIEWFIELD_TITLE"],["170","T_NUMBERSMALLWILDCARD"],["281","T_FIELD_BBAL"],["250","T_FIELD_TSVOLTVEH"],["243","T_FIELD_TSVOLTBAT"],["263","T_FIELD_LVSOC"],["275","T_FIELD_TSSOC"],["291","T_FIELD_MAXCELLTEMP"],["296","T_FIELD_TIREFL"],["301","T_FIELD_TIREFR"],["306","T_FIELD_TIRERL"],["311","T_FIELD_TIRERR"],["286","T_FIELD_LAPCOUNT"],["180","T_FIELD_INICHKSTATE"],["257","T_FIELD_ERR"],["345","T_FIELD_SDC"],["196","T_FIELD_INVRREADY"],["188","T_FIELD_INVLREADY"],["212","T_FIELD_R2DPROGRESS"],["204","T_FIELD_ACTIVEMISSION"],["172","T_FIELD_ASSTATE"],["228","T_FIELD_TSSTATE"],["170","T_NUMBERWILDCARD"],["170","T_DEFAULTWILDCARD_CENTERED"],["170","T_DEFAULTWILDCARD_RIGHTALIGNED"],["329","T_FIELD_TSCURRENT"],["316","T_FIELD_MINCELLVOLT"],["269","T_FIELD_SPEED"],["95","T_INSPECTION_HUGE"],["161","T_EBS_HUGE"],["117","T_TRACKDRIVE_HUGE"],["138","T_AUTOX_HUGE"],["220","T_SKIDPAD_HUGE"],["82","T_ACCEL_HUGE"],["34","T_INVALID_HUGE"],["67","T_MANUAL"],["95","T_INSPECTION"],["161","T_EBS"],["117","T_TRACKDRIVE"],["138","T_AUTOX"],["220","T_SKIDPAD"],["82","T_ACCEL"],["16","T___SINGLEUSE_F9I5"],["170","T___SINGLEUSE_9L8R"],["16","T___SINGLEUSE_1NKF"],["170","T___SINGLEUSE_J5UH"],["337","T___SINGLEUSE_NGUK"],["170","T___SINGLEUSE_4E84"],["170","T___SINGLEUSE_YTAB"],["106","T___SINGLEUSE_RWCE"],["148","T___SINGLEUSE_HMH2"],["158","T___SINGLEUSE_PHFD"],["236","T___SINGLEUSE_H6UX"],["170","T___SINGLEUSE_20H3"],["17","T___SINGLEUSE_SDGP"],["51","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]} \ No newline at end of file +{"remap":"yes","language":"GB","language_index":0,"indices":[["360","T_LV"],["344","T_PDU"],["352","T_SCS"],["356","T_SDC"],["348","T_R2D"],["341","T_TS"],["336","T_INV"],["332","T_AMS"],["111","T_ERROR_AMS"],["153","T_DEBUGVIEWFIELD_TITLE"],["153","T_DRIVERVIEWFIELD_TITLE"],["153","T_NUMBERSMALLWILDCARD"],["292","T_FIELD_BBAL"],["249","T_FIELD_TSVOLTVEH"],["242","T_FIELD_TSVOLTBAT"],["268","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"],["171","T_FIELD_INICHKSTATE"],["262","T_FIELD_ERR"],["356","T_FIELD_SDC"],["187","T_FIELD_INVRREADY"],["179","T_FIELD_INVLREADY"],["211","T_FIELD_R2DPROGRESS"],["195","T_FIELD_ACTIVEMISSION"],["155","T_FIELD_ASSTATE"],["227","T_FIELD_TSSTATE"],["153","T_NUMBERWILDCARD"],["153","T_DEFAULTWILDCARD_CENTERED"],["153","T_DEFAULTWILDCARD_RIGHTALIGNED"],["340","T_FIELD_TSCURRENT"],["327","T_FIELD_MINCELLVOLT"],["280","T_FIELD_SPEED"],["78","T_INSPECTION_HUGE"],["144","T_EBS_HUGE"],["100","T_TRACKDRIVE_HUGE"],["121","T_AUTOX_HUGE"],["219","T_SKIDPAD_HUGE"],["65","T_ACCEL_HUGE"],["17","T_INVALID_HUGE"],["50","T_MANUAL"],["78","T_INSPECTION"],["144","T_EBS"],["100","T_TRACKDRIVE"],["121","T_AUTOX"],["219","T_SKIDPAD"],["65","T_ACCEL"],["153","T___SINGLEUSE_2S21"],["153","T___SINGLEUSE_OQ6P"],["203","T___SINGLEUSE_590R"],["163","T___SINGLEUSE_Z78U"],["153","T___SINGLEUSE_LLOZ"],["153","T___SINGLEUSE_232C"],["274","T___SINGLEUSE_JFR7"],["256","T___SINGLEUSE_3MDX"],["16","T___SINGLEUSE_F9I5"],["153","T___SINGLEUSE_9L8R"],["16","T___SINGLEUSE_1NKF"],["153","T___SINGLEUSE_J5UH"],["348","T___SINGLEUSE_NGUK"],["153","T___SINGLEUSE_4E84"],["153","T___SINGLEUSE_YTAB"],["89","T___SINGLEUSE_RWCE"],["131","T___SINGLEUSE_HMH2"],["141","T___SINGLEUSE_PHFD"],["235","T___SINGLEUSE_H6UX"],["153","T___SINGLEUSE_20H3"],["34","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]} \ No newline at end of file diff --git a/TouchGFX/generated/texts/cache/TextKeysAndLanguages.cache b/TouchGFX/generated/texts/cache/TextKeysAndLanguages.cache index 221471c..f1a6d8b 100644 --- a/TouchGFX/generated/texts/cache/TextKeysAndLanguages.cache +++ b/TouchGFX/generated/texts/cache/TextKeysAndLanguages.cache @@ -1 +1 @@ -{"languages":["GB"],"textids":["T_LV","T_PDU","T_SCS","T_SDC","T_R2D","T_TS","T_INV","T_AMS","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_F9I5","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_PHFD","T___SINGLEUSE_H6UX","T___SINGLEUSE_20H3","T___SINGLEUSE_SDGP","T___SINGLEUSE_M5X7","T___SINGLEUSE_6GPV"]} \ No newline at end of file +{"languages":["GB"],"textids":["T_LV","T_PDU","T_SCS","T_SDC","T_R2D","T_TS","T_INV","T_AMS","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_2S21","T___SINGLEUSE_OQ6P","T___SINGLEUSE_590R","T___SINGLEUSE_Z78U","T___SINGLEUSE_LLOZ","T___SINGLEUSE_232C","T___SINGLEUSE_JFR7","T___SINGLEUSE_3MDX","T___SINGLEUSE_F9I5","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_PHFD","T___SINGLEUSE_H6UX","T___SINGLEUSE_20H3","T___SINGLEUSE_M5X7","T___SINGLEUSE_6GPV"]} \ No newline at end of file diff --git a/TouchGFX/generated/texts/cache/TextsCpp.cache b/TouchGFX/generated/texts/cache/TextsCpp.cache index 711ebc3..8962b98 100644 --- a/TouchGFX/generated/texts/cache/TextsCpp.cache +++ b/TouchGFX/generated/texts/cache/TextsCpp.cache @@ -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,2,37,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,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,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,65,77,83,0,73,78,86,0,73,84,83,0,80,68,85,0,82,50,68,0,83,67,83,0,83,68,67,0,76,86,0]} \ No newline at end of file +{"remap":"yes","languages":["Gb"],"characters":[67,104,111,111,115,101,32,97,32,109,105,115,115,105,111,110,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,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,2,37,0,69,66,83,32,84,101,115,116,0,2,0,65,83,83,84,65,84,69,0,68,83,80,69,69,68,58,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,77,83,80,69,69,68,58,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,68,65,78,71,58,0,69,82,82,79,82,0,76,86,83,79,67,0,77,65,78,71,58,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,65,77,83,0,73,78,86,0,73,84,83,0,80,68,85,0,82,50,68,0,83,67,83,0,83,68,67,0,76,86,0]} \ No newline at end of file diff --git a/TouchGFX/generated/texts/cache/TypedTextDatabaseCpp.cache b/TouchGFX/generated/texts/cache/TypedTextDatabaseCpp.cache index 0d59665..c1b7dd9 100644 --- a/TouchGFX/generated/texts/cache/TypedTextDatabaseCpp.cache +++ b/TouchGFX/generated/texts/cache/TypedTextDatabaseCpp.cache @@ -1 +1 @@ -{"databases":{"GB":[[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[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"],[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"],[4,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[1,"LEFT","LTR"]],"DEFAULT":[[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[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"],[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"],[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"} \ No newline at end of file +{"databases":{"GB":[[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[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"],[7,"RIGHT","LTR"],[7,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[7,"RIGHT","LTR"],[7,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","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"],[4,"CENTER","LTR"],[2,"CENTER","LTR"],[1,"LEFT","LTR"]],"DEFAULT":[[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[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"],[7,"RIGHT","LTR"],[7,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[7,"RIGHT","LTR"],[7,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","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"],[4,"CENTER","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,"getFont_lucon_TTF_20_4bpp":7},"generate_font_format":"0"} \ No newline at end of file diff --git a/TouchGFX/generated/texts/include/texts/TextKeysAndLanguages.hpp b/TouchGFX/generated/texts/include/texts/TextKeysAndLanguages.hpp index 29fd102..820e5d3 100644 --- a/TouchGFX/generated/texts/include/texts/TextKeysAndLanguages.hpp +++ b/TouchGFX/generated/texts/include/texts/TextKeysAndLanguages.hpp @@ -64,6 +64,14 @@ enum TEXTS T_AUTOX, T_SKIDPAD, T_ACCEL, + T___SINGLEUSE_2S21, + T___SINGLEUSE_OQ6P, + T___SINGLEUSE_590R, + T___SINGLEUSE_Z78U, + T___SINGLEUSE_LLOZ, + T___SINGLEUSE_232C, + T___SINGLEUSE_JFR7, + T___SINGLEUSE_3MDX, T___SINGLEUSE_F9I5, T___SINGLEUSE_9L8R, T___SINGLEUSE_1NKF, @@ -76,7 +84,6 @@ enum TEXTS T___SINGLEUSE_PHFD, T___SINGLEUSE_H6UX, T___SINGLEUSE_20H3, - T___SINGLEUSE_SDGP, T___SINGLEUSE_M5X7, T___SINGLEUSE_6GPV, NUMBER_OF_TEXT_KEYS diff --git a/TouchGFX/generated/texts/src/LanguageGb.cpp b/TouchGFX/generated/texts/src/LanguageGb.cpp index 42ba6d7..aac3c62 100644 --- a/TouchGFX/generated/texts/src/LanguageGb.cpp +++ b/TouchGFX/generated/texts/src/LanguageGb.cpp @@ -10,71 +10,78 @@ 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 = { - 349, // T_LV: "LV" - 333, // T_PDU: "PDU" - 341, // T_SCS: "SCS" - 345, // T_SDC: "SDC" - 337, // T_R2D: "R2D" - 330, // T_TS: "TS" - 325, // T_INV: "INV" - 321, // T_AMS: "AMS" - 128, // T_ERROR_AMS: "AMS ErrOr" - 170, // T_DEBUGVIEWFIELD_TITLE: "<>" - 170, // T_DRIVERVIEWFIELD_TITLE: "<>" - 170, // T_NUMBERSMALLWILDCARD: "<>" - 281, // T_FIELD_BBAL: "BBAL" - 250, // T_FIELD_TSVOLTVEH: "TSVVEH" - 243, // T_FIELD_TSVOLTBAT: "TSVBAT" - 263, // T_FIELD_LVSOC: "LVSOC" - 275, // T_FIELD_TSSOC: "TSSOC" - 291, // T_FIELD_MAXCELLTEMP: "TMAX" - 296, // T_FIELD_TIREFL: "TTFL" - 301, // T_FIELD_TIREFR: "TTFR" - 306, // T_FIELD_TIRERL: "TTRL" - 311, // T_FIELD_TIRERR: "TTRR" - 286, // T_FIELD_LAPCOUNT: "LAPS" - 180, // T_FIELD_INICHKSTATE: "ICSTATE" - 257, // T_FIELD_ERR: "ERROR" - 345, // T_FIELD_SDC: "SDC" - 196, // T_FIELD_INVRREADY: "INVRRDY" - 188, // T_FIELD_INVLREADY: "INVLRDY" - 212, // T_FIELD_R2DPROGRESS: "R2DPROG" - 204, // T_FIELD_ACTIVEMISSION: "MISSION" - 172, // T_FIELD_ASSTATE: "ASSTATE" - 228, // T_FIELD_TSSTATE: "TSSTATE" - 170, // T_NUMBERWILDCARD: "<>" - 170, // T_DEFAULTWILDCARD_CENTERED: "<>" - 170, // T_DEFAULTWILDCARD_RIGHTALIGNED: "<>" - 329, // T_FIELD_TSCURRENT: "ITS" - 316, // T_FIELD_MINCELLVOLT: "VMIN" - 269, // T_FIELD_SPEED: "SPEED" - 95, // T_INSPECTION_HUGE: "Inspection" - 161, // T_EBS_HUGE: "EBS Test" - 117, // T_TRACKDRIVE_HUGE: "Trackdrive" - 138, // T_AUTOX_HUGE: "Autocross" - 220, // T_SKIDPAD_HUGE: "Skidpad" - 82, // T_ACCEL_HUGE: "Acceleration" - 34, // T_INVALID_HUGE: "Invalid Mission!" - 67, // T_MANUAL: "Manual Driving" - 95, // T_INSPECTION: "Inspection" - 161, // T_EBS: "EBS Test" - 117, // T_TRACKDRIVE: "Trackdrive" - 138, // T_AUTOX: "Autocross" - 220, // T_SKIDPAD: "Skidpad" - 82, // T_ACCEL: "Acceleration" + 360, // T_LV: "LV" + 344, // T_PDU: "PDU" + 352, // T_SCS: "SCS" + 356, // T_SDC: "SDC" + 348, // T_R2D: "R2D" + 341, // T_TS: "TS" + 336, // T_INV: "INV" + 332, // T_AMS: "AMS" + 111, // T_ERROR_AMS: "AMS ErrOr" + 153, // T_DEBUGVIEWFIELD_TITLE: "<>" + 153, // T_DRIVERVIEWFIELD_TITLE: "<>" + 153, // T_NUMBERSMALLWILDCARD: "<>" + 292, // T_FIELD_BBAL: "BBAL" + 249, // T_FIELD_TSVOLTVEH: "TSVVEH" + 242, // T_FIELD_TSVOLTBAT: "TSVBAT" + 268, // 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" + 171, // T_FIELD_INICHKSTATE: "ICSTATE" + 262, // T_FIELD_ERR: "ERROR" + 356, // T_FIELD_SDC: "SDC" + 187, // T_FIELD_INVRREADY: "INVRRDY" + 179, // T_FIELD_INVLREADY: "INVLRDY" + 211, // T_FIELD_R2DPROGRESS: "R2DPROG" + 195, // T_FIELD_ACTIVEMISSION: "MISSION" + 155, // T_FIELD_ASSTATE: "ASSTATE" + 227, // T_FIELD_TSSTATE: "TSSTATE" + 153, // T_NUMBERWILDCARD: "<>" + 153, // T_DEFAULTWILDCARD_CENTERED: "<>" + 153, // T_DEFAULTWILDCARD_RIGHTALIGNED: "<>" + 340, // T_FIELD_TSCURRENT: "ITS" + 327, // T_FIELD_MINCELLVOLT: "VMIN" + 280, // T_FIELD_SPEED: "SPEED" + 78, // T_INSPECTION_HUGE: "Inspection" + 144, // T_EBS_HUGE: "EBS Test" + 100, // T_TRACKDRIVE_HUGE: "Trackdrive" + 121, // T_AUTOX_HUGE: "Autocross" + 219, // T_SKIDPAD_HUGE: "Skidpad" + 65, // T_ACCEL_HUGE: "Acceleration" + 17, // T_INVALID_HUGE: "Invalid Mission!" + 50, // T_MANUAL: "Manual Driving" + 78, // T_INSPECTION: "Inspection" + 144, // T_EBS: "EBS Test" + 100, // T_TRACKDRIVE: "Trackdrive" + 121, // T_AUTOX: "Autocross" + 219, // T_SKIDPAD: "Skidpad" + 65, // T_ACCEL: "Acceleration" + 153, // T___SINGLEUSE_2S21: "<>" + 153, // T___SINGLEUSE_OQ6P: "<>" + 203, // T___SINGLEUSE_590R: "MSPEED:" + 163, // T___SINGLEUSE_Z78U: "DSPEED:" + 153, // T___SINGLEUSE_LLOZ: "<>" + 153, // T___SINGLEUSE_232C: "<>" + 274, // T___SINGLEUSE_JFR7: "MANG:" + 256, // T___SINGLEUSE_3MDX: "DANG:" 16, // T___SINGLEUSE_F9I5: "" - 170, // T___SINGLEUSE_9L8R: "<>" + 153, // T___SINGLEUSE_9L8R: "<>" 16, // T___SINGLEUSE_1NKF: "" - 170, // T___SINGLEUSE_J5UH: "<>" - 337, // T___SINGLEUSE_NGUK: "R2D" - 170, // T___SINGLEUSE_4E84: "<>" - 170, // T___SINGLEUSE_YTAB: "<>" - 106, // T___SINGLEUSE_RWCE: "PARAMETERS" - 148, // T___SINGLEUSE_HMH2: "PRECHARGE" - 158, // T___SINGLEUSE_PHFD: "<>%" - 236, // T___SINGLEUSE_H6UX: "BRAKES" - 170, // T___SINGLEUSE_20H3: "<>" - 17, // T___SINGLEUSE_SDGP: "Current Mission:" - 51, // T___SINGLEUSE_M5X7: "Invalid Mission" + 153, // T___SINGLEUSE_J5UH: "<>" + 348, // T___SINGLEUSE_NGUK: "R2D" + 153, // T___SINGLEUSE_4E84: "<>" + 153, // T___SINGLEUSE_YTAB: "<>" + 89, // T___SINGLEUSE_RWCE: "PARAMETERS" + 131, // T___SINGLEUSE_HMH2: "PRECHARGE" + 141, // T___SINGLEUSE_PHFD: "<>%" + 235, // T___SINGLEUSE_H6UX: "BRAKES" + 153, // T___SINGLEUSE_20H3: "<>" + 34, // T___SINGLEUSE_M5X7: "Invalid Mission" 0 // T___SINGLEUSE_6GPV: "Choose a mission" }; diff --git a/TouchGFX/generated/texts/src/Texts.cpp b/TouchGFX/generated/texts/src/Texts.cpp index 692fa1a..422dc63 100644 --- a/TouchGFX/generated/texts/src/Texts.cpp +++ b/TouchGFX/generated/texts/src/Texts.cpp @@ -61,51 +61,54 @@ extern const touchgfx::TypedText::TypedTextData* const typedTextDatabaseArray[]; TEXT_LOCATION_FLASH_PRAGMA KEEP extern const touchgfx::Unicode::UnicodeChar texts_all_languages[] TEXT_LOCATION_FLASH_ATTRIBUTE = { 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x20, 0x61, 0x20, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0, // @0 "Choose a mission" - 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, 0x4d, 0x53, 0x20, 0x45, 0x72, 0x72, 0x4f, 0x72, 0x0, // @128 "AMS ErrOr" - 0x41, 0x75, 0x74, 0x6f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x0, // @138 "Autocross" - 0x50, 0x52, 0x45, 0x43, 0x48, 0x41, 0x52, 0x47, 0x45, 0x0, // @148 "PRECHARGE" - 0x2, 0x25, 0x0, // @158 "<>%" - 0x45, 0x42, 0x53, 0x20, 0x54, 0x65, 0x73, 0x74, 0x0, // @161 "EBS Test" - 0x2, 0x0, // @170 "<>" - 0x41, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @172 "ASSTATE" - 0x49, 0x43, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @180 "ICSTATE" - 0x49, 0x4e, 0x56, 0x4c, 0x52, 0x44, 0x59, 0x0, // @188 "INVLRDY" - 0x49, 0x4e, 0x56, 0x52, 0x52, 0x44, 0x59, 0x0, // @196 "INVRRDY" - 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x0, // @204 "MISSION" - 0x52, 0x32, 0x44, 0x50, 0x52, 0x4f, 0x47, 0x0, // @212 "R2DPROG" - 0x53, 0x6b, 0x69, 0x64, 0x70, 0x61, 0x64, 0x0, // @220 "Skidpad" - 0x54, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @228 "TSSTATE" - 0x42, 0x52, 0x41, 0x4b, 0x45, 0x53, 0x0, // @236 "BRAKES" - 0x54, 0x53, 0x56, 0x42, 0x41, 0x54, 0x0, // @243 "TSVBAT" - 0x54, 0x53, 0x56, 0x56, 0x45, 0x48, 0x0, // @250 "TSVVEH" - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x0, // @257 "ERROR" - 0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @263 "LVSOC" - 0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @269 "SPEED" - 0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @275 "TSSOC" - 0x42, 0x42, 0x41, 0x4c, 0x0, // @281 "BBAL" - 0x4c, 0x41, 0x50, 0x53, 0x0, // @286 "LAPS" - 0x54, 0x4d, 0x41, 0x58, 0x0, // @291 "TMAX" - 0x54, 0x54, 0x46, 0x4c, 0x0, // @296 "TTFL" - 0x54, 0x54, 0x46, 0x52, 0x0, // @301 "TTFR" - 0x54, 0x54, 0x52, 0x4c, 0x0, // @306 "TTRL" - 0x54, 0x54, 0x52, 0x52, 0x0, // @311 "TTRR" - 0x56, 0x4d, 0x49, 0x4e, 0x0, // @316 "VMIN" - 0x41, 0x4d, 0x53, 0x0, // @321 "AMS" - 0x49, 0x4e, 0x56, 0x0, // @325 "INV" - 0x49, 0x54, 0x53, 0x0, // @329 "ITS" - 0x50, 0x44, 0x55, 0x0, // @333 "PDU" - 0x52, 0x32, 0x44, 0x0, // @337 "R2D" - 0x53, 0x43, 0x53, 0x0, // @341 "SCS" - 0x53, 0x44, 0x43, 0x0, // @345 "SDC" - 0x4c, 0x56, 0x0 // @349 "LV" + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x21, 0x0, // @17 "Invalid Mission!" + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0, // @34 "Invalid Mission" + 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x20, 0x44, 0x72, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x0, // @50 "Manual Driving" + 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0, // @65 "Acceleration" + 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0, // @78 "Inspection" + 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x0, // @89 "PARAMETERS" + 0x54, 0x72, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x0, // @100 "Trackdrive" + 0x41, 0x4d, 0x53, 0x20, 0x45, 0x72, 0x72, 0x4f, 0x72, 0x0, // @111 "AMS ErrOr" + 0x41, 0x75, 0x74, 0x6f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x0, // @121 "Autocross" + 0x50, 0x52, 0x45, 0x43, 0x48, 0x41, 0x52, 0x47, 0x45, 0x0, // @131 "PRECHARGE" + 0x2, 0x25, 0x0, // @141 "<>%" + 0x45, 0x42, 0x53, 0x20, 0x54, 0x65, 0x73, 0x74, 0x0, // @144 "EBS Test" + 0x2, 0x0, // @153 "<>" + 0x41, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @155 "ASSTATE" + 0x44, 0x53, 0x50, 0x45, 0x45, 0x44, 0x3a, 0x0, // @163 "DSPEED:" + 0x49, 0x43, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @171 "ICSTATE" + 0x49, 0x4e, 0x56, 0x4c, 0x52, 0x44, 0x59, 0x0, // @179 "INVLRDY" + 0x49, 0x4e, 0x56, 0x52, 0x52, 0x44, 0x59, 0x0, // @187 "INVRRDY" + 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x0, // @195 "MISSION" + 0x4d, 0x53, 0x50, 0x45, 0x45, 0x44, 0x3a, 0x0, // @203 "MSPEED:" + 0x52, 0x32, 0x44, 0x50, 0x52, 0x4f, 0x47, 0x0, // @211 "R2DPROG" + 0x53, 0x6b, 0x69, 0x64, 0x70, 0x61, 0x64, 0x0, // @219 "Skidpad" + 0x54, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @227 "TSSTATE" + 0x42, 0x52, 0x41, 0x4b, 0x45, 0x53, 0x0, // @235 "BRAKES" + 0x54, 0x53, 0x56, 0x42, 0x41, 0x54, 0x0, // @242 "TSVBAT" + 0x54, 0x53, 0x56, 0x56, 0x45, 0x48, 0x0, // @249 "TSVVEH" + 0x44, 0x41, 0x4e, 0x47, 0x3a, 0x0, // @256 "DANG:" + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x0, // @262 "ERROR" + 0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @268 "LVSOC" + 0x4d, 0x41, 0x4e, 0x47, 0x3a, 0x0, // @274 "MANG:" + 0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @280 "SPEED" + 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" + 0x41, 0x4d, 0x53, 0x0, // @332 "AMS" + 0x49, 0x4e, 0x56, 0x0, // @336 "INV" + 0x49, 0x54, 0x53, 0x0, // @340 "ITS" + 0x50, 0x44, 0x55, 0x0, // @344 "PDU" + 0x52, 0x32, 0x44, 0x0, // @348 "R2D" + 0x53, 0x43, 0x53, 0x0, // @352 "SCS" + 0x53, 0x44, 0x43, 0x0, // @356 "SDC" + 0x4c, 0x56, 0x0 // @360 "LV" }; TEXT_LOCATION_FLASH_PRAGMA diff --git a/TouchGFX/generated/texts/src/TypedTextDatabase.cpp b/TouchGFX/generated/texts/src/TypedTextDatabase.cpp index 3c08d80..2d5816d 100644 --- a/TouchGFX/generated/texts/src/TypedTextDatabase.cpp +++ b/TouchGFX/generated/texts/src/TypedTextDatabase.cpp @@ -12,6 +12,7 @@ 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(); +extern touchgfx::GeneratedFont& getFont_lucon_TTF_20_4bpp(); const touchgfx::Font* touchgfx_fonts[] = { &(getFont_verdana_20_4bpp()), @@ -20,7 +21,8 @@ const touchgfx::Font* touchgfx_fonts[] = { &(getFont_CHINN____40_4bpp()), &(getFont_lucon_TTF_50_4bpp()), &(getFont_verdanab_20_4bpp()), - &(getFont_lucon_TTF_33_4bpp()) + &(getFont_lucon_TTF_33_4bpp()), + &(getFont_lucon_TTF_20_4bpp()) }; extern const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[]; @@ -80,6 +82,14 @@ const touchgfx::TypedText::TypedTextData typedText_database_GB[] TEXT_LOCATION_F { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR }, { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR }, { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR }, + { 7, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR }, + { 7, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR }, + { 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR }, + { 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR }, + { 7, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR }, + { 7, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR }, + { 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR }, + { 2, touchgfx::LEFT, 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 }, @@ -92,7 +102,6 @@ const touchgfx::TypedText::TypedTextData typedText_database_GB[] TEXT_LOCATION_F { 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 } }; @@ -150,6 +159,14 @@ 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 }, + { 7, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR }, + { 7, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR }, + { 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR }, + { 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR }, + { 7, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR }, + { 7, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR }, + { 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR }, + { 2, touchgfx::LEFT, 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 }, @@ -162,7 +179,6 @@ const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[] TEXT_LOCAT { 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 } }; @@ -221,6 +237,9 @@ void resetFont(touchgfx::FontId fontId) case 6: touchgfx_fonts[6] = &(getFont_lucon_TTF_33_4bpp()); break; + case 7: + touchgfx_fonts[7] = &(getFont_lucon_TTF_20_4bpp()); + break; } } } // namespace TypedTextDatabase diff --git a/TouchGFX/gui/include/gui/ami_screen/AMIView.hpp b/TouchGFX/gui/include/gui/ami_screen/AMIView.hpp index 5e82c24..2a6dbb6 100644 --- a/TouchGFX/gui/include/gui/ami_screen/AMIView.hpp +++ b/TouchGFX/gui/include/gui/ami_screen/AMIView.hpp @@ -2,9 +2,25 @@ #define AMIVIEW_HPP #include "stw_defines.h" +#include "touchgfx/Unicode.hpp" +#include "touchgfx/widgets/TextArea.hpp" +#include "touchgfx/widgets/TextAreaWithWildcard.hpp" +#include "vehicle_state.h" #include #include +class AMIDataField { +public: + AMIDataField(touchgfx::TextAreaWithOneWildcard &textArea, const char *fmt); + + void setValue(float value); + +protected: + const char *fmt; + + touchgfx::TextAreaWithOneWildcard &textArea; + touchgfx::Unicode::UnicodeChar buffer[16]; +}; class AMIView : public AMIViewBase { public: @@ -15,7 +31,20 @@ public: void setMission(Mission mission); + void updateDataFields(); + void setJetsonTimeout(bool timeout); + void setEPSCTimeout(bool timeout); + + void setConePositions(ConePosition *positions, size_t count); + protected: + AMIDataField desiredAngleField; + AMIDataField measuredAngleField; + AMIDataField desiredSpeedField; + AMIDataField measuredSpeedField; + + touchgfx::Shape<3> cones[NUM_CONES] = {cone0, cone1, cone2, cone3, cone4, + cone5, cone6, cone7, cone8, cone9}; }; #endif // AMIVIEW_HPP diff --git a/TouchGFX/gui/src/ami_screen/AMIPresenter.cpp b/TouchGFX/gui/src/ami_screen/AMIPresenter.cpp index 843ca85..e63cddf 100644 --- a/TouchGFX/gui/src/ami_screen/AMIPresenter.cpp +++ b/TouchGFX/gui/src/ami_screen/AMIPresenter.cpp @@ -1,6 +1,7 @@ #include #include +#include "stm32h7xx_hal.h" #include "vehicle_state.h" AMIPresenter::AMIPresenter(AMIView &v) : view(v) {} @@ -11,4 +12,19 @@ void AMIPresenter::deactivate() {} void AMIPresenter::vehicleStateUpdated() { view.setMission(vehicle_state.active_mission); + view.updateDataFields(); +#ifndef SIMULATOR + view.setJetsonTimeout(HAL_GetTick() - vehicle_state.last_jetson_msg > 500); + view.setEPSCTimeout(HAL_GetTick() - vehicle_state.last_epsc_msg > 500); +#endif + + size_t cone_count = 0; + for (; cone_count < NUM_CONES; cone_count++) { + // A cone position of 0xFF/0xFF indicates that there are no more cones + if (vehicle_state.cone_pos[cone_count].x == 0xFF && + vehicle_state.cone_pos[cone_count].y == 0xFF) { + break; + } + } + view.setConePositions(vehicle_state.cone_pos, cone_count); } diff --git a/TouchGFX/gui/src/ami_screen/AMIView.cpp b/TouchGFX/gui/src/ami_screen/AMIView.cpp index 0cc57ad..1b3cb2a 100644 --- a/TouchGFX/gui/src/ami_screen/AMIView.cpp +++ b/TouchGFX/gui/src/ami_screen/AMIView.cpp @@ -1,10 +1,28 @@ +#include "gui_generated/ami_screen/AMIViewBase.hpp" #include "stw_defines.h" #include "texts/TextKeysAndLanguages.hpp" #include "touchgfx/Color.hpp" #include "touchgfx/TypedText.hpp" +#include "touchgfx/Unicode.hpp" +#include "touchgfx/widgets/TextAreaWithWildcard.hpp" +#include "vehicle_state.h" #include -AMIView::AMIView() {} +AMIDataField::AMIDataField(touchgfx::TextAreaWithOneWildcard &textArea, + const char *fmt) + : fmt(fmt), textArea(textArea) {} + +void AMIDataField::setValue(float value) { + Unicode::snprintfFloat(buffer, sizeof(buffer) / sizeof(*buffer), fmt, value); + textArea.setWildcard(buffer); + textArea.invalidate(); +} + +AMIView::AMIView() + : AMIViewBase(), desiredAngleField(desiredAngle, "%5.2f"), + measuredAngleField(measuredAngle, "%5.2f"), + desiredSpeedField(desiredSpeed, "%5.1f"), + measuredSpeedField(measuredSpeed, "%5.1f") {} void AMIView::setupScreen() { AMIViewBase::setupScreen(); } @@ -34,8 +52,43 @@ void AMIView::setMission(Mission mission) { case MISSION_NONE: default: currentMission.setTypedText(TypedText(T_INVALID_HUGE)); - currentMission.setColor(touchgfx::Color::getColorFromRGB(0xFF, 0, 0)); break; } currentMission.invalidate(); } + +void AMIView::updateDataFields() { + desiredAngleField.setValue(vehicle_state.desired_angle); + measuredAngleField.setValue(vehicle_state.measured_angle); + desiredSpeedField.setValue(vehicle_state.desired_speed); + measuredSpeedField.setValue(vehicle_state.speed); +} + +void AMIView::setJetsonTimeout(bool timeout) { + if (timeout) { + desiredAngle.setColor(touchgfx::Color::getColorFromRGB(0xFF, 0, 0)); + } else { + desiredAngle.setColor(touchgfx::Color::getColorFromRGB(0xFF, 0xFF, 0xFF)); + } +} + +void AMIView::setEPSCTimeout(bool timeout) { + if (timeout) { + measuredAngle.setColor(touchgfx::Color::getColorFromRGB(0xFF, 0, 0)); + } else { + measuredAngle.setColor(touchgfx::Color::getColorFromRGB(0xFF, 0xFF, 0xFF)); + } +} + +void AMIView::setConePositions(ConePosition *cone_positions, size_t count) { + for (size_t i = 0; i < count; i++) { + cones[i].setX(cone_positions[i].x); + cones[i].setY(cone_positions[i].y); + cones[i].setVisible(true); + cones[i].invalidate(); + } + for (size_t i = count; i < NUM_CONES; i++) { + cones[i].setVisible(false); + cones[i].invalidate(); + } +} diff --git a/TouchGFX/steering-wheel.touchgfx b/TouchGFX/steering-wheel.touchgfx index 12f5a84..db1ba45 100644 --- a/TouchGFX/steering-wheel.touchgfx +++ b/TouchGFX/steering-wheel.touchgfx @@ -197,6 +197,7 @@ }, { "Name": "AMI", + "CanvasBufferSize": 7200, "Components": [ { "Type": "Image", @@ -205,16 +206,31 @@ "Y": 266, "Width": 160, "Height": 39, + "Visible": false, "RelativeFilename": "logo_dv_small_white.png" }, { "Type": "TextArea", - "Name": "title", - "X": 42, - "Y": 20, - "Width": 396, - "Height": 37, - "TextId": "__SingleUse_SDGP", + "Name": "currentMission", + "Y": 15, + "Width": 480, + "Height": 49, + "TextId": "Invalid_Huge", + "TextRotation": "0", + "Color": { + "Red": 197, + "Green": 14, + "Blue": 31 + } + }, + { + "Type": "TextArea", + "Name": "textArea1", + "X": 273, + "Y": 103, + "Width": 84, + "Height": 24, + "TextId": "__SingleUse_3MDX", "TextRotation": "0", "Color": { "Red": 255, @@ -225,17 +241,379 @@ }, { "Type": "TextArea", - "Name": "currentMission", - "Y": 130, - "Width": 480, - "Height": 49, - "TextId": "Invalid_Huge", + "Name": "textArea2", + "X": 273, + "Y": 135, + "Width": 85, + "Height": 24, + "TextId": "__SingleUse_JFR7", "TextRotation": "0", "Color": { "Red": 255, "Green": 255, "Blue": 255 - } + }, + "AutoSize": true + }, + { + "Type": "TextArea", + "Name": "desiredAngle", + "X": 405, + "Y": 104, + "Width": 60, + "Height": 23, + "TextId": "__SingleUse_232C", + "TextRotation": "0", + "Color": { + "Red": 255, + "Green": 255, + "Blue": 255 + }, + "Wildcard1": {} + }, + { + "Type": "TextArea", + "Name": "measuredAngle", + "X": 405, + "Y": 136, + "Width": 60, + "Height": 23, + "TextId": "__SingleUse_LLOZ", + "TextRotation": "0", + "Color": { + "Red": 255, + "Green": 255, + "Blue": 255 + }, + "Wildcard1": {} + }, + { + "Type": "TextArea", + "Name": "measuredSpeed", + "X": 405, + "Y": 199, + "Width": 60, + "Height": 23, + "TextId": "__SingleUse_2S21", + "TextRotation": "0", + "Color": { + "Red": 255, + "Green": 255, + "Blue": 255 + }, + "Wildcard1": {} + }, + { + "Type": "TextArea", + "Name": "desiredSpeed", + "X": 405, + "Y": 167, + "Width": 60, + "Height": 23, + "TextId": "__SingleUse_OQ6P", + "TextRotation": "0", + "Color": { + "Red": 255, + "Green": 255, + "Blue": 255 + }, + "Wildcard1": {} + }, + { + "Type": "TextArea", + "Name": "textArea4", + "X": 273, + "Y": 198, + "Width": 129, + "Height": 24, + "TextId": "__SingleUse_590R", + "TextRotation": "0", + "Color": { + "Red": 255, + "Green": 255, + "Blue": 255 + }, + "AutoSize": true + }, + { + "Type": "TextArea", + "Name": "textArea3", + "X": 273, + "Y": 166, + "Width": 128, + "Height": 24, + "TextId": "__SingleUse_Z78U", + "TextRotation": "0", + "Color": { + "Red": 255, + "Green": 255, + "Blue": 255 + }, + "AutoSize": true + }, + { + "Type": "Container", + "Name": "map", + "X": 15, + "Y": 103, + "Width": 255, + "Height": 202, + "Components": [ + { + "Type": "Shape", + "Name": "cone0", + "Width": 10, + "Height": 10, + "Visible": false, + "Color": { + "Red": 255, + "Green": 255 + }, + "Points": [ + {}, + { + "X": 10.0, + "Y": 5.0 + }, + { + "Y": 10.0 + } + ], + "XScale": 1.0, + "YScale": 1.0 + }, + { + "Type": "Shape", + "Name": "cone1", + "Width": 10, + "Height": 10, + "Visible": false, + "Color": { + "Red": 255, + "Green": 255 + }, + "Points": [ + {}, + { + "X": 10.0, + "Y": 5.0 + }, + { + "Y": 10.0 + } + ], + "XScale": 1.0, + "YScale": 1.0 + }, + { + "Type": "Shape", + "Name": "cone2", + "Width": 10, + "Height": 10, + "Visible": false, + "Color": { + "Red": 255, + "Green": 255 + }, + "Points": [ + {}, + { + "X": 10.0, + "Y": 5.0 + }, + { + "Y": 10.0 + } + ], + "XScale": 1.0, + "YScale": 1.0 + }, + { + "Type": "Shape", + "Name": "cone3", + "Width": 10, + "Height": 10, + "Visible": false, + "Color": { + "Red": 255, + "Green": 255 + }, + "Points": [ + {}, + { + "X": 10.0, + "Y": 5.0 + }, + { + "Y": 10.0 + } + ], + "XScale": 1.0, + "YScale": 1.0 + }, + { + "Type": "Shape", + "Name": "cone4", + "Width": 10, + "Height": 10, + "Visible": false, + "Color": { + "Red": 255, + "Green": 255 + }, + "Points": [ + {}, + { + "X": 10.0, + "Y": 5.0 + }, + { + "Y": 10.0 + } + ], + "XScale": 1.0, + "YScale": 1.0 + }, + { + "Type": "Shape", + "Name": "cone5", + "Width": 10, + "Height": 10, + "Visible": false, + "Color": { + "Red": 255, + "Green": 255 + }, + "Points": [ + {}, + { + "X": 10.0, + "Y": 5.0 + }, + { + "Y": 10.0 + } + ], + "XScale": 1.0, + "YScale": 1.0 + }, + { + "Type": "Shape", + "Name": "cone6", + "Width": 10, + "Height": 10, + "Visible": false, + "Color": { + "Red": 255, + "Green": 255 + }, + "Points": [ + {}, + { + "X": 10.0, + "Y": 5.0 + }, + { + "Y": 10.0 + } + ], + "XScale": 1.0, + "YScale": 1.0 + }, + { + "Type": "Shape", + "Name": "cone7", + "Width": 10, + "Height": 10, + "Visible": false, + "Color": { + "Red": 255, + "Green": 255 + }, + "Points": [ + {}, + { + "X": 10.0, + "Y": 5.0 + }, + { + "Y": 10.0 + } + ], + "XScale": 1.0, + "YScale": 1.0 + }, + { + "Type": "Shape", + "Name": "cone8", + "Width": 10, + "Height": 10, + "Visible": false, + "Color": { + "Red": 255, + "Green": 255 + }, + "Points": [ + {}, + { + "X": 10.0, + "Y": 5.0 + }, + { + "Y": 10.0 + } + ], + "XScale": 1.0, + "YScale": 1.0 + }, + { + "Type": "Shape", + "Name": "cone9", + "Width": 10, + "Height": 10, + "Visible": false, + "Color": { + "Red": 255, + "Green": 255 + }, + "Points": [ + {}, + { + "X": 10.0, + "Y": 5.0 + }, + { + "Y": 10.0 + } + ], + "XScale": 1.0, + "YScale": 1.0 + }, + { + "Type": "Shape", + "Name": "ft", + "Y": 91, + "Width": 20, + "Height": 20, + "Color": { + "Red": 255, + "Green": 255, + "Blue": 255 + }, + "Points": [ + {}, + { + "X": 20.0, + "Y": 10.0 + }, + { + "Y": 20.0 + } + ], + "XScale": 1.0, + "YScale": 1.0 + } + ] } ], "Interactions": [] @@ -1325,7 +1703,7 @@ "Height": 480 }, "SelectedColorDepth": 16, - "StartupScreenName": "DriverView", + "StartupScreenName": "MissionSelect", "SelectedStartupLanguage": "GB", "TouchGfxPath": "../Middlewares/ST/touchgfx", "UIPath": ".",