add basic system overview screen with can watchdogs and brake pressure
This commit is contained in:
parent
4354b03907
commit
77ba4249d3
@ -43,7 +43,7 @@ typedef enum {
|
|||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
SDC_OFF = 0,
|
SDC_OFF = 0,
|
||||||
SDC_PDU_OK = 1, //
|
SDC_PDU_OK = 1,
|
||||||
SDC_RES_OK = 2,
|
SDC_RES_OK = 2,
|
||||||
SDC_AMS_OK = 3,
|
SDC_AMS_OK = 3,
|
||||||
SDC_IMD_OK = 4,
|
SDC_IMD_OK = 4,
|
||||||
@ -218,6 +218,25 @@ typedef struct {
|
|||||||
uint16_t inv_warnings_1;
|
uint16_t inv_warnings_1;
|
||||||
uint16_t inv_warnings_2;
|
uint16_t inv_warnings_2;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
bool snf : 1; // sensor node front
|
||||||
|
bool db : 1; // dashboard
|
||||||
|
bool ftcu : 1;
|
||||||
|
bool pdu : 1;
|
||||||
|
bool snr : 1; // sensor node rear
|
||||||
|
bool ams : 1;
|
||||||
|
bool shunt : 1;
|
||||||
|
} watchdog_timeout; // true if watchdog timed out
|
||||||
|
struct {
|
||||||
|
uint32_t snf; // sensor node front
|
||||||
|
uint32_t db; // dashboard
|
||||||
|
uint32_t ftcu;
|
||||||
|
uint32_t pdu;
|
||||||
|
uint32_t snr; // sensor node rear
|
||||||
|
uint32_t ams;
|
||||||
|
uint32_t shunt;
|
||||||
|
} watchdog_times; // last received message
|
||||||
|
|
||||||
ParamType last_param_confirmed;
|
ParamType last_param_confirmed;
|
||||||
|
|
||||||
uint8_t drs_led_active;
|
uint8_t drs_led_active;
|
||||||
|
@ -12,6 +12,8 @@
|
|||||||
#include "vehicle_state.h"
|
#include "vehicle_state.h"
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
#define CHECK_WATCHDOG(param, timeout) vehicle_state.watchdog_timeout.param = tick - vehicle_state.watchdog_times.param >= timeout
|
||||||
|
|
||||||
// CAN filter constants
|
// CAN filter constants
|
||||||
#define CAN_ID_AMS_SLAVE_PANIC 0x009
|
#define CAN_ID_AMS_SLAVE_PANIC 0x009
|
||||||
#define CAN_ID_AMS_STATUS 0x00A
|
#define CAN_ID_AMS_STATUS 0x00A
|
||||||
@ -39,6 +41,9 @@
|
|||||||
#define CAN_ID_PDU_CURRENT3 0x0CC
|
#define CAN_ID_PDU_CURRENT3 0x0CC
|
||||||
#define CAN_ID_PDU_CURRENT4 0x0CD
|
#define CAN_ID_PDU_CURRENT4 0x0CD
|
||||||
|
|
||||||
|
#define CAN_ID_SNF_100Hz_1 0x0D3 // only for watchdog
|
||||||
|
#define CAN_ID_SNR_100Hz 0x0D4 // only for watchdog
|
||||||
|
|
||||||
#define CAN_ID_DASHBOARD 0x420
|
#define CAN_ID_DASHBOARD 0x420
|
||||||
|
|
||||||
#define CAN_ID_SSU 0x500
|
#define CAN_ID_SSU 0x500
|
||||||
@ -109,6 +114,8 @@ void vehicle_thread_entry(ULONG hfdcan_addr) {
|
|||||||
ftcan_add_filter(CAN_ID_PDU_CURRENT2, 0x7FF);
|
ftcan_add_filter(CAN_ID_PDU_CURRENT2, 0x7FF);
|
||||||
ftcan_add_filter(CAN_ID_PDU_CURRENT3, 0x7FF);
|
ftcan_add_filter(CAN_ID_PDU_CURRENT3, 0x7FF);
|
||||||
ftcan_add_filter(CAN_ID_PDU_CURRENT4, 0x7FF);
|
ftcan_add_filter(CAN_ID_PDU_CURRENT4, 0x7FF);
|
||||||
|
ftcan_add_filter(CAN_ID_SNF_100Hz_1, 0x7FF);
|
||||||
|
ftcan_add_filter(CAN_ID_SNR_100Hz, 0x7FF);
|
||||||
ftcan_add_filter(CAN_ID_DASHBOARD, 0x7FF);
|
ftcan_add_filter(CAN_ID_DASHBOARD, 0x7FF);
|
||||||
ftcan_add_filter(CAN_ID_SSU, 0x7FF);
|
ftcan_add_filter(CAN_ID_SSU, 0x7FF);
|
||||||
ftcan_add_filter(CAN_ID_SHUNT_CURRENT, 0x7FF);
|
ftcan_add_filter(CAN_ID_SHUNT_CURRENT, 0x7FF);
|
||||||
@ -137,6 +144,16 @@ void vehicle_thread_entry(ULONG hfdcan_addr) {
|
|||||||
}
|
}
|
||||||
tx_event_flags_set(&gui_update_events, GUI_UPDATE_VEHICLE_STATE, TX_OR);
|
tx_event_flags_set(&gui_update_events, GUI_UPDATE_VEHICLE_STATE, TX_OR);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
uint32_t tick = HAL_GetTick();
|
||||||
|
CHECK_WATCHDOG(snf, 300);
|
||||||
|
CHECK_WATCHDOG(db, 600);
|
||||||
|
CHECK_WATCHDOG(ftcu, 300);
|
||||||
|
CHECK_WATCHDOG(pdu, 300);
|
||||||
|
CHECK_WATCHDOG(snr, 300);
|
||||||
|
CHECK_WATCHDOG(ams, 300);
|
||||||
|
CHECK_WATCHDOG(shunt, 300);
|
||||||
|
tx_event_flags_set(&gui_update_events, GUI_UPDATE_VEHICLE_STATE, TX_OR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -184,15 +201,18 @@ float calculate_lv_soc(float lv_voltage) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data) {
|
void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data) {
|
||||||
|
uint32_t tick = HAL_GetTick();
|
||||||
const uint8_t *ptr;
|
const uint8_t *ptr;
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case CAN_ID_AMS_SLAVE_PANIC:
|
case CAN_ID_AMS_SLAVE_PANIC:
|
||||||
|
vehicle_state.watchdog_times.ams = tick;
|
||||||
vehicle_state.last_ams_slave_panic.id = data[0];
|
vehicle_state.last_ams_slave_panic.id = data[0];
|
||||||
vehicle_state.last_ams_slave_panic.kind = data[1];
|
vehicle_state.last_ams_slave_panic.kind = data[1];
|
||||||
ptr = &data[2];
|
ptr = &data[2];
|
||||||
vehicle_state.last_ams_slave_panic.arg = ftcan_unmarshal_unsigned(&ptr, 4);
|
vehicle_state.last_ams_slave_panic.arg = ftcan_unmarshal_unsigned(&ptr, 4);
|
||||||
break;
|
break;
|
||||||
case CAN_ID_AMS_STATUS:
|
case CAN_ID_AMS_STATUS:
|
||||||
|
vehicle_state.watchdog_times.ams = tick;
|
||||||
vehicle_state.ts_state = data[0] & 0x7F;
|
vehicle_state.ts_state = data[0] & 0x7F;
|
||||||
vehicle_state.sdc_closed = (data[0] & 0x80) >> 7;
|
vehicle_state.sdc_closed = (data[0] & 0x80) >> 7;
|
||||||
vehicle_state.soc_ts = data[1];
|
vehicle_state.soc_ts = data[1];
|
||||||
@ -207,30 +227,37 @@ void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data) {
|
|||||||
vehicle_state.ams_error = (data[7] & 0x04) >> 2;
|
vehicle_state.ams_error = (data[7] & 0x04) >> 2;
|
||||||
break;
|
break;
|
||||||
case CAN_ID_AMS_ERROR:
|
case CAN_ID_AMS_ERROR:
|
||||||
|
vehicle_state.watchdog_times.ams = tick;
|
||||||
vehicle_state.last_ams_error.kind = data[0];
|
vehicle_state.last_ams_error.kind = data[0];
|
||||||
vehicle_state.last_ams_error.arg = data[1];
|
vehicle_state.last_ams_error.arg = data[1];
|
||||||
break;
|
break;
|
||||||
case CAN_ID_AMS_DCDC:
|
case CAN_ID_AMS_DCDC:
|
||||||
|
vehicle_state.watchdog_times.ams = tick;
|
||||||
ptr = &data[0];
|
ptr = &data[0];
|
||||||
vehicle_state.dcdc_temp = ftcan_unmarshal_signed(&ptr, 2) * 0.01f;
|
vehicle_state.dcdc_temp = ftcan_unmarshal_signed(&ptr, 2) * 0.01f;
|
||||||
vehicle_state.dcdc_current = ftcan_unmarshal_signed(&ptr, 2) * 0.001f;
|
vehicle_state.dcdc_current = ftcan_unmarshal_signed(&ptr, 2) * 0.001f;
|
||||||
break;
|
break;
|
||||||
case CAN_ID_PWM_DUTYCYLE:
|
case CAN_ID_PWM_DUTYCYLE:
|
||||||
|
vehicle_state.watchdog_times.ftcu = tick;
|
||||||
// TODO
|
// TODO
|
||||||
break;
|
break;
|
||||||
case CAN_ID_PWM_CONFIG:
|
case CAN_ID_PWM_CONFIG:
|
||||||
|
vehicle_state.watchdog_times.ftcu = tick;
|
||||||
// TODO
|
// TODO
|
||||||
break;
|
break;
|
||||||
case CAN_ID_FTCU_TIMINGS:
|
case CAN_ID_FTCU_TIMINGS:
|
||||||
|
vehicle_state.watchdog_times.ftcu = tick;
|
||||||
vehicle_state.lap_time_best = (data[0] | (data[1] << 8)) * 0.01f;
|
vehicle_state.lap_time_best = (data[0] | (data[1] << 8)) * 0.01f;
|
||||||
vehicle_state.lap_time_last = (data[2] | (data[3] << 8)) * 0.01f;
|
vehicle_state.lap_time_last = (data[2] | (data[3] << 8)) * 0.01f;
|
||||||
vehicle_state.sector_time_best = (data[4] | (data[5] << 8)) * 0.01f;
|
vehicle_state.sector_time_best = (data[4] | (data[5] << 8)) * 0.01f;
|
||||||
vehicle_state.sector_time_last = (data[6] | (data[7] << 8)) * 0.01f;
|
vehicle_state.sector_time_last = (data[6] | (data[7] << 8)) * 0.01f;
|
||||||
break;
|
break;
|
||||||
case CAN_ID_FTCU_DAMPER:
|
case CAN_ID_FTCU_DAMPER:
|
||||||
|
vehicle_state.watchdog_times.ftcu = tick;
|
||||||
// TODO
|
// TODO
|
||||||
break;
|
break;
|
||||||
case CAN_ID_FTCU_WHEELSPEED:
|
case CAN_ID_FTCU_WHEELSPEED:
|
||||||
|
vehicle_state.watchdog_times.ftcu = tick;
|
||||||
vehicle_state.wheel_speeds.wss_fl = data[0] | ((data[1] & 0x0F) << 8);
|
vehicle_state.wheel_speeds.wss_fl = data[0] | ((data[1] & 0x0F) << 8);
|
||||||
vehicle_state.wheel_speeds.wss_fr = ((data[1] >> 4) & 0x0F) | (data[2] << 4);
|
vehicle_state.wheel_speeds.wss_fr = ((data[1] >> 4) & 0x0F) | (data[2] << 4);
|
||||||
vehicle_state.wheel_speeds.wss_rl = data[3] | ((data[4] & 0x0F) << 8);
|
vehicle_state.wheel_speeds.wss_rl = data[3] | ((data[4] & 0x0F) << 8);
|
||||||
@ -238,19 +265,23 @@ void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data) {
|
|||||||
vehicle_state.distance_session = data[6] | (data[7] << 8);
|
vehicle_state.distance_session = data[6] | (data[7] << 8);
|
||||||
break;
|
break;
|
||||||
case CAN_ID_FTCU_BRAKE_T:
|
case CAN_ID_FTCU_BRAKE_T:
|
||||||
|
vehicle_state.watchdog_times.ftcu = tick;
|
||||||
vehicle_state.temps.brake_fl = (data[0] | (data[1] << 8)) * 0.01f;
|
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_fr = (data[2] | (data[3] << 8)) * 0.01f;
|
||||||
vehicle_state.temps.brake_rl = (data[4] | (data[5] << 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;
|
vehicle_state.temps.brake_rr = (data[6] | (data[7] << 8)) * 0.01f;
|
||||||
break;
|
break;
|
||||||
case CAN_ID_FTCU_COOLING:
|
case CAN_ID_FTCU_COOLING:
|
||||||
|
vehicle_state.watchdog_times.ftcu = tick;
|
||||||
// TODO
|
// TODO
|
||||||
break;
|
break;
|
||||||
case CAN_ID_FTCU_PNEUMATIK:
|
case CAN_ID_FTCU_PNEUMATIK:
|
||||||
|
vehicle_state.watchdog_times.ftcu = tick;
|
||||||
vehicle_state.tank_pressure_1 = data[0] | ((data[1] & 0x0F) << 8);
|
vehicle_state.tank_pressure_1 = data[0] | ((data[1] & 0x0F) << 8);
|
||||||
vehicle_state.tank_pressure_2 = data[2] | ((data[3] & 0x0F) << 8);
|
vehicle_state.tank_pressure_2 = data[2] | ((data[3] & 0x0F) << 8);
|
||||||
break;
|
break;
|
||||||
case CAN_ID_FTCU_DRIVER:
|
case CAN_ID_FTCU_DRIVER:
|
||||||
|
vehicle_state.watchdog_times.ftcu = tick;
|
||||||
vehicle_state.apps_percent = data[0];
|
vehicle_state.apps_percent = data[0];
|
||||||
vehicle_state.brake_pressure_f = (data[1] | ((data[2] & 0x0F) << 8)) * 0.1f;
|
vehicle_state.brake_pressure_f = (data[1] | ((data[2] & 0x0F) << 8)) * 0.1f;
|
||||||
vehicle_state.brake_pressure_r = (((data[2] >> 4) & 0x0F) | (data[3] << 4)) * 0.1f;
|
vehicle_state.brake_pressure_r = (((data[2] >> 4) & 0x0F) | (data[3] << 4)) * 0.1f;
|
||||||
@ -260,9 +291,11 @@ void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data) {
|
|||||||
vehicle_state.sector_count = data[7];
|
vehicle_state.sector_count = data[7];
|
||||||
break;
|
break;
|
||||||
case CAN_ID_AS_MISSION_FB:
|
case CAN_ID_AS_MISSION_FB:
|
||||||
|
vehicle_state.watchdog_times.ftcu = tick;
|
||||||
vehicle_state.active_mission = data[0] & 0b111;
|
vehicle_state.active_mission = data[0] & 0b111;
|
||||||
break;
|
break;
|
||||||
case CAN_ID_STW_STATUS:
|
case CAN_ID_STW_STATUS:
|
||||||
|
vehicle_state.watchdog_times.ftcu = tick;
|
||||||
// vehicle_state.lap_count = data[0] & 0b111111;
|
// vehicle_state.lap_count = data[0] & 0b111111;
|
||||||
vehicle_state.errors.err_pdu = (data[0] >> 6) & 0b1;
|
vehicle_state.errors.err_pdu = (data[0] >> 6) & 0b1;
|
||||||
vehicle_state.errors.err_res = (data[0] >> 7) & 0b1;
|
vehicle_state.errors.err_res = (data[0] >> 7) & 0b1;
|
||||||
@ -285,52 +318,71 @@ void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data) {
|
|||||||
vehicle_state.initial_checkup_state = data[6];
|
vehicle_state.initial_checkup_state = data[6];
|
||||||
break;
|
break;
|
||||||
case CAN_ID_FTCU_PARAM_CONFIRMED:
|
case CAN_ID_FTCU_PARAM_CONFIRMED:
|
||||||
|
vehicle_state.watchdog_times.ftcu = tick;
|
||||||
vehicle_state.last_param_confirmed = data[0];
|
vehicle_state.last_param_confirmed = data[0];
|
||||||
tx_event_flags_set(&gui_update_events, GUI_UPDATE_PARAM_CONFIRMED, TX_OR);
|
tx_event_flags_set(&gui_update_events, GUI_UPDATE_PARAM_CONFIRMED, TX_OR);
|
||||||
break;
|
break;
|
||||||
case CAN_ID_FTCU_TELEMETRIE1:
|
case CAN_ID_FTCU_TELEMETRIE1:
|
||||||
|
vehicle_state.watchdog_times.ftcu = tick;
|
||||||
// TODO
|
// TODO
|
||||||
break;
|
break;
|
||||||
case CAN_ID_FTCU_TELEMETRIE2:
|
case CAN_ID_FTCU_TELEMETRIE2:
|
||||||
|
vehicle_state.watchdog_times.ftcu = tick;
|
||||||
// TODO
|
// TODO
|
||||||
break;
|
break;
|
||||||
case CAN_ID_PDU_RESPONSE:
|
case CAN_ID_PDU_RESPONSE:
|
||||||
|
vehicle_state.watchdog_times.pdu = tick;
|
||||||
// TODO
|
// TODO
|
||||||
break;
|
break;
|
||||||
case CAN_ID_PDU_CURRENT1:
|
case CAN_ID_PDU_CURRENT1:
|
||||||
|
vehicle_state.watchdog_times.pdu = tick;
|
||||||
// TODO
|
// TODO
|
||||||
break;
|
break;
|
||||||
case CAN_ID_PDU_CURRENT2:
|
case CAN_ID_PDU_CURRENT2:
|
||||||
|
vehicle_state.watchdog_times.pdu = tick;
|
||||||
// TODO
|
// TODO
|
||||||
break;
|
break;
|
||||||
case CAN_ID_PDU_CURRENT3:
|
case CAN_ID_PDU_CURRENT3:
|
||||||
|
vehicle_state.watchdog_times.pdu = tick;
|
||||||
// TODO
|
// TODO
|
||||||
break;
|
break;
|
||||||
case CAN_ID_PDU_CURRENT4:
|
case CAN_ID_PDU_CURRENT4:
|
||||||
|
vehicle_state.watchdog_times.pdu = tick;
|
||||||
ptr = &data[2];
|
ptr = &data[2];
|
||||||
vehicle_state.lv_voltage = ftcan_unmarshal_signed(&ptr, 2) * 0.001f;
|
vehicle_state.lv_voltage = ftcan_unmarshal_signed(&ptr, 2) * 0.001f;
|
||||||
vehicle_state.lv_soc = calculate_lv_soc(vehicle_state.lv_voltage);
|
vehicle_state.lv_soc = calculate_lv_soc(vehicle_state.lv_voltage);
|
||||||
break;
|
break;
|
||||||
|
case CAN_ID_SNF_100Hz_1:
|
||||||
|
vehicle_state.watchdog_times.snf = tick;
|
||||||
|
break;
|
||||||
|
case CAN_ID_SNR_100Hz:
|
||||||
|
vehicle_state.watchdog_times.snr = tick;
|
||||||
|
break;
|
||||||
case CAN_ID_DASHBOARD:
|
case CAN_ID_DASHBOARD:
|
||||||
|
vehicle_state.watchdog_times.db = tick;
|
||||||
// TODO
|
// TODO
|
||||||
break;
|
break;
|
||||||
case CAN_ID_SSU:
|
case CAN_ID_SSU:
|
||||||
// TODO
|
// TODO
|
||||||
break;
|
break;
|
||||||
case CAN_ID_SHUNT_CURRENT:
|
case CAN_ID_SHUNT_CURRENT:
|
||||||
|
vehicle_state.watchdog_times.shunt = tick;
|
||||||
// The first two bytes of shunt result messages are metadata
|
// The first two bytes of shunt result messages are metadata
|
||||||
ptr = &data[2];
|
ptr = &data[2];
|
||||||
vehicle_state.ts_current = ftcan_unmarshal_signed(&ptr, 4) * 0.001f;
|
vehicle_state.ts_current = ftcan_unmarshal_signed(&ptr, 4) * 0.001f;
|
||||||
break;
|
break;
|
||||||
case CAN_ID_SHUNT_VOLTAGE1:
|
case CAN_ID_SHUNT_VOLTAGE1:
|
||||||
|
vehicle_state.watchdog_times.shunt = tick;
|
||||||
ptr = &data[2];
|
ptr = &data[2];
|
||||||
vehicle_state.ts_voltage_bat = ftcan_unmarshal_signed(&ptr, 4) * -0.001f;
|
vehicle_state.ts_voltage_bat = ftcan_unmarshal_signed(&ptr, 4) * -0.001f;
|
||||||
break;
|
break;
|
||||||
case CAN_ID_SHUNT_VOLTAGE2:
|
case CAN_ID_SHUNT_VOLTAGE2:
|
||||||
|
vehicle_state.watchdog_times.shunt = tick;
|
||||||
ptr = &data[2];
|
ptr = &data[2];
|
||||||
vehicle_state.ts_voltage_veh = vehicle_state.ts_voltage_bat - (ftcan_unmarshal_signed(&ptr, 4) * -0.001f);
|
vehicle_state.ts_voltage_veh = vehicle_state.ts_voltage_bat - (ftcan_unmarshal_signed(&ptr, 4) * -0.001f);
|
||||||
break;
|
break;
|
||||||
case CAN_ID_SHUNT_TEMPERATURE:
|
case CAN_ID_SHUNT_TEMPERATURE:
|
||||||
|
vehicle_state.watchdog_times.shunt = tick;
|
||||||
ptr = &data[2];
|
ptr = &data[2];
|
||||||
vehicle_state.shunt_temperature = ftcan_unmarshal_signed(&ptr, 4) * 0.1f;
|
vehicle_state.shunt_temperature = ftcan_unmarshal_signed(&ptr, 4) * 0.1f;
|
||||||
break;
|
break;
|
||||||
|
@ -11,10 +11,10 @@
|
|||||||
"logo_dv_small_white.png": {
|
"logo_dv_small_white.png": {
|
||||||
"layout_rotation": "90"
|
"layout_rotation": "90"
|
||||||
},
|
},
|
||||||
"logo_dv_small.png": {
|
"Fasttube_Logo_small_white.png": {
|
||||||
"layout_rotation": "90"
|
"layout_rotation": "90"
|
||||||
},
|
},
|
||||||
"Fasttube_Logo_small_white.png": {
|
"logo_dv_small.png": {
|
||||||
"layout_rotation": "90"
|
"layout_rotation": "90"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -5,6 +5,24 @@
|
|||||||
</Languages>
|
</Languages>
|
||||||
<Texts>
|
<Texts>
|
||||||
<TextGroup Id="Status">
|
<TextGroup Id="Status">
|
||||||
|
<Text Id="Shunt" Alignment="Center" TypographyId="Default_Bold">
|
||||||
|
<Translation Language="GB">Shunt</Translation>
|
||||||
|
</Text>
|
||||||
|
<Text Id="statusWildcard" Alignment="Center" TypographyId="Default_Bold">
|
||||||
|
<Translation Language="GB"><value></Translation>
|
||||||
|
</Text>
|
||||||
|
<Text Id="DB" Alignment="Center" TypographyId="Default_Bold">
|
||||||
|
<Translation Language="GB">DB</Translation>
|
||||||
|
</Text>
|
||||||
|
<Text Id="FTCU" Alignment="Center" TypographyId="Default_Bold">
|
||||||
|
<Translation Language="GB">FTCU</Translation>
|
||||||
|
</Text>
|
||||||
|
<Text Id="SNR" Alignment="Center" TypographyId="Default_Bold">
|
||||||
|
<Translation Language="GB">SNR</Translation>
|
||||||
|
</Text>
|
||||||
|
<Text Id="SNF" Alignment="Center" TypographyId="Default_Bold">
|
||||||
|
<Translation Language="GB">SNF</Translation>
|
||||||
|
</Text>
|
||||||
<Text Id="LV" Alignment="Center" TypographyId="Default_Bold">
|
<Text Id="LV" Alignment="Center" TypographyId="Default_Bold">
|
||||||
<Translation Language="GB">LV</Translation>
|
<Translation Language="GB">LV</Translation>
|
||||||
</Text>
|
</Text>
|
||||||
@ -171,6 +189,30 @@
|
|||||||
</Text>
|
</Text>
|
||||||
</TextGroup>
|
</TextGroup>
|
||||||
<TextGroup Id="Unsorted">
|
<TextGroup Id="Unsorted">
|
||||||
|
<Text Id="__SingleUse_HTV5" Alignment="Left" TypographyId="Default_Bold">
|
||||||
|
<Translation Language="GB">BRAKES</Translation>
|
||||||
|
</Text>
|
||||||
|
<Text Id="__SingleUse_N52Q" Alignment="Center" TypographyId="Default_Bold">
|
||||||
|
<Translation Language="GB"><value></Translation>
|
||||||
|
</Text>
|
||||||
|
<Text Id="__SingleUse_SCTC" Alignment="Center" TypographyId="Default_Bold">
|
||||||
|
<Translation Language="GB"><value></Translation>
|
||||||
|
</Text>
|
||||||
|
<Text Id="__SingleUse_OEMA" Alignment="Center" TypographyId="Default_Bold">
|
||||||
|
<Translation Language="GB"><value></Translation>
|
||||||
|
</Text>
|
||||||
|
<Text Id="__SingleUse_VKTM" Alignment="Center" TypographyId="Default_Bold">
|
||||||
|
<Translation Language="GB"><value></Translation>
|
||||||
|
</Text>
|
||||||
|
<Text Id="__SingleUse_Z106" Alignment="Center" TypographyId="Default_Bold">
|
||||||
|
<Translation Language="GB"><value></Translation>
|
||||||
|
</Text>
|
||||||
|
<Text Id="__SingleUse_YZ9T" Alignment="Center" TypographyId="Default_Bold">
|
||||||
|
<Translation Language="GB"><value></Translation>
|
||||||
|
</Text>
|
||||||
|
<Text Id="__SingleUse_SNQD" Alignment="Center" TypographyId="Default_Bold">
|
||||||
|
<Translation Language="GB"><value></Translation>
|
||||||
|
</Text>
|
||||||
<Text Id="__SingleUse_C17G" Alignment="Left" TypographyId="Chinat_Small">
|
<Text Id="__SingleUse_C17G" Alignment="Left" TypographyId="Chinat_Small">
|
||||||
<Translation Language="GB">AS <value></Translation>
|
<Translation Language="GB">AS <value></Translation>
|
||||||
</Text>
|
</Text>
|
||||||
@ -253,7 +295,7 @@
|
|||||||
<Translation Language="GB">DANG:</Translation>
|
<Translation Language="GB">DANG:</Translation>
|
||||||
</Text>
|
</Text>
|
||||||
<Text Id="__SingleUse_F9I5" Alignment="Center" TypographyId="Default_Bold">
|
<Text Id="__SingleUse_F9I5" Alignment="Center" TypographyId="Default_Bold">
|
||||||
<Translation Language="GB"></Translation>
|
<Translation Language="GB"><value></Translation>
|
||||||
</Text>
|
</Text>
|
||||||
<Text Id="__SingleUse_9L8R" Alignment="Left" TypographyId="Default">
|
<Text Id="__SingleUse_9L8R" Alignment="Left" TypographyId="Default">
|
||||||
<Translation Language="GB"><value></Translation>
|
<Translation Language="GB"><value></Translation>
|
||||||
|
@ -38,6 +38,9 @@ public:
|
|||||||
// SDC
|
// SDC
|
||||||
void gotoSDCScreenNoTransition();
|
void gotoSDCScreenNoTransition();
|
||||||
|
|
||||||
|
// SystemOverview
|
||||||
|
void gotoSystemOverviewScreenNoTransition();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
touchgfx::Callback<FrontendApplicationBase> transitionCallback;
|
touchgfx::Callback<FrontendApplicationBase> transitionCallback;
|
||||||
FrontendHeap& frontendHeap;
|
FrontendHeap& frontendHeap;
|
||||||
@ -60,6 +63,9 @@ protected:
|
|||||||
|
|
||||||
// SDC
|
// SDC
|
||||||
void gotoSDCScreenNoTransitionImpl();
|
void gotoSDCScreenNoTransitionImpl();
|
||||||
|
|
||||||
|
// SystemOverview
|
||||||
|
void gotoSystemOverviewScreenNoTransitionImpl();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FRONTENDAPPLICATIONBASE_HPP
|
#endif // FRONTENDAPPLICATIONBASE_HPP
|
||||||
|
@ -24,6 +24,8 @@
|
|||||||
#include <gui/vehicleconfig_screen/VehicleConfigPresenter.hpp>
|
#include <gui/vehicleconfig_screen/VehicleConfigPresenter.hpp>
|
||||||
#include <gui/sdc_screen/SDCView.hpp>
|
#include <gui/sdc_screen/SDCView.hpp>
|
||||||
#include <gui/sdc_screen/SDCPresenter.hpp>
|
#include <gui/sdc_screen/SDCPresenter.hpp>
|
||||||
|
#include <gui/systemoverview_screen/SystemOverviewView.hpp>
|
||||||
|
#include <gui/systemoverview_screen/SystemOverviewPresenter.hpp>
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -52,7 +54,8 @@ public:
|
|||||||
touchgfx::meta::TypeList< DebugViewView,
|
touchgfx::meta::TypeList< DebugViewView,
|
||||||
touchgfx::meta::TypeList< VehicleConfigView,
|
touchgfx::meta::TypeList< VehicleConfigView,
|
||||||
touchgfx::meta::TypeList< SDCView,
|
touchgfx::meta::TypeList< SDCView,
|
||||||
touchgfx::meta::Nil > > > > >
|
touchgfx::meta::TypeList< SystemOverviewView,
|
||||||
|
touchgfx::meta::Nil > > > > > >
|
||||||
> GeneratedViewTypes;
|
> GeneratedViewTypes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -70,7 +73,8 @@ public:
|
|||||||
touchgfx::meta::TypeList< DebugViewPresenter,
|
touchgfx::meta::TypeList< DebugViewPresenter,
|
||||||
touchgfx::meta::TypeList< VehicleConfigPresenter,
|
touchgfx::meta::TypeList< VehicleConfigPresenter,
|
||||||
touchgfx::meta::TypeList< SDCPresenter,
|
touchgfx::meta::TypeList< SDCPresenter,
|
||||||
touchgfx::meta::Nil > > > > >
|
touchgfx::meta::TypeList< SystemOverviewPresenter,
|
||||||
|
touchgfx::meta::Nil > > > > > >
|
||||||
> GeneratedPresenterTypes;
|
> GeneratedPresenterTypes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
#include <gui/common/FrontendApplication.hpp>
|
#include <gui/common/FrontendApplication.hpp>
|
||||||
#include <touchgfx/containers/Container.hpp>
|
#include <touchgfx/containers/Container.hpp>
|
||||||
#include <touchgfx/widgets/BoxWithBorder.hpp>
|
#include <touchgfx/widgets/BoxWithBorder.hpp>
|
||||||
#include <touchgfx/widgets/TextArea.hpp>
|
#include <touchgfx/widgets/TextAreaWithWildcard.hpp>
|
||||||
|
|
||||||
class DriverViewStatusItemBase : public touchgfx::Container
|
class DriverViewStatusItemBase : public touchgfx::Container
|
||||||
{
|
{
|
||||||
@ -25,7 +25,7 @@ protected:
|
|||||||
* Member Declarations
|
* Member Declarations
|
||||||
*/
|
*/
|
||||||
touchgfx::BoxWithBorder bg;
|
touchgfx::BoxWithBorder bg;
|
||||||
touchgfx::TextArea text;
|
touchgfx::TextAreaWithOneWildcard text;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
@ -0,0 +1,56 @@
|
|||||||
|
/*********************************************************************************/
|
||||||
|
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
|
||||||
|
/*********************************************************************************/
|
||||||
|
#ifndef SYSTEMOVERVIEWVIEWBASE_HPP
|
||||||
|
#define SYSTEMOVERVIEWVIEWBASE_HPP
|
||||||
|
|
||||||
|
#include <gui/common/FrontendApplication.hpp>
|
||||||
|
#include <mvp/View.hpp>
|
||||||
|
#include <gui/systemoverview_screen/SystemOverviewPresenter.hpp>
|
||||||
|
#include <touchgfx/widgets/Box.hpp>
|
||||||
|
#include <touchgfx/containers/Container.hpp>
|
||||||
|
#include <gui/containers/DriverViewStatusItem.hpp>
|
||||||
|
#include <touchgfx/widgets/TextArea.hpp>
|
||||||
|
|
||||||
|
class SystemOverviewViewBase : public touchgfx::View<SystemOverviewPresenter>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
SystemOverviewViewBase();
|
||||||
|
virtual ~SystemOverviewViewBase();
|
||||||
|
virtual void setupScreen();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
FrontendApplication& application() {
|
||||||
|
return *static_cast<FrontendApplication*>(touchgfx::Application::getInstance());
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Member Declarations
|
||||||
|
*/
|
||||||
|
touchgfx::Box __background;
|
||||||
|
touchgfx::Container statusItems;
|
||||||
|
DriverViewStatusItem statusTS_R2D;
|
||||||
|
DriverViewStatusItem status1;
|
||||||
|
DriverViewStatusItem statusSDC;
|
||||||
|
DriverViewStatusItem statusSCS;
|
||||||
|
DriverViewStatusItem status2;
|
||||||
|
DriverViewStatusItem status3;
|
||||||
|
DriverViewStatusItem status4;
|
||||||
|
DriverViewStatusItem statusINV;
|
||||||
|
DriverViewStatusItem statusAMS;
|
||||||
|
DriverViewStatusItem statusShunt;
|
||||||
|
DriverViewStatusItem statusLV;
|
||||||
|
DriverViewStatusItem statusSNR;
|
||||||
|
DriverViewStatusItem statusPDU;
|
||||||
|
DriverViewStatusItem statusFTCU;
|
||||||
|
DriverViewStatusItem statusDB;
|
||||||
|
DriverViewStatusItem statusSNF;
|
||||||
|
DriverViewStatusItem statusBPR;
|
||||||
|
DriverViewStatusItem statusBPF;
|
||||||
|
touchgfx::TextArea textArea1;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SYSTEMOVERVIEWVIEWBASE_HPP
|
@ -21,6 +21,8 @@
|
|||||||
#include <gui/vehicleconfig_screen/VehicleConfigPresenter.hpp>
|
#include <gui/vehicleconfig_screen/VehicleConfigPresenter.hpp>
|
||||||
#include <gui/sdc_screen/SDCView.hpp>
|
#include <gui/sdc_screen/SDCView.hpp>
|
||||||
#include <gui/sdc_screen/SDCPresenter.hpp>
|
#include <gui/sdc_screen/SDCPresenter.hpp>
|
||||||
|
#include <gui/systemoverview_screen/SystemOverviewView.hpp>
|
||||||
|
#include <gui/systemoverview_screen/SystemOverviewPresenter.hpp>
|
||||||
|
|
||||||
using namespace touchgfx;
|
using namespace touchgfx;
|
||||||
|
|
||||||
@ -118,3 +120,16 @@ void FrontendApplicationBase::gotoSDCScreenNoTransitionImpl()
|
|||||||
{
|
{
|
||||||
touchgfx::makeTransition<SDCView, SDCPresenter, touchgfx::NoTransition, Model >(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model);
|
touchgfx::makeTransition<SDCView, SDCPresenter, touchgfx::NoTransition, Model >(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SystemOverview
|
||||||
|
|
||||||
|
void FrontendApplicationBase::gotoSystemOverviewScreenNoTransition()
|
||||||
|
{
|
||||||
|
transitionCallback = touchgfx::Callback<FrontendApplicationBase>(this, &FrontendApplicationBase::gotoSystemOverviewScreenNoTransitionImpl);
|
||||||
|
pendingScreenTransitionCallback = &transitionCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FrontendApplicationBase::gotoSystemOverviewScreenNoTransitionImpl()
|
||||||
|
{
|
||||||
|
touchgfx::makeTransition<SystemOverviewView, SystemOverviewPresenter, touchgfx::NoTransition, Model >(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model);
|
||||||
|
}
|
||||||
|
@ -144,4 +144,13 @@ void MissionSelectViewBase::handleKeyEvent(uint8_t key)
|
|||||||
application().gotoSDCScreenNoTransition();
|
application().gotoSDCScreenNoTransition();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(79 == key)
|
||||||
|
{
|
||||||
|
//DummyChangeSystemOverviewView
|
||||||
|
//When hardware button 79 clicked change screen to SystemOverview
|
||||||
|
//Go to SystemOverview with no screen transition
|
||||||
|
application().gotoSystemOverviewScreenNoTransition();
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,103 @@
|
|||||||
|
/*********************************************************************************/
|
||||||
|
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
|
||||||
|
/*********************************************************************************/
|
||||||
|
#include <gui_generated/systemoverview_screen/SystemOverviewViewBase.hpp>
|
||||||
|
#include <touchgfx/Color.hpp>
|
||||||
|
#include <texts/TextKeysAndLanguages.hpp>
|
||||||
|
|
||||||
|
SystemOverviewViewBase::SystemOverviewViewBase()
|
||||||
|
{
|
||||||
|
__background.setPosition(0, 0, 480, 320);
|
||||||
|
__background.setColor(touchgfx::Color::getColorFromRGB(0, 0, 0));
|
||||||
|
add(__background);
|
||||||
|
|
||||||
|
statusItems.setPosition(0, 0, 480, 320);
|
||||||
|
statusTS_R2D.setXY(12, 280);
|
||||||
|
statusItems.add(statusTS_R2D);
|
||||||
|
|
||||||
|
status1.setXY(77, 280);
|
||||||
|
statusItems.add(status1);
|
||||||
|
|
||||||
|
statusSDC.setXY(142, 280);
|
||||||
|
statusItems.add(statusSDC);
|
||||||
|
|
||||||
|
statusSCS.setXY(207, 280);
|
||||||
|
statusItems.add(statusSCS);
|
||||||
|
|
||||||
|
status2.setXY(272, 280);
|
||||||
|
statusItems.add(status2);
|
||||||
|
|
||||||
|
status3.setXY(337, 280);
|
||||||
|
statusItems.add(status3);
|
||||||
|
|
||||||
|
status4.setXY(402, 280);
|
||||||
|
statusItems.add(status4);
|
||||||
|
|
||||||
|
statusINV.setXY(337, 218);
|
||||||
|
statusItems.add(statusINV);
|
||||||
|
|
||||||
|
statusAMS.setXY(402, 202);
|
||||||
|
statusItems.add(statusAMS);
|
||||||
|
|
||||||
|
statusShunt.setXY(402, 234);
|
||||||
|
statusItems.add(statusShunt);
|
||||||
|
|
||||||
|
statusLV.setXY(337, 185);
|
||||||
|
statusItems.add(statusLV);
|
||||||
|
|
||||||
|
statusSNR.setXY(402, 169);
|
||||||
|
statusItems.add(statusSNR);
|
||||||
|
|
||||||
|
statusPDU.setXY(402, 136);
|
||||||
|
statusItems.add(statusPDU);
|
||||||
|
|
||||||
|
statusFTCU.setXY(337, 120);
|
||||||
|
statusItems.add(statusFTCU);
|
||||||
|
|
||||||
|
statusDB.setXY(337, 87);
|
||||||
|
statusItems.add(statusDB);
|
||||||
|
|
||||||
|
statusSNF.setXY(402, 70);
|
||||||
|
statusItems.add(statusSNF);
|
||||||
|
|
||||||
|
statusBPR.setXY(12, 63);
|
||||||
|
statusItems.add(statusBPR);
|
||||||
|
|
||||||
|
statusBPF.setXY(12, 30);
|
||||||
|
statusItems.add(statusBPF);
|
||||||
|
|
||||||
|
add(statusItems);
|
||||||
|
|
||||||
|
textArea1.setXY(12, 5);
|
||||||
|
textArea1.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||||
|
textArea1.setLinespacing(0);
|
||||||
|
textArea1.setTypedText(touchgfx::TypedText(T___SINGLEUSE_HTV5));
|
||||||
|
add(textArea1);
|
||||||
|
}
|
||||||
|
|
||||||
|
SystemOverviewViewBase::~SystemOverviewViewBase()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void SystemOverviewViewBase::setupScreen()
|
||||||
|
{
|
||||||
|
statusTS_R2D.initialize();
|
||||||
|
status1.initialize();
|
||||||
|
statusSDC.initialize();
|
||||||
|
statusSCS.initialize();
|
||||||
|
status2.initialize();
|
||||||
|
status3.initialize();
|
||||||
|
status4.initialize();
|
||||||
|
statusINV.initialize();
|
||||||
|
statusAMS.initialize();
|
||||||
|
statusShunt.initialize();
|
||||||
|
statusLV.initialize();
|
||||||
|
statusSNR.initialize();
|
||||||
|
statusPDU.initialize();
|
||||||
|
statusFTCU.initialize();
|
||||||
|
statusDB.initialize();
|
||||||
|
statusSNF.initialize();
|
||||||
|
statusBPR.initialize();
|
||||||
|
statusBPF.initialize();
|
||||||
|
}
|
@ -1 +1 @@
|
|||||||
{"remap":"yes","language":"GB","language_index":0,"copy_translations":"no","indices":[["490","T_LV"],["376","T_PDU"],["482","T_SCS"],["486","T_SDC"],["478","T_R2D"],["475","T_TS"],["470","T_INV"],["364","T_AMS"],["210","T_ERROR_AMS"],["175","T_DEBUGVIEWFIELD_TITLE"],["175","T_DRIVERVIEWFIELD_TITLE"],["175","T_NUMBERSMALLWILDCARD"],["416","T_FIELD_BBAL"],["355","T_FIELD_TSVOLTVEH"],["348","T_FIELD_TSVOLTBAT"],["392","T_FIELD_LVSOC"],["410","T_FIELD_TSSOC"],["431","T_FIELD_MAXCELLTEMP"],["441","T_FIELD_TIREFL"],["446","T_FIELD_TIREFR"],["451","T_FIELD_TIRERL"],["456","T_FIELD_TIRERR"],["426","T_FIELD_LAPCOUNT"],["277","T_FIELD_INICHKSTATE"],["386","T_FIELD_ERR"],["486","T_FIELD_SDC"],["293","T_FIELD_INVRREADY"],["285","T_FIELD_INVLREADY"],["317","T_FIELD_R2DPROGRESS"],["301","T_FIELD_ACTIVEMISSION"],["261","T_FIELD_ASSTATE"],["333","T_FIELD_TSSTATE"],["175","T_NUMBERWILDCARD"],["175","T_DEFAULTWILDCARD_CENTERED"],["175","T_DEFAULTWILDCARD_RIGHTALIGNED"],["474","T_FIELD_TSCURRENT"],["461","T_FIELD_MINCELLVOLT"],["404","T_FIELD_SPEED"],["177","T_INSPECTION_HUGE"],["252","T_EBS_HUGE"],["199","T_TRACKDRIVE_HUGE"],["220","T_AUTOX_HUGE"],["325","T_SKIDPAD_HUGE"],["146","T_ACCEL_HUGE"],["35","T_INVALID_HUGE"],["116","T_MANUAL"],["177","T_INSPECTION"],["252","T_EBS"],["199","T_TRACKDRIVE"],["220","T_AUTOX"],["325","T_SKIDPAD"],["146","T_ACCEL"],["172","T___SINGLEUSE_C17G"],["362","T___SINGLEUSE_XFW7"],["368","T___SINGLEUSE_N50J"],["466","T___SINGLEUSE_V38H"],["436","T___SINGLEUSE_XC1X"],["243","T___SINGLEUSE_KI1B"],["159","T___SINGLEUSE_QNHI"],["0","T___SINGLEUSE_43KA"],["374","T___SINGLEUSE_YRU7"],["421","T___SINGLEUSE_E6D7"],["175","T___SINGLEUSE_ZEKA"],["131","T___SINGLEUSE_0L75"],["100","T___SINGLEUSE_GA13"],["175","T___SINGLEUSE_THUG"],["175","T___SINGLEUSE_CO7A"],["175","T___SINGLEUSE_A0LF"],["175","T___SINGLEUSE_166C"],["84","T___SINGLEUSE_OOU3"],["68","T___SINGLEUSE_2FPP"],["175","T___SINGLEUSE_2S21"],["175","T___SINGLEUSE_OQ6P"],["309","T___SINGLEUSE_590R"],["269","T___SINGLEUSE_Z78U"],["175","T___SINGLEUSE_LLOZ"],["175","T___SINGLEUSE_232C"],["398","T___SINGLEUSE_JFR7"],["380","T___SINGLEUSE_3MDX"],["17","T___SINGLEUSE_F9I5"],["175","T___SINGLEUSE_9L8R"],["17","T___SINGLEUSE_1NKF"],["175","T___SINGLEUSE_J5UH"],["478","T___SINGLEUSE_NGUK"],["175","T___SINGLEUSE_4E84"],["175","T___SINGLEUSE_YTAB"],["188","T___SINGLEUSE_RWCE"],["230","T___SINGLEUSE_HMH2"],["240","T___SINGLEUSE_PHFD"],["341","T___SINGLEUSE_H6UX"],["175","T___SINGLEUSE_20H3"],["52","T___SINGLEUSE_M5X7"],["18","T___SINGLEUSE_6GPV"]]}
|
{"remap":"yes","language":"GB","language_index":0,"copy_translations":"no","indices":[["410","T_SHUNT"],["175","T_STATUSWILDCARD"],["509","T_DB"],["427","T_FTCU"],["505","T_SNR"],["501","T_SNF"],["512","T_LV"],["376","T_PDU"],["493","T_SCS"],["497","T_SDC"],["489","T_R2D"],["486","T_TS"],["481","T_INV"],["364","T_AMS"],["210","T_ERROR_AMS"],["175","T_DEBUGVIEWFIELD_TITLE"],["175","T_DRIVERVIEWFIELD_TITLE"],["175","T_NUMBERSMALLWILDCARD"],["422","T_FIELD_BBAL"],["355","T_FIELD_TSVOLTVEH"],["348","T_FIELD_TSVOLTBAT"],["392","T_FIELD_LVSOC"],["416","T_FIELD_TSSOC"],["442","T_FIELD_MAXCELLTEMP"],["452","T_FIELD_TIREFL"],["457","T_FIELD_TIREFR"],["462","T_FIELD_TIRERL"],["467","T_FIELD_TIRERR"],["437","T_FIELD_LAPCOUNT"],["277","T_FIELD_INICHKSTATE"],["386","T_FIELD_ERR"],["497","T_FIELD_SDC"],["293","T_FIELD_INVRREADY"],["285","T_FIELD_INVLREADY"],["317","T_FIELD_R2DPROGRESS"],["301","T_FIELD_ACTIVEMISSION"],["261","T_FIELD_ASSTATE"],["333","T_FIELD_TSSTATE"],["175","T_NUMBERWILDCARD"],["175","T_DEFAULTWILDCARD_CENTERED"],["175","T_DEFAULTWILDCARD_RIGHTALIGNED"],["485","T_FIELD_TSCURRENT"],["472","T_FIELD_MINCELLVOLT"],["404","T_FIELD_SPEED"],["177","T_INSPECTION_HUGE"],["252","T_EBS_HUGE"],["199","T_TRACKDRIVE_HUGE"],["220","T_AUTOX_HUGE"],["325","T_SKIDPAD_HUGE"],["146","T_ACCEL_HUGE"],["35","T_INVALID_HUGE"],["116","T_MANUAL"],["177","T_INSPECTION"],["252","T_EBS"],["199","T_TRACKDRIVE"],["220","T_AUTOX"],["325","T_SKIDPAD"],["146","T_ACCEL"],["341","T___SINGLEUSE_HTV5"],["175","T___SINGLEUSE_N52Q"],["175","T___SINGLEUSE_SCTC"],["175","T___SINGLEUSE_OEMA"],["175","T___SINGLEUSE_VKTM"],["175","T___SINGLEUSE_Z106"],["175","T___SINGLEUSE_YZ9T"],["175","T___SINGLEUSE_SNQD"],["172","T___SINGLEUSE_C17G"],["362","T___SINGLEUSE_XFW7"],["368","T___SINGLEUSE_N50J"],["477","T___SINGLEUSE_V38H"],["447","T___SINGLEUSE_XC1X"],["243","T___SINGLEUSE_KI1B"],["159","T___SINGLEUSE_QNHI"],["0","T___SINGLEUSE_43KA"],["374","T___SINGLEUSE_YRU7"],["432","T___SINGLEUSE_E6D7"],["175","T___SINGLEUSE_ZEKA"],["131","T___SINGLEUSE_0L75"],["100","T___SINGLEUSE_GA13"],["175","T___SINGLEUSE_THUG"],["175","T___SINGLEUSE_CO7A"],["175","T___SINGLEUSE_A0LF"],["175","T___SINGLEUSE_166C"],["84","T___SINGLEUSE_OOU3"],["68","T___SINGLEUSE_2FPP"],["175","T___SINGLEUSE_2S21"],["175","T___SINGLEUSE_OQ6P"],["309","T___SINGLEUSE_590R"],["269","T___SINGLEUSE_Z78U"],["175","T___SINGLEUSE_LLOZ"],["175","T___SINGLEUSE_232C"],["398","T___SINGLEUSE_JFR7"],["380","T___SINGLEUSE_3MDX"],["175","T___SINGLEUSE_F9I5"],["175","T___SINGLEUSE_9L8R"],["17","T___SINGLEUSE_1NKF"],["175","T___SINGLEUSE_J5UH"],["489","T___SINGLEUSE_NGUK"],["175","T___SINGLEUSE_4E84"],["175","T___SINGLEUSE_YTAB"],["188","T___SINGLEUSE_RWCE"],["230","T___SINGLEUSE_HMH2"],["240","T___SINGLEUSE_PHFD"],["341","T___SINGLEUSE_H6UX"],["175","T___SINGLEUSE_20H3"],["52","T___SINGLEUSE_M5X7"],["18","T___SINGLEUSE_6GPV"]]}
|
@ -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_C17G","T___SINGLEUSE_XFW7","T___SINGLEUSE_N50J","T___SINGLEUSE_V38H","T___SINGLEUSE_XC1X","T___SINGLEUSE_KI1B","T___SINGLEUSE_QNHI","T___SINGLEUSE_43KA","T___SINGLEUSE_YRU7","T___SINGLEUSE_E6D7","T___SINGLEUSE_ZEKA","T___SINGLEUSE_0L75","T___SINGLEUSE_GA13","T___SINGLEUSE_THUG","T___SINGLEUSE_CO7A","T___SINGLEUSE_A0LF","T___SINGLEUSE_166C","T___SINGLEUSE_OOU3","T___SINGLEUSE_2FPP","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"]}
|
{"languages":["GB"],"textids":["T_SHUNT","T_STATUSWILDCARD","T_DB","T_FTCU","T_SNR","T_SNF","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_HTV5","T___SINGLEUSE_N52Q","T___SINGLEUSE_SCTC","T___SINGLEUSE_OEMA","T___SINGLEUSE_VKTM","T___SINGLEUSE_Z106","T___SINGLEUSE_YZ9T","T___SINGLEUSE_SNQD","T___SINGLEUSE_C17G","T___SINGLEUSE_XFW7","T___SINGLEUSE_N50J","T___SINGLEUSE_V38H","T___SINGLEUSE_XC1X","T___SINGLEUSE_KI1B","T___SINGLEUSE_QNHI","T___SINGLEUSE_43KA","T___SINGLEUSE_YRU7","T___SINGLEUSE_E6D7","T___SINGLEUSE_ZEKA","T___SINGLEUSE_0L75","T___SINGLEUSE_GA13","T___SINGLEUSE_THUG","T___SINGLEUSE_CO7A","T___SINGLEUSE_A0LF","T___SINGLEUSE_166C","T___SINGLEUSE_OOU3","T___SINGLEUSE_2FPP","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"]}
|
@ -1 +1 @@
|
|||||||
{"remap":"yes","languages":["Gb"],"characters":[68,65,83,72,10,66,79,84,83,10,73,78,69,82,84,73,65,0,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,80,114,101,115,115,117,114,101,32,65,99,99,32,49,58,0,80,114,101,115,115,117,114,101,32,65,99,99,32,50,58,0,80,114,101,115,115,117,114,101,32,70,114,111,110,116,58,0,77,97,110,117,97,108,32,68,114,105,118,105,110,103,0,80,114,101,115,115,117,114,101,32,82,101,97,114,58,0,65,99,99,101,108,101,114,97,116,105,111,110,0,83,68,66,10,82,69,83,10,83,68,67,76,0,65,83,32,2,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,66,83,80,68,10,72,86,68,0,69,66,83,32,84,101,115,116,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,10,10,65,77,83,0,10,10,73,77,68,0,10,10,80,68,85,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,73,78,73,84,0,76,65,80,83,0,84,77,65,88,0,84,83,77,83,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,67,67,0,73,78,86,0,73,84,83,0,82,50,68,0,83,67,83,0,83,68,67,0,76,86,0],"copy_translations_to_ram":"no"}
|
{"remap":"yes","languages":["Gb"],"characters":[68,65,83,72,10,66,79,84,83,10,73,78,69,82,84,73,65,0,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,80,114,101,115,115,117,114,101,32,65,99,99,32,49,58,0,80,114,101,115,115,117,114,101,32,65,99,99,32,50,58,0,80,114,101,115,115,117,114,101,32,70,114,111,110,116,58,0,77,97,110,117,97,108,32,68,114,105,118,105,110,103,0,80,114,101,115,115,117,114,101,32,82,101,97,114,58,0,65,99,99,101,108,101,114,97,116,105,111,110,0,83,68,66,10,82,69,83,10,83,68,67,76,0,65,83,32,2,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,66,83,80,68,10,72,86,68,0,69,66,83,32,84,101,115,116,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,10,10,65,77,83,0,10,10,73,77,68,0,10,10,80,68,85,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,83,104,117,110,116,0,84,83,83,79,67,0,66,66,65,76,0,70,84,67,85,0,73,78,73,84,0,76,65,80,83,0,84,77,65,88,0,84,83,77,83,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,67,67,0,73,78,86,0,73,84,83,0,82,50,68,0,83,67,83,0,83,68,67,0,83,78,70,0,83,78,82,0,68,66,0,76,86,0],"copy_translations_to_ram":"no"}
|
@ -1 +1 @@
|
|||||||
{"databases":{"GB":[[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"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,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"RIGHT","LTR"],[2,"CENTER","LTR"],[2,"LEFT","LTR"],[1,"LEFT","LTR"],[1,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[5,"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":[[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"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,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"RIGHT","LTR"],[2,"CENTER","LTR"],[2,"LEFT","LTR"],[1,"LEFT","LTR"],[1,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[5,"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_inter_20_4bpp":0,"getFont_CHINN____30_4bpp":1,"getFont_CHINN____20_4bpp":2,"getFont_CHINN____40_4bpp":3,"getFont_intersb_50_4bpp":4,"getFont_interb_20_4bpp":5,"getFont_inter_33_4bpp":6},"generate_font_format":"0","copy_translations_to_ram":"no"}
|
{"databases":{"GB":[[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"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"],[5,"LEFT","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"RIGHT","LTR"],[2,"CENTER","LTR"],[2,"LEFT","LTR"],[1,"LEFT","LTR"],[1,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[5,"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":[[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"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"],[5,"LEFT","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[5,"CENTER","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"RIGHT","LTR"],[2,"CENTER","LTR"],[2,"LEFT","LTR"],[1,"LEFT","LTR"],[1,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[0,"RIGHT","LTR"],[0,"RIGHT","LTR"],[2,"LEFT","LTR"],[2,"LEFT","LTR"],[5,"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_inter_20_4bpp":0,"getFont_CHINN____30_4bpp":1,"getFont_CHINN____20_4bpp":2,"getFont_CHINN____40_4bpp":3,"getFont_intersb_50_4bpp":4,"getFont_interb_20_4bpp":5,"getFont_inter_33_4bpp":6},"generate_font_format":"0","copy_translations_to_ram":"no"}
|
@ -12,6 +12,12 @@ enum LANGUAGES
|
|||||||
|
|
||||||
enum TEXTS
|
enum TEXTS
|
||||||
{
|
{
|
||||||
|
T_SHUNT,
|
||||||
|
T_STATUSWILDCARD,
|
||||||
|
T_DB,
|
||||||
|
T_FTCU,
|
||||||
|
T_SNR,
|
||||||
|
T_SNF,
|
||||||
T_LV,
|
T_LV,
|
||||||
T_PDU,
|
T_PDU,
|
||||||
T_SCS,
|
T_SCS,
|
||||||
@ -64,6 +70,14 @@ enum TEXTS
|
|||||||
T_AUTOX,
|
T_AUTOX,
|
||||||
T_SKIDPAD,
|
T_SKIDPAD,
|
||||||
T_ACCEL,
|
T_ACCEL,
|
||||||
|
T___SINGLEUSE_HTV5,
|
||||||
|
T___SINGLEUSE_N52Q,
|
||||||
|
T___SINGLEUSE_SCTC,
|
||||||
|
T___SINGLEUSE_OEMA,
|
||||||
|
T___SINGLEUSE_VKTM,
|
||||||
|
T___SINGLEUSE_Z106,
|
||||||
|
T___SINGLEUSE_YZ9T,
|
||||||
|
T___SINGLEUSE_SNQD,
|
||||||
T___SINGLEUSE_C17G,
|
T___SINGLEUSE_C17G,
|
||||||
T___SINGLEUSE_XFW7,
|
T___SINGLEUSE_XFW7,
|
||||||
T___SINGLEUSE_N50J,
|
T___SINGLEUSE_N50J,
|
||||||
|
@ -10,32 +10,38 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE;
|
|||||||
// Remap all strings
|
// Remap all strings
|
||||||
TEXT_LOCATION_FLASH_PRAGMA
|
TEXT_LOCATION_FLASH_PRAGMA
|
||||||
KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
|
KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
|
||||||
490, // T_LV: "LV"
|
410, // T_SHUNT: "Shunt"
|
||||||
|
175, // T_STATUSWILDCARD: "<>"
|
||||||
|
509, // T_DB: "DB"
|
||||||
|
427, // T_FTCU: "FTCU"
|
||||||
|
505, // T_SNR: "SNR"
|
||||||
|
501, // T_SNF: "SNF"
|
||||||
|
512, // T_LV: "LV"
|
||||||
376, // T_PDU: "PDU"
|
376, // T_PDU: "PDU"
|
||||||
482, // T_SCS: "SCS"
|
493, // T_SCS: "SCS"
|
||||||
486, // T_SDC: "SDC"
|
497, // T_SDC: "SDC"
|
||||||
478, // T_R2D: "R2D"
|
489, // T_R2D: "R2D"
|
||||||
475, // T_TS: "TS"
|
486, // T_TS: "TS"
|
||||||
470, // T_INV: "INV"
|
481, // T_INV: "INV"
|
||||||
364, // T_AMS: "AMS"
|
364, // T_AMS: "AMS"
|
||||||
210, // T_ERROR_AMS: "AMS ErrOr"
|
210, // T_ERROR_AMS: "AMS ErrOr"
|
||||||
175, // T_DEBUGVIEWFIELD_TITLE: "<>"
|
175, // T_DEBUGVIEWFIELD_TITLE: "<>"
|
||||||
175, // T_DRIVERVIEWFIELD_TITLE: "<>"
|
175, // T_DRIVERVIEWFIELD_TITLE: "<>"
|
||||||
175, // T_NUMBERSMALLWILDCARD: "<>"
|
175, // T_NUMBERSMALLWILDCARD: "<>"
|
||||||
416, // T_FIELD_BBAL: "BBAL"
|
422, // T_FIELD_BBAL: "BBAL"
|
||||||
355, // T_FIELD_TSVOLTVEH: "TSVVEH"
|
355, // T_FIELD_TSVOLTVEH: "TSVVEH"
|
||||||
348, // T_FIELD_TSVOLTBAT: "TSVBAT"
|
348, // T_FIELD_TSVOLTBAT: "TSVBAT"
|
||||||
392, // T_FIELD_LVSOC: "LVSOC"
|
392, // T_FIELD_LVSOC: "LVSOC"
|
||||||
410, // T_FIELD_TSSOC: "TSSOC"
|
416, // T_FIELD_TSSOC: "TSSOC"
|
||||||
431, // T_FIELD_MAXCELLTEMP: "TMAX"
|
442, // T_FIELD_MAXCELLTEMP: "TMAX"
|
||||||
441, // T_FIELD_TIREFL: "TTFL"
|
452, // T_FIELD_TIREFL: "TTFL"
|
||||||
446, // T_FIELD_TIREFR: "TTFR"
|
457, // T_FIELD_TIREFR: "TTFR"
|
||||||
451, // T_FIELD_TIRERL: "TTRL"
|
462, // T_FIELD_TIRERL: "TTRL"
|
||||||
456, // T_FIELD_TIRERR: "TTRR"
|
467, // T_FIELD_TIRERR: "TTRR"
|
||||||
426, // T_FIELD_LAPCOUNT: "LAPS"
|
437, // T_FIELD_LAPCOUNT: "LAPS"
|
||||||
277, // T_FIELD_INICHKSTATE: "ICSTATE"
|
277, // T_FIELD_INICHKSTATE: "ICSTATE"
|
||||||
386, // T_FIELD_ERR: "ERROR"
|
386, // T_FIELD_ERR: "ERROR"
|
||||||
486, // T_FIELD_SDC: "SDC"
|
497, // T_FIELD_SDC: "SDC"
|
||||||
293, // T_FIELD_INVRREADY: "INVRRDY"
|
293, // T_FIELD_INVRREADY: "INVRRDY"
|
||||||
285, // T_FIELD_INVLREADY: "INVLRDY"
|
285, // T_FIELD_INVLREADY: "INVLRDY"
|
||||||
317, // T_FIELD_R2DPROGRESS: "R2DPROG"
|
317, // T_FIELD_R2DPROGRESS: "R2DPROG"
|
||||||
@ -45,8 +51,8 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
|
|||||||
175, // T_NUMBERWILDCARD: "<>"
|
175, // T_NUMBERWILDCARD: "<>"
|
||||||
175, // T_DEFAULTWILDCARD_CENTERED: "<>"
|
175, // T_DEFAULTWILDCARD_CENTERED: "<>"
|
||||||
175, // T_DEFAULTWILDCARD_RIGHTALIGNED: "<>"
|
175, // T_DEFAULTWILDCARD_RIGHTALIGNED: "<>"
|
||||||
474, // T_FIELD_TSCURRENT: "ITS"
|
485, // T_FIELD_TSCURRENT: "ITS"
|
||||||
461, // T_FIELD_MINCELLVOLT: "VMIN"
|
472, // T_FIELD_MINCELLVOLT: "VMIN"
|
||||||
404, // T_FIELD_SPEED: "SPEED"
|
404, // T_FIELD_SPEED: "SPEED"
|
||||||
177, // T_INSPECTION_HUGE: "Inspection"
|
177, // T_INSPECTION_HUGE: "Inspection"
|
||||||
252, // T_EBS_HUGE: "EBS Test"
|
252, // T_EBS_HUGE: "EBS Test"
|
||||||
@ -62,16 +68,24 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
|
|||||||
220, // T_AUTOX: "Autocross"
|
220, // T_AUTOX: "Autocross"
|
||||||
325, // T_SKIDPAD: "Skidpad"
|
325, // T_SKIDPAD: "Skidpad"
|
||||||
146, // T_ACCEL: "Acceleration"
|
146, // T_ACCEL: "Acceleration"
|
||||||
|
341, // T___SINGLEUSE_HTV5: "BRAKES"
|
||||||
|
175, // T___SINGLEUSE_N52Q: "<>"
|
||||||
|
175, // T___SINGLEUSE_SCTC: "<>"
|
||||||
|
175, // T___SINGLEUSE_OEMA: "<>"
|
||||||
|
175, // T___SINGLEUSE_VKTM: "<>"
|
||||||
|
175, // T___SINGLEUSE_Z106: "<>"
|
||||||
|
175, // T___SINGLEUSE_YZ9T: "<>"
|
||||||
|
175, // T___SINGLEUSE_SNQD: "<>"
|
||||||
172, // T___SINGLEUSE_C17G: "AS <>"
|
172, // T___SINGLEUSE_C17G: "AS <>"
|
||||||
362, // T___SINGLEUSE_XFW7: "\n\nAMS"
|
362, // T___SINGLEUSE_XFW7: "\n\nAMS"
|
||||||
368, // T___SINGLEUSE_N50J: "\n\nIMD"
|
368, // T___SINGLEUSE_N50J: "\n\nIMD"
|
||||||
466, // T___SINGLEUSE_V38H: "ACC"
|
477, // T___SINGLEUSE_V38H: "ACC"
|
||||||
436, // T___SINGLEUSE_XC1X: "TSMS"
|
447, // T___SINGLEUSE_XC1X: "TSMS"
|
||||||
243, // T___SINGLEUSE_KI1B: "BSPD\nHVD"
|
243, // T___SINGLEUSE_KI1B: "BSPD\nHVD"
|
||||||
159, // T___SINGLEUSE_QNHI: "SDB\nRES\nSDCL"
|
159, // T___SINGLEUSE_QNHI: "SDB\nRES\nSDCL"
|
||||||
0, // T___SINGLEUSE_43KA: "DASH\nBOTS\nINERTIA"
|
0, // T___SINGLEUSE_43KA: "DASH\nBOTS\nINERTIA"
|
||||||
374, // T___SINGLEUSE_YRU7: "\n\nPDU"
|
374, // T___SINGLEUSE_YRU7: "\n\nPDU"
|
||||||
421, // T___SINGLEUSE_E6D7: "INIT"
|
432, // T___SINGLEUSE_E6D7: "INIT"
|
||||||
175, // T___SINGLEUSE_ZEKA: "<>"
|
175, // T___SINGLEUSE_ZEKA: "<>"
|
||||||
131, // T___SINGLEUSE_0L75: "Pressure Rear:"
|
131, // T___SINGLEUSE_0L75: "Pressure Rear:"
|
||||||
100, // T___SINGLEUSE_GA13: "Pressure Front:"
|
100, // T___SINGLEUSE_GA13: "Pressure Front:"
|
||||||
@ -79,8 +93,8 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
|
|||||||
175, // T___SINGLEUSE_CO7A: "<>"
|
175, // T___SINGLEUSE_CO7A: "<>"
|
||||||
175, // T___SINGLEUSE_A0LF: "<>"
|
175, // T___SINGLEUSE_A0LF: "<>"
|
||||||
175, // T___SINGLEUSE_166C: "<>"
|
175, // T___SINGLEUSE_166C: "<>"
|
||||||
84, // T___SINGLEUSE_OOU3: "Pressure Acc B:"
|
84, // T___SINGLEUSE_OOU3: "Pressure Acc 2:"
|
||||||
68, // T___SINGLEUSE_2FPP: "Pressure Acc A:"
|
68, // T___SINGLEUSE_2FPP: "Pressure Acc 1:"
|
||||||
175, // T___SINGLEUSE_2S21: "<>"
|
175, // T___SINGLEUSE_2S21: "<>"
|
||||||
175, // T___SINGLEUSE_OQ6P: "<>"
|
175, // T___SINGLEUSE_OQ6P: "<>"
|
||||||
309, // T___SINGLEUSE_590R: "MSPEED:"
|
309, // T___SINGLEUSE_590R: "MSPEED:"
|
||||||
@ -89,11 +103,11 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
|
|||||||
175, // T___SINGLEUSE_232C: "<>"
|
175, // T___SINGLEUSE_232C: "<>"
|
||||||
398, // T___SINGLEUSE_JFR7: "MANG:"
|
398, // T___SINGLEUSE_JFR7: "MANG:"
|
||||||
380, // T___SINGLEUSE_3MDX: "DANG:"
|
380, // T___SINGLEUSE_3MDX: "DANG:"
|
||||||
17, // T___SINGLEUSE_F9I5: ""
|
175, // T___SINGLEUSE_F9I5: "<>"
|
||||||
175, // T___SINGLEUSE_9L8R: "<>"
|
175, // T___SINGLEUSE_9L8R: "<>"
|
||||||
17, // T___SINGLEUSE_1NKF: ""
|
17, // T___SINGLEUSE_1NKF: ""
|
||||||
175, // T___SINGLEUSE_J5UH: "<>"
|
175, // T___SINGLEUSE_J5UH: "<>"
|
||||||
478, // T___SINGLEUSE_NGUK: "R2D"
|
489, // T___SINGLEUSE_NGUK: "R2D"
|
||||||
175, // T___SINGLEUSE_4E84: "<>"
|
175, // T___SINGLEUSE_4E84: "<>"
|
||||||
175, // T___SINGLEUSE_YTAB: "<>"
|
175, // T___SINGLEUSE_YTAB: "<>"
|
||||||
188, // T___SINGLEUSE_RWCE: "PARAMETERS"
|
188, // T___SINGLEUSE_RWCE: "PARAMETERS"
|
||||||
|
@ -102,24 +102,29 @@ KEEP extern const touchgfx::Unicode::UnicodeChar texts_all_languages[] TEXT_LOCA
|
|||||||
0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @392 "LVSOC"
|
0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @392 "LVSOC"
|
||||||
0x4d, 0x41, 0x4e, 0x47, 0x3a, 0x0, // @398 "MANG:"
|
0x4d, 0x41, 0x4e, 0x47, 0x3a, 0x0, // @398 "MANG:"
|
||||||
0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @404 "SPEED"
|
0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @404 "SPEED"
|
||||||
0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @410 "TSSOC"
|
0x53, 0x68, 0x75, 0x6e, 0x74, 0x0, // @410 "Shunt"
|
||||||
0x42, 0x42, 0x41, 0x4c, 0x0, // @416 "BBAL"
|
0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @416 "TSSOC"
|
||||||
0x49, 0x4e, 0x49, 0x54, 0x0, // @421 "INIT"
|
0x42, 0x42, 0x41, 0x4c, 0x0, // @422 "BBAL"
|
||||||
0x4c, 0x41, 0x50, 0x53, 0x0, // @426 "LAPS"
|
0x46, 0x54, 0x43, 0x55, 0x0, // @427 "FTCU"
|
||||||
0x54, 0x4d, 0x41, 0x58, 0x0, // @431 "TMAX"
|
0x49, 0x4e, 0x49, 0x54, 0x0, // @432 "INIT"
|
||||||
0x54, 0x53, 0x4d, 0x53, 0x0, // @436 "TSMS"
|
0x4c, 0x41, 0x50, 0x53, 0x0, // @437 "LAPS"
|
||||||
0x54, 0x54, 0x46, 0x4c, 0x0, // @441 "TTFL"
|
0x54, 0x4d, 0x41, 0x58, 0x0, // @442 "TMAX"
|
||||||
0x54, 0x54, 0x46, 0x52, 0x0, // @446 "TTFR"
|
0x54, 0x53, 0x4d, 0x53, 0x0, // @447 "TSMS"
|
||||||
0x54, 0x54, 0x52, 0x4c, 0x0, // @451 "TTRL"
|
0x54, 0x54, 0x46, 0x4c, 0x0, // @452 "TTFL"
|
||||||
0x54, 0x54, 0x52, 0x52, 0x0, // @456 "TTRR"
|
0x54, 0x54, 0x46, 0x52, 0x0, // @457 "TTFR"
|
||||||
0x56, 0x4d, 0x49, 0x4e, 0x0, // @461 "VMIN"
|
0x54, 0x54, 0x52, 0x4c, 0x0, // @462 "TTRL"
|
||||||
0x41, 0x43, 0x43, 0x0, // @466 "ACC"
|
0x54, 0x54, 0x52, 0x52, 0x0, // @467 "TTRR"
|
||||||
0x49, 0x4e, 0x56, 0x0, // @470 "INV"
|
0x56, 0x4d, 0x49, 0x4e, 0x0, // @472 "VMIN"
|
||||||
0x49, 0x54, 0x53, 0x0, // @474 "ITS"
|
0x41, 0x43, 0x43, 0x0, // @477 "ACC"
|
||||||
0x52, 0x32, 0x44, 0x0, // @478 "R2D"
|
0x49, 0x4e, 0x56, 0x0, // @481 "INV"
|
||||||
0x53, 0x43, 0x53, 0x0, // @482 "SCS"
|
0x49, 0x54, 0x53, 0x0, // @485 "ITS"
|
||||||
0x53, 0x44, 0x43, 0x0, // @486 "SDC"
|
0x52, 0x32, 0x44, 0x0, // @489 "R2D"
|
||||||
0x4c, 0x56, 0x0 // @490 "LV"
|
0x53, 0x43, 0x53, 0x0, // @493 "SCS"
|
||||||
|
0x53, 0x44, 0x43, 0x0, // @497 "SDC"
|
||||||
|
0x53, 0x4e, 0x46, 0x0, // @501 "SNF"
|
||||||
|
0x53, 0x4e, 0x52, 0x0, // @505 "SNR"
|
||||||
|
0x44, 0x42, 0x0, // @509 "DB"
|
||||||
|
0x4c, 0x56, 0x0 // @512 "LV"
|
||||||
};
|
};
|
||||||
|
|
||||||
TEXT_LOCATION_FLASH_PRAGMA
|
TEXT_LOCATION_FLASH_PRAGMA
|
||||||
|
@ -36,6 +36,12 @@ const touchgfx::TypedText::TypedTextData typedText_database_GB[] TEXT_LOCATION_F
|
|||||||
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
{ 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 5, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
{ 5, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
@ -80,6 +86,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 },
|
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
{ 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
{ 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
{ 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
@ -132,6 +146,12 @@ const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[] TEXT_LOCAT
|
|||||||
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
{ 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 5, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
{ 5, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
@ -176,6 +196,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 },
|
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
{ 5, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
{ 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
{ 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
{ 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
{ 2, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||||
|
@ -5,7 +5,22 @@
|
|||||||
#include "touchgfx/hal/Types.hpp"
|
#include "touchgfx/hal/Types.hpp"
|
||||||
#include <gui_generated/containers/DriverViewStatusItemBase.hpp>
|
#include <gui_generated/containers/DriverViewStatusItemBase.hpp>
|
||||||
|
|
||||||
enum class DriverViewStatusType { TS_R2D, AMS, SDC, SCS, PDU, INV, LV };
|
enum class DriverViewStatusType {
|
||||||
|
TS_R2D,
|
||||||
|
AMS,
|
||||||
|
SDC,
|
||||||
|
SCS,
|
||||||
|
PDU,
|
||||||
|
INV,
|
||||||
|
LV,
|
||||||
|
SNF,
|
||||||
|
DB,
|
||||||
|
FTCU,
|
||||||
|
SNR,
|
||||||
|
Shunt,
|
||||||
|
BPR,
|
||||||
|
BPF,
|
||||||
|
};
|
||||||
|
|
||||||
class DriverViewStatusItem : public DriverViewStatusItemBase {
|
class DriverViewStatusItem : public DriverViewStatusItemBase {
|
||||||
public:
|
public:
|
||||||
@ -18,20 +33,17 @@ public:
|
|||||||
|
|
||||||
void update();
|
void update();
|
||||||
|
|
||||||
static inline colortype COLOR_OFF =
|
static inline colortype COLOR_OFF = touchgfx::Color::getColorFromRGB(0x00, 0x00, 0x00); // #000000
|
||||||
touchgfx::Color::getColorFromRGB(0x00, 0x00, 0x00);
|
static inline colortype COLOR_OK = touchgfx::Color::getColorFromRGB(0x0D, 0xBF, 0x00); // #0DBF00
|
||||||
static inline colortype COLOR_OK =
|
static inline colortype COLOR_WARNING = touchgfx::Color::getColorFromRGB(0xEB, 0xC4, 0x00); // #EBC400
|
||||||
touchgfx::Color::getColorFromRGB(0x0D, 0xBF, 0x00);
|
static inline colortype COLOR_ERROR = touchgfx::Color::getColorFromRGB(0xC5, 0x0E, 0x1F); // #C50E1F
|
||||||
static inline colortype COLOR_WARNING =
|
static inline colortype COLOR_TS = touchgfx::Color::getColorFromRGB(0xEB, 0x7D, 0x00); // #EB7D00
|
||||||
touchgfx::Color::getColorFromRGB(0xEB, 0xC4, 0x00);
|
static inline colortype COLOR_BLUE = touchgfx::Color::getColorFromRGB(0x00, 0x8F, 0xEE); // #008FEE
|
||||||
static inline colortype COLOR_ERROR =
|
|
||||||
touchgfx::Color::getColorFromRGB(0xC5, 0x0E, 0x1F);
|
|
||||||
static inline colortype COLOR_TS =
|
|
||||||
touchgfx::Color::getColorFromRGB(0xEB, 0x7D, 0x00);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
private:
|
private:
|
||||||
DriverViewStatusType type;
|
DriverViewStatusType type;
|
||||||
|
touchgfx::Unicode::UnicodeChar valueBuffer[16];
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // DRIVERVIEWSTATUSITEM_HPP
|
#endif // DRIVERVIEWSTATUSITEM_HPP
|
||||||
|
@ -0,0 +1,38 @@
|
|||||||
|
#ifndef SYSTEMOVERVIEWPRESENTER_HPP
|
||||||
|
#define SYSTEMOVERVIEWPRESENTER_HPP
|
||||||
|
|
||||||
|
#include <gui/model/ModelListener.hpp>
|
||||||
|
#include <mvp/Presenter.hpp>
|
||||||
|
|
||||||
|
using namespace touchgfx;
|
||||||
|
|
||||||
|
class SystemOverviewView;
|
||||||
|
|
||||||
|
class SystemOverviewPresenter : public touchgfx::Presenter, public ModelListener {
|
||||||
|
public:
|
||||||
|
SystemOverviewPresenter(SystemOverviewView &v);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The activate function is called automatically when this screen is "switched in"
|
||||||
|
* (ie. made active). Initialization logic can be placed here.
|
||||||
|
*/
|
||||||
|
virtual void activate();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The deactivate function is called automatically when this screen is "switched out"
|
||||||
|
* (ie. made inactive). Teardown functionality can be placed here.
|
||||||
|
*/
|
||||||
|
virtual void deactivate();
|
||||||
|
|
||||||
|
virtual ~SystemOverviewPresenter() {}
|
||||||
|
|
||||||
|
void vehicleStateUpdated() override;
|
||||||
|
void nextScreen() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
SystemOverviewPresenter();
|
||||||
|
|
||||||
|
SystemOverviewView &view;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SYSTEMOVERVIEWPRESENTER_HPP
|
@ -0,0 +1,19 @@
|
|||||||
|
#ifndef SYSTEMOVERVIEWVIEW_HPP
|
||||||
|
#define SYSTEMOVERVIEWVIEW_HPP
|
||||||
|
|
||||||
|
#include <gui/systemoverview_screen/SystemOverviewPresenter.hpp>
|
||||||
|
#include <gui_generated/systemoverview_screen/SystemOverviewViewBase.hpp>
|
||||||
|
|
||||||
|
class SystemOverviewView : public SystemOverviewViewBase {
|
||||||
|
public:
|
||||||
|
SystemOverviewView();
|
||||||
|
virtual ~SystemOverviewView() {}
|
||||||
|
virtual void setupScreen();
|
||||||
|
virtual void tearDownScreen();
|
||||||
|
|
||||||
|
void updateItems();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SYSTEMOVERVIEWVIEW_HPP
|
@ -27,5 +27,5 @@ void AMIPresenter::vehicleStateUpdated() {
|
|||||||
|
|
||||||
void AMIPresenter::nextScreen() {
|
void AMIPresenter::nextScreen() {
|
||||||
FrontendApplication *app = static_cast<FrontendApplication *>(FrontendApplication::getInstance());
|
FrontendApplication *app = static_cast<FrontendApplication *>(FrontendApplication::getInstance());
|
||||||
app->gotoSDCScreenNoTransition();
|
app->gotoVehicleConfigScreenNoTransition();
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,13 @@ DriverViewStatusItem::DriverViewStatusItem() {}
|
|||||||
|
|
||||||
void DriverViewStatusItem::initialize() { DriverViewStatusItemBase::initialize(); }
|
void DriverViewStatusItem::initialize() { DriverViewStatusItemBase::initialize(); }
|
||||||
|
|
||||||
void DriverViewStatusItem::setType(DriverViewStatusType type) { this->type = type; }
|
void DriverViewStatusItem::setType(DriverViewStatusType type) { //
|
||||||
|
this->type = type;
|
||||||
|
|
||||||
|
if (type == DriverViewStatusType::LV || type == DriverViewStatusType::BPF || type == DriverViewStatusType::BPR) {
|
||||||
|
text.setTypedText(T_STATUSWILDCARD); // TODO rename wildcard typed text to more general name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void DriverViewStatusItem::update() {
|
void DriverViewStatusItem::update() {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
@ -27,22 +33,28 @@ void DriverViewStatusItem::update() {
|
|||||||
bg.setColor(COLOR_TS);
|
bg.setColor(COLOR_TS);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DriverViewStatusType::AMS:
|
case DriverViewStatusType::AMS:
|
||||||
text.setTypedText(T_AMS);
|
text.setTypedText(T_AMS);
|
||||||
bg.setColor(vehicle_state.ts_state == TS_ERROR ? COLOR_ERROR : COLOR_OK);
|
bg.setColor(vehicle_state.watchdog_timeout.ams ? COLOR_ERROR : COLOR_OK);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DriverViewStatusType::SDC:
|
case DriverViewStatusType::SDC:
|
||||||
text.setTypedText(T_SDC);
|
text.setTypedText(T_SDC);
|
||||||
bg.setColor(vehicle_state.sdc_closed ? COLOR_OK : COLOR_WARNING);
|
bg.setColor(vehicle_state.sdc_closed ? COLOR_OK : COLOR_WARNING);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DriverViewStatusType::SCS:
|
case DriverViewStatusType::SCS:
|
||||||
text.setTypedText(T_SCS);
|
text.setTypedText(T_SCS);
|
||||||
bg.setColor(vehicle_state.errors.err_scs ? COLOR_ERROR : COLOR_OK);
|
bg.setColor(vehicle_state.errors.err_scs ? COLOR_ERROR : COLOR_OK);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DriverViewStatusType::PDU:
|
case DriverViewStatusType::PDU:
|
||||||
text.setTypedText(T_PDU);
|
text.setTypedText(T_PDU);
|
||||||
bg.setColor(vehicle_state.errors.err_pdu ? COLOR_ERROR : COLOR_OK);
|
// bg.setColor(vehicle_state.errors.err_pdu ? COLOR_ERROR : COLOR_OK);
|
||||||
|
bg.setColor(vehicle_state.watchdog_timeout.pdu ? COLOR_ERROR : COLOR_OK);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DriverViewStatusType::INV:
|
case DriverViewStatusType::INV:
|
||||||
text.setTypedText(T_INV);
|
text.setTypedText(T_INV);
|
||||||
if (vehicle_state.errors.err_inv_1 || vehicle_state.errors.err_inv_2) {
|
if (vehicle_state.errors.err_inv_1 || vehicle_state.errors.err_inv_2) {
|
||||||
@ -53,17 +65,61 @@ void DriverViewStatusItem::update() {
|
|||||||
bg.setColor(COLOR_OFF);
|
bg.setColor(COLOR_OFF);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DriverViewStatusType::LV:
|
case DriverViewStatusType::LV:
|
||||||
text.setTypedText(T_LV);
|
Unicode::snprintf(valueBuffer, 8, "LV:%d%%", (int)(vehicle_state.lv_soc));
|
||||||
// if (vehicle_state.soc_lv < 10) {
|
text.setWildcard(valueBuffer);
|
||||||
// bg.setColor(COLOR_ERROR);
|
if (vehicle_state.lv_soc < 20) {
|
||||||
// } else if (vehicle_state.soc_lv < 30) {
|
bg.setColor(COLOR_ERROR);
|
||||||
// bg.setColor(COLOR_WARNING);
|
} else if (vehicle_state.lv_soc < 40) {
|
||||||
// } else {
|
bg.setColor(COLOR_WARNING);
|
||||||
// bg.setColor(COLOR_OK);
|
} else {
|
||||||
// }
|
bg.setColor(COLOR_OK);
|
||||||
// TODO
|
}
|
||||||
bg.setColor(COLOR_OK);
|
break;
|
||||||
|
|
||||||
|
case DriverViewStatusType::SNF:
|
||||||
|
text.setTypedText(T_SNF);
|
||||||
|
bg.setColor(vehicle_state.watchdog_timeout.snf ? COLOR_ERROR : COLOR_OK);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DriverViewStatusType::DB:
|
||||||
|
text.setTypedText(T_DB);
|
||||||
|
bg.setColor(vehicle_state.watchdog_timeout.db ? COLOR_ERROR : COLOR_OK);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DriverViewStatusType::FTCU:
|
||||||
|
text.setTypedText(T_FTCU);
|
||||||
|
bg.setColor(vehicle_state.watchdog_timeout.ftcu ? COLOR_ERROR : COLOR_OK);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DriverViewStatusType::SNR:
|
||||||
|
text.setTypedText(T_SNR);
|
||||||
|
bg.setColor(vehicle_state.watchdog_timeout.snr ? COLOR_ERROR : COLOR_OK);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DriverViewStatusType::Shunt:
|
||||||
|
text.setTypedText(T_SHUNT);
|
||||||
|
bg.setColor(vehicle_state.watchdog_timeout.shunt ? COLOR_ERROR : COLOR_OK);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DriverViewStatusType::BPF: {
|
||||||
|
float params[3] = {5.0, 1.0, vehicle_state.brake_pressure_f};
|
||||||
|
Unicode::snprintfFloats(valueBuffer, 10, "F:%*.*f", params);
|
||||||
|
text.setWildcard(valueBuffer);
|
||||||
|
bg.setColor(vehicle_state.brake_pressure_f >= 30 ? COLOR_BLUE : COLOR_OFF);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case DriverViewStatusType::BPR: {
|
||||||
|
float params[3] = {5.0, 1.0, vehicle_state.brake_pressure_r};
|
||||||
|
Unicode::snprintfFloats(valueBuffer, 10, "R:%*.*f", params);
|
||||||
|
text.setWildcard(valueBuffer);
|
||||||
|
bg.setColor(vehicle_state.brake_pressure_r >= 30 ? COLOR_BLUE : COLOR_OFF);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
text.invalidate();
|
text.invalidate();
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
#include <gui/systemoverview_screen/SystemOverviewPresenter.hpp>
|
||||||
|
#include <gui/systemoverview_screen/SystemOverviewView.hpp>
|
||||||
|
|
||||||
|
SystemOverviewPresenter::SystemOverviewPresenter(SystemOverviewView &v) : view(v) {}
|
||||||
|
|
||||||
|
void SystemOverviewPresenter::activate() {}
|
||||||
|
|
||||||
|
void SystemOverviewPresenter::deactivate() {}
|
||||||
|
|
||||||
|
void SystemOverviewPresenter::vehicleStateUpdated() { //
|
||||||
|
view.updateItems();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SystemOverviewPresenter::nextScreen() {
|
||||||
|
static_cast<FrontendApplication *>(Application::getInstance())->gotoSDCScreenNoTransition();
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
#include <gui/systemoverview_screen/SystemOverviewView.hpp>
|
||||||
|
|
||||||
|
SystemOverviewView::SystemOverviewView() {}
|
||||||
|
|
||||||
|
void SystemOverviewView::setupScreen() {
|
||||||
|
SystemOverviewViewBase::setupScreen();
|
||||||
|
|
||||||
|
statusTS_R2D.setType(DriverViewStatusType::TS_R2D);
|
||||||
|
statusAMS.setType(DriverViewStatusType::AMS);
|
||||||
|
statusSDC.setType(DriverViewStatusType::SDC);
|
||||||
|
statusSCS.setType(DriverViewStatusType::SCS);
|
||||||
|
statusPDU.setType(DriverViewStatusType::PDU);
|
||||||
|
statusINV.setType(DriverViewStatusType::INV);
|
||||||
|
statusLV.setType(DriverViewStatusType::LV);
|
||||||
|
statusDB.setType(DriverViewStatusType::DB);
|
||||||
|
statusFTCU.setType(DriverViewStatusType::FTCU);
|
||||||
|
statusSNF.setType(DriverViewStatusType::SNF);
|
||||||
|
statusSNR.setType(DriverViewStatusType::SNR);
|
||||||
|
statusShunt.setType(DriverViewStatusType::Shunt);
|
||||||
|
statusBPF.setType(DriverViewStatusType::BPF);
|
||||||
|
statusBPR.setType(DriverViewStatusType::BPR);
|
||||||
|
status1.setVisible(false);
|
||||||
|
status2.setVisible(false);
|
||||||
|
status3.setVisible(false);
|
||||||
|
status4.setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
class StatusItemUpdateCallback : public touchgfx::GenericCallback<touchgfx::Drawable &> {
|
||||||
|
virtual void execute(Drawable &item) override {
|
||||||
|
DriverViewStatusItem &statusItem = static_cast<DriverViewStatusItem &>(item);
|
||||||
|
statusItem.update();
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual bool isValid() const override { return true; }
|
||||||
|
};
|
||||||
|
|
||||||
|
void SystemOverviewView::updateItems() {
|
||||||
|
StatusItemUpdateCallback cb;
|
||||||
|
statusItems.forEachChild(&cb);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SystemOverviewView::tearDownScreen() { SystemOverviewViewBase::tearDownScreen(); }
|
@ -2,18 +2,14 @@
|
|||||||
#include <gui/vehicleconfig_screen/VehicleConfigPresenter.hpp>
|
#include <gui/vehicleconfig_screen/VehicleConfigPresenter.hpp>
|
||||||
#include <gui/vehicleconfig_screen/VehicleConfigView.hpp>
|
#include <gui/vehicleconfig_screen/VehicleConfigView.hpp>
|
||||||
|
|
||||||
VehicleConfigPresenter::VehicleConfigPresenter(VehicleConfigView &v)
|
VehicleConfigPresenter::VehicleConfigPresenter(VehicleConfigView &v) : view(v) {}
|
||||||
: view(v) {}
|
|
||||||
|
|
||||||
void VehicleConfigPresenter::activate() {}
|
void VehicleConfigPresenter::activate() {}
|
||||||
|
|
||||||
void VehicleConfigPresenter::deactivate() {}
|
void VehicleConfigPresenter::deactivate() {}
|
||||||
|
|
||||||
void VehicleConfigPresenter::nextScreen() {
|
void VehicleConfigPresenter::nextScreen() {
|
||||||
static_cast<FrontendApplication *>(Application::getInstance())
|
static_cast<FrontendApplication *>(Application::getInstance())->gotoSystemOverviewScreenNoTransition();
|
||||||
->gotoSDCScreenNoTransition();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void VehicleConfigPresenter::paramConfirmed() {
|
void VehicleConfigPresenter::paramConfirmed() { view.abxParamConfirmed(vehicle_state.last_param_confirmed); }
|
||||||
view.abxParamConfirmed(vehicle_state.last_param_confirmed);
|
|
||||||
}
|
|
||||||
|
@ -204,6 +204,18 @@
|
|||||||
"ScreenTransitionType": "ScreenTransitionNone",
|
"ScreenTransitionType": "ScreenTransitionNone",
|
||||||
"ActionComponent": "SDC"
|
"ActionComponent": "SDC"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"InteractionName": "DummyChangeSystemOverviewView",
|
||||||
|
"Trigger": {
|
||||||
|
"Type": "TriggerPhysicalButtonClicked",
|
||||||
|
"ButtonKey": 79
|
||||||
|
},
|
||||||
|
"Action": {
|
||||||
|
"Type": "ActionGotoScreen",
|
||||||
|
"ScreenTransitionType": "ScreenTransitionNone",
|
||||||
|
"ActionComponent": "SystemOverview"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -1368,6 +1380,198 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Interactions": []
|
"Interactions": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "SystemOverview",
|
||||||
|
"Components": [
|
||||||
|
{
|
||||||
|
"Type": "Container",
|
||||||
|
"Name": "statusItems",
|
||||||
|
"Width": 480,
|
||||||
|
"Height": 320,
|
||||||
|
"Components": [
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "statusTS_R2D",
|
||||||
|
"X": 12,
|
||||||
|
"Y": 280,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "status1",
|
||||||
|
"X": 77,
|
||||||
|
"Y": 280,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "statusSDC",
|
||||||
|
"X": 142,
|
||||||
|
"Y": 280,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "statusSCS",
|
||||||
|
"X": 207,
|
||||||
|
"Y": 280,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "status2",
|
||||||
|
"X": 272,
|
||||||
|
"Y": 280,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "status3",
|
||||||
|
"X": 337,
|
||||||
|
"Y": 280,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "status4",
|
||||||
|
"X": 402,
|
||||||
|
"Y": 280,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "statusINV",
|
||||||
|
"X": 337,
|
||||||
|
"Y": 218,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "statusAMS",
|
||||||
|
"X": 402,
|
||||||
|
"Y": 202,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "statusShunt",
|
||||||
|
"X": 402,
|
||||||
|
"Y": 234,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "statusLV",
|
||||||
|
"X": 337,
|
||||||
|
"Y": 185,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "statusSNR",
|
||||||
|
"X": 402,
|
||||||
|
"Y": 169,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "statusPDU",
|
||||||
|
"X": 402,
|
||||||
|
"Y": 136,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "statusFTCU",
|
||||||
|
"X": 337,
|
||||||
|
"Y": 120,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "statusDB",
|
||||||
|
"X": 337,
|
||||||
|
"Y": 87,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "statusSNF",
|
||||||
|
"X": 402,
|
||||||
|
"Y": 70,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "statusBPR",
|
||||||
|
"X": 12,
|
||||||
|
"Y": 63,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "CustomContainerInstance",
|
||||||
|
"Name": "statusBPF",
|
||||||
|
"X": 12,
|
||||||
|
"Y": 30,
|
||||||
|
"Width": 65,
|
||||||
|
"Height": 33,
|
||||||
|
"CustomContainerDefinitionName": "DriverViewStatusItem"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "TextArea",
|
||||||
|
"Name": "textArea1",
|
||||||
|
"X": 12,
|
||||||
|
"Y": 5,
|
||||||
|
"Width": 80,
|
||||||
|
"Height": 25,
|
||||||
|
"TextId": "__SingleUse_HTV5",
|
||||||
|
"TextRotation": "0",
|
||||||
|
"Color": {
|
||||||
|
"Red": 255,
|
||||||
|
"Green": 255,
|
||||||
|
"Blue": 255
|
||||||
|
},
|
||||||
|
"AutoSize": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Interactions": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"CustomContainerDefinitions": [
|
"CustomContainerDefinitions": [
|
||||||
@ -1845,7 +2049,8 @@
|
|||||||
"Red": 255,
|
"Red": 255,
|
||||||
"Green": 255,
|
"Green": 255,
|
||||||
"Blue": 255
|
"Blue": 255
|
||||||
}
|
},
|
||||||
|
"Wildcard1": {}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Interactions": []
|
"Interactions": []
|
||||||
|
Loading…
x
Reference in New Issue
Block a user