Compare commits
4 Commits
b2f5d48b73
...
49cc898b8c
Author | SHA1 | Date |
---|---|---|
Jasper Blanckenburg | 49cc898b8c | |
Jasper Blanckenburg | a097d2b3aa | |
Jasper Blanckenburg | 24be6312c8 | |
Jasper Blanckenburg | cb2d707bd9 |
|
@ -55,12 +55,34 @@ typedef enum {
|
|||
INICHK_ERROR = 9
|
||||
} IniChkState;
|
||||
|
||||
typedef enum {
|
||||
AMS_ERROR_NONE = 0x00,
|
||||
AMS_ERROR_SLAVE_TIMEOUT = 0x01,
|
||||
AMS_ERROR_SLAVE_PANIC = 0x02,
|
||||
AMS_ERROR_SHUNT_TIMEOUT = 0x03,
|
||||
AMS_ERROR_SHUNT_OVERCURRENT = 0x04,
|
||||
AMS_ERROR_SHUNT_OVERTEMP = 0x05
|
||||
} AMSErrorKind;
|
||||
typedef enum {
|
||||
AMS_SLAVEPANIC_OVERTEMP = 0x00,
|
||||
AMS_SLAVEPANIC_UNDERTEMP = 0x01,
|
||||
AMS_SLAVEPANIC_OVERVOLTAGE = 0x02,
|
||||
AMS_SLAVEPANIC_UNDERVOLTAGE = 0x03,
|
||||
AMS_SLAVEPANIC_TOO_FEW_TEMP = 0x04,
|
||||
AMS_SLAVEPANIC_OPENWIRE = 0x05
|
||||
} AMSSlavePanicKind;
|
||||
|
||||
typedef struct {
|
||||
float fl;
|
||||
float fr;
|
||||
float rl;
|
||||
float rr;
|
||||
} TireTemps;
|
||||
float tire_fl;
|
||||
float tire_fr;
|
||||
float tire_rl;
|
||||
float tire_rr;
|
||||
|
||||
float inv_l;
|
||||
float inv_r;
|
||||
float mot_l;
|
||||
float mot_r;
|
||||
} Temperatures;
|
||||
|
||||
typedef struct {
|
||||
TSState ts_state;
|
||||
|
@ -89,10 +111,19 @@ typedef struct {
|
|||
int err_invl : 1;
|
||||
int err_invr : 1;
|
||||
} errors;
|
||||
struct {
|
||||
AMSErrorKind kind;
|
||||
uint8_t arg;
|
||||
} last_ams_error;
|
||||
struct {
|
||||
uint8_t id;
|
||||
AMSSlavePanicKind kind;
|
||||
uint32_t arg;
|
||||
} last_ams_slave_panic;
|
||||
IniChkState ini_chk_state;
|
||||
|
||||
unsigned lap_count;
|
||||
TireTemps tire_temps;
|
||||
Temperatures temps;
|
||||
|
||||
float min_cell_volt;
|
||||
float max_cell_temp;
|
||||
|
@ -101,6 +132,8 @@ typedef struct {
|
|||
float ts_current;
|
||||
float ts_voltage_bat;
|
||||
float ts_voltage_veh;
|
||||
|
||||
float speed;
|
||||
} VehicleState;
|
||||
|
||||
extern VehicleState vehicle_state;
|
||||
|
|
|
@ -11,7 +11,11 @@
|
|||
#include "stm32h7xx_hal_gpio.h"
|
||||
#include "tx_api.h"
|
||||
|
||||
#define CAN_ID_AMS_SLAVE_PANIC 0x9
|
||||
#define CAN_ID_AMS_STATUS 0xA
|
||||
#define CAN_ID_AMS_ERROR 0xC
|
||||
#define CAN_ID_ABX_DRIVER 0x101
|
||||
#define CAN_ID_CS_INTERNAL 0x108
|
||||
#define CAN_ID_MISSION_SELECTED 0x400
|
||||
#define CAN_ID_STW_BUTTONS 0x401
|
||||
#define CAN_ID_STW_PARAM_SET 0x402
|
||||
|
@ -22,12 +26,18 @@
|
|||
#define CAN_ID_SHUNT_VOLTAGE2 0x523
|
||||
#define CAN_AMS_STATUS_VOLTAGE_FACTOR 1e-4
|
||||
#define CAN_AMS_STATUS_TEMP_FACTOR 0.0625
|
||||
#define CAN_ABX_DRIVER_SPEED_FACTOR (0.2 * 3.6)
|
||||
#define CAN_CS_INTERNAL_TEMP_FACTOR 0.01
|
||||
|
||||
VehicleState vehicle_state = {0};
|
||||
|
||||
void vehicle_thread_entry(ULONG hfdcan_addr) {
|
||||
ftcan_init((void *)hfdcan_addr);
|
||||
ftcan_add_filter(CAN_ID_AMS_SLAVE_PANIC, 0x7FF);
|
||||
ftcan_add_filter(CAN_ID_AMS_STATUS, 0x7FF);
|
||||
ftcan_add_filter(CAN_ID_AMS_ERROR, 0x7FF);
|
||||
ftcan_add_filter(CAN_ID_ABX_DRIVER, 0x7FF);
|
||||
ftcan_add_filter(CAN_ID_CS_INTERNAL, 0x7FF);
|
||||
ftcan_add_filter(CAN_ID_AS_MISSION_FB, 0x7FF);
|
||||
ftcan_add_filter(CAN_ID_STW_STATUS, 0x7FF);
|
||||
ftcan_add_filter(CAN_ID_SHUNT_CURRENT, 0x7FF);
|
||||
|
@ -59,16 +69,41 @@ 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.soc = data[1];
|
||||
const uint8_t *ptr = &data[2];
|
||||
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;
|
||||
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.speed = data[5] * CAN_ABX_DRIVER_SPEED_FACTOR;
|
||||
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;
|
||||
// TODO: uncomment when we have a right motor
|
||||
// vehicle_state.temps.mot_r =
|
||||
// (data[6] | (data[7] << 8)) * CAN_CS_INTERNAL_TEMP_FACTOR;
|
||||
break;
|
||||
case CAN_ID_AS_MISSION_FB:
|
||||
vehicle_state.active_mission = data[0] & 0b111;
|
||||
break;
|
||||
|
|
|
@ -360,8 +360,9 @@ TouchGFX/generated/gui_generated/src/containers/DebugViewItemBase.cpp \
|
|||
TouchGFX/generated/gui_generated/src/containers/DebugViewLineBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/containers/DriverViewFieldBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/containers/DriverViewFieldSelectionBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/containers/ErrorPopupBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/containers/MissionSelectElementBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/containers/TireTempBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/containers/TemperatureBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/debugview_screen/DebugViewViewBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/driverview_screen/DriverViewViewBase.cpp \
|
||||
TouchGFX/generated/gui_generated/src/missionselect_screen/MissionSelectViewBase.cpp \
|
||||
|
@ -388,8 +389,9 @@ TouchGFX/gui/src/containers/DebugViewItem.cpp \
|
|||
TouchGFX/gui/src/containers/DebugViewLine.cpp \
|
||||
TouchGFX/gui/src/containers/DriverViewField.cpp \
|
||||
TouchGFX/gui/src/containers/DriverViewFieldSelection.cpp \
|
||||
TouchGFX/gui/src/containers/ErrorPopup.cpp \
|
||||
TouchGFX/gui/src/containers/MissionSelectElement.cpp \
|
||||
TouchGFX/gui/src/containers/TireTemp.cpp \
|
||||
TouchGFX/gui/src/containers/Temperature.cpp \
|
||||
TouchGFX/gui/src/debugview_screen/DebugViewPresenter.cpp \
|
||||
TouchGFX/gui/src/debugview_screen/DebugViewView.cpp \
|
||||
TouchGFX/gui/src/driverview_screen/DriverViewPresenter.cpp \
|
||||
|
|
|
@ -4,6 +4,11 @@
|
|||
<Language Id="GB" />
|
||||
</Languages>
|
||||
<Texts>
|
||||
<TextGroup Id="Errors">
|
||||
<Text Id="Error_AMS" Alignment="Center" TypographyId="Chinat_Huge">
|
||||
<Translation Language="GB">AMS ErrOr</Translation>
|
||||
</Text>
|
||||
</TextGroup>
|
||||
<TextGroup Id="DataFields">
|
||||
<Text Id="DebugViewField_Title" Alignment="Left" TypographyId="Default_Bold">
|
||||
<Translation Language="GB"><value></Translation>
|
||||
|
@ -137,8 +142,23 @@
|
|||
</Text>
|
||||
</TextGroup>
|
||||
<TextGroup Id="Unsorted">
|
||||
<Text Id="__SingleUse_JN2J" Alignment="Center" TypographyId="Chinat_Small">
|
||||
<Translation Language="GB">MOTOR</Translation>
|
||||
</Text>
|
||||
<Text Id="__SingleUse_ZP7N" Alignment="Center" TypographyId="Chinat_Small">
|
||||
<Translation Language="GB">INVERTER</Translation>
|
||||
</Text>
|
||||
<Text Id="__SingleUse_9L8R" Alignment="Left" TypographyId="Default">
|
||||
<Translation Language="GB"><value></Translation>
|
||||
</Text>
|
||||
<Text Id="__SingleUse_1NKF" Alignment="Center" TypographyId="Chinat_Huge">
|
||||
<Translation Language="GB" />
|
||||
</Text>
|
||||
<Text Id="__SingleUse_J5UH" Alignment="Right" TypographyId="Chinat_Large">
|
||||
<Translation Language="GB"><value></Translation>
|
||||
</Text>
|
||||
<Text Id="__SingleUse_NGUK" Alignment="Left" TypographyId="Chinat_Large">
|
||||
<Translation Language="GB">R2D [<value>/8]</Translation>
|
||||
<Translation Language="GB">R2D</Translation>
|
||||
</Text>
|
||||
<Text Id="__SingleUse_4E84" Alignment="Right" TypographyId="Numbers">
|
||||
<Translation Language="GB"><value></Translation>
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
32
|
||||
45
|
||||
47
|
||||
48
|
||||
49
|
||||
50
|
||||
|
@ -39,8 +38,6 @@
|
|||
88
|
||||
89
|
||||
90
|
||||
91
|
||||
93
|
||||
97
|
||||
98
|
||||
99
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
69
|
||||
73
|
||||
77
|
||||
79
|
||||
83
|
||||
84
|
||||
97
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
AH:0 BA:1 FC:63 EC:0 FF:0 CF:0
|
||||
32
|
||||
45
|
||||
47
|
||||
48
|
||||
49
|
||||
50
|
||||
|
@ -40,8 +39,6 @@ AH:0 BA:1 FC:63 EC:0 FF:0 CF:0
|
|||
88
|
||||
89
|
||||
90
|
||||
91
|
||||
93
|
||||
97
|
||||
98
|
||||
99
|
||||
|
|
|
@ -7,6 +7,7 @@ AH:0 BA:1 FC:63 EC:0 FF:0 CF:0
|
|||
69
|
||||
73
|
||||
77
|
||||
79
|
||||
83
|
||||
84
|
||||
97
|
||||
|
|
|
@ -8,21 +8,6 @@ KEEP extern const uint8_t unicodes_CHINN____30_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF3, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF3, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x08,
|
||||
// Unicode: [0x002F, slash]
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x40, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE1, 0xFF, 0xFF, 0x9F,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0xFF, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x60, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE2, 0xFF, 0xFF, 0x7F,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x80, 0xFF, 0xFF, 0xEF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0xFF, 0xFF, 0x6F,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFD, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xA0, 0xFF, 0xFF, 0xDF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0x4F,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFE, 0xFF, 0xFF, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xC0, 0xFF, 0xFF, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x2E,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xD1, 0xFF, 0xFF, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0xFF, 0x1E,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xE2, 0xFF, 0xFF, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
// Unicode: [0x0030, zero]
|
||||
0x00, 0x00, 0xA5, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x29, 0x00, 0x00, 0x00,
|
||||
0xC2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x10, 0xFD,
|
||||
|
@ -748,26 +733,6 @@ KEEP extern const uint8_t unicodes_CHINN____30_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
0x1F, 0x00, 0x00, 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0x1F, 0x00, 0x00, 0x40, 0xEA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x1F, 0x00,
|
||||
// Unicode: [0x005B, bracketleft]
|
||||
0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0xF1, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0x02, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0xF1, 0xFF, 0xFF, 0x44, 0x44, 0x01, 0xF1, 0xFF,
|
||||
0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00,
|
||||
0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00,
|
||||
0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF,
|
||||
0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00,
|
||||
0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00,
|
||||
0x00, 0x00, 0xF1, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0xF1, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x02, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x02,
|
||||
0x30, 0x33, 0x33, 0x33, 0x33, 0x00,
|
||||
// Unicode: [0x005D, bracketright]
|
||||
0xFB, 0xFF, 0xFF, 0xFF, 0x8F, 0xFB, 0xFF, 0xFF, 0xFF, 0x8F, 0xFB, 0xFF, 0xFF, 0xFF, 0x8F, 0xFB,
|
||||
0xFF, 0xFF, 0xFF, 0x8F, 0x43, 0x44, 0xFA, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00,
|
||||
0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8,
|
||||
0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF,
|
||||
0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F,
|
||||
0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00, 0x00, 0xF8, 0xFF, 0x8F, 0x00,
|
||||
0x00, 0xF8, 0xFF, 0x8F, 0xFB, 0xFF, 0xFF, 0xFF, 0x8F, 0xFB, 0xFF, 0xFF, 0xFF, 0x8F, 0xFB, 0xFF,
|
||||
0xFF, 0xFF, 0x8F, 0xFB, 0xFF, 0xFF, 0xFF, 0x8F, 0x43, 0x44, 0x44, 0x44, 0x24,
|
||||
// Unicode: [0x0061, a]
|
||||
0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x03, 0x00, 0x80,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0x00, 0x80, 0xFF,
|
||||
|
|
|
@ -197,6 +197,41 @@ KEEP extern const uint8_t unicodes_CHINN____40_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
|
|||
0xFF, 0x0D, 0xFE, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x90, 0xFF, 0xFF, 0xAF, 0x01, 0x00,
|
||||
0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x62, 0x67, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
// Unicode: [0x004F, O]
|
||||
0x00, 0x00, 0x30, 0xC9, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE,
|
||||
0x16, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x04, 0x00, 0x00, 0x00, 0xE4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0x00, 0x00, 0x30, 0xFE, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0x00,
|
||||
0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x1E, 0x00, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xFB, 0xFF, 0xFF, 0xCF, 0xCC, 0xCC, 0xCC, 0xCC,
|
||||
0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xEC, 0xFF, 0xFF, 0xCF, 0x00, 0xFD, 0xFF, 0xFF, 0x0F,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0x00,
|
||||
0xFE, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0,
|
||||
0xFF, 0xFF, 0xFF, 0x01, 0xFE, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0x01, 0xFE, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0x01, 0xFE, 0xFF, 0xFF, 0x0F,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0x01,
|
||||
0xFE, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0,
|
||||
0xFF, 0xFF, 0xFF, 0x01, 0xFE, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0x01, 0xFE, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0x01, 0xFE, 0xFF, 0xFF, 0x0F,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0x01,
|
||||
0xFE, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0,
|
||||
0xFF, 0xFF, 0xFF, 0x01, 0xFE, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0x01, 0xFE, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0x01, 0xFC, 0xFF, 0xFF, 0x0F,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0x00,
|
||||
0xFA, 0xFF, 0xFF, 0xCF, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xEC,
|
||||
0xFF, 0xFF, 0xDF, 0x00, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0x00, 0x50, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00,
|
||||
0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0x8F, 0x00, 0x00, 0x00, 0x50, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x05, 0x00, 0x00, 0x00, 0x00, 0x71, 0xEB, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x17, 0x00, 0x00, 0x00,
|
||||
// Unicode: [0x0053, S]
|
||||
0x00, 0x00, 0x00, 0x72, 0xDB, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0xA1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
|
|
|
@ -6,73 +6,70 @@ FONT_TABLE_LOCATION_FLASH_PRAGMA
|
|||
KEEP extern const touchgfx::GlyphNode glyphs_CHINN____30_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = {
|
||||
{ 0, 0x0020, 0, 0, 0, 0, 8, 0, 0, 0x00 }, // space
|
||||
{ 0, 0x002D, 13, 5, 12, 0, 13, 0, 0, 0x00 }, // hyphen
|
||||
{ 35, 0x002F, 22, 20, 20, 0, 22, 0, 0, 0x00 }, // slash
|
||||
{ 255, 0x0030, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // zero
|
||||
{ 555, 0x0031, 14, 20, 20, 5, 30, 0, 0, 0x00 }, // one
|
||||
{ 695, 0x0032, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // two
|
||||
{ 995, 0x0033, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // three
|
||||
{ 1295, 0x0034, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // four
|
||||
{ 1595, 0x0035, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // five
|
||||
{ 1895, 0x0036, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // six
|
||||
{ 2195, 0x0037, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // seven
|
||||
{ 2495, 0x0038, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // eight
|
||||
{ 2795, 0x0039, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // nine
|
||||
{ 3095, 0x003A, 7, 14, 14, 1, 8, 0, 0, 0x00 }, // colon
|
||||
{ 3151, 0x003F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // question
|
||||
{ 3451, 0x0041, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // A
|
||||
{ 3751, 0x0042, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // B
|
||||
{ 4051, 0x0043, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // C
|
||||
{ 4351, 0x0044, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // D
|
||||
{ 4651, 0x0045, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // E
|
||||
{ 4951, 0x0046, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // F
|
||||
{ 5251, 0x0047, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // G
|
||||
{ 5551, 0x0048, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // H
|
||||
{ 5851, 0x0049, 6, 20, 20, 0, 7, 0, 0, 0x00 }, // I
|
||||
{ 5911, 0x004A, 30, 20, 20, -1, 29, 0, 0, 0x00 }, // J
|
||||
{ 6211, 0x004B, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // K
|
||||
{ 6511, 0x004C, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // L
|
||||
{ 6811, 0x004D, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // M
|
||||
{ 7131, 0x004E, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // N
|
||||
{ 7431, 0x004F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // O
|
||||
{ 7731, 0x0050, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // P
|
||||
{ 8051, 0x0051, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // Q
|
||||
{ 8371, 0x0052, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // R
|
||||
{ 8671, 0x0053, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // S
|
||||
{ 8991, 0x0054, 30, 20, 20, -1, 28, 0, 0, 0x00 }, // T
|
||||
{ 9291, 0x0055, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // U
|
||||
{ 9591, 0x0056, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // V
|
||||
{ 9891, 0x0057, 28, 20, 20, 0, 28, 0, 0, 0x00 }, // W
|
||||
{ 10171, 0x0058, 29, 20, 20, 0, 28, 0, 0, 0x00 }, // X
|
||||
{ 10471, 0x0059, 28, 20, 20, -1, 27, 0, 0, 0x00 }, // Y
|
||||
{ 10751, 0x005A, 33, 20, 20, 0, 32, 0, 0, 0x00 }, // Z
|
||||
{ 11091, 0x005B, 11, 25, 20, 1, 11, 0, 0, 0x00 }, // bracketleft
|
||||
{ 11241, 0x005D, 10, 25, 20, 0, 11, 0, 0, 0x00 }, // bracketright
|
||||
{ 11366, 0x0061, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // a
|
||||
{ 11666, 0x0062, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // b
|
||||
{ 11966, 0x0063, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // c
|
||||
{ 12266, 0x0064, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // d
|
||||
{ 12566, 0x0065, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // e
|
||||
{ 12866, 0x0066, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // f
|
||||
{ 13166, 0x0067, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // g
|
||||
{ 13466, 0x0068, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // h
|
||||
{ 13766, 0x0069, 6, 20, 20, 0, 7, 0, 0, 0x00 }, // i
|
||||
{ 13826, 0x006A, 30, 20, 20, -1, 29, 0, 0, 0x00 }, // j
|
||||
{ 14126, 0x006B, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // k
|
||||
{ 14426, 0x006C, 22, 20, 20, 0, 21, 0, 0, 0x00 }, // l
|
||||
{ 14646, 0x006D, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // m
|
||||
{ 14946, 0x006E, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // n
|
||||
{ 15246, 0x006F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // o
|
||||
{ 15546, 0x0070, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // p
|
||||
{ 15846, 0x0071, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // q
|
||||
{ 16166, 0x0072, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // r
|
||||
{ 16466, 0x0073, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // s
|
||||
{ 16786, 0x0074, 30, 20, 20, -1, 28, 0, 0, 0x00 }, // t
|
||||
{ 17086, 0x0075, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // u
|
||||
{ 17386, 0x0076, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // v
|
||||
{ 17686, 0x0077, 33, 20, 20, 0, 33, 0, 0, 0x00 }, // w
|
||||
{ 18026, 0x0078, 29, 20, 20, 0, 28, 0, 0, 0x00 }, // x
|
||||
{ 18326, 0x0079, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // y
|
||||
{ 18626, 0x007A, 33, 20, 20, 0, 32, 0, 0, 0x00 } // z
|
||||
{ 35, 0x0030, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // zero
|
||||
{ 335, 0x0031, 14, 20, 20, 5, 30, 0, 0, 0x00 }, // one
|
||||
{ 475, 0x0032, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // two
|
||||
{ 775, 0x0033, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // three
|
||||
{ 1075, 0x0034, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // four
|
||||
{ 1375, 0x0035, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // five
|
||||
{ 1675, 0x0036, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // six
|
||||
{ 1975, 0x0037, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // seven
|
||||
{ 2275, 0x0038, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // eight
|
||||
{ 2575, 0x0039, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // nine
|
||||
{ 2875, 0x003A, 7, 14, 14, 1, 8, 0, 0, 0x00 }, // colon
|
||||
{ 2931, 0x003F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // question
|
||||
{ 3231, 0x0041, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // A
|
||||
{ 3531, 0x0042, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // B
|
||||
{ 3831, 0x0043, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // C
|
||||
{ 4131, 0x0044, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // D
|
||||
{ 4431, 0x0045, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // E
|
||||
{ 4731, 0x0046, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // F
|
||||
{ 5031, 0x0047, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // G
|
||||
{ 5331, 0x0048, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // H
|
||||
{ 5631, 0x0049, 6, 20, 20, 0, 7, 0, 0, 0x00 }, // I
|
||||
{ 5691, 0x004A, 30, 20, 20, -1, 29, 0, 0, 0x00 }, // J
|
||||
{ 5991, 0x004B, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // K
|
||||
{ 6291, 0x004C, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // L
|
||||
{ 6591, 0x004D, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // M
|
||||
{ 6911, 0x004E, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // N
|
||||
{ 7211, 0x004F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // O
|
||||
{ 7511, 0x0050, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // P
|
||||
{ 7831, 0x0051, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // Q
|
||||
{ 8151, 0x0052, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // R
|
||||
{ 8451, 0x0053, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // S
|
||||
{ 8771, 0x0054, 30, 20, 20, -1, 28, 0, 0, 0x00 }, // T
|
||||
{ 9071, 0x0055, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // U
|
||||
{ 9371, 0x0056, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // V
|
||||
{ 9671, 0x0057, 28, 20, 20, 0, 28, 0, 0, 0x00 }, // W
|
||||
{ 9951, 0x0058, 29, 20, 20, 0, 28, 0, 0, 0x00 }, // X
|
||||
{ 10251, 0x0059, 28, 20, 20, -1, 27, 0, 0, 0x00 }, // Y
|
||||
{ 10531, 0x005A, 33, 20, 20, 0, 32, 0, 0, 0x00 }, // Z
|
||||
{ 10871, 0x0061, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // a
|
||||
{ 11171, 0x0062, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // b
|
||||
{ 11471, 0x0063, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // c
|
||||
{ 11771, 0x0064, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // d
|
||||
{ 12071, 0x0065, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // e
|
||||
{ 12371, 0x0066, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // f
|
||||
{ 12671, 0x0067, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // g
|
||||
{ 12971, 0x0068, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // h
|
||||
{ 13271, 0x0069, 6, 20, 20, 0, 7, 0, 0, 0x00 }, // i
|
||||
{ 13331, 0x006A, 30, 20, 20, -1, 29, 0, 0, 0x00 }, // j
|
||||
{ 13631, 0x006B, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // k
|
||||
{ 13931, 0x006C, 22, 20, 20, 0, 21, 0, 0, 0x00 }, // l
|
||||
{ 14151, 0x006D, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // m
|
||||
{ 14451, 0x006E, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // n
|
||||
{ 14751, 0x006F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // o
|
||||
{ 15051, 0x0070, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // p
|
||||
{ 15351, 0x0071, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // q
|
||||
{ 15671, 0x0072, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // r
|
||||
{ 15971, 0x0073, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // s
|
||||
{ 16291, 0x0074, 30, 20, 20, -1, 28, 0, 0, 0x00 }, // t
|
||||
{ 16591, 0x0075, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // u
|
||||
{ 16891, 0x0076, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // v
|
||||
{ 17191, 0x0077, 33, 20, 20, 0, 33, 0, 0, 0x00 }, // w
|
||||
{ 17531, 0x0078, 29, 20, 20, 0, 28, 0, 0, 0x00 }, // x
|
||||
{ 17831, 0x0079, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // y
|
||||
{ 18131, 0x007A, 33, 20, 20, 0, 32, 0, 0, 0x00 } // z
|
||||
};
|
||||
|
||||
// CHINN____30_4bpp
|
||||
|
@ -90,6 +87,6 @@ touchgfx::GeneratedFont& getFont_CHINN____30_4bpp();
|
|||
|
||||
touchgfx::GeneratedFont& getFont_CHINN____30_4bpp()
|
||||
{
|
||||
static touchgfx::GeneratedFont CHINN____30_4bpp(glyphs_CHINN____30_4bpp, 69, 35, 30, 0, 0, 4, 1, 1, 1, unicodes_CHINN____30_4bpp, kerning_CHINN____30_4bpp, 63, 0, 0, 0);
|
||||
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);
|
||||
return CHINN____30_4bpp;
|
||||
}
|
||||
|
|
|
@ -12,23 +12,24 @@ KEEP extern const touchgfx::GlyphNode glyphs_CHINN____40_4bpp[] FONT_TABLE_LOCAT
|
|||
{ 1720, 0x0045, 38, 27, 27, 1, 40, 0, 0, 0x00 }, // E
|
||||
{ 2233, 0x0049, 7, 27, 27, 1, 9, 0, 0, 0x00 }, // I
|
||||
{ 2341, 0x004D, 41, 28, 27, 1, 43, 0, 0, 0x00 }, // M
|
||||
{ 2929, 0x0053, 43, 27, 27, 0, 43, 0, 0, 0x00 }, // S
|
||||
{ 3523, 0x0054, 39, 27, 27, -1, 37, 0, 0, 0x00 }, // T
|
||||
{ 4063, 0x0061, 40, 27, 27, 0, 41, 0, 0, 0x00 }, // a
|
||||
{ 4603, 0x0063, 39, 27, 27, 1, 41, 0, 0, 0x00 }, // c
|
||||
{ 5143, 0x0064, 39, 27, 27, 1, 40, 0, 0, 0x00 }, // d
|
||||
{ 5683, 0x0065, 38, 27, 27, 1, 39, 0, 0, 0x00 }, // e
|
||||
{ 6196, 0x0069, 7, 27, 27, 1, 9, 0, 0, 0x00 }, // i
|
||||
{ 6304, 0x006B, 39, 27, 27, 1, 39, 0, 0, 0x00 }, // k
|
||||
{ 6844, 0x006C, 28, 27, 27, 1, 28, 0, 0, 0x00 }, // l
|
||||
{ 7222, 0x006E, 38, 29, 28, 1, 40, 0, 0, 0x00 }, // n
|
||||
{ 7773, 0x006F, 39, 27, 27, 1, 40, 0, 0, 0x00 }, // o
|
||||
{ 8313, 0x0070, 38, 27, 27, 1, 39, 0, 0, 0x00 }, // p
|
||||
{ 8826, 0x0072, 39, 27, 27, 1, 40, 0, 0, 0x00 }, // r
|
||||
{ 9366, 0x0073, 43, 27, 27, 0, 43, 0, 0, 0x00 }, // s
|
||||
{ 9960, 0x0074, 39, 27, 27, -1, 37, 0, 0, 0x00 }, // t
|
||||
{ 10500, 0x0075, 39, 27, 27, 1, 41, 0, 0, 0x00 }, // u
|
||||
{ 11040, 0x0076, 38, 28, 27, -1, 36, 0, 0, 0x00 } // v
|
||||
{ 2929, 0x004F, 39, 27, 27, 1, 40, 0, 0, 0x00 }, // O
|
||||
{ 3469, 0x0053, 43, 27, 27, 0, 43, 0, 0, 0x00 }, // S
|
||||
{ 4063, 0x0054, 39, 27, 27, -1, 37, 0, 0, 0x00 }, // T
|
||||
{ 4603, 0x0061, 40, 27, 27, 0, 41, 0, 0, 0x00 }, // a
|
||||
{ 5143, 0x0063, 39, 27, 27, 1, 41, 0, 0, 0x00 }, // c
|
||||
{ 5683, 0x0064, 39, 27, 27, 1, 40, 0, 0, 0x00 }, // d
|
||||
{ 6223, 0x0065, 38, 27, 27, 1, 39, 0, 0, 0x00 }, // e
|
||||
{ 6736, 0x0069, 7, 27, 27, 1, 9, 0, 0, 0x00 }, // i
|
||||
{ 6844, 0x006B, 39, 27, 27, 1, 39, 0, 0, 0x00 }, // k
|
||||
{ 7384, 0x006C, 28, 27, 27, 1, 28, 0, 0, 0x00 }, // l
|
||||
{ 7762, 0x006E, 38, 29, 28, 1, 40, 0, 0, 0x00 }, // n
|
||||
{ 8313, 0x006F, 39, 27, 27, 1, 40, 0, 0, 0x00 }, // o
|
||||
{ 8853, 0x0070, 38, 27, 27, 1, 39, 0, 0, 0x00 }, // p
|
||||
{ 9366, 0x0072, 39, 27, 27, 1, 40, 0, 0, 0x00 }, // r
|
||||
{ 9906, 0x0073, 43, 27, 27, 0, 43, 0, 0, 0x00 }, // s
|
||||
{ 10500, 0x0074, 39, 27, 27, -1, 37, 0, 0, 0x00 }, // t
|
||||
{ 11040, 0x0075, 39, 27, 27, 1, 41, 0, 0, 0x00 }, // u
|
||||
{ 11580, 0x0076, 38, 28, 27, -1, 36, 0, 0, 0x00 } // v
|
||||
};
|
||||
|
||||
// CHINN____40_4bpp
|
||||
|
@ -46,6 +47,6 @@ touchgfx::GeneratedFont& getFont_CHINN____40_4bpp();
|
|||
|
||||
touchgfx::GeneratedFont& getFont_CHINN____40_4bpp()
|
||||
{
|
||||
static touchgfx::GeneratedFont CHINN____40_4bpp(glyphs_CHINN____40_4bpp, 25, 41, 40, 0, 0, 4, 1, 1, 1, unicodes_CHINN____40_4bpp, kerning_CHINN____40_4bpp, 63, 0, 0, 0);
|
||||
static touchgfx::GeneratedFont CHINN____40_4bpp(glyphs_CHINN____40_4bpp, 26, 41, 40, 0, 0, 4, 1, 1, 1, unicodes_CHINN____40_4bpp, kerning_CHINN____40_4bpp, 63, 0, 0, 0);
|
||||
return CHINN____40_4bpp;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
/*********************************************************************************/
|
||||
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
|
||||
/*********************************************************************************/
|
||||
#ifndef ERRORPOPUPBASE_HPP
|
||||
#define ERRORPOPUPBASE_HPP
|
||||
|
||||
#include <gui/common/FrontendApplication.hpp>
|
||||
#include <touchgfx/containers/Container.hpp>
|
||||
#include <touchgfx/widgets/BoxWithBorder.hpp>
|
||||
#include <touchgfx/widgets/TextArea.hpp>
|
||||
#include <touchgfx/widgets/TextAreaWithWildcard.hpp>
|
||||
|
||||
class ErrorPopupBase : public touchgfx::Container
|
||||
{
|
||||
public:
|
||||
ErrorPopupBase();
|
||||
virtual ~ErrorPopupBase();
|
||||
virtual void initialize();
|
||||
|
||||
protected:
|
||||
FrontendApplication& application() {
|
||||
return *static_cast<FrontendApplication*>(touchgfx::Application::getInstance());
|
||||
}
|
||||
|
||||
/*
|
||||
* Member Declarations
|
||||
*/
|
||||
touchgfx::BoxWithBorder bg;
|
||||
touchgfx::TextArea title;
|
||||
touchgfx::TextAreaWithOneWildcard details;
|
||||
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
#endif // ERRORPOPUPBASE_HPP
|
|
@ -1,19 +1,19 @@
|
|||
/*********************************************************************************/
|
||||
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
|
||||
/*********************************************************************************/
|
||||
#ifndef TIRETEMPBASE_HPP
|
||||
#define TIRETEMPBASE_HPP
|
||||
#ifndef TEMPERATUREBASE_HPP
|
||||
#define TEMPERATUREBASE_HPP
|
||||
|
||||
#include <gui/common/FrontendApplication.hpp>
|
||||
#include <touchgfx/containers/Container.hpp>
|
||||
#include <touchgfx/widgets/Box.hpp>
|
||||
#include <touchgfx/widgets/TextAreaWithWildcard.hpp>
|
||||
|
||||
class TireTempBase : public touchgfx::Container
|
||||
class TemperatureBase : public touchgfx::Container
|
||||
{
|
||||
public:
|
||||
TireTempBase();
|
||||
virtual ~TireTempBase();
|
||||
TemperatureBase();
|
||||
virtual ~TemperatureBase();
|
||||
virtual void initialize();
|
||||
|
||||
protected:
|
||||
|
@ -31,4 +31,4 @@ private:
|
|||
|
||||
};
|
||||
|
||||
#endif // TIRETEMPBASE_HPP
|
||||
#endif // TEMPERATUREBASE_HPP
|
|
@ -8,16 +8,17 @@
|
|||
#include <mvp/View.hpp>
|
||||
#include <gui/driverview_screen/DriverViewPresenter.hpp>
|
||||
#include <touchgfx/widgets/Box.hpp>
|
||||
#include <gui/containers/TireTemp.hpp>
|
||||
#include <touchgfx/widgets/TextArea.hpp>
|
||||
#include <gui/containers/Temperature.hpp>
|
||||
#include <touchgfx/widgets/canvas/Line.hpp>
|
||||
#include <touchgfx/widgets/canvas/PainterRGB565.hpp>
|
||||
#include <touchgfx/containers/progress_indicators/LineProgress.hpp>
|
||||
#include <touchgfx/widgets/TextArea.hpp>
|
||||
#include <gui/containers/DriverViewField.hpp>
|
||||
#include <touchgfx/containers/scrollers/ScrollWheel.hpp>
|
||||
#include <gui/containers/DriverViewFieldSelection.hpp>
|
||||
#include <touchgfx/containers/progress_indicators/BoxProgress.hpp>
|
||||
#include <touchgfx/widgets/TextAreaWithWildcard.hpp>
|
||||
#include <gui/containers/ErrorPopup.hpp>
|
||||
|
||||
class DriverViewViewBase : public touchgfx::View<DriverViewPresenter>
|
||||
{
|
||||
|
@ -65,14 +66,24 @@ protected:
|
|||
* Member Declarations
|
||||
*/
|
||||
touchgfx::Box __background;
|
||||
TireTemp tireTempRR;
|
||||
TireTemp tireTempFR;
|
||||
TireTemp tireTempRL;
|
||||
TireTemp tireTempFL;
|
||||
touchgfx::TextArea motorTempLabel;
|
||||
Temperature motorTempL;
|
||||
Temperature motorTempR;
|
||||
touchgfx::Line motorTempDiv;
|
||||
touchgfx::PainterRGB565 motorTempDivPainter;
|
||||
touchgfx::Line invTempDiv;
|
||||
touchgfx::PainterRGB565 invTempDivPainter;
|
||||
Temperature invTempR;
|
||||
Temperature invTempL;
|
||||
touchgfx::TextArea invTempLabel;
|
||||
touchgfx::Line ttDivVert;
|
||||
touchgfx::PainterRGB565 ttDivVertPainter;
|
||||
touchgfx::Line ttDivHoriz;
|
||||
touchgfx::PainterRGB565 ttDivHorizPainter;
|
||||
Temperature tireTempRR;
|
||||
Temperature tireTempFR;
|
||||
Temperature tireTempRL;
|
||||
Temperature tireTempFL;
|
||||
touchgfx::LineProgress tsSoC;
|
||||
touchgfx::PainterRGB565 tsSoCPainter;
|
||||
touchgfx::LineProgress lvSoC;
|
||||
|
@ -87,7 +98,9 @@ protected:
|
|||
touchgfx::DrawableListItems<DriverViewFieldSelection, 10> fieldTypeSelectionListItems;
|
||||
touchgfx::BoxProgress progressBar;
|
||||
touchgfx::TextArea prechargeLabel;
|
||||
touchgfx::TextAreaWithOneWildcard r2dLabel;
|
||||
touchgfx::TextArea r2dLabel;
|
||||
touchgfx::TextAreaWithOneWildcard r2dProgressLabel;
|
||||
ErrorPopup errorPopup;
|
||||
|
||||
private:
|
||||
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
/*********************************************************************************/
|
||||
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
|
||||
/*********************************************************************************/
|
||||
#include <gui_generated/containers/ErrorPopupBase.hpp>
|
||||
#include <touchgfx/Color.hpp>
|
||||
#include <texts/TextKeysAndLanguages.hpp>
|
||||
|
||||
ErrorPopupBase::ErrorPopupBase()
|
||||
{
|
||||
setWidth(450);
|
||||
setHeight(150);
|
||||
bg.setPosition(0, 0, 450, 150);
|
||||
bg.setColor(touchgfx::Color::getColorFromRGB(197, 14, 31));
|
||||
bg.setBorderColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
bg.setBorderSize(5);
|
||||
add(bg);
|
||||
|
||||
title.setPosition(0, 0, 450, 49);
|
||||
title.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
title.setLinespacing(0);
|
||||
title.setTypedText(touchgfx::TypedText(T___SINGLEUSE_1NKF));
|
||||
add(title);
|
||||
|
||||
details.setPosition(15, 60, 420, 75);
|
||||
details.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
details.setLinespacing(0);
|
||||
details.setTypedText(touchgfx::TypedText(T___SINGLEUSE_9L8R));
|
||||
add(details);
|
||||
}
|
||||
|
||||
ErrorPopupBase::~ErrorPopupBase()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void ErrorPopupBase::initialize()
|
||||
{
|
||||
|
||||
}
|
|
@ -1,31 +1,31 @@
|
|||
/*********************************************************************************/
|
||||
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
|
||||
/*********************************************************************************/
|
||||
#include <gui_generated/containers/TireTempBase.hpp>
|
||||
#include <gui_generated/containers/TemperatureBase.hpp>
|
||||
#include <touchgfx/Color.hpp>
|
||||
#include <texts/TextKeysAndLanguages.hpp>
|
||||
|
||||
TireTempBase::TireTempBase()
|
||||
TemperatureBase::TemperatureBase()
|
||||
{
|
||||
setWidth(75);
|
||||
setHeight(75);
|
||||
bg.setPosition(0, 0, 75, 75);
|
||||
setWidth(60);
|
||||
setHeight(60);
|
||||
bg.setPosition(0, 0, 60, 60);
|
||||
bg.setColor(touchgfx::Color::getColorFromRGB(0, 38, 255));
|
||||
add(bg);
|
||||
|
||||
value.setPosition(0, 7, 75, 60);
|
||||
value.setPosition(0, 0, 60, 50);
|
||||
value.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
value.setLinespacing(0);
|
||||
value.setTypedText(touchgfx::TypedText(T___SINGLEUSE_20H3));
|
||||
add(value);
|
||||
}
|
||||
|
||||
TireTempBase::~TireTempBase()
|
||||
TemperatureBase::~TemperatureBase()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void TireTempBase::initialize()
|
||||
void TemperatureBase::initialize()
|
||||
{
|
||||
|
||||
}
|
|
@ -4,8 +4,8 @@
|
|||
#include <gui_generated/driverview_screen/DriverViewViewBase.hpp>
|
||||
#include <touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp>
|
||||
#include <touchgfx/Color.hpp>
|
||||
#include <images/BitmapDatabase.hpp>
|
||||
#include <texts/TextKeysAndLanguages.hpp>
|
||||
#include <images/BitmapDatabase.hpp>
|
||||
|
||||
DriverViewViewBase::DriverViewViewBase() :
|
||||
updateItemCallback(this, &DriverViewViewBase::updateItemCallbackHandler)
|
||||
|
@ -16,19 +16,49 @@ DriverViewViewBase::DriverViewViewBase() :
|
|||
__background.setColor(touchgfx::Color::getColorFromRGB(0, 0, 0));
|
||||
add(__background);
|
||||
|
||||
tireTempRR.setXY(240, 197);
|
||||
add(tireTempRR);
|
||||
motorTempLabel.setPosition(315, 187, 150, 25);
|
||||
motorTempLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
motorTempLabel.setLinespacing(0);
|
||||
motorTempLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_JN2J));
|
||||
add(motorTempLabel);
|
||||
|
||||
tireTempFR.setXY(240, 122);
|
||||
add(tireTempFR);
|
||||
motorTempL.setXY(329, 212);
|
||||
add(motorTempL);
|
||||
|
||||
tireTempRL.setXY(165, 197);
|
||||
add(tireTempRL);
|
||||
motorTempR.setXY(392, 212);
|
||||
add(motorTempR);
|
||||
|
||||
tireTempFL.setXY(165, 122);
|
||||
add(tireTempFL);
|
||||
motorTempDiv.setPosition(389, 212, 3, 60);
|
||||
motorTempDivPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
motorTempDiv.setPainter(motorTempDivPainter);
|
||||
motorTempDiv.setStart(0, 0);
|
||||
motorTempDiv.setEnd(0, 320);
|
||||
motorTempDiv.setLineWidth(10);
|
||||
motorTempDiv.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
|
||||
add(motorTempDiv);
|
||||
|
||||
ttDivVert.setPosition(239, 122, 3, 150);
|
||||
invTempDiv.setPosition(389, 122, 3, 60);
|
||||
invTempDivPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
invTempDiv.setPainter(invTempDivPainter);
|
||||
invTempDiv.setStart(0, 0);
|
||||
invTempDiv.setEnd(0, 320);
|
||||
invTempDiv.setLineWidth(10);
|
||||
invTempDiv.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
|
||||
add(invTempDiv);
|
||||
|
||||
invTempR.setXY(392, 122);
|
||||
add(invTempR);
|
||||
|
||||
invTempL.setXY(329, 122);
|
||||
add(invTempL);
|
||||
|
||||
invTempLabel.setPosition(315, 97, 150, 25);
|
||||
invTempLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
invTempLabel.setLinespacing(0);
|
||||
invTempLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_ZP7N));
|
||||
add(invTempLabel);
|
||||
|
||||
ttDivVert.setPosition(239, 122, 3, 123);
|
||||
ttDivVertPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
ttDivVert.setPainter(ttDivVertPainter);
|
||||
ttDivVert.setStart(0, 0);
|
||||
|
@ -37,7 +67,7 @@ DriverViewViewBase::DriverViewViewBase() :
|
|||
ttDivVert.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
|
||||
add(ttDivVert);
|
||||
|
||||
ttDivHoriz.setPosition(165, 196, 150, 3);
|
||||
ttDivHoriz.setPosition(179, 182, 123, 3);
|
||||
ttDivHorizPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
ttDivHoriz.setPainter(ttDivHorizPainter);
|
||||
ttDivHoriz.setStart(0, 0);
|
||||
|
@ -46,6 +76,18 @@ DriverViewViewBase::DriverViewViewBase() :
|
|||
ttDivHoriz.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
|
||||
add(ttDivHoriz);
|
||||
|
||||
tireTempRR.setXY(242, 185);
|
||||
add(tireTempRR);
|
||||
|
||||
tireTempFR.setXY(242, 122);
|
||||
add(tireTempFR);
|
||||
|
||||
tireTempRL.setXY(179, 185);
|
||||
add(tireTempRL);
|
||||
|
||||
tireTempFL.setXY(179, 122);
|
||||
add(tireTempFL);
|
||||
|
||||
tsSoC.setXY(15, 122);
|
||||
tsSoC.setProgressIndicatorPosition(0, 0, 40, 150);
|
||||
tsSoC.setRange(0, 100);
|
||||
|
@ -59,7 +101,7 @@ DriverViewViewBase::DriverViewViewBase() :
|
|||
tsSoC.setValue(60);
|
||||
add(tsSoC);
|
||||
|
||||
lvSoC.setXY(425, 122);
|
||||
lvSoC.setXY(110, 122);
|
||||
lvSoC.setProgressIndicatorPosition(0, 0, 40, 150);
|
||||
lvSoC.setRange(0, 100);
|
||||
lvSoC.setBackground(touchgfx::Bitmap(BITMAP_BAT_BAR_BG_ID));
|
||||
|
@ -84,7 +126,7 @@ DriverViewViewBase::DriverViewViewBase() :
|
|||
tsSoCLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_PHFD));
|
||||
add(tsSoCLabel);
|
||||
|
||||
lvSoCLabel.setPosition(425, 97, 40, 25);
|
||||
lvSoCLabel.setPosition(110, 97, 40, 25);
|
||||
lvSoCLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
lvSoCLabel.setLinespacing(0);
|
||||
lvSoCLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_4OBM));
|
||||
|
@ -130,12 +172,23 @@ DriverViewViewBase::DriverViewViewBase() :
|
|||
prechargeLabel.setVisible(false);
|
||||
add(prechargeLabel);
|
||||
|
||||
r2dLabel.setPosition(139, 275, 202, 37);
|
||||
r2dLabel.setPosition(82, 275, 317, 37);
|
||||
r2dLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
r2dLabel.setLinespacing(0);
|
||||
r2dLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_NGUK));
|
||||
r2dLabel.setVisible(false);
|
||||
add(r2dLabel);
|
||||
|
||||
r2dProgressLabel.setPosition(180, 275, 219, 37);
|
||||
r2dProgressLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
|
||||
r2dProgressLabel.setLinespacing(0);
|
||||
r2dProgressLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_J5UH));
|
||||
r2dProgressLabel.setVisible(false);
|
||||
add(r2dProgressLabel);
|
||||
|
||||
errorPopup.setXY(15, 122);
|
||||
errorPopup.setVisible(false);
|
||||
add(errorPopup);
|
||||
}
|
||||
|
||||
DriverViewViewBase::~DriverViewViewBase()
|
||||
|
@ -145,6 +198,10 @@ DriverViewViewBase::~DriverViewViewBase()
|
|||
|
||||
void DriverViewViewBase::setupScreen()
|
||||
{
|
||||
motorTempL.initialize();
|
||||
motorTempR.initialize();
|
||||
invTempR.initialize();
|
||||
invTempL.initialize();
|
||||
tireTempRR.initialize();
|
||||
tireTempFR.initialize();
|
||||
tireTempRL.initialize();
|
||||
|
@ -157,6 +214,7 @@ void DriverViewViewBase::setupScreen()
|
|||
{
|
||||
fieldTypeSelectionListItems[i].initialize();
|
||||
}
|
||||
errorPopup.initialize();
|
||||
}
|
||||
|
||||
void DriverViewViewBase::handleKeyEvent(uint8_t key)
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"remap":"yes","language":"GB","language_index":0,"indices":[["167","T_DEBUGVIEWFIELD_TITLE"],["167","T_DRIVERVIEWFIELD_TITLE"],["277","T_FIELD_BBAL"],["240","T_FIELD_TSVOLTVEH"],["233","T_FIELD_TSVOLTBAT"],["253","T_FIELD_LVSOC"],["271","T_FIELD_TSSOC"],["287","T_FIELD_MAXCELLTEMP"],["292","T_FIELD_TIREFL"],["297","T_FIELD_TIREFR"],["302","T_FIELD_TIRERL"],["307","T_FIELD_TIRERR"],["282","T_FIELD_LAPCOUNT"],["177","T_FIELD_INICHKSTATE"],["247","T_FIELD_ERR"],["321","T_FIELD_SDC"],["193","T_FIELD_INVRREADY"],["185","T_FIELD_INVLREADY"],["209","T_FIELD_R2DPROGRESS"],["201","T_FIELD_ACTIVEMISSION"],["169","T_FIELD_ASSTATE"],["225","T_FIELD_TSSTATE"],["167","T_NUMBERWILDCARD"],["167","T_DEFAULTWILDCARD_CENTERED"],["167","T_DEFAULTWILDCARD_RIGHTALIGNED"],["317","T_FIELD_TSCURRENT"],["312","T_FIELD_MINCELLVOLT"],["259","T_FIELD_SPEED"],["105","T_INSPECTION_HUGE"],["158","T_EBS_HUGE"],["127","T_TRACKDRIVE_HUGE"],["138","T_AUTOX_HUGE"],["217","T_SKIDPAD_HUGE"],["92","T_ACCEL_HUGE"],["34","T_INVALID_HUGE"],["77","T_MANUAL"],["105","T_INSPECTION"],["158","T_EBS"],["127","T_TRACKDRIVE"],["138","T_AUTOX"],["217","T_SKIDPAD"],["92","T_ACCEL"],["67","T___SINGLEUSE_NGUK"],["167","T___SINGLEUSE_4E84"],["167","T___SINGLEUSE_YTAB"],["116","T___SINGLEUSE_RWCE"],["148","T___SINGLEUSE_HMH2"],["325","T___SINGLEUSE_4OBM"],["318","T___SINGLEUSE_PHFD"],["265","T___SINGLEUSE_H6UX"],["167","T___SINGLEUSE_20H3"],["17","T___SINGLEUSE_SDGP"],["51","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]}
|
||||
{"remap":"yes","language":"GB","language_index":0,"indices":[["128","T_ERROR_AMS"],["176","T_DEBUGVIEWFIELD_TITLE"],["176","T_DRIVERVIEWFIELD_TITLE"],["292","T_FIELD_BBAL"],["249","T_FIELD_TSVOLTVEH"],["242","T_FIELD_TSVOLTBAT"],["262","T_FIELD_LVSOC"],["286","T_FIELD_TSSOC"],["302","T_FIELD_MAXCELLTEMP"],["307","T_FIELD_TIREFL"],["312","T_FIELD_TIREFR"],["317","T_FIELD_TIRERL"],["322","T_FIELD_TIRERR"],["297","T_FIELD_LAPCOUNT"],["186","T_FIELD_INICHKSTATE"],["256","T_FIELD_ERR"],["340","T_FIELD_SDC"],["202","T_FIELD_INVRREADY"],["194","T_FIELD_INVLREADY"],["218","T_FIELD_R2DPROGRESS"],["210","T_FIELD_ACTIVEMISSION"],["178","T_FIELD_ASSTATE"],["234","T_FIELD_TSSTATE"],["176","T_NUMBERWILDCARD"],["176","T_DEFAULTWILDCARD_CENTERED"],["176","T_DEFAULTWILDCARD_RIGHTALIGNED"],["332","T_FIELD_TSCURRENT"],["327","T_FIELD_MINCELLVOLT"],["274","T_FIELD_SPEED"],["95","T_INSPECTION_HUGE"],["158","T_EBS_HUGE"],["117","T_TRACKDRIVE_HUGE"],["138","T_AUTOX_HUGE"],["226","T_SKIDPAD_HUGE"],["82","T_ACCEL_HUGE"],["34","T_INVALID_HUGE"],["67","T_MANUAL"],["95","T_INSPECTION"],["158","T_EBS"],["117","T_TRACKDRIVE"],["138","T_AUTOX"],["226","T_SKIDPAD"],["82","T_ACCEL"],["268","T___SINGLEUSE_JN2J"],["167","T___SINGLEUSE_ZP7N"],["176","T___SINGLEUSE_9L8R"],["16","T___SINGLEUSE_1NKF"],["176","T___SINGLEUSE_J5UH"],["336","T___SINGLEUSE_NGUK"],["176","T___SINGLEUSE_4E84"],["176","T___SINGLEUSE_YTAB"],["106","T___SINGLEUSE_RWCE"],["148","T___SINGLEUSE_HMH2"],["344","T___SINGLEUSE_4OBM"],["333","T___SINGLEUSE_PHFD"],["280","T___SINGLEUSE_H6UX"],["176","T___SINGLEUSE_20H3"],["17","T___SINGLEUSE_SDGP"],["51","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]}
|
|
@ -1 +1 @@
|
|||
{"languages":["GB"],"textids":["T_DEBUGVIEWFIELD_TITLE","T_DRIVERVIEWFIELD_TITLE","T_FIELD_BBAL","T_FIELD_TSVOLTVEH","T_FIELD_TSVOLTBAT","T_FIELD_LVSOC","T_FIELD_TSSOC","T_FIELD_MAXCELLTEMP","T_FIELD_TIREFL","T_FIELD_TIREFR","T_FIELD_TIRERL","T_FIELD_TIRERR","T_FIELD_LAPCOUNT","T_FIELD_INICHKSTATE","T_FIELD_ERR","T_FIELD_SDC","T_FIELD_INVRREADY","T_FIELD_INVLREADY","T_FIELD_R2DPROGRESS","T_FIELD_ACTIVEMISSION","T_FIELD_ASSTATE","T_FIELD_TSSTATE","T_NUMBERWILDCARD","T_DEFAULTWILDCARD_CENTERED","T_DEFAULTWILDCARD_RIGHTALIGNED","T_FIELD_TSCURRENT","T_FIELD_MINCELLVOLT","T_FIELD_SPEED","T_INSPECTION_HUGE","T_EBS_HUGE","T_TRACKDRIVE_HUGE","T_AUTOX_HUGE","T_SKIDPAD_HUGE","T_ACCEL_HUGE","T_INVALID_HUGE","T_MANUAL","T_INSPECTION","T_EBS","T_TRACKDRIVE","T_AUTOX","T_SKIDPAD","T_ACCEL","T___SINGLEUSE_NGUK","T___SINGLEUSE_4E84","T___SINGLEUSE_YTAB","T___SINGLEUSE_RWCE","T___SINGLEUSE_HMH2","T___SINGLEUSE_4OBM","T___SINGLEUSE_PHFD","T___SINGLEUSE_H6UX","T___SINGLEUSE_20H3","T___SINGLEUSE_SDGP","T___SINGLEUSE_M5X7","T___SINGLEUSE_6GPV"]}
|
||||
{"languages":["GB"],"textids":["T_ERROR_AMS","T_DEBUGVIEWFIELD_TITLE","T_DRIVERVIEWFIELD_TITLE","T_FIELD_BBAL","T_FIELD_TSVOLTVEH","T_FIELD_TSVOLTBAT","T_FIELD_LVSOC","T_FIELD_TSSOC","T_FIELD_MAXCELLTEMP","T_FIELD_TIREFL","T_FIELD_TIREFR","T_FIELD_TIRERL","T_FIELD_TIRERR","T_FIELD_LAPCOUNT","T_FIELD_INICHKSTATE","T_FIELD_ERR","T_FIELD_SDC","T_FIELD_INVRREADY","T_FIELD_INVLREADY","T_FIELD_R2DPROGRESS","T_FIELD_ACTIVEMISSION","T_FIELD_ASSTATE","T_FIELD_TSSTATE","T_NUMBERWILDCARD","T_DEFAULTWILDCARD_CENTERED","T_DEFAULTWILDCARD_RIGHTALIGNED","T_FIELD_TSCURRENT","T_FIELD_MINCELLVOLT","T_FIELD_SPEED","T_INSPECTION_HUGE","T_EBS_HUGE","T_TRACKDRIVE_HUGE","T_AUTOX_HUGE","T_SKIDPAD_HUGE","T_ACCEL_HUGE","T_INVALID_HUGE","T_MANUAL","T_INSPECTION","T_EBS","T_TRACKDRIVE","T_AUTOX","T_SKIDPAD","T_ACCEL","T___SINGLEUSE_JN2J","T___SINGLEUSE_ZP7N","T___SINGLEUSE_9L8R","T___SINGLEUSE_1NKF","T___SINGLEUSE_J5UH","T___SINGLEUSE_NGUK","T___SINGLEUSE_4E84","T___SINGLEUSE_YTAB","T___SINGLEUSE_RWCE","T___SINGLEUSE_HMH2","T___SINGLEUSE_4OBM","T___SINGLEUSE_PHFD","T___SINGLEUSE_H6UX","T___SINGLEUSE_20H3","T___SINGLEUSE_SDGP","T___SINGLEUSE_M5X7","T___SINGLEUSE_6GPV"]}
|
|
@ -1 +1 @@
|
|||
{"remap":"yes","languages":["Gb"],"characters":[67,104,111,111,115,101,32,97,32,109,105,115,115,105,111,110,0,67,117,114,114,101,110,116,32,77,105,115,115,105,111,110,58,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,33,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,0,82,50,68,32,91,2,47,56,93,0,77,97,110,117,97,108,32,68,114,105,118,105,110,103,0,65,99,99,101,108,101,114,97,116,105,111,110,0,73,110,115,112,101,99,116,105,111,110,0,80,65,82,65,77,69,84,69,82,83,0,84,114,97,99,107,100,114,105,118,101,0,65,117,116,111,99,114,111,115,115,0,80,82,69,67,72,65,82,71,69,0,69,66,83,32,84,101,115,116,0,2,0,65,83,83,84,65,84,69,0,73,67,83,84,65,84,69,0,73,78,86,76,82,68,89,0,73,78,86,82,82,68,89,0,77,73,83,83,73,79,78,0,82,50,68,80,82,79,71,0,83,107,105,100,112,97,100,0,84,83,83,84,65,84,69,0,84,83,86,66,65,84,0,84,83,86,86,69,72,0,69,82,82,79,82,0,76,86,83,79,67,0,83,80,69,69,68,0,84,73,82,69,83,0,84,83,83,79,67,0,66,66,65,76,0,76,65,80,83,0,84,77,65,88,0,84,84,70,76,0,84,84,70,82,0,84,84,82,76,0,84,84,82,82,0,86,77,73,78,0,73,84,83,0,83,68,67,0,76,86,0]}
|
||||
{"remap":"yes","languages":["Gb"],"characters":[67,104,111,111,115,101,32,97,32,109,105,115,115,105,111,110,0,67,117,114,114,101,110,116,32,77,105,115,115,105,111,110,58,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,33,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,0,77,97,110,117,97,108,32,68,114,105,118,105,110,103,0,65,99,99,101,108,101,114,97,116,105,111,110,0,73,110,115,112,101,99,116,105,111,110,0,80,65,82,65,77,69,84,69,82,83,0,84,114,97,99,107,100,114,105,118,101,0,65,77,83,32,69,114,114,79,114,0,65,117,116,111,99,114,111,115,115,0,80,82,69,67,72,65,82,71,69,0,69,66,83,32,84,101,115,116,0,73,78,86,69,82,84,69,82,0,2,0,65,83,83,84,65,84,69,0,73,67,83,84,65,84,69,0,73,78,86,76,82,68,89,0,73,78,86,82,82,68,89,0,77,73,83,83,73,79,78,0,82,50,68,80,82,79,71,0,83,107,105,100,112,97,100,0,84,83,83,84,65,84,69,0,84,83,86,66,65,84,0,84,83,86,86,69,72,0,69,82,82,79,82,0,76,86,83,79,67,0,77,79,84,79,82,0,83,80,69,69,68,0,84,73,82,69,83,0,84,83,83,79,67,0,66,66,65,76,0,76,65,80,83,0,84,77,65,88,0,84,84,70,76,0,84,84,70,82,0,84,84,82,76,0,84,84,82,82,0,86,77,73,78,0,73,84,83,0,82,50,68,0,83,68,67,0,76,86,0]}
|
|
@ -1 +1 @@
|
|||
{"databases":{"DEFAULT":[[5,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[0,"CENTER","LTR"],[0,"RIGHT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[1,"LEFT","LTR"],[4,"RIGHT","LTR"],[1,"LEFT","LTR"],[1,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[1,"LEFT","LTR"]]},"database_list":["DEFAULT"],"fonts":{"getFont_verdana_20_4bpp":0,"getFont_CHINN____30_4bpp":1,"getFont_CHINN____20_4bpp":2,"getFont_CHINN____40_4bpp":3,"getFont_lucon_TTF_50_4bpp":4,"getFont_verdanab_20_4bpp":5},"generate_font_format":"0"}
|
||||
{"databases":{"DEFAULT":[[3,"CENTER","LTR"],[5,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[0,"CENTER","LTR"],[0,"RIGHT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[0,"LEFT","LTR"],[3,"CENTER","LTR"],[1,"RIGHT","LTR"],[1,"LEFT","LTR"],[4,"RIGHT","LTR"],[1,"LEFT","LTR"],[1,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[1,"LEFT","LTR"]]},"database_list":["DEFAULT"],"fonts":{"getFont_verdana_20_4bpp":0,"getFont_CHINN____30_4bpp":1,"getFont_CHINN____20_4bpp":2,"getFont_CHINN____40_4bpp":3,"getFont_lucon_TTF_50_4bpp":4,"getFont_verdanab_20_4bpp":5},"generate_font_format":"0"}
|
|
@ -12,6 +12,7 @@ enum LANGUAGES
|
|||
|
||||
enum TEXTS
|
||||
{
|
||||
T_ERROR_AMS,
|
||||
T_DEBUGVIEWFIELD_TITLE,
|
||||
T_DRIVERVIEWFIELD_TITLE,
|
||||
T_FIELD_BBAL,
|
||||
|
@ -54,6 +55,11 @@ enum TEXTS
|
|||
T_AUTOX,
|
||||
T_SKIDPAD,
|
||||
T_ACCEL,
|
||||
T___SINGLEUSE_JN2J,
|
||||
T___SINGLEUSE_ZP7N,
|
||||
T___SINGLEUSE_9L8R,
|
||||
T___SINGLEUSE_1NKF,
|
||||
T___SINGLEUSE_J5UH,
|
||||
T___SINGLEUSE_NGUK,
|
||||
T___SINGLEUSE_4E84,
|
||||
T___SINGLEUSE_YTAB,
|
||||
|
|
|
@ -10,57 +10,63 @@ 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 = {
|
||||
167, // T_DEBUGVIEWFIELD_TITLE: "<>"
|
||||
167, // T_DRIVERVIEWFIELD_TITLE: "<>"
|
||||
277, // T_FIELD_BBAL: "BBAL"
|
||||
240, // T_FIELD_TSVOLTVEH: "TSVVEH"
|
||||
233, // T_FIELD_TSVOLTBAT: "TSVBAT"
|
||||
253, // T_FIELD_LVSOC: "LVSOC"
|
||||
271, // T_FIELD_TSSOC: "TSSOC"
|
||||
287, // T_FIELD_MAXCELLTEMP: "TMAX"
|
||||
292, // T_FIELD_TIREFL: "TTFL"
|
||||
297, // T_FIELD_TIREFR: "TTFR"
|
||||
302, // T_FIELD_TIRERL: "TTRL"
|
||||
307, // T_FIELD_TIRERR: "TTRR"
|
||||
282, // T_FIELD_LAPCOUNT: "LAPS"
|
||||
177, // T_FIELD_INICHKSTATE: "ICSTATE"
|
||||
247, // T_FIELD_ERR: "ERROR"
|
||||
321, // T_FIELD_SDC: "SDC"
|
||||
193, // T_FIELD_INVRREADY: "INVRRDY"
|
||||
185, // T_FIELD_INVLREADY: "INVLRDY"
|
||||
209, // T_FIELD_R2DPROGRESS: "R2DPROG"
|
||||
201, // T_FIELD_ACTIVEMISSION: "MISSION"
|
||||
169, // T_FIELD_ASSTATE: "ASSTATE"
|
||||
225, // T_FIELD_TSSTATE: "TSSTATE"
|
||||
167, // T_NUMBERWILDCARD: "<>"
|
||||
167, // T_DEFAULTWILDCARD_CENTERED: "<>"
|
||||
167, // T_DEFAULTWILDCARD_RIGHTALIGNED: "<>"
|
||||
317, // T_FIELD_TSCURRENT: "ITS"
|
||||
312, // T_FIELD_MINCELLVOLT: "VMIN"
|
||||
259, // T_FIELD_SPEED: "SPEED"
|
||||
105, // T_INSPECTION_HUGE: "Inspection"
|
||||
128, // T_ERROR_AMS: "AMS ErrOr"
|
||||
176, // T_DEBUGVIEWFIELD_TITLE: "<>"
|
||||
176, // T_DRIVERVIEWFIELD_TITLE: "<>"
|
||||
292, // T_FIELD_BBAL: "BBAL"
|
||||
249, // T_FIELD_TSVOLTVEH: "TSVVEH"
|
||||
242, // T_FIELD_TSVOLTBAT: "TSVBAT"
|
||||
262, // T_FIELD_LVSOC: "LVSOC"
|
||||
286, // T_FIELD_TSSOC: "TSSOC"
|
||||
302, // T_FIELD_MAXCELLTEMP: "TMAX"
|
||||
307, // T_FIELD_TIREFL: "TTFL"
|
||||
312, // T_FIELD_TIREFR: "TTFR"
|
||||
317, // T_FIELD_TIRERL: "TTRL"
|
||||
322, // T_FIELD_TIRERR: "TTRR"
|
||||
297, // T_FIELD_LAPCOUNT: "LAPS"
|
||||
186, // T_FIELD_INICHKSTATE: "ICSTATE"
|
||||
256, // T_FIELD_ERR: "ERROR"
|
||||
340, // T_FIELD_SDC: "SDC"
|
||||
202, // T_FIELD_INVRREADY: "INVRRDY"
|
||||
194, // T_FIELD_INVLREADY: "INVLRDY"
|
||||
218, // T_FIELD_R2DPROGRESS: "R2DPROG"
|
||||
210, // T_FIELD_ACTIVEMISSION: "MISSION"
|
||||
178, // T_FIELD_ASSTATE: "ASSTATE"
|
||||
234, // T_FIELD_TSSTATE: "TSSTATE"
|
||||
176, // T_NUMBERWILDCARD: "<>"
|
||||
176, // T_DEFAULTWILDCARD_CENTERED: "<>"
|
||||
176, // T_DEFAULTWILDCARD_RIGHTALIGNED: "<>"
|
||||
332, // T_FIELD_TSCURRENT: "ITS"
|
||||
327, // T_FIELD_MINCELLVOLT: "VMIN"
|
||||
274, // T_FIELD_SPEED: "SPEED"
|
||||
95, // T_INSPECTION_HUGE: "Inspection"
|
||||
158, // T_EBS_HUGE: "EBS Test"
|
||||
127, // T_TRACKDRIVE_HUGE: "Trackdrive"
|
||||
117, // T_TRACKDRIVE_HUGE: "Trackdrive"
|
||||
138, // T_AUTOX_HUGE: "Autocross"
|
||||
217, // T_SKIDPAD_HUGE: "Skidpad"
|
||||
92, // T_ACCEL_HUGE: "Acceleration"
|
||||
226, // T_SKIDPAD_HUGE: "Skidpad"
|
||||
82, // T_ACCEL_HUGE: "Acceleration"
|
||||
34, // T_INVALID_HUGE: "Invalid Mission!"
|
||||
77, // T_MANUAL: "Manual Driving"
|
||||
105, // T_INSPECTION: "Inspection"
|
||||
67, // T_MANUAL: "Manual Driving"
|
||||
95, // T_INSPECTION: "Inspection"
|
||||
158, // T_EBS: "EBS Test"
|
||||
127, // T_TRACKDRIVE: "Trackdrive"
|
||||
117, // T_TRACKDRIVE: "Trackdrive"
|
||||
138, // T_AUTOX: "Autocross"
|
||||
217, // T_SKIDPAD: "Skidpad"
|
||||
92, // T_ACCEL: "Acceleration"
|
||||
67, // T___SINGLEUSE_NGUK: "R2D [<>/8]"
|
||||
167, // T___SINGLEUSE_4E84: "<>"
|
||||
167, // T___SINGLEUSE_YTAB: "<>"
|
||||
116, // T___SINGLEUSE_RWCE: "PARAMETERS"
|
||||
226, // T_SKIDPAD: "Skidpad"
|
||||
82, // T_ACCEL: "Acceleration"
|
||||
268, // T___SINGLEUSE_JN2J: "MOTOR"
|
||||
167, // T___SINGLEUSE_ZP7N: "INVERTER"
|
||||
176, // T___SINGLEUSE_9L8R: "<>"
|
||||
16, // T___SINGLEUSE_1NKF: ""
|
||||
176, // T___SINGLEUSE_J5UH: "<>"
|
||||
336, // T___SINGLEUSE_NGUK: "R2D"
|
||||
176, // T___SINGLEUSE_4E84: "<>"
|
||||
176, // T___SINGLEUSE_YTAB: "<>"
|
||||
106, // T___SINGLEUSE_RWCE: "PARAMETERS"
|
||||
148, // T___SINGLEUSE_HMH2: "PRECHARGE"
|
||||
325, // T___SINGLEUSE_4OBM: "LV"
|
||||
318, // T___SINGLEUSE_PHFD: "TS"
|
||||
265, // T___SINGLEUSE_H6UX: "TIRES"
|
||||
167, // T___SINGLEUSE_20H3: "<>"
|
||||
344, // T___SINGLEUSE_4OBM: "LV"
|
||||
333, // T___SINGLEUSE_PHFD: "TS"
|
||||
280, // T___SINGLEUSE_H6UX: "TIRES"
|
||||
176, // T___SINGLEUSE_20H3: "<>"
|
||||
17, // T___SINGLEUSE_SDGP: "Current Mission:"
|
||||
51, // T___SINGLEUSE_M5X7: "Invalid Mission"
|
||||
0 // T___SINGLEUSE_6GPV: "Choose a mission"
|
||||
|
|
|
@ -64,42 +64,45 @@ KEEP extern const touchgfx::Unicode::UnicodeChar texts_all_languages[] TEXT_LOCA
|
|||
0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x0, // @17 "Current Mission:"
|
||||
0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x21, 0x0, // @34 "Invalid Mission!"
|
||||
0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0, // @51 "Invalid Mission"
|
||||
0x52, 0x32, 0x44, 0x20, 0x5b, 0x2, 0x2f, 0x38, 0x5d, 0x0, // @67 "R2D [<>/8]"
|
||||
0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x20, 0x44, 0x72, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x0, // @77 "Manual Driving"
|
||||
0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0, // @92 "Acceleration"
|
||||
0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0, // @105 "Inspection"
|
||||
0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x0, // @116 "PARAMETERS"
|
||||
0x54, 0x72, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x0, // @127 "Trackdrive"
|
||||
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"
|
||||
0x45, 0x42, 0x53, 0x20, 0x54, 0x65, 0x73, 0x74, 0x0, // @158 "EBS Test"
|
||||
0x2, 0x0, // @167 "<>"
|
||||
0x41, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @169 "ASSTATE"
|
||||
0x49, 0x43, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @177 "ICSTATE"
|
||||
0x49, 0x4e, 0x56, 0x4c, 0x52, 0x44, 0x59, 0x0, // @185 "INVLRDY"
|
||||
0x49, 0x4e, 0x56, 0x52, 0x52, 0x44, 0x59, 0x0, // @193 "INVRRDY"
|
||||
0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x0, // @201 "MISSION"
|
||||
0x52, 0x32, 0x44, 0x50, 0x52, 0x4f, 0x47, 0x0, // @209 "R2DPROG"
|
||||
0x53, 0x6b, 0x69, 0x64, 0x70, 0x61, 0x64, 0x0, // @217 "Skidpad"
|
||||
0x54, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @225 "TSSTATE"
|
||||
0x54, 0x53, 0x56, 0x42, 0x41, 0x54, 0x0, // @233 "TSVBAT"
|
||||
0x54, 0x53, 0x56, 0x56, 0x45, 0x48, 0x0, // @240 "TSVVEH"
|
||||
0x45, 0x52, 0x52, 0x4f, 0x52, 0x0, // @247 "ERROR"
|
||||
0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @253 "LVSOC"
|
||||
0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @259 "SPEED"
|
||||
0x54, 0x49, 0x52, 0x45, 0x53, 0x0, // @265 "TIRES"
|
||||
0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @271 "TSSOC"
|
||||
0x42, 0x42, 0x41, 0x4c, 0x0, // @277 "BBAL"
|
||||
0x4c, 0x41, 0x50, 0x53, 0x0, // @282 "LAPS"
|
||||
0x54, 0x4d, 0x41, 0x58, 0x0, // @287 "TMAX"
|
||||
0x54, 0x54, 0x46, 0x4c, 0x0, // @292 "TTFL"
|
||||
0x54, 0x54, 0x46, 0x52, 0x0, // @297 "TTFR"
|
||||
0x54, 0x54, 0x52, 0x4c, 0x0, // @302 "TTRL"
|
||||
0x54, 0x54, 0x52, 0x52, 0x0, // @307 "TTRR"
|
||||
0x56, 0x4d, 0x49, 0x4e, 0x0, // @312 "VMIN"
|
||||
0x49, 0x54, 0x53, 0x0, // @317 "ITS"
|
||||
0x53, 0x44, 0x43, 0x0, // @321 "SDC"
|
||||
0x4c, 0x56, 0x0 // @325 "LV"
|
||||
0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x52, 0x0, // @167 "INVERTER"
|
||||
0x2, 0x0, // @176 "<>"
|
||||
0x41, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @178 "ASSTATE"
|
||||
0x49, 0x43, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @186 "ICSTATE"
|
||||
0x49, 0x4e, 0x56, 0x4c, 0x52, 0x44, 0x59, 0x0, // @194 "INVLRDY"
|
||||
0x49, 0x4e, 0x56, 0x52, 0x52, 0x44, 0x59, 0x0, // @202 "INVRRDY"
|
||||
0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x0, // @210 "MISSION"
|
||||
0x52, 0x32, 0x44, 0x50, 0x52, 0x4f, 0x47, 0x0, // @218 "R2DPROG"
|
||||
0x53, 0x6b, 0x69, 0x64, 0x70, 0x61, 0x64, 0x0, // @226 "Skidpad"
|
||||
0x54, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @234 "TSSTATE"
|
||||
0x54, 0x53, 0x56, 0x42, 0x41, 0x54, 0x0, // @242 "TSVBAT"
|
||||
0x54, 0x53, 0x56, 0x56, 0x45, 0x48, 0x0, // @249 "TSVVEH"
|
||||
0x45, 0x52, 0x52, 0x4f, 0x52, 0x0, // @256 "ERROR"
|
||||
0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @262 "LVSOC"
|
||||
0x4d, 0x4f, 0x54, 0x4f, 0x52, 0x0, // @268 "MOTOR"
|
||||
0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @274 "SPEED"
|
||||
0x54, 0x49, 0x52, 0x45, 0x53, 0x0, // @280 "TIRES"
|
||||
0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @286 "TSSOC"
|
||||
0x42, 0x42, 0x41, 0x4c, 0x0, // @292 "BBAL"
|
||||
0x4c, 0x41, 0x50, 0x53, 0x0, // @297 "LAPS"
|
||||
0x54, 0x4d, 0x41, 0x58, 0x0, // @302 "TMAX"
|
||||
0x54, 0x54, 0x46, 0x4c, 0x0, // @307 "TTFL"
|
||||
0x54, 0x54, 0x46, 0x52, 0x0, // @312 "TTFR"
|
||||
0x54, 0x54, 0x52, 0x4c, 0x0, // @317 "TTRL"
|
||||
0x54, 0x54, 0x52, 0x52, 0x0, // @322 "TTRR"
|
||||
0x56, 0x4d, 0x49, 0x4e, 0x0, // @327 "VMIN"
|
||||
0x49, 0x54, 0x53, 0x0, // @332 "ITS"
|
||||
0x52, 0x32, 0x44, 0x0, // @336 "R2D"
|
||||
0x53, 0x44, 0x43, 0x0, // @340 "SDC"
|
||||
0x4c, 0x56, 0x0 // @344 "LV"
|
||||
};
|
||||
|
||||
TEXT_LOCATION_FLASH_PRAGMA
|
||||
|
|
|
@ -26,6 +26,7 @@ extern const touchgfx::TypedText::TypedTextData* const typedTextDatabaseArray[];
|
|||
|
||||
TEXT_LOCATION_FLASH_PRAGMA
|
||||
const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
|
||||
{ 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||
{ 5, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||
|
@ -68,6 +69,11 @@ 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 },
|
||||
{ 0, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||
{ 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
|
||||
{ 1, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR },
|
||||
{ 1, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||
{ 4, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR },
|
||||
{ 1, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
|
||||
|
|
|
@ -66,4 +66,6 @@ private:
|
|||
void updateValueBuffer();
|
||||
};
|
||||
|
||||
void *get_r2dprog_text();
|
||||
|
||||
#endif // NAMEDFIELD_HPP
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
#ifndef ERRORPOPUP_HPP
|
||||
#define ERRORPOPUP_HPP
|
||||
|
||||
#include "touchgfx/Unicode.hpp"
|
||||
#include <gui_generated/containers/ErrorPopupBase.hpp>
|
||||
|
||||
class ErrorPopup : public ErrorPopupBase {
|
||||
public:
|
||||
ErrorPopup();
|
||||
virtual ~ErrorPopup() {}
|
||||
|
||||
virtual void initialize();
|
||||
|
||||
void showAMSError();
|
||||
|
||||
protected:
|
||||
touchgfx::Unicode::UnicodeChar detailsBuffer[128];
|
||||
};
|
||||
|
||||
#endif // ERRORPOPUP_HPP
|
|
@ -0,0 +1,31 @@
|
|||
#ifndef TEMPERATURE_HPP
|
||||
#define TEMPERATURE_HPP
|
||||
|
||||
#include <gui_generated/containers/TemperatureBase.hpp>
|
||||
|
||||
class Temperature : public TemperatureBase {
|
||||
public:
|
||||
Temperature();
|
||||
virtual ~Temperature() {}
|
||||
|
||||
virtual void initialize();
|
||||
|
||||
virtual void setTemp(int temp_in_celsius);
|
||||
|
||||
/**
|
||||
* @brief Set the temperature thresholds for the color coding.
|
||||
*
|
||||
* @param thresholds Array of 4 integers
|
||||
*/
|
||||
void setTempThresholds(int *thresholds);
|
||||
|
||||
protected:
|
||||
private:
|
||||
int temp;
|
||||
int tempThresholds[4];
|
||||
Unicode::UnicodeChar valueBuffer[3];
|
||||
|
||||
void updateValueBuffer();
|
||||
};
|
||||
|
||||
#endif // TEMPERATURE_HPP
|
|
@ -1,24 +0,0 @@
|
|||
#ifndef TIRETEMP_HPP
|
||||
#define TIRETEMP_HPP
|
||||
|
||||
#include <gui_generated/containers/TireTempBase.hpp>
|
||||
#include <sys/_stdint.h>
|
||||
|
||||
class TireTemp : public TireTempBase {
|
||||
public:
|
||||
TireTemp();
|
||||
virtual ~TireTemp() {}
|
||||
|
||||
virtual void initialize();
|
||||
|
||||
virtual void setTemp(int temp_in_celsius);
|
||||
|
||||
protected:
|
||||
private:
|
||||
int temp;
|
||||
Unicode::UnicodeChar valueBuffer[3];
|
||||
|
||||
void updateValueBuffer();
|
||||
};
|
||||
|
||||
#endif // TIRETEMP_HPP
|
|
@ -37,6 +37,9 @@ public:
|
|||
private:
|
||||
DriverViewPresenter();
|
||||
|
||||
void updateProgress();
|
||||
void updateErrorPopup();
|
||||
|
||||
DriverViewView &view;
|
||||
|
||||
DataFieldType fields[3];
|
||||
|
|
|
@ -24,10 +24,13 @@ public:
|
|||
void setFieldType(size_t i, DataFieldType type);
|
||||
void updateFieldValues();
|
||||
|
||||
void setTireTemps(const TireTemps &temps);
|
||||
void setTemps(const Temperatures &temps);
|
||||
void setTSSoC(uint8_t soc);
|
||||
void setProgress(bool active, DriverViewProgressType type, float progress);
|
||||
|
||||
void showAMSError();
|
||||
void clearErrorPopup();
|
||||
|
||||
void selectPrevField() override;
|
||||
void selectNextField() override;
|
||||
void selectPrevFieldType() override;
|
||||
|
|
|
@ -249,13 +249,13 @@ NamedFieldDescription dataFieldDescs[] = {
|
|||
[DF_IniChkState] = {NamedFieldKind::Text, "ICSTATE", 1, 0, get_inichk_text},
|
||||
[DF_LapCount] = {NamedFieldKind::Int, "LAPS", 3, 0, VEH_FIELD(lap_count)},
|
||||
[DF_TireTempFL] = {NamedFieldKind::Float, "TTFL", 2, 1,
|
||||
VEH_FIELD(tire_temps.fl)},
|
||||
VEH_FIELD(temps.tire_fl)},
|
||||
[DF_TireTempFR] = {NamedFieldKind::Float, "TTFR", 2, 1,
|
||||
VEH_FIELD(tire_temps.fr)},
|
||||
VEH_FIELD(temps.tire_fr)},
|
||||
[DF_TireTempRL] = {NamedFieldKind::Float, "TTRL", 2, 1,
|
||||
VEH_FIELD(tire_temps.rl)},
|
||||
VEH_FIELD(temps.tire_rl)},
|
||||
[DF_TireTempRR] = {NamedFieldKind::Float, "TTRR", 2, 1,
|
||||
VEH_FIELD(tire_temps.rr)},
|
||||
VEH_FIELD(temps.tire_rr)},
|
||||
[DF_MinCellVolt] = {NamedFieldKind::Float, "VMIN", 1, 2,
|
||||
VEH_FIELD(min_cell_volt)},
|
||||
[DF_MaxCellTemp] = {NamedFieldKind::Float, "TMAX", 2, 1,
|
||||
|
@ -268,7 +268,7 @@ NamedFieldDescription dataFieldDescs[] = {
|
|||
VEH_FIELD(ts_voltage_bat)},
|
||||
[DF_TSVoltageVeh] = {NamedFieldKind::Float, "TSVVEH", 3, 1,
|
||||
VEH_FIELD(ts_voltage_veh)},
|
||||
[DF_Speed] = {NamedFieldKind::Float, "SPEED", 3, 0, get_zero},
|
||||
[DF_Speed] = {NamedFieldKind::Float, "SPEED", 3, 0, VEH_FIELD(speed)},
|
||||
[DF_BBal] = {NamedFieldKind::Float, "BBAL", 3, 1, get_zero},
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
#include <gui/containers/ErrorPopup.hpp>
|
||||
|
||||
#include "texts/TextKeysAndLanguages.hpp"
|
||||
#include "touchgfx/Unicode.hpp"
|
||||
#include "vehicle.h"
|
||||
|
||||
ErrorPopup::ErrorPopup() {}
|
||||
|
||||
void ErrorPopup::initialize() { ErrorPopupBase::initialize(); }
|
||||
|
||||
void ErrorPopup::showAMSError() {
|
||||
title.setTypedText(T_ERROR_AMS);
|
||||
title.invalidate();
|
||||
switch (vehicle_state.last_ams_error.kind) {
|
||||
case AMS_ERROR_NONE:
|
||||
touchgfx::Unicode::strncpy(detailsBuffer, "UNKNOWN ERROR",
|
||||
sizeof(detailsBuffer) / sizeof(*detailsBuffer));
|
||||
break;
|
||||
case AMS_ERROR_SLAVE_TIMEOUT:
|
||||
touchgfx::Unicode::snprintf(
|
||||
detailsBuffer, sizeof(detailsBuffer) / sizeof(*detailsBuffer),
|
||||
"Slave timeout: Slave %d", vehicle_state.last_ams_error.arg);
|
||||
break;
|
||||
case AMS_ERROR_SLAVE_PANIC: {
|
||||
const char *panicKindStr = "UNKNOWN";
|
||||
switch (vehicle_state.last_ams_slave_panic.kind) {
|
||||
case AMS_SLAVEPANIC_OVERTEMP:
|
||||
panicKindStr = "OVERTEMPERATURE";
|
||||
break;
|
||||
case AMS_SLAVEPANIC_UNDERTEMP:
|
||||
panicKindStr = "UNDERTEMPERATURE";
|
||||
break;
|
||||
case AMS_SLAVEPANIC_OVERVOLTAGE:
|
||||
panicKindStr = "OVERVOLTAGE";
|
||||
break;
|
||||
case AMS_SLAVEPANIC_UNDERVOLTAGE:
|
||||
panicKindStr = "UNDERVOLTAGE";
|
||||
break;
|
||||
case AMS_SLAVEPANIC_TOO_FEW_TEMP:
|
||||
panicKindStr = "TOO FEW TEMP SENSORS";
|
||||
break;
|
||||
case AMS_SLAVEPANIC_OPENWIRE:
|
||||
panicKindStr = "OPEN WIRE";
|
||||
break;
|
||||
}
|
||||
touchgfx::Unicode::UnicodeChar panicKindBuf[32];
|
||||
touchgfx::Unicode::strncpy(panicKindBuf, panicKindStr,
|
||||
sizeof(panicKindBuf) / sizeof(*panicKindBuf));
|
||||
touchgfx::Unicode::snprintf(
|
||||
detailsBuffer, sizeof(detailsBuffer) / sizeof(*detailsBuffer),
|
||||
"Slave panic: Slave %d\n[ID: %d, Kind: %s, Arg: %08x]",
|
||||
vehicle_state.last_ams_slave_panic.id, panicKindBuf,
|
||||
vehicle_state.last_ams_slave_panic.arg);
|
||||
break;
|
||||
}
|
||||
case AMS_ERROR_SHUNT_TIMEOUT:
|
||||
touchgfx::Unicode::strncpy(detailsBuffer, "Shunt timeout",
|
||||
sizeof(detailsBuffer) / sizeof(*detailsBuffer));
|
||||
break;
|
||||
case AMS_ERROR_SHUNT_OVERCURRENT:
|
||||
touchgfx::Unicode::strncpy(detailsBuffer, "Shunt overcurrent",
|
||||
sizeof(detailsBuffer) / sizeof(*detailsBuffer));
|
||||
break;
|
||||
case AMS_ERROR_SHUNT_OVERTEMP:
|
||||
touchgfx::Unicode::strncpy(detailsBuffer, "Shunt overtemperature",
|
||||
sizeof(detailsBuffer) / sizeof(*detailsBuffer));
|
||||
break;
|
||||
}
|
||||
details.setWildcard(detailsBuffer);
|
||||
details.invalidate();
|
||||
}
|
|
@ -1,12 +1,17 @@
|
|||
#include <gui/containers/Temperature.hpp>
|
||||
|
||||
#include <cstring>
|
||||
|
||||
#include "touchgfx/Color.hpp"
|
||||
#include "touchgfx/Unicode.hpp"
|
||||
#include <gui/containers/TireTemp.hpp>
|
||||
|
||||
TireTemp::TireTemp() : temp{0} { updateValueBuffer(); }
|
||||
Temperature::Temperature() : temp{0}, tempThresholds{0, 0, 0, 0} {
|
||||
updateValueBuffer();
|
||||
}
|
||||
|
||||
void TireTemp::initialize() { TireTempBase::initialize(); }
|
||||
void Temperature::initialize() { TemperatureBase::initialize(); }
|
||||
|
||||
void TireTemp::setTemp(int temp_in_celsius) {
|
||||
void Temperature::setTemp(int temp_in_celsius) {
|
||||
if (temp_in_celsius < 0) {
|
||||
// No space for displaying negative values
|
||||
temp_in_celsius = 0;
|
||||
|
@ -18,13 +23,13 @@ void TireTemp::setTemp(int temp_in_celsius) {
|
|||
|
||||
temp = temp_in_celsius;
|
||||
updateValueBuffer();
|
||||
if (temp < 35) {
|
||||
if (temp < tempThresholds[0]) {
|
||||
bg.setColor(touchgfx::Color::getColorFromRGB(0x05, 0x76, 0xb7));
|
||||
} else if (temp < 40) {
|
||||
} else if (temp < tempThresholds[1]) {
|
||||
bg.setColor(touchgfx::Color::getColorFromRGB(0x05, 0x76, 0x64));
|
||||
} else if (temp < 50) {
|
||||
} else if (temp < tempThresholds[2]) {
|
||||
bg.setColor(touchgfx::Color::getColorFromRGB(0x05, 0x95, 0x38));
|
||||
} else if (temp < 60) {
|
||||
} else if (temp < tempThresholds[3]) {
|
||||
bg.setColor(touchgfx::Color::getColorFromRGB(0xdd, 0x6e, 0x22));
|
||||
} else {
|
||||
bg.setColor(touchgfx::Color::getColorFromRGB(0xdd, 0x2f, 0x22));
|
||||
|
@ -33,7 +38,11 @@ void TireTemp::setTemp(int temp_in_celsius) {
|
|||
bg.invalidate(); // TODO: Only invalidate if color changed
|
||||
}
|
||||
|
||||
void TireTemp::updateValueBuffer() {
|
||||
void Temperature::setTempThresholds(int *thresholds) {
|
||||
memcpy(tempThresholds, thresholds, sizeof(tempThresholds));
|
||||
}
|
||||
|
||||
void Temperature::updateValueBuffer() {
|
||||
// Unicode::utoa(temp, valueBuffer, 3, 10);
|
||||
Unicode::snprintf(valueBuffer,
|
||||
sizeof(valueBuffer) / sizeof(Unicode::UnicodeChar), "%02d",
|
|
@ -5,7 +5,7 @@
|
|||
#include "vehicle.h"
|
||||
|
||||
DriverViewPresenter::DriverViewPresenter(DriverViewView &v)
|
||||
: view(v), fields{DF_MinCellVolt, DF_Speed, DF_TSCurrent} {}
|
||||
: view(v), fields{DF_MinCellVolt, DF_Speed, DF_MaxCellTemp} {}
|
||||
|
||||
void DriverViewPresenter::activate() {
|
||||
for (size_t i = 0; i < 3; i++) {
|
||||
|
@ -16,22 +16,10 @@ void DriverViewPresenter::activate() {
|
|||
void DriverViewPresenter::deactivate() {}
|
||||
|
||||
void DriverViewPresenter::vehicleStateUpdated() {
|
||||
view.setTireTemps(vehicle_state.tire_temps);
|
||||
view.setTemps(vehicle_state.temps);
|
||||
view.setTSSoC(vehicle_state.soc);
|
||||
if (vehicle_state.ts_state == TS_PRECHARGE) {
|
||||
float progress = 0;
|
||||
if (vehicle_state.ts_voltage_bat != 0) {
|
||||
progress =
|
||||
vehicle_state.ts_voltage_veh / vehicle_state.ts_voltage_bat * 100;
|
||||
}
|
||||
view.setProgress(true, DriverViewProgressType::PRECHARGE, progress);
|
||||
} else if (vehicle_state.r2d_progress != R2D_NONE &&
|
||||
vehicle_state.r2d_progress != R2D_INIT_SUCCESS) {
|
||||
view.setProgress(true, DriverViewProgressType::R2D,
|
||||
vehicle_state.r2d_progress);
|
||||
} else {
|
||||
view.setProgress(false, DriverViewProgressType::PRECHARGE, 0);
|
||||
}
|
||||
updateProgress();
|
||||
updateErrorPopup();
|
||||
|
||||
view.updateFieldValues();
|
||||
}
|
||||
|
@ -45,3 +33,28 @@ void DriverViewPresenter::setFieldType(size_t i, DataFieldType type) {
|
|||
fields[i] = type;
|
||||
view.setFieldType(i, type);
|
||||
}
|
||||
|
||||
void DriverViewPresenter::updateProgress() {
|
||||
if (vehicle_state.ts_state == TS_PRECHARGE) {
|
||||
float progress = 0;
|
||||
if (vehicle_state.ts_voltage_bat != 0) {
|
||||
progress =
|
||||
vehicle_state.ts_voltage_veh / vehicle_state.ts_voltage_bat * 100;
|
||||
}
|
||||
view.setProgress(true, DriverViewProgressType::PRECHARGE, progress);
|
||||
} else if (vehicle_state.r2d_progress > R2D_TSACTIVE &&
|
||||
vehicle_state.r2d_progress < R2D_INIT_SUCCESS) {
|
||||
view.setProgress(true, DriverViewProgressType::R2D,
|
||||
vehicle_state.r2d_progress);
|
||||
} else {
|
||||
view.setProgress(false, DriverViewProgressType::PRECHARGE, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void DriverViewPresenter::updateErrorPopup() {
|
||||
if (vehicle_state.ts_state == TS_ERROR) {
|
||||
view.showAMSError();
|
||||
} else {
|
||||
view.clearErrorPopup();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
#include "gui/driverview_screen/DriverViewPresenter.hpp"
|
||||
#include "texts/TextKeysAndLanguages.hpp"
|
||||
#include "touchgfx/Unicode.hpp"
|
||||
#include "vehicle.h"
|
||||
#include <gui/driverview_screen/DriverViewView.hpp>
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
DriverViewView::DriverViewView()
|
||||
|
@ -15,6 +17,17 @@ void DriverViewView::setupScreen() {
|
|||
getField(i).setType(fieldTypes[i]);
|
||||
}
|
||||
fieldTypeSelection.setNumberOfItems(DataFieldType_COUNT);
|
||||
int tireThresholds[4] = {35, 40, 50, 60};
|
||||
tireTempFL.setTempThresholds(tireThresholds);
|
||||
tireTempFR.setTempThresholds(tireThresholds);
|
||||
tireTempRL.setTempThresholds(tireThresholds);
|
||||
tireTempRR.setTempThresholds(tireThresholds);
|
||||
int invThresholds[4] = {30, 40, 50, 60};
|
||||
invTempL.setTempThresholds(invThresholds);
|
||||
invTempR.setTempThresholds(invThresholds);
|
||||
int motorThresholds[4] = {30, 45, 60, 80};
|
||||
motorTempL.setTempThresholds(motorThresholds);
|
||||
motorTempR.setTempThresholds(motorThresholds);
|
||||
}
|
||||
|
||||
void DriverViewView::tearDownScreen() { DriverViewViewBase::tearDownScreen(); }
|
||||
|
@ -35,11 +48,15 @@ void DriverViewView::updateFieldValues() {
|
|||
}
|
||||
}
|
||||
|
||||
void DriverViewView::setTireTemps(const TireTemps &temps) {
|
||||
tireTempFL.setTemp(temps.fl);
|
||||
tireTempFR.setTemp(temps.fr);
|
||||
tireTempRL.setTemp(temps.rl);
|
||||
tireTempRR.setTemp(temps.rr);
|
||||
void DriverViewView::setTemps(const Temperatures &temps) {
|
||||
tireTempFL.setTemp(roundf(temps.tire_fl));
|
||||
tireTempFR.setTemp(roundf(temps.tire_fr));
|
||||
tireTempRL.setTemp(roundf(temps.tire_rl));
|
||||
tireTempRR.setTemp(roundf(temps.tire_rr));
|
||||
invTempL.setTemp(roundf(temps.inv_l));
|
||||
invTempR.setTemp(roundf(temps.inv_r));
|
||||
motorTempL.setTemp(roundf(temps.mot_l));
|
||||
motorTempR.setTemp(roundf(temps.mot_r));
|
||||
}
|
||||
|
||||
void DriverViewView::setTSSoC(uint8_t soc) {
|
||||
|
@ -54,33 +71,50 @@ void DriverViewView::setProgress(bool active, DriverViewProgressType type,
|
|||
case DriverViewProgressType::PRECHARGE:
|
||||
prechargeLabel.setVisible(true);
|
||||
r2dLabel.setVisible(false);
|
||||
r2dProgressLabel.setVisible(false);
|
||||
progressBar.setValue(progress);
|
||||
break;
|
||||
case DriverViewProgressType::R2D:
|
||||
touchgfx::Unicode::snprintf(
|
||||
r2dProgBuffer, sizeof(r2dProgBuffer) / sizeof(*r2dProgBuffer), "%d",
|
||||
progress);
|
||||
r2dLabel.setWildcard(r2dProgBuffer);
|
||||
const char *progText = static_cast<const char *>(get_r2dprog_text());
|
||||
touchgfx::Unicode::strncpy(r2dProgBuffer, progText,
|
||||
sizeof(r2dProgBuffer) /
|
||||
sizeof(*r2dProgBuffer));
|
||||
r2dProgressLabel.setWildcard(r2dProgBuffer);
|
||||
r2dProgressLabel.setVisible(true);
|
||||
r2dLabel.setVisible(true);
|
||||
prechargeLabel.setVisible(false);
|
||||
progressBar.setValue(progress * 100 / 8);
|
||||
progress = progress - R2D_TSACTIVE;
|
||||
progressBar.setValue(progress * 100 / 5);
|
||||
break;
|
||||
}
|
||||
prechargeLabel.invalidate();
|
||||
r2dProgressLabel.invalidate();
|
||||
r2dLabel.invalidate();
|
||||
progressBar.setVisible(true);
|
||||
progressBar.invalidate();
|
||||
} else if (prechargeLabel.isVisible() || r2dLabel.isVisible() ||
|
||||
progressBar.isVisible()) {
|
||||
} else if (progressBar.isVisible()) {
|
||||
prechargeLabel.setVisible(false);
|
||||
prechargeLabel.invalidate();
|
||||
r2dLabel.setVisible(false);
|
||||
r2dLabel.invalidate();
|
||||
r2dProgressLabel.setVisible(false);
|
||||
r2dProgressLabel.invalidate();
|
||||
progressBar.setVisible(false);
|
||||
progressBar.invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
void DriverViewView::showAMSError() {
|
||||
errorPopup.setVisible(true);
|
||||
errorPopup.showAMSError();
|
||||
errorPopup.invalidate();
|
||||
}
|
||||
|
||||
void DriverViewView::clearErrorPopup() {
|
||||
errorPopup.setVisible(false);
|
||||
errorPopup.invalidate();
|
||||
}
|
||||
|
||||
void DriverViewView::selectNextField() {
|
||||
if (!fieldTypeSelection.isVisible()) {
|
||||
fieldTypeSelection.setVisible(true);
|
||||
|
|
|
@ -32,8 +32,6 @@
|
|||
<ClCompile Include="..\..\gui\src\driverview_screen\DriverViewPresenter.cpp"/>
|
||||
<ClCompile Include="..\..\gui\src\driverview_screen\DriverViewView.cpp"/>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\driverview_screen\DriverViewViewBase.cpp"/>
|
||||
<ClCompile Include="..\..\gui\src\containers\TireTemp.cpp"/>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\containers\TireTempBase.cpp"/>
|
||||
<ClCompile Include="..\..\gui\src\containers\DriverViewField.cpp"/>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\containers\DriverViewFieldBase.cpp"/>
|
||||
<ClCompile Include="..\..\gui\src\containers\DriverViewFieldSelection.cpp"/>
|
||||
|
@ -51,6 +49,10 @@
|
|||
<ClCompile Include="..\..\gui\src\vehicleconfig_screen\VehicleConfigPresenter.cpp"/>
|
||||
<ClCompile Include="..\..\gui\src\vehicleconfig_screen\VehicleConfigView.cpp"/>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\vehicleconfig_screen\VehicleConfigViewBase.cpp"/>
|
||||
<ClCompile Include="..\..\gui\src\containers\ErrorPopup.cpp"/>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\containers\ErrorPopupBase.cpp"/>
|
||||
<ClCompile Include="..\..\gui\src\containers\Temperature.cpp"/>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\containers\TemperatureBase.cpp"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="$(ApplicationRoot)\assets\texts\texts.xml"/>
|
||||
|
@ -212,8 +214,6 @@
|
|||
<ClInclude Include="..\..\gui\include\gui\driverview_screen\DriverViewPresenter.hpp"/>
|
||||
<ClInclude Include="..\..\gui\include\gui\driverview_screen\DriverViewView.hpp"/>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\driverview_screen\DriverViewViewBase.hpp"/>
|
||||
<ClInclude Include="..\..\gui\include\gui\containers\TireTemp.hpp"/>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\TireTempBase.hpp"/>
|
||||
<ClInclude Include="..\..\gui\include\gui\containers\DriverViewField.hpp"/>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\DriverViewFieldBase.hpp"/>
|
||||
<ClInclude Include="..\..\gui\include\gui\containers\DriverViewFieldSelection.hpp"/>
|
||||
|
@ -231,6 +231,10 @@
|
|||
<ClInclude Include="..\..\gui\include\gui\vehicleconfig_screen\VehicleConfigPresenter.hpp"/>
|
||||
<ClInclude Include="..\..\gui\include\gui\vehicleconfig_screen\VehicleConfigView.hpp"/>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\vehicleconfig_screen\VehicleConfigViewBase.hpp"/>
|
||||
<ClInclude Include="..\..\gui\include\gui\containers\ErrorPopup.hpp"/>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\ErrorPopupBase.hpp"/>
|
||||
<ClInclude Include="..\..\gui\include\gui\containers\Temperature.hpp"/>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\TemperatureBase.hpp"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc"/>
|
||||
|
|
|
@ -309,12 +309,6 @@
|
|||
<ClCompile Include="..\..\generated\gui_generated\src\driverview_screen\DriverViewViewBase.cpp">
|
||||
<Filter>Source Files\generated\gui_generated\driverview_screen</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\gui\src\containers\TireTemp.cpp">
|
||||
<Filter>Source Files\gui\containers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\containers\TireTempBase.cpp">
|
||||
<Filter>Source Files\generated\gui_generated\containers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\gui\src\containers\DriverViewField.cpp">
|
||||
<Filter>Source Files\gui\containers</Filter>
|
||||
</ClCompile>
|
||||
|
@ -366,6 +360,18 @@
|
|||
<ClCompile Include="..\..\generated\gui_generated\src\vehicleconfig_screen\VehicleConfigViewBase.cpp">
|
||||
<Filter>Source Files\generated\gui_generated\vehicleconfig_screen</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\gui\src\containers\ErrorPopup.cpp">
|
||||
<Filter>Source Files\gui\containers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\containers\ErrorPopupBase.cpp">
|
||||
<Filter>Source Files\generated\gui_generated\containers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\gui\src\containers\Temperature.cpp">
|
||||
<Filter>Source Files\gui\containers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\generated\gui_generated\src\containers\TemperatureBase.cpp">
|
||||
<Filter>Source Files\generated\gui_generated\containers</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="$(ApplicationRoot)\assets\texts\texts.xml">
|
||||
|
@ -841,12 +847,6 @@
|
|||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\driverview_screen\DriverViewViewBase.hpp">
|
||||
<Filter>Header Files\generated\gui_generated\driverview_screen</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\gui\include\gui\containers\TireTemp.hpp">
|
||||
<Filter>Header Files\gui\containers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\TireTempBase.hpp">
|
||||
<Filter>Header Files\generated\gui_generated\containers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\gui\include\gui\containers\DriverViewField.hpp">
|
||||
<Filter>Header Files\gui\containers</Filter>
|
||||
</ClInclude>
|
||||
|
@ -898,6 +898,18 @@
|
|||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\vehicleconfig_screen\VehicleConfigViewBase.hpp">
|
||||
<Filter>Header Files\generated\gui_generated\vehicleconfig_screen</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\gui\include\gui\containers\ErrorPopup.hpp">
|
||||
<Filter>Header Files\gui\containers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\ErrorPopupBase.hpp">
|
||||
<Filter>Header Files\generated\gui_generated\containers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\gui\include\gui\containers\Temperature.hpp">
|
||||
<Filter>Header Files\gui\containers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\TemperatureBase.hpp">
|
||||
<Filter>Header Files\generated\gui_generated\containers</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc">
|
||||
|
|
|
@ -245,40 +245,102 @@
|
|||
"CanvasBufferSize": 7200,
|
||||
"Components": [
|
||||
{
|
||||
"Type": "CustomContainerInstance",
|
||||
"Name": "tireTempRR",
|
||||
"X": 240,
|
||||
"Y": 197,
|
||||
"Width": 75,
|
||||
"Height": 75,
|
||||
"CustomContainerDefinitionName": "TireTemp"
|
||||
"Type": "TextArea",
|
||||
"Name": "motorTempLabel",
|
||||
"X": 315,
|
||||
"Y": 187,
|
||||
"Width": 150,
|
||||
"Height": 25,
|
||||
"TextId": "__SingleUse_JN2J",
|
||||
"TextRotation": "0",
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
}
|
||||
},
|
||||
{
|
||||
"Type": "CustomContainerInstance",
|
||||
"Name": "tireTempFR",
|
||||
"X": 240,
|
||||
"Name": "motorTempL",
|
||||
"X": 329,
|
||||
"Y": 212,
|
||||
"Width": 60,
|
||||
"Height": 60,
|
||||
"CustomContainerDefinitionName": "Temperature"
|
||||
},
|
||||
{
|
||||
"Type": "CustomContainerInstance",
|
||||
"Name": "motorTempR",
|
||||
"X": 392,
|
||||
"Y": 212,
|
||||
"Width": 60,
|
||||
"Height": 60,
|
||||
"CustomContainerDefinitionName": "Temperature"
|
||||
},
|
||||
{
|
||||
"Type": "Line",
|
||||
"Name": "motorTempDiv",
|
||||
"X": 389,
|
||||
"Y": 212,
|
||||
"Width": 3,
|
||||
"Height": 60,
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
},
|
||||
"EndY": 320.0,
|
||||
"LineWidth": 10.0,
|
||||
"LineEndingStyle": "Round"
|
||||
},
|
||||
{
|
||||
"Type": "Line",
|
||||
"Name": "invTempDiv",
|
||||
"X": 389,
|
||||
"Y": 122,
|
||||
"Width": 75,
|
||||
"Height": 75,
|
||||
"CustomContainerDefinitionName": "TireTemp"
|
||||
"Width": 3,
|
||||
"Height": 60,
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
},
|
||||
"EndY": 320.0,
|
||||
"LineWidth": 10.0,
|
||||
"LineEndingStyle": "Round"
|
||||
},
|
||||
{
|
||||
"Type": "CustomContainerInstance",
|
||||
"Name": "tireTempRL",
|
||||
"X": 165,
|
||||
"Y": 197,
|
||||
"Width": 75,
|
||||
"Height": 75,
|
||||
"CustomContainerDefinitionName": "TireTemp"
|
||||
},
|
||||
{
|
||||
"Type": "CustomContainerInstance",
|
||||
"Name": "tireTempFL",
|
||||
"X": 165,
|
||||
"Name": "invTempR",
|
||||
"X": 392,
|
||||
"Y": 122,
|
||||
"Width": 75,
|
||||
"Height": 75,
|
||||
"CustomContainerDefinitionName": "TireTemp"
|
||||
"Width": 60,
|
||||
"Height": 60,
|
||||
"CustomContainerDefinitionName": "Temperature"
|
||||
},
|
||||
{
|
||||
"Type": "CustomContainerInstance",
|
||||
"Name": "invTempL",
|
||||
"X": 329,
|
||||
"Y": 122,
|
||||
"Width": 60,
|
||||
"Height": 60,
|
||||
"CustomContainerDefinitionName": "Temperature"
|
||||
},
|
||||
{
|
||||
"Type": "TextArea",
|
||||
"Name": "invTempLabel",
|
||||
"X": 315,
|
||||
"Y": 97,
|
||||
"Width": 150,
|
||||
"Height": 25,
|
||||
"TextId": "__SingleUse_ZP7N",
|
||||
"TextRotation": "0",
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
}
|
||||
},
|
||||
{
|
||||
"Type": "Line",
|
||||
|
@ -286,7 +348,7 @@
|
|||
"X": 239,
|
||||
"Y": 122,
|
||||
"Width": 3,
|
||||
"Height": 150,
|
||||
"Height": 123,
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
|
@ -299,9 +361,9 @@
|
|||
{
|
||||
"Type": "Line",
|
||||
"Name": "ttDivHoriz",
|
||||
"X": 165,
|
||||
"Y": 196,
|
||||
"Width": 150,
|
||||
"X": 179,
|
||||
"Y": 182,
|
||||
"Width": 123,
|
||||
"Height": 3,
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
|
@ -312,6 +374,42 @@
|
|||
"LineWidth": 10.0,
|
||||
"LineEndingStyle": "Round"
|
||||
},
|
||||
{
|
||||
"Type": "CustomContainerInstance",
|
||||
"Name": "tireTempRR",
|
||||
"X": 242,
|
||||
"Y": 185,
|
||||
"Width": 60,
|
||||
"Height": 60,
|
||||
"CustomContainerDefinitionName": "Temperature"
|
||||
},
|
||||
{
|
||||
"Type": "CustomContainerInstance",
|
||||
"Name": "tireTempFR",
|
||||
"X": 242,
|
||||
"Y": 122,
|
||||
"Width": 60,
|
||||
"Height": 60,
|
||||
"CustomContainerDefinitionName": "Temperature"
|
||||
},
|
||||
{
|
||||
"Type": "CustomContainerInstance",
|
||||
"Name": "tireTempRL",
|
||||
"X": 179,
|
||||
"Y": 185,
|
||||
"Width": 60,
|
||||
"Height": 60,
|
||||
"CustomContainerDefinitionName": "Temperature"
|
||||
},
|
||||
{
|
||||
"Type": "CustomContainerInstance",
|
||||
"Name": "tireTempFL",
|
||||
"X": 179,
|
||||
"Y": 122,
|
||||
"Width": 60,
|
||||
"Height": 60,
|
||||
"CustomContainerDefinitionName": "Temperature"
|
||||
},
|
||||
{
|
||||
"Type": "LineProgress",
|
||||
"Name": "tsSoC",
|
||||
|
@ -335,7 +433,7 @@
|
|||
{
|
||||
"Type": "LineProgress",
|
||||
"Name": "lvSoC",
|
||||
"X": 425,
|
||||
"X": 110,
|
||||
"Y": 122,
|
||||
"Width": 40,
|
||||
"Height": 150,
|
||||
|
@ -385,7 +483,7 @@
|
|||
{
|
||||
"Type": "TextArea",
|
||||
"Name": "lvSoCLabel",
|
||||
"X": 425,
|
||||
"X": 110,
|
||||
"Y": 97,
|
||||
"Width": 40,
|
||||
"Height": 25,
|
||||
|
@ -479,19 +577,45 @@
|
|||
{
|
||||
"Type": "TextArea",
|
||||
"Name": "r2dLabel",
|
||||
"X": 139,
|
||||
"X": 82,
|
||||
"Y": 275,
|
||||
"Width": 202,
|
||||
"Width": 317,
|
||||
"Height": 37,
|
||||
"Visible": false,
|
||||
"TextId": "__SingleUse_NGUK",
|
||||
"TextRotation": "0",
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
}
|
||||
},
|
||||
{
|
||||
"Type": "TextArea",
|
||||
"Name": "r2dProgressLabel",
|
||||
"X": 180,
|
||||
"Y": 275,
|
||||
"Width": 219,
|
||||
"Height": 37,
|
||||
"Visible": false,
|
||||
"TextId": "__SingleUse_J5UH",
|
||||
"TextRotation": "0",
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
},
|
||||
"Wildcard1": {}
|
||||
},
|
||||
{
|
||||
"Type": "CustomContainerInstance",
|
||||
"Name": "errorPopup",
|
||||
"X": 15,
|
||||
"Y": 122,
|
||||
"Width": 450,
|
||||
"Height": 150,
|
||||
"Visible": false,
|
||||
"CustomContainerDefinitionName": "ErrorPopup"
|
||||
}
|
||||
],
|
||||
"Interactions": [
|
||||
|
@ -777,17 +901,17 @@
|
|||
"Interactions": []
|
||||
},
|
||||
{
|
||||
"Name": "TireTemp",
|
||||
"Name": "Temperature",
|
||||
"X": 135,
|
||||
"Y": 215,
|
||||
"Width": 75,
|
||||
"Height": 75,
|
||||
"Width": 60,
|
||||
"Height": 60,
|
||||
"Components": [
|
||||
{
|
||||
"Type": "Box",
|
||||
"Name": "bg",
|
||||
"Width": 75,
|
||||
"Height": 75,
|
||||
"Width": 60,
|
||||
"Height": 60,
|
||||
"Color": {
|
||||
"Green": 38,
|
||||
"Blue": 255
|
||||
|
@ -796,9 +920,8 @@
|
|||
{
|
||||
"Type": "TextArea",
|
||||
"Name": "value",
|
||||
"Y": 7,
|
||||
"Width": 75,
|
||||
"Height": 60,
|
||||
"Width": 60,
|
||||
"Height": 50,
|
||||
"TextId": "__SingleUse_20H3",
|
||||
"TextRotation": "0",
|
||||
"Color": {
|
||||
|
@ -1118,6 +1241,62 @@
|
|||
}
|
||||
],
|
||||
"Interactions": []
|
||||
},
|
||||
{
|
||||
"Name": "ErrorPopup",
|
||||
"X": -80,
|
||||
"Y": 165,
|
||||
"Width": 450,
|
||||
"Height": 150,
|
||||
"Components": [
|
||||
{
|
||||
"Type": "BoxWithBorder",
|
||||
"Name": "bg",
|
||||
"Width": 450,
|
||||
"Height": 150,
|
||||
"Color": {
|
||||
"Red": 197,
|
||||
"Green": 14,
|
||||
"Blue": 31
|
||||
},
|
||||
"BorderColor": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
},
|
||||
"BorderSize": 5
|
||||
},
|
||||
{
|
||||
"Type": "TextArea",
|
||||
"Name": "title",
|
||||
"Width": 450,
|
||||
"Height": 49,
|
||||
"TextId": "__SingleUse_1NKF",
|
||||
"TextRotation": "0",
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
}
|
||||
},
|
||||
{
|
||||
"Type": "TextArea",
|
||||
"Name": "details",
|
||||
"X": 15,
|
||||
"Y": 60,
|
||||
"Width": 420,
|
||||
"Height": 75,
|
||||
"TextId": "__SingleUse_9L8R",
|
||||
"TextRotation": "0",
|
||||
"Color": {
|
||||
"Red": 255,
|
||||
"Green": 255,
|
||||
"Blue": 255
|
||||
},
|
||||
"Wildcard1": {}
|
||||
}
|
||||
],
|
||||
"Interactions": []
|
||||
}
|
||||
],
|
||||
"Name": "MyApplication",
|
||||
|
|
Loading…
Reference in New Issue